Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Unified Diff: chromeos/display/output_configurator.h

Issue 139053003: Chrome OS: avoid suspending on lid close when casting is active. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address comments and add unit test. Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698