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

Unified Diff: content/browser/compositor/browser_compositor_view_mac.mm

Issue 1841153002: BrowserCompositorMac, ResizeLock, DelegatedFrameHost => content/browser/renderer_host (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed Mac Build Created 4 years, 9 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: 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
« no previous file with comments | « content/browser/compositor/browser_compositor_view_mac.h ('k') | content/browser/compositor/delegated_frame_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698