Index: chromeos/display/output_configurator.h |
diff --git a/chromeos/display/output_configurator.h b/chromeos/display/output_configurator.h |
index db6e8517e1ef2fefad23a8a54c11fbc50041bcd5..96d6ae5ba57c3495b10682c9845b68ea367182ec 100644 |
--- a/chromeos/display/output_configurator.h |
+++ b/chromeos/display/output_configurator.h |
@@ -15,6 +15,7 @@ |
#include "base/message_loop/message_loop.h" |
#include "base/observer_list.h" |
#include "base/timer/timer.h" |
+#include "chrome/browser/media/media_capture_devices_dispatcher.h" |
#include "chromeos/chromeos_export.h" |
#include "third_party/cros_system_api/dbus/service_constants.h" |
@@ -65,7 +66,8 @@ enum HDCPState { |
// CTRCs and Outputs. |
class CHROMEOS_EXPORT OutputConfigurator |
: public base::MessageLoop::Dispatcher, |
- public base::MessagePumpObserver { |
+ public base::MessagePumpObserver, |
+ public MediaCaptureDevicesDispatcher::Observer { |
public: |
typedef uint64_t OutputProtectionClientId; |
static const OutputProtectionClientId kInvalidClientId = 0; |
@@ -378,6 +380,12 @@ class CHROMEOS_EXPORT OutputConfigurator |
const base::NativeEvent& event) OVERRIDE; |
virtual void DidProcessEvent(const base::NativeEvent& event) OVERRIDE; |
+ // Overridden from MediaCaptureDevicesDispatcher::Observer. |
+ virtual void OnRequestUpdate(int render_process_id, |
+ int render_view_id, |
+ const content::MediaStreamDevice& device, |
+ const content::MediaRequestState state) OVERRIDE; |
+ |
void AddObserver(Observer* observer); |
void RemoveObserver(Observer* observer); |
@@ -502,6 +510,9 @@ class CHROMEOS_EXPORT OutputConfigurator |
// Applies output protections according to requests. |
bool ApplyProtections(const DisplayProtections& requests); |
+ // Sends the current projecting state to power manager. |
+ void SendProjectingStateToPowerManager(); |
+ |
StateController* state_controller_; |
SoftwareMirroringController* mirroring_controller_; |
scoped_ptr<Delegate> delegate_; |
@@ -550,6 +561,9 @@ class CHROMEOS_EXPORT OutputConfigurator |
// Output protection requests of each client. |
ProtectionRequests client_protection_requests_; |
+ // Number of outstanding screen sharing sessions. |
+ int screen_sharing_count_; |
+ |
DISALLOW_COPY_AND_ASSIGN(OutputConfigurator); |
}; |