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

Side by Side Diff: content/browser/compositor/reflector_impl.cc

Issue 634113002: Use solid color layer for delegated surface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/compositor/reflector_impl.h" 5 #include "content/browser/compositor/reflector_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "content/browser/compositor/browser_compositor_output_surface.h" 9 #include "content/browser/compositor/browser_compositor_output_surface.h"
10 #include "content/browser/compositor/owned_mailbox.h" 10 #include "content/browser/compositor/owned_mailbox.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 81
82 void ReflectorImpl::OnSourceSurfaceReady( 82 void ReflectorImpl::OnSourceSurfaceReady(
83 BrowserCompositorOutputSurface* source_surface) { 83 BrowserCompositorOutputSurface* source_surface) {
84 ImplThreadData& impl = GetImpl(); 84 ImplThreadData& impl = GetImpl();
85 AttachToOutputSurfaceOnImplThread(impl.mailbox_holder, source_surface); 85 AttachToOutputSurfaceOnImplThread(impl.mailbox_holder, source_surface);
86 } 86 }
87 87
88 void ReflectorImpl::Shutdown() { 88 void ReflectorImpl::Shutdown() {
89 MainThreadData& main = GetMain(); 89 MainThreadData& main = GetMain();
90 main.mailbox = NULL; 90 main.mailbox = NULL;
91 main.mirroring_layer->SetShowPaintedContent(); 91 main.mirroring_layer->SetShowSolidColorContent();
92 main.mirroring_layer = NULL; 92 main.mirroring_layer = NULL;
93 impl_message_loop_->PostTask( 93 impl_message_loop_->PostTask(
94 FROM_HERE, base::Bind(&ReflectorImpl::ShutdownOnImplThread, this)); 94 FROM_HERE, base::Bind(&ReflectorImpl::ShutdownOnImplThread, this));
95 } 95 }
96 96
97 void ReflectorImpl::DetachFromOutputSurface() { 97 void ReflectorImpl::DetachFromOutputSurface() {
98 ImplThreadData& impl = GetImpl(); 98 ImplThreadData& impl = GetImpl();
99 DCHECK(impl.output_surface); 99 DCHECK(impl.output_surface);
100 impl.output_surface->SetReflector(NULL); 100 impl.output_surface->SetReflector(NULL);
101 DCHECK(impl.texture_id); 101 DCHECK(impl.texture_id);
(...skipping 13 matching lines...) Expand all
115 base::Bind(&ReflectorImpl::DeleteOnMainThread, 115 base::Bind(&ReflectorImpl::DeleteOnMainThread,
116 scoped_refptr<ReflectorImpl>(this))); 116 scoped_refptr<ReflectorImpl>(this)));
117 } 117 }
118 118
119 void ReflectorImpl::ReattachToOutputSurfaceFromMainThread( 119 void ReflectorImpl::ReattachToOutputSurfaceFromMainThread(
120 BrowserCompositorOutputSurface* output_surface) { 120 BrowserCompositorOutputSurface* output_surface) {
121 MainThreadData& main = GetMain(); 121 MainThreadData& main = GetMain();
122 GLHelper* helper = ImageTransportFactory::GetInstance()->GetGLHelper(); 122 GLHelper* helper = ImageTransportFactory::GetInstance()->GetGLHelper();
123 main.mailbox = new OwnedMailbox(helper); 123 main.mailbox = new OwnedMailbox(helper);
124 main.needs_set_mailbox = true; 124 main.needs_set_mailbox = true;
125 main.mirroring_layer->SetShowPaintedContent(); 125 main.mirroring_layer->SetShowSolidColorContent();
126 impl_message_loop_->PostTask( 126 impl_message_loop_->PostTask(
127 FROM_HERE, 127 FROM_HERE,
128 base::Bind(&ReflectorImpl::AttachToOutputSurfaceOnImplThread, 128 base::Bind(&ReflectorImpl::AttachToOutputSurfaceOnImplThread,
129 this, 129 this,
130 main.mailbox->holder(), 130 main.mailbox->holder(),
131 output_surface)); 131 output_surface));
132 } 132 }
133 133
134 void ReflectorImpl::OnMirroringCompositorResized() { 134 void ReflectorImpl::OnMirroringCompositorResized() {
135 MainThreadData& main = GetMain(); 135 MainThreadData& main = GetMain();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
236 gfx::Rect new_rect(rect.x(), y, rect.width(), rect.height()); 236 gfx::Rect new_rect(rect.x(), y, rect.width(), rect.height());
237 main.mirroring_layer->SchedulePaint(new_rect); 237 main.mirroring_layer->SchedulePaint(new_rect);
238 } 238 }
239 239
240 void ReflectorImpl::FullRedrawContentOnMainThread() { 240 void ReflectorImpl::FullRedrawContentOnMainThread() {
241 MainThreadData& main = GetMain(); 241 MainThreadData& main = GetMain();
242 main.mirrored_compositor->ScheduleFullRedraw(); 242 main.mirrored_compositor->ScheduleFullRedraw();
243 } 243 }
244 244
245 } // namespace content 245 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698