Index: content/browser/compositor/browser_compositor_view_mac.mm |
diff --git a/content/browser/compositor/browser_compositor_view_mac.mm b/content/browser/compositor/browser_compositor_view_mac.mm |
deleted file mode 100644 |
index 379b368d5362e1bd5751edf360cf6e0f0739272d..0000000000000000000000000000000000000000 |
--- a/content/browser/compositor/browser_compositor_view_mac.mm |
+++ /dev/null |
@@ -1,120 +0,0 @@ |
-// Copyright 2014 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/compositor/browser_compositor_view_mac.h" |
- |
-#include <stdint.h> |
- |
-#include <utility> |
- |
-#include "base/lazy_instance.h" |
-#include "base/trace_event/trace_event.h" |
-#include "content/browser/compositor/image_transport_factory.h" |
-#include "content/public/browser/context_factory.h" |
-#include "ui/accelerated_widget_mac/accelerated_widget_mac.h" |
-#include "ui/accelerated_widget_mac/window_resize_helper_mac.h" |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// BrowserCompositorMac |
- |
-namespace content { |
- |
-namespace { |
- |
-// Set when no browser compositors should remain alive. |
-bool g_has_shut_down = false; |
- |
-// The number of placeholder objects allocated. If this reaches zero, then |
-// the BrowserCompositorMac being held on to for recycling, |
-// |g_recyclable_browser_compositor|, will be freed. |
-uint32_t g_placeholder_count = 0; |
- |
-// A spare BrowserCompositorMac kept around for recycling. |
-base::LazyInstance<scoped_ptr<BrowserCompositorMac>> |
- g_recyclable_browser_compositor; |
- |
-} // namespace |
- |
-BrowserCompositorMac::BrowserCompositorMac() |
- : accelerated_widget_mac_(new ui::AcceleratedWidgetMac()), |
- compositor_(content::GetContextFactory(), |
- ui::WindowResizeHelperMac::Get()->task_runner()) { |
- compositor_.SetAcceleratedWidget( |
- accelerated_widget_mac_->accelerated_widget()); |
- compositor_.SetLocksWillTimeOut(false); |
- Suspend(); |
- compositor_.AddObserver(this); |
-} |
- |
-BrowserCompositorMac::~BrowserCompositorMac() { |
- compositor_.RemoveObserver(this); |
-} |
- |
-void BrowserCompositorMac::Suspend() { |
- compositor_suspended_lock_ = compositor_.GetCompositorLock(); |
-} |
- |
-void BrowserCompositorMac::Unsuspend() { |
- compositor_suspended_lock_ = nullptr; |
-} |
- |
-void BrowserCompositorMac::OnCompositingDidCommit( |
- ui::Compositor* compositor_that_did_commit) { |
- DCHECK_EQ(compositor_that_did_commit, compositor()); |
- content::ImageTransportFactory::GetInstance() |
- ->SetCompositorSuspendedForRecycle(compositor(), false); |
-} |
- |
-// static |
-scoped_ptr<BrowserCompositorMac> BrowserCompositorMac::Create() { |
- DCHECK(ui::WindowResizeHelperMac::Get()->task_runner()); |
- if (g_recyclable_browser_compositor.Get()) |
- return std::move(g_recyclable_browser_compositor.Get()); |
- return scoped_ptr<BrowserCompositorMac>(new BrowserCompositorMac); |
-} |
- |
-// static |
-void BrowserCompositorMac::Recycle( |
- scoped_ptr<BrowserCompositorMac> compositor) { |
- DCHECK(compositor); |
- content::ImageTransportFactory::GetInstance() |
- ->SetCompositorSuspendedForRecycle(compositor->compositor(), true); |
- |
- // It is an error to have a browser compositor continue to exist after |
- // shutdown. |
- CHECK(!g_has_shut_down); |
- |
- // Make this BrowserCompositorMac recyclable for future instances. |
- g_recyclable_browser_compositor.Get().swap(compositor); |
- |
- // If there are no placeholders allocated, destroy the recyclable |
- // BrowserCompositorMac that we just populated. |
- if (!g_placeholder_count) |
- g_recyclable_browser_compositor.Get().reset(); |
-} |
- |
-// static |
-void BrowserCompositorMac::DisableRecyclingForShutdown() { |
- g_has_shut_down = true; |
- g_recyclable_browser_compositor.Get().reset(); |
-} |
- |
-//////////////////////////////////////////////////////////////////////////////// |
-// BrowserCompositorMacPlaceholder |
- |
-BrowserCompositorMacPlaceholder::BrowserCompositorMacPlaceholder() { |
- g_placeholder_count += 1; |
-} |
- |
-BrowserCompositorMacPlaceholder::~BrowserCompositorMacPlaceholder() { |
- DCHECK_GT(g_placeholder_count, 0u); |
- g_placeholder_count -= 1; |
- |
- // If there are no placeholders allocated, destroy the recyclable |
- // BrowserCompositorMac. |
- if (!g_placeholder_count) |
- g_recyclable_browser_compositor.Get().reset(); |
-} |
- |
-} // namespace content |