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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 111063003: Aura: Don't create GL context for CreateSharedSurfaceHandle() (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: try to make tests happy by still creating shared context Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include "base/auto_reset.h" 7 #include "base/auto_reset.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/callback_helpers.h" 10 #include "base/callback_helpers.h"
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 aura::client::SetTooltipText(window_, &tooltip_); 483 aura::client::SetTooltipText(window_, &tooltip_);
484 aura::client::SetActivationDelegate(window_, this); 484 aura::client::SetActivationDelegate(window_, this);
485 aura::client::SetActivationChangeObserver(window_, this); 485 aura::client::SetActivationChangeObserver(window_, this);
486 aura::client::SetFocusChangeObserver(window_, this); 486 aura::client::SetFocusChangeObserver(window_, this);
487 gfx::Screen::GetScreenFor(window_)->AddObserver(this); 487 gfx::Screen::GetScreenFor(window_)->AddObserver(this);
488 software_frame_manager_.reset(new SoftwareFrameManager( 488 software_frame_manager_.reset(new SoftwareFrameManager(
489 weak_ptr_factory_.GetWeakPtr())); 489 weak_ptr_factory_.GetWeakPtr()));
490 #if defined(OS_WIN) 490 #if defined(OS_WIN)
491 plugin_parent_window_ = NULL; 491 plugin_parent_window_ = NULL;
492 #endif 492 #endif
493 ImageTransportFactory::GetInstance()->AddObserver(this);
493 } 494 }
494 495
495 //////////////////////////////////////////////////////////////////////////////// 496 ////////////////////////////////////////////////////////////////////////////////
496 // RenderWidgetHostViewAura, RenderWidgetHostView implementation: 497 // RenderWidgetHostViewAura, RenderWidgetHostView implementation:
497 498
498 void RenderWidgetHostViewAura::InitAsChild( 499 void RenderWidgetHostViewAura::InitAsChild(
499 gfx::NativeView parent_view) { 500 gfx::NativeView parent_view) {
500 window_->SetType(ui::wm::WINDOW_TYPE_CONTROL); 501 window_->SetType(ui::wm::WINDOW_TYPE_CONTROL);
501 window_->Init(aura::WINDOW_LAYER_TEXTURED); 502 window_->Init(aura::WINDOW_LAYER_TEXTURED);
502 window_->SetName("RenderWidgetHostViewAura"); 503 window_->SetName("RenderWidgetHostViewAura");
(...skipping 1675 matching lines...) Expand 10 before | Expand all | Expand 10 after
2178 BrowserAccessibilityManagerWin::GetEmptyDocument(), this); 2179 BrowserAccessibilityManagerWin::GetEmptyDocument(), this);
2179 #else 2180 #else
2180 BrowserAccessibilityManager* manager = BrowserAccessibilityManager::Create( 2181 BrowserAccessibilityManager* manager = BrowserAccessibilityManager::Create(
2181 BrowserAccessibilityManager::GetEmptyDocument(), this); 2182 BrowserAccessibilityManager::GetEmptyDocument(), this);
2182 #endif 2183 #endif
2183 2184
2184 SetBrowserAccessibilityManager(manager); 2185 SetBrowserAccessibilityManager(manager);
2185 } 2186 }
2186 2187
2187 gfx::GLSurfaceHandle RenderWidgetHostViewAura::GetCompositingSurface() { 2188 gfx::GLSurfaceHandle RenderWidgetHostViewAura::GetCompositingSurface() {
2188 if (shared_surface_handle_.is_null()) { 2189 return ImageTransportFactory::GetInstance()->GetSharedSurfaceHandle();
2189 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
2190 shared_surface_handle_ = factory->CreateSharedSurfaceHandle();
2191 if (!shared_surface_handle_.is_null())
2192 factory->AddObserver(this);
2193 }
2194 return shared_surface_handle_;
2195 } 2190 }
2196 2191
2197 bool RenderWidgetHostViewAura::LockMouse() { 2192 bool RenderWidgetHostViewAura::LockMouse() {
2198 aura::Window* root_window = window_->GetRootWindow(); 2193 aura::Window* root_window = window_->GetRootWindow();
2199 if (!root_window) 2194 if (!root_window)
2200 return false; 2195 return false;
2201 2196
2202 if (mouse_locked_) 2197 if (mouse_locked_)
2203 return true; 2198 return true;
2204 2199
(...skipping 1049 matching lines...) Expand 10 before | Expand all | Expand 10 after
3254 current_surface_ = NULL; 3249 current_surface_ = NULL;
3255 UpdateExternalTexture(); 3250 UpdateExternalTexture();
3256 3251
3257 idle_frame_subscriber_textures_.clear(); 3252 idle_frame_subscriber_textures_.clear();
3258 yuv_readback_pipeline_.reset(); 3253 yuv_readback_pipeline_.reset();
3259 3254
3260 // Make sure all ImageTransportClients are deleted now that the context those 3255 // Make sure all ImageTransportClients are deleted now that the context those
3261 // are using is becoming invalid. This sends pending ACKs and needs to happen 3256 // are using is becoming invalid. This sends pending ACKs and needs to happen
3262 // after calling UpdateExternalTexture() which syncs with the impl thread. 3257 // after calling UpdateExternalTexture() which syncs with the impl thread.
3263 RunOnCommitCallbacks(); 3258 RunOnCommitCallbacks();
3264
3265 DCHECK(!shared_surface_handle_.is_null());
3266 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
3267 factory->DestroySharedSurfaceHandle(shared_surface_handle_);
3268 shared_surface_handle_ = factory->CreateSharedSurfaceHandle();
3269 host_->CompositingSurfaceUpdated();
3270 host_->ScheduleComposite(); 3259 host_->ScheduleComposite();
3271 } 3260 }
3272 3261
3273 //////////////////////////////////////////////////////////////////////////////// 3262 ////////////////////////////////////////////////////////////////////////////////
3274 // RenderWidgetHostViewAura, private: 3263 // RenderWidgetHostViewAura, private:
3275 3264
3276 RenderWidgetHostViewAura::~RenderWidgetHostViewAura() { 3265 RenderWidgetHostViewAura::~RenderWidgetHostViewAura() {
3277 if (paint_observer_) 3266 if (paint_observer_)
3278 paint_observer_->OnViewDestroyed(); 3267 paint_observer_->OnViewDestroyed();
3279 if (touch_editing_client_) 3268 if (touch_editing_client_)
3280 touch_editing_client_->OnViewDestroyed(); 3269 touch_editing_client_->OnViewDestroyed();
3281 if (!shared_surface_handle_.is_null()) { 3270
3282 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 3271 ImageTransportFactory::GetInstance()->RemoveObserver(this);
3283 factory->DestroySharedSurfaceHandle(shared_surface_handle_); 3272
3284 factory->RemoveObserver(this);
3285 }
3286 window_observer_.reset(); 3273 window_observer_.reset();
3287 if (window_->GetDispatcher()) 3274 if (window_->GetDispatcher())
3288 window_->GetDispatcher()->RemoveRootWindowObserver(this); 3275 window_->GetDispatcher()->RemoveRootWindowObserver(this);
3289 UnlockMouse(); 3276 UnlockMouse();
3290 if (popup_parent_host_view_) { 3277 if (popup_parent_host_view_) {
3291 DCHECK(popup_parent_host_view_->popup_child_host_view_ == NULL || 3278 DCHECK(popup_parent_host_view_->popup_child_host_view_ == NULL ||
3292 popup_parent_host_view_->popup_child_host_view_ == this); 3279 popup_parent_host_view_->popup_child_host_view_ == this);
3293 popup_parent_host_view_->popup_child_host_view_ = NULL; 3280 popup_parent_host_view_->popup_child_host_view_ = NULL;
3294 } 3281 }
3295 if (popup_child_host_view_) { 3282 if (popup_child_host_view_) {
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after
3543 RenderWidgetHost* widget) { 3530 RenderWidgetHost* widget) {
3544 return new RenderWidgetHostViewAura(widget); 3531 return new RenderWidgetHostViewAura(widget);
3545 } 3532 }
3546 3533
3547 // static 3534 // static
3548 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) { 3535 void RenderWidgetHostViewPort::GetDefaultScreenInfo(WebScreenInfo* results) {
3549 GetScreenInfoForWindow(results, NULL); 3536 GetScreenInfoForWindow(results, NULL);
3550 } 3537 }
3551 3538
3552 } // namespace content 3539 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698