diff options
author | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-15 06:25:17 +0000 |
---|---|---|
committer | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-15 06:25:17 +0000 |
commit | 2b67216b16aa4610b7b65835b0b2ae0b462c0eed (patch) | |
tree | 550007ecc4fff13fbd0d0c18bba17f388be02cd0 /content/browser | |
parent | ca1d8f72d5a3ba5ab084ce43d8bd0d437363e725 (diff) | |
download | chromium_src-2b67216b16aa4610b7b65835b0b2ae0b462c0eed.zip chromium_src-2b67216b16aa4610b7b65835b0b2ae0b462c0eed.tar.gz chromium_src-2b67216b16aa4610b7b65835b0b2ae0b462c0eed.tar.bz2 |
Make content::PowerSaveBlocker public
BUG=152207
Review URL: https://chromiumcodereview.appspot.com/11784016
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176806 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r-- | content/browser/download/download_browsertest.cc | 6 | ||||
-rw-r--r-- | content/browser/download/download_file_factory.cc | 4 | ||||
-rw-r--r-- | content/browser/download/download_file_impl.cc | 4 | ||||
-rw-r--r-- | content/browser/download/download_file_unittest.cc | 2 | ||||
-rw-r--r-- | content/browser/download/drag_download_file_browsertest.cc | 2 | ||||
-rw-r--r-- | content/browser/power_save_blocker.h | 62 | ||||
-rw-r--r-- | content/browser/power_save_blocker_android.cc | 12 | ||||
-rw-r--r-- | content/browser/power_save_blocker_chromeos.cc | 12 | ||||
-rw-r--r-- | content/browser/power_save_blocker_impl.cc | 18 | ||||
-rw-r--r-- | content/browser/power_save_blocker_impl.h | 38 | ||||
-rw-r--r-- | content/browser/power_save_blocker_linux.cc | 30 | ||||
-rw-r--r-- | content/browser/power_save_blocker_mac.cc | 16 | ||||
-rw-r--r-- | content/browser/power_save_blocker_win.cc | 20 | ||||
-rw-r--r-- | content/browser/renderer_host/render_view_host_impl.cc | 10 |
14 files changed, 115 insertions, 121 deletions
diff --git a/content/browser/download/download_browsertest.cc b/content/browser/download/download_browsertest.cc index c139027..faa7da2 100644 --- a/content/browser/download/download_browsertest.cc +++ b/content/browser/download/download_browsertest.cc @@ -13,8 +13,8 @@ #include "content/browser/download/download_file_impl.h" #include "content/browser/download/download_item_impl.h" #include "content/browser/download/download_manager_impl.h" -#include "content/browser/power_save_blocker.h" #include "content/browser/web_contents/web_contents_impl.h" +#include "content/public/browser/power_save_blocker.h" #include "content/public/common/content_switches.h" #include "content/public/test/download_test_observer.h" #include "content/public/test/test_utils.h" @@ -207,7 +207,7 @@ DownloadFile* DownloadFileWithDelayFactory::CreateFile( const net::BoundNetLog& bound_net_log, base::WeakPtr<DownloadDestinationObserver> observer) { scoped_ptr<PowerSaveBlocker> psb( - new PowerSaveBlocker( + PowerSaveBlocker::Create( PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, "Download in progress")); return new DownloadFileWithDelay( @@ -306,7 +306,7 @@ class CountingDownloadFileFactory : public DownloadFileFactory { const net::BoundNetLog& bound_net_log, base::WeakPtr<DownloadDestinationObserver> observer) OVERRIDE { scoped_ptr<PowerSaveBlocker> psb( - new PowerSaveBlocker( + PowerSaveBlocker::Create( PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, "Download in progress")); return new CountingDownloadFile( diff --git a/content/browser/download/download_file_factory.cc b/content/browser/download/download_file_factory.cc index 4e164b3..aff2ade 100644 --- a/content/browser/download/download_file_factory.cc +++ b/content/browser/download/download_file_factory.cc @@ -5,7 +5,7 @@ #include "content/browser/download/download_file_factory.h" #include "content/browser/download/download_file_impl.h" -#include "content/browser/power_save_blocker.h" +#include "content/public/browser/power_save_blocker.h" namespace content { @@ -21,7 +21,7 @@ DownloadFile* DownloadFileFactory::CreateFile( const net::BoundNetLog& bound_net_log, base::WeakPtr<DownloadDestinationObserver> observer) { scoped_ptr<PowerSaveBlocker> psb( - new PowerSaveBlocker( + PowerSaveBlocker::Create( PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, "Download in progress")); return new DownloadFileImpl( diff --git a/content/browser/download/download_file_impl.cc b/content/browser/download/download_file_impl.cc index c7c94ef..0498e1c 100644 --- a/content/browser/download/download_file_impl.cc +++ b/content/browser/download/download_file_impl.cc @@ -14,10 +14,10 @@ #include "content/browser/download/download_create_info.h" #include "content/browser/download/download_interrupt_reasons_impl.h" #include "content/browser/download/download_net_log_parameters.h" -#include "content/browser/power_save_blocker.h" +#include "content/browser/download/download_stats.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/download_destination_observer.h" -#include "content/browser/download/download_stats.h" +#include "content/public/browser/power_save_blocker.h" #include "net/base/io_buffer.h" namespace content { diff --git a/content/browser/download/download_file_unittest.cc b/content/browser/download/download_file_unittest.cc index 5708906..99165f3 100644 --- a/content/browser/download/download_file_unittest.cc +++ b/content/browser/download/download_file_unittest.cc @@ -11,10 +11,10 @@ #include "content/browser/download/download_create_info.h" #include "content/browser/download/download_file_impl.h" #include "content/browser/download/download_request_handle.h" -#include "content/browser/power_save_blocker.h" #include "content/public/browser/download_destination_observer.h" #include "content/public/browser/download_interrupt_reasons.h" #include "content/public/browser/download_manager.h" +#include "content/public/browser/power_save_blocker.h" #include "content/public/test/mock_download_manager.h" #include "net/base/file_stream.h" #include "net/base/mock_file_stream.h" diff --git a/content/browser/download/drag_download_file_browsertest.cc b/content/browser/download/drag_download_file_browsertest.cc index b7f8c69..58e9014 100644 --- a/content/browser/download/drag_download_file_browsertest.cc +++ b/content/browser/download/drag_download_file_browsertest.cc @@ -11,9 +11,9 @@ #include "content/browser/download/download_manager_impl.h" #include "content/browser/download/drag_download_file.h" #include "content/browser/download/drag_download_util.h" -#include "content/browser/power_save_blocker.h" #include "content/browser/web_contents/web_contents_impl.h" #include "content/public/browser/content_browser_client.h" +#include "content/public/browser/power_save_blocker.h" #include "content/public/common/content_client.h" #include "content/public/test/download_test_observer.h" #include "content/public/test/test_utils.h" diff --git a/content/browser/power_save_blocker.h b/content/browser/power_save_blocker.h deleted file mode 100644 index 53e5418..0000000 --- a/content/browser/power_save_blocker.h +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CONTENT_BROWSER_POWER_SAVE_BLOCKER_H_ -#define CONTENT_BROWSER_POWER_SAVE_BLOCKER_H_ - -#include <string> -#include <vector> - -#include "base/basictypes.h" -#include "base/memory/ref_counted.h" -#include "content/common/content_export.h" - -namespace content { - -// A RAII-style class to block the system from entering low-power (sleep) mode. -// This class is thread-safe; it may be constructed and deleted on any thread. -class CONTENT_EXPORT PowerSaveBlocker { - public: - enum PowerSaveBlockerType { - // Prevent the application from being suspended. On some platforms, apps may - // be suspended when they are not visible to the user. This type of block - // requests that the app continue to run in that case, and on all platforms - // prevents the system from sleeping. - // Example use cases: downloading a file, playing audio. - kPowerSaveBlockPreventAppSuspension, - - // Prevent the display from going to sleep. This also has the side effect of - // preventing the system from sleeping, but does not necessarily prevent the - // app from being suspended on some platforms if the user hides it. - // Example use case: playing video. - kPowerSaveBlockPreventDisplaySleep, - }; - - // Pass in the type of power save blocking desired. If multiple types of - // blocking are desired, instantiate one PowerSaveBlocker for each type. - // |reason| may be provided to the underlying system APIs on some platforms. - PowerSaveBlocker(PowerSaveBlockerType type, const std::string& reason); - ~PowerSaveBlocker(); - - private: - class Delegate; - - // Implementations of this class may need a second object with different - // lifetime than the RAII container, or additional storage. This member is - // here for that purpose. If not used, just define the class as an empty - // RefCounted (or RefCountedThreadSafe) like so to make it compile: - // class PowerSaveBlocker::Delegate - // : public base::RefCounted<PowerSaveBlocker::Delegate> { - // private: - // friend class base::RefCounted<Delegate>; - // ~Delegate() {} - // }; - scoped_refptr<Delegate> delegate_; - - DISALLOW_COPY_AND_ASSIGN(PowerSaveBlocker); -}; - -} // namespace content - -#endif // CONTENT_BROWSER_POWER_SAVE_BLOCKER_H_ diff --git a/content/browser/power_save_blocker_android.cc b/content/browser/power_save_blocker_android.cc index 2de5ef0..c349fe5 100644 --- a/content/browser/power_save_blocker_android.cc +++ b/content/browser/power_save_blocker_android.cc @@ -2,27 +2,27 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/browser/power_save_blocker.h" +#include "content/browser/power_save_blocker_impl.h" #include "base/logging.h" namespace content { -class PowerSaveBlocker::Delegate - : public base::RefCounted<PowerSaveBlocker::Delegate> { +class PowerSaveBlockerImpl::Delegate + : public base::RefCounted<PowerSaveBlockerImpl::Delegate> { private: friend class base::RefCounted<Delegate>; ~Delegate() {} }; -PowerSaveBlocker::PowerSaveBlocker(PowerSaveBlockerType type, - const std::string& reason) { +PowerSaveBlockerImpl::PowerSaveBlockerImpl(PowerSaveBlockerType type, + const std::string& reason) { // TODO(wangxianzhu): Implement it. // This may be called on any thread. NOTIMPLEMENTED(); } -PowerSaveBlocker::~PowerSaveBlocker() { +PowerSaveBlockerImpl::~PowerSaveBlockerImpl() { } } // namespace content diff --git a/content/browser/power_save_blocker_chromeos.cc b/content/browser/power_save_blocker_chromeos.cc index de9d07b..7895477 100644 --- a/content/browser/power_save_blocker_chromeos.cc +++ b/content/browser/power_save_blocker_chromeos.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/browser/power_save_blocker.h" +#include "content/browser/power_save_blocker_impl.h" #include "base/basictypes.h" #include "base/bind.h" @@ -13,8 +13,8 @@ namespace content { -class PowerSaveBlocker::Delegate - : public base::RefCountedThreadSafe<PowerSaveBlocker::Delegate> { +class PowerSaveBlockerImpl::Delegate + : public base::RefCountedThreadSafe<PowerSaveBlockerImpl::Delegate> { public: Delegate(PowerSaveBlockerType type) : type_(type) {} @@ -54,14 +54,14 @@ class PowerSaveBlocker::Delegate DISALLOW_COPY_AND_ASSIGN(Delegate); }; -PowerSaveBlocker::PowerSaveBlocker(PowerSaveBlockerType type, - const std::string& reason) +PowerSaveBlockerImpl::PowerSaveBlockerImpl(PowerSaveBlockerType type, + const std::string& reason) : delegate_(new Delegate(type)) { BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, base::Bind(&Delegate::ApplyBlock, delegate_)); } -PowerSaveBlocker::~PowerSaveBlocker() { +PowerSaveBlockerImpl::~PowerSaveBlockerImpl() { BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, base::Bind(&Delegate::RemoveBlock, delegate_)); } diff --git a/content/browser/power_save_blocker_impl.cc b/content/browser/power_save_blocker_impl.cc new file mode 100644 index 0000000..01007ad --- /dev/null +++ b/content/browser/power_save_blocker_impl.cc @@ -0,0 +1,18 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "content/browser/power_save_blocker_impl.h" + +namespace content { + +PowerSaveBlocker::~PowerSaveBlocker() {} + +// static +scoped_ptr<PowerSaveBlocker> PowerSaveBlocker::Create( + PowerSaveBlockerType type, + const std::string& reason) { + return scoped_ptr<PowerSaveBlocker>(new PowerSaveBlockerImpl(type, reason)); +} + +} // namespace content diff --git a/content/browser/power_save_blocker_impl.h b/content/browser/power_save_blocker_impl.h new file mode 100644 index 0000000..fd0e63a --- /dev/null +++ b/content/browser/power_save_blocker_impl.h @@ -0,0 +1,38 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_BROWSER_POWER_SAVE_BLOCKER_IMPL_H_ +#define CONTENT_BROWSER_POWER_SAVE_BLOCKER_IMPL_H_ + +#include "base/memory/ref_counted.h" +#include "content/public/browser/power_save_blocker.h" + +namespace content { + +class PowerSaveBlockerImpl : public PowerSaveBlocker { + public: + PowerSaveBlockerImpl(PowerSaveBlockerType type, const std::string& reason); + virtual ~PowerSaveBlockerImpl(); + + private: + class Delegate; + + // Implementations of this class may need a second object with different + // lifetime than the RAII container, or additional storage. This member is + // here for that purpose. If not used, just define the class as an empty + // RefCounted (or RefCountedThreadSafe) like so to make it compile: + // class PowerSaveBlocker::Delegate + // : public base::RefCounted<PowerSaveBlocker::Delegate> { + // private: + // friend class base::RefCounted<Delegate>; + // ~Delegate() {} + // }; + scoped_refptr<Delegate> delegate_; + + DISALLOW_COPY_AND_ASSIGN(PowerSaveBlockerImpl); +}; + +} // namespace content + +#endif // CONTENT_BROWSER_POWER_SAVE_BLOCKER_IMPL_H_ diff --git a/content/browser/power_save_blocker_linux.cc b/content/browser/power_save_blocker_linux.cc index 2ebf7be..e6c7791 100644 --- a/content/browser/power_save_blocker_linux.cc +++ b/content/browser/power_save_blocker_linux.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/browser/power_save_blocker.h" +#include "content/browser/power_save_blocker_impl.h" #include <X11/Xlib.h> #include <X11/extensions/dpms.h> @@ -63,12 +63,12 @@ const char kFreeDesktopAPIInterfaceName[] = const char kFreeDesktopAPIObjectPath[] = "/org/freedesktop/PowerManagement/Inhibit"; -} // anonymous namespace +} // namespace namespace content { -class PowerSaveBlocker::Delegate - : public base::RefCountedThreadSafe<PowerSaveBlocker::Delegate> { +class PowerSaveBlockerImpl::Delegate + : public base::RefCountedThreadSafe<PowerSaveBlockerImpl::Delegate> { public: // Picks an appropriate D-Bus API to use based on the desktop environment. Delegate(PowerSaveBlockerType type, const std::string& reason); @@ -128,8 +128,8 @@ class PowerSaveBlocker::Delegate DISALLOW_COPY_AND_ASSIGN(Delegate); }; -PowerSaveBlocker::Delegate::Delegate(PowerSaveBlockerType type, - const std::string& reason) +PowerSaveBlockerImpl::Delegate::Delegate(PowerSaveBlockerType type, + const std::string& reason) : type_(type), reason_(reason), api_(NO_API), @@ -139,7 +139,7 @@ PowerSaveBlocker::Delegate::Delegate(PowerSaveBlockerType type, // object yet. We'll do it later in ApplyBlock(), on the FILE thread. } -void PowerSaveBlocker::Delegate::Init() { +void PowerSaveBlockerImpl::Delegate::Init() { base::AutoLock lock(lock_); DCHECK(!enqueue_apply_); enqueue_apply_ = true; @@ -147,7 +147,7 @@ void PowerSaveBlocker::Delegate::Init() { base::Bind(&Delegate::InitOnUIThread, this)); } -void PowerSaveBlocker::Delegate::CleanUp() { +void PowerSaveBlockerImpl::Delegate::CleanUp() { base::AutoLock lock(lock_); if (enqueue_apply_) { // If a call to ApplyBlock() has not yet been enqueued because we are still @@ -160,7 +160,7 @@ void PowerSaveBlocker::Delegate::CleanUp() { } } -void PowerSaveBlocker::Delegate::InitOnUIThread() { +void PowerSaveBlockerImpl::Delegate::InitOnUIThread() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); base::AutoLock lock(lock_); api_ = SelectAPI(); @@ -174,7 +174,7 @@ void PowerSaveBlocker::Delegate::InitOnUIThread() { enqueue_apply_ = false; } -void PowerSaveBlocker::Delegate::ApplyBlock(DBusAPI api) { +void PowerSaveBlockerImpl::Delegate::ApplyBlock(DBusAPI api) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); DCHECK(!bus_.get()); // ApplyBlock() should only be called once. @@ -254,7 +254,7 @@ void PowerSaveBlocker::Delegate::ApplyBlock(DBusAPI api) { } } -void PowerSaveBlocker::Delegate::RemoveBlock(DBusAPI api) { +void PowerSaveBlockerImpl::Delegate::RemoveBlock(DBusAPI api) { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); DCHECK(bus_.get()); // RemoveBlock() should only be called once. @@ -296,7 +296,7 @@ void PowerSaveBlocker::Delegate::RemoveBlock(DBusAPI api) { } // static -bool PowerSaveBlocker::Delegate::DPMSEnabled() { +bool PowerSaveBlockerImpl::Delegate::DPMSEnabled() { Display* display = base::MessagePumpForUI::GetDefaultXDisplay(); BOOL enabled = false; int dummy; @@ -308,7 +308,7 @@ bool PowerSaveBlocker::Delegate::DPMSEnabled() { } // static -DBusAPI PowerSaveBlocker::Delegate::SelectAPI() { +DBusAPI PowerSaveBlockerImpl::Delegate::SelectAPI() { scoped_ptr<base::Environment> env(base::Environment::Create()); switch (base::nix::GetDesktopEnvironment(env.get())) { case base::nix::DESKTOP_ENVIRONMENT_GNOME: @@ -329,13 +329,13 @@ DBusAPI PowerSaveBlocker::Delegate::SelectAPI() { return NO_API; } -PowerSaveBlocker::PowerSaveBlocker( +PowerSaveBlockerImpl::PowerSaveBlockerImpl( PowerSaveBlockerType type, const std::string& reason) : delegate_(new Delegate(type, reason)) { delegate_->Init(); } -PowerSaveBlocker::~PowerSaveBlocker() { +PowerSaveBlockerImpl::~PowerSaveBlockerImpl() { delegate_->CleanUp(); } diff --git a/content/browser/power_save_blocker_mac.cc b/content/browser/power_save_blocker_mac.cc index 0f63de0..b5d47c0 100644 --- a/content/browser/power_save_blocker_mac.cc +++ b/content/browser/power_save_blocker_mac.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/browser/power_save_blocker.h" +#include "content/browser/power_save_blocker_impl.h" #include <IOKit/pwr_mgt/IOPMLib.h> @@ -36,8 +36,8 @@ base::LazyInstance<base::Thread, PowerSaveBlockerLazyInstanceTraits> } // namespace -class PowerSaveBlocker::Delegate - : public base::RefCountedThreadSafe<PowerSaveBlocker::Delegate> { +class PowerSaveBlockerImpl::Delegate + : public base::RefCountedThreadSafe<PowerSaveBlockerImpl::Delegate> { public: Delegate(PowerSaveBlockerType type, const std::string& reason) : type_(type), reason_(reason), assertion_(kIOPMNullAssertionID) {} @@ -54,7 +54,7 @@ class PowerSaveBlocker::Delegate IOPMAssertionID assertion_; }; -void PowerSaveBlocker::Delegate::ApplyBlock() { +void PowerSaveBlockerImpl::Delegate::ApplyBlock() { DCHECK_EQ(base::PlatformThread::CurrentId(), g_power_thread.Pointer()->thread_id()); @@ -84,7 +84,7 @@ void PowerSaveBlocker::Delegate::ApplyBlock() { } } -void PowerSaveBlocker::Delegate::RemoveBlock() { +void PowerSaveBlockerImpl::Delegate::RemoveBlock() { DCHECK_EQ(base::PlatformThread::CurrentId(), g_power_thread.Pointer()->thread_id()); @@ -95,15 +95,15 @@ void PowerSaveBlocker::Delegate::RemoveBlock() { } } -PowerSaveBlocker::PowerSaveBlocker(PowerSaveBlockerType type, - const std::string& reason) +PowerSaveBlockerImpl::PowerSaveBlockerImpl(PowerSaveBlockerType type, + const std::string& reason) : delegate_(new Delegate(type, reason)) { g_power_thread.Pointer()->message_loop()->PostTask( FROM_HERE, base::Bind(&Delegate::ApplyBlock, delegate_)); } -PowerSaveBlocker::~PowerSaveBlocker() { +PowerSaveBlockerImpl::~PowerSaveBlockerImpl() { g_power_thread.Pointer()->message_loop()->PostTask( FROM_HERE, base::Bind(&Delegate::RemoveBlock, delegate_)); diff --git a/content/browser/power_save_blocker_win.cc b/content/browser/power_save_blocker_win.cc index ab3e408..e2dcda4 100644 --- a/content/browser/power_save_blocker_win.cc +++ b/content/browser/power_save_blocker_win.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "content/browser/power_save_blocker.h" +#include "content/browser/power_save_blocker_impl.h" #include <windows.h> @@ -105,10 +105,10 @@ void ApplySimpleBlock(PowerSaveBlocker::PowerSaveBlockerType type, SetThreadExecutionState(flags); } -} // namespace. +} // namespace -class PowerSaveBlocker::Delegate - : public base::RefCountedThreadSafe<PowerSaveBlocker::Delegate> { +class PowerSaveBlockerImpl::Delegate + : public base::RefCountedThreadSafe<PowerSaveBlockerImpl::Delegate> { public: Delegate(PowerSaveBlockerType type, const std::string& reason) : type_(type), reason_(reason) {} @@ -131,7 +131,7 @@ class PowerSaveBlocker::Delegate DISALLOW_COPY_AND_ASSIGN(Delegate); }; -void PowerSaveBlocker::Delegate::ApplyBlock() { +void PowerSaveBlockerImpl::Delegate::ApplyBlock() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (base::win::GetVersion() < base::win::VERSION_WIN7) return ApplySimpleBlock(type_, 1); @@ -139,7 +139,7 @@ void PowerSaveBlocker::Delegate::ApplyBlock() { handle_.Set(CreatePowerRequest(RequestType(), reason_)); } -void PowerSaveBlocker::Delegate::RemoveBlock() { +void PowerSaveBlockerImpl::Delegate::RemoveBlock() { DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); if (base::win::GetVersion() < base::win::VERSION_WIN7) return ApplySimpleBlock(type_, -1); @@ -147,7 +147,7 @@ void PowerSaveBlocker::Delegate::RemoveBlock() { DeletePowerRequest(RequestType(), handle_.Take()); } -POWER_REQUEST_TYPE PowerSaveBlocker::Delegate::RequestType() { +POWER_REQUEST_TYPE PowerSaveBlockerImpl::Delegate::RequestType() { if (type_ == kPowerSaveBlockPreventDisplaySleep) return PowerRequestDisplayRequired; @@ -157,15 +157,15 @@ POWER_REQUEST_TYPE PowerSaveBlocker::Delegate::RequestType() { return PowerRequestExecutionRequired; } -PowerSaveBlocker::PowerSaveBlocker(PowerSaveBlockerType type, - const std::string& reason) +PowerSaveBlockerImpl::PowerSaveBlockerImpl(PowerSaveBlockerType type, + const std::string& reason) : delegate_(new Delegate(type, reason)) { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind(&Delegate::ApplyBlock, delegate_)); } -PowerSaveBlocker::~PowerSaveBlocker() { +PowerSaveBlockerImpl::~PowerSaveBlockerImpl() { BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind(&Delegate::RemoveBlock, delegate_)); diff --git a/content/browser/renderer_host/render_view_host_impl.cc b/content/browser/renderer_host/render_view_host_impl.cc index 2b7b65c..4ef76db 100644 --- a/content/browser/renderer_host/render_view_host_impl.cc +++ b/content/browser/renderer_host/render_view_host_impl.cc @@ -27,7 +27,6 @@ #include "content/browser/dom_storage/session_storage_namespace_impl.h" #include "content/browser/gpu/gpu_surface_tracker.h" #include "content/browser/host_zoom_map_impl.h" -#include "content/browser/power_save_blocker.h" #include "content/browser/renderer_host/dip_util.h" #include "content/browser/renderer_host/render_process_host_impl.h" #include "content/browser/renderer_host/render_view_host_delegate.h" @@ -51,6 +50,7 @@ #include "content/public/browser/notification_details.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" +#include "content/public/browser/power_save_blocker.h" #include "content/public/browser/render_view_host_observer.h" #include "content/public/browser/user_metrics.h" #include "content/public/common/bindings_policy.h" @@ -1969,19 +1969,19 @@ void RenderViewHostImpl::OnMediaNotification(int64 player_cookie, bool has_audio, bool is_playing) { if (is_playing) { - PowerSaveBlocker* blocker = NULL; + scoped_ptr<PowerSaveBlocker> blocker; if (has_video) { - blocker = new PowerSaveBlocker( + blocker = PowerSaveBlocker::Create( PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, "Playing video"); } else if (has_audio) { - blocker = new PowerSaveBlocker( + blocker = PowerSaveBlocker::Create( PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, "Playing audio"); } if (blocker) - power_save_blockers_[player_cookie] = blocker; + power_save_blockers_[player_cookie] = blocker.release(); } else { delete power_save_blockers_[player_cookie]; power_save_blockers_.erase(player_cookie); |