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

Unified Diff: chromeos/display/output_configurator.cc

Issue 24039002: Pepper API implementation for output protection. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: revise output configurator related code. rebased. Created 7 years, 3 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.cc
diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc
index 4f0d3cdb4f6b2f4b80823dbb7bfeecdc13e6b35c..1d3846643530e37bf98d934f1010715f2849d1f5 100644
--- a/chromeos/display/output_configurator.cc
+++ b/chromeos/display/output_configurator.cc
@@ -227,7 +227,8 @@ OutputConfigurator::OutputConfigurator()
configure_display_(base::chromeos::IsRunningOnChromeOS()),
xrandr_event_base_(0),
output_state_(STATE_INVALID),
- power_state_(DISPLAY_POWER_ALL_ON) {
+ power_state_(DISPLAY_POWER_ALL_ON),
+ next_output_protection_client_id_(1) {
}
OutputConfigurator::~OutputConfigurator() {}
@@ -273,6 +274,44 @@ void OutputConfigurator::Start(uint32 background_color_argb) {
NotifyObservers(success, new_state);
}
+OutputConfigurator::OutputProtectionClientId
+OutputConfigurator::RegisterOutputProtectionClient() {
+ if (!configure_display_)
+ return 0;
+
+ return next_output_protection_client_id_++;
+}
+
+void OutputConfigurator::UnregisterOutputProtectionClient(
+ OutputProtectionClientId client_id) {
+ EnableOutputProtection(client_id, OUTPUT_PROTECTION_METHOD_NONE);
+}
+
+bool OutputConfigurator::QueryOutputProtectionStatus(
+ OutputProtectionClientId client_id,
+ uint32_t* link_mask,
+ uint32_t* protection_mask) {
+ if (!configure_display_)
+ return false;
+
+ bool result = delegate_->QueryOutputProtectionStatus(client_id, link_mask,
+ protection_mask);
+ return result;
Daniel Erat 2013/09/20 15:00:24 just do: return delegate_->Query...
kcwu 2013/09/20 20:29:30 Done.
+}
+
+bool OutputConfigurator::EnableOutputProtection(
+ OutputProtectionClientId client_id,
+ uint32_t desired_method_mask) {
+ if (!configure_display_)
+ return false;
+
+ delegate_->GrabServer();
+ bool result = delegate_->EnableOutputProtection(client_id,
+ desired_method_mask);
+ delegate_->UngrabServer();
+ return result;
+}
+
void OutputConfigurator::Stop() {
configure_display_ = false;
}

Powered by Google App Engine
This is Rietveld 408576698