return cached_displays_;
}
+ // Called when an external process no longer needs to control the display
+ // and Chrome can take control.
+ void TakeControl();
+
+ // Called when an external process needs to control the display and thus
+ // Chrome should relinquish it.
+ void RelinquishControl();
+
void set_state_controller(StateController* controller) {
state_controller_ = controller;
}
bool SetDisplayMode(MultipleDisplayState new_state);
// NativeDisplayDelegate::Observer overrides:
- virtual void OnConfigurationChanged() OVERRIDE;
+ virtual void OnConfigurationChanged() override;
void AddObserver(Observer* observer);
void RemoveObserver(Observer* observer);
bool try_panel_fitting,
bool preserve_aspect);
- // Configures displays.
+ // Configures displays. Invoked by |configure_timer_|.
void ConfigureDisplays();
+ // Restores |requested_power_state_| after the system has resumed,
+ // additionally forcing a probe. Invoked by |configure_timer_|.
+ void RestoreRequestedPowerStateAfterResume();
+
// Notifies observers about an attempted state change.
void NotifyObservers(bool success, MultipleDisplayState attempted_state);
// Display protection requests of each client.
ProtectionRequests client_protection_requests_;
+ // Display controlled by an external entity.
+ bool display_externally_controlled_;
+
DISALLOW_COPY_AND_ASSIGN(DisplayConfigurator);
};