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

Unified Diff: cc/resources/texture_mailbox_deleter.cc

Issue 1535833002: Delete CC. (Closed) Base URL: git@github.com:domokit/mojo.git@moz-5
Patch Set: rebase Created 4 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
« no previous file with comments | « cc/resources/texture_mailbox_deleter.h ('k') | cc/resources/texture_mailbox_deleter_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/resources/texture_mailbox_deleter.cc
diff --git a/cc/resources/texture_mailbox_deleter.cc b/cc/resources/texture_mailbox_deleter.cc
deleted file mode 100644
index ab863684e81fd4b8bc9ce7439460f1db7a177eb5..0000000000000000000000000000000000000000
--- a/cc/resources/texture_mailbox_deleter.cc
+++ /dev/null
@@ -1,92 +0,0 @@
-// Copyright 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 "cc/resources/texture_mailbox_deleter.h"
-
-#include "base/bind.h"
-#include "base/location.h"
-#include "base/memory/weak_ptr.h"
-#include "base/single_thread_task_runner.h"
-#include "cc/output/context_provider.h"
-#include "cc/resources/single_release_callback.h"
-#include "gpu/command_buffer/client/gles2_interface.h"
-
-namespace cc {
-
-static void DeleteTextureOnImplThread(
- const scoped_refptr<ContextProvider>& context_provider,
- unsigned texture_id,
- uint32 sync_point,
- bool is_lost) {
- if (sync_point)
- context_provider->ContextGL()->WaitSyncPointCHROMIUM(sync_point);
- context_provider->ContextGL()->DeleteTextures(1, &texture_id);
-}
-
-static void PostTaskFromMainToImplThread(
- scoped_refptr<base::SingleThreadTaskRunner> impl_task_runner,
- ReleaseCallback run_impl_callback,
- unsigned sync_point,
- bool is_lost) {
- // This posts the task to RunDeleteTextureOnImplThread().
- impl_task_runner->PostTask(
- FROM_HERE, base::Bind(run_impl_callback, sync_point, is_lost));
-}
-
-TextureMailboxDeleter::TextureMailboxDeleter(
- const scoped_refptr<base::SingleThreadTaskRunner>& task_runner)
- : impl_task_runner_(task_runner), weak_ptr_factory_(this) {}
-
-TextureMailboxDeleter::~TextureMailboxDeleter() {
- for (size_t i = 0; i < impl_callbacks_.size(); ++i)
- impl_callbacks_.at(i)->Run(0, true);
-}
-
-scoped_ptr<SingleReleaseCallback> TextureMailboxDeleter::GetReleaseCallback(
- const scoped_refptr<ContextProvider>& context_provider,
- unsigned texture_id) {
- // This callback owns a reference on the |context_provider|. It must be
- // destroyed on the impl thread. Upon destruction of this class, the
- // callback must immediately be destroyed.
- scoped_ptr<SingleReleaseCallback> impl_callback =
- SingleReleaseCallback::Create(base::Bind(&DeleteTextureOnImplThread,
- context_provider,
- texture_id));
-
- impl_callbacks_.push_back(impl_callback.Pass());
-
- // The raw pointer to the impl-side callback is valid as long as this
- // class is alive. So we guard it with a WeakPtr.
- ReleaseCallback run_impl_callback(
- base::Bind(&TextureMailboxDeleter::RunDeleteTextureOnImplThread,
- weak_ptr_factory_.GetWeakPtr(),
- impl_callbacks_.back()));
-
- // Provide a callback for the main thread that posts back to the impl
- // thread.
- scoped_ptr<SingleReleaseCallback> main_callback =
- SingleReleaseCallback::Create(base::Bind(
- &PostTaskFromMainToImplThread, impl_task_runner_, run_impl_callback));
-
- return main_callback.Pass();
-}
-
-void TextureMailboxDeleter::RunDeleteTextureOnImplThread(
- SingleReleaseCallback* impl_callback,
- unsigned sync_point,
- bool is_lost) {
- for (size_t i = 0; i < impl_callbacks_.size(); ++i) {
- if (impl_callbacks_.at(i) == impl_callback) {
- // Run the callback, then destroy it here on the impl thread.
- impl_callbacks_.at(i)->Run(sync_point, is_lost);
- impl_callbacks_.erase(impl_callbacks_.begin() + i);
- return;
- }
- }
-
- NOTREACHED() << "The Callback returned by GetDeleteCallback() was called "
- << "more than once.";
-}
-
-} // namespace cc
« no previous file with comments | « cc/resources/texture_mailbox_deleter.h ('k') | cc/resources/texture_mailbox_deleter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698