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

Side by Side Diff: content/browser/frame_host/render_widget_host_view_child_frame.cc

Issue 2136413002: Update Surface ID Terminology (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed webkit_unit_tests Created 4 years, 5 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/frame_host/render_widget_host_view_child_frame.h" 5 #include "content/browser/frame_host/render_widget_host_view_child_frame.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 30 matching lines...) Expand all
41 RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame( 41 RenderWidgetHostViewChildFrame::RenderWidgetHostViewChildFrame(
42 RenderWidgetHost* widget_host) 42 RenderWidgetHost* widget_host)
43 : host_(RenderWidgetHostImpl::From(widget_host)), 43 : host_(RenderWidgetHostImpl::From(widget_host)),
44 next_surface_sequence_(1u), 44 next_surface_sequence_(1u),
45 last_output_surface_id_(0), 45 last_output_surface_id_(0),
46 current_surface_scale_factor_(1.f), 46 current_surface_scale_factor_(1.f),
47 ack_pending_count_(0), 47 ack_pending_count_(0),
48 frame_connector_(nullptr), 48 frame_connector_(nullptr),
49 begin_frame_source_(nullptr), 49 begin_frame_source_(nullptr),
50 observing_begin_frame_source_(false), 50 observing_begin_frame_source_(false),
51 parent_surface_id_namespace_(0), 51 parent_surface_client_id_(0),
52 weak_factory_(this) { 52 weak_factory_(this) {
53 id_allocator_ = CreateSurfaceIdAllocator(); 53 id_allocator_ = CreateSurfaceIdAllocator();
54 RegisterSurfaceNamespaceId(); 54 RegisterSurfaceNamespaceId();
55 55
56 host_->SetView(this); 56 host_->SetView(this);
57 } 57 }
58 58
59 RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() { 59 RenderWidgetHostViewChildFrame::~RenderWidgetHostViewChildFrame() {
60 if (!surface_id_.is_null()) 60 if (!surface_id_.is_null())
61 surface_factory_->Destroy(surface_id_); 61 surface_factory_->Destroy(surface_id_);
62 } 62 }
63 63
64 void RenderWidgetHostViewChildFrame::SetCrossProcessFrameConnector( 64 void RenderWidgetHostViewChildFrame::SetCrossProcessFrameConnector(
65 CrossProcessFrameConnector* frame_connector) { 65 CrossProcessFrameConnector* frame_connector) {
66 if (frame_connector_ == frame_connector) 66 if (frame_connector_ == frame_connector)
67 return; 67 return;
68 68
69 if (frame_connector_) { 69 if (frame_connector_) {
70 if (parent_surface_id_namespace_) { 70 if (parent_surface_client_id_) {
71 GetSurfaceManager()->UnregisterSurfaceNamespaceHierarchy( 71 GetSurfaceManager()->UnregisterSurfaceNamespaceHierarchy(
72 parent_surface_id_namespace_, GetSurfaceIdNamespace()); 72 parent_surface_client_id_, GetSurfaceClientId());
73 } 73 }
74 // Unregister the client here, as it is not guaranteed in tests that the 74 // Unregister the client here, as it is not guaranteed in tests that the
75 // destructor will be called. 75 // destructor will be called.
76 GetSurfaceManager()->UnregisterSurfaceFactoryClient( 76 GetSurfaceManager()->UnregisterSurfaceFactoryClient(
77 id_allocator_->id_namespace()); 77 id_allocator_->client_id());
78 78
79 parent_surface_id_namespace_ = 0; 79 parent_surface_client_id_ = 0;
80 } 80 }
81 frame_connector_ = frame_connector; 81 frame_connector_ = frame_connector;
82 if (frame_connector_) { 82 if (frame_connector_) {
83 GetSurfaceManager()->RegisterSurfaceFactoryClient( 83 GetSurfaceManager()->RegisterSurfaceFactoryClient(
84 id_allocator_->id_namespace(), this); 84 id_allocator_->client_id(), this);
85 RenderWidgetHostViewBase* parent_view = 85 RenderWidgetHostViewBase* parent_view =
86 frame_connector_->GetParentRenderWidgetHostView(); 86 frame_connector_->GetParentRenderWidgetHostView();
87 if (parent_view) { 87 if (parent_view) {
88 parent_surface_id_namespace_ = parent_view->GetSurfaceIdNamespace(); 88 parent_surface_client_id_ = parent_view->GetSurfaceClientId();
89 DCHECK_NE(parent_surface_id_namespace_, 0u); 89 DCHECK_NE(parent_surface_client_id_, 0u);
90 GetSurfaceManager()->RegisterSurfaceNamespaceHierarchy( 90 GetSurfaceManager()->RegisterSurfaceNamespaceHierarchy(
91 parent_surface_id_namespace_, GetSurfaceIdNamespace()); 91 parent_surface_client_id_, GetSurfaceClientId());
92 } 92 }
93 } 93 }
94 } 94 }
95 95
96 void RenderWidgetHostViewChildFrame::InitAsChild( 96 void RenderWidgetHostViewChildFrame::InitAsChild(
97 gfx::NativeView parent_view) { 97 gfx::NativeView parent_view) {
98 NOTREACHED(); 98 NOTREACHED();
99 } 99 }
100 100
101 bool RenderWidgetHostViewChildFrame::OnMessageReceived( 101 bool RenderWidgetHostViewChildFrame::OnMessageReceived(
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 261
262 void RenderWidgetHostViewChildFrame::RenderProcessGone( 262 void RenderWidgetHostViewChildFrame::RenderProcessGone(
263 base::TerminationStatus status, 263 base::TerminationStatus status,
264 int error_code) { 264 int error_code) {
265 if (frame_connector_) 265 if (frame_connector_)
266 frame_connector_->RenderProcessGone(); 266 frame_connector_->RenderProcessGone();
267 Destroy(); 267 Destroy();
268 } 268 }
269 269
270 void RenderWidgetHostViewChildFrame::Destroy() { 270 void RenderWidgetHostViewChildFrame::Destroy() {
271 // SurfaceIdNamespaces registered with RenderWidgetHostInputEventRouter 271 // SurfaceClientIds registered with RenderWidgetHostInputEventRouter
272 // have already been cleared when RenderWidgetHostViewBase notified its 272 // have already been cleared when RenderWidgetHostViewBase notified its
273 // observers of our impending destruction. 273 // observers of our impending destruction.
274 if (frame_connector_) { 274 if (frame_connector_) {
275 frame_connector_->set_view(nullptr); 275 frame_connector_->set_view(nullptr);
276 SetCrossProcessFrameConnector(nullptr); 276 SetCrossProcessFrameConnector(nullptr);
277 } 277 }
278 278
279 // We notify our observers about shutdown here since we are about to release 279 // We notify our observers about shutdown here since we are about to release
280 // host_ and do not want any event calls coming from 280 // host_ and do not want any event calls coming from
281 // RenderWidgetHostInputEventRouter afterwards. 281 // RenderWidgetHostInputEventRouter afterwards.
(...skipping 21 matching lines...) Expand all
303 303
304 void RenderWidgetHostViewChildFrame::UnlockCompositingSurface() { 304 void RenderWidgetHostViewChildFrame::UnlockCompositingSurface() {
305 NOTIMPLEMENTED(); 305 NOTIMPLEMENTED();
306 } 306 }
307 307
308 void RenderWidgetHostViewChildFrame::RegisterSurfaceNamespaceId() { 308 void RenderWidgetHostViewChildFrame::RegisterSurfaceNamespaceId() {
309 // If Destroy() has been called before we get here, host_ may be null. 309 // If Destroy() has been called before we get here, host_ may be null.
310 if (host_ && host_->delegate() && host_->delegate()->GetInputEventRouter()) { 310 if (host_ && host_->delegate() && host_->delegate()->GetInputEventRouter()) {
311 RenderWidgetHostInputEventRouter* router = 311 RenderWidgetHostInputEventRouter* router =
312 host_->delegate()->GetInputEventRouter(); 312 host_->delegate()->GetInputEventRouter();
313 if (!router->is_registered(GetSurfaceIdNamespace())) 313 if (!router->is_registered(GetSurfaceClientId()))
314 router->AddSurfaceIdNamespaceOwner(GetSurfaceIdNamespace(), this); 314 router->AddSurfaceClientIdOwner(GetSurfaceClientId(), this);
315 } 315 }
316 } 316 }
317 317
318 void RenderWidgetHostViewChildFrame::UnregisterSurfaceNamespaceId() { 318 void RenderWidgetHostViewChildFrame::UnregisterSurfaceNamespaceId() {
319 DCHECK(host_); 319 DCHECK(host_);
320 if (host_->delegate() && host_->delegate()->GetInputEventRouter()) { 320 if (host_->delegate() && host_->delegate()->GetInputEventRouter()) {
321 host_->delegate()->GetInputEventRouter()->RemoveSurfaceIdNamespaceOwner( 321 host_->delegate()->GetInputEventRouter()->RemoveSurfaceClientIdOwner(
322 GetSurfaceIdNamespace()); 322 GetSurfaceClientId());
323 } 323 }
324 } 324 }
325 325
326 void RenderWidgetHostViewChildFrame::GestureEventAck( 326 void RenderWidgetHostViewChildFrame::GestureEventAck(
327 const blink::WebGestureEvent& event, 327 const blink::WebGestureEvent& event,
328 InputEventAckState ack_result) { 328 InputEventAckState ack_result) {
329 bool not_consumed = ack_result == INPUT_EVENT_ACK_STATE_NOT_CONSUMED || 329 bool not_consumed = ack_result == INPUT_EVENT_ACK_STATE_NOT_CONSUMED ||
330 ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS; 330 ack_result == INPUT_EVENT_ACK_STATE_NO_CONSUMER_EXISTS;
331 // GestureScrollBegin is consumed by the target frame and not forwarded, 331 // GestureScrollBegin is consumed by the target frame and not forwarded,
332 // because we don't know whether we will need to bubble scroll until we 332 // because we don't know whether we will need to bubble scroll until we
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
391 if (!surface_factory_) { 391 if (!surface_factory_) {
392 cc::SurfaceManager* manager = GetSurfaceManager(); 392 cc::SurfaceManager* manager = GetSurfaceManager();
393 surface_factory_ = base::WrapUnique(new cc::SurfaceFactory(manager, this)); 393 surface_factory_ = base::WrapUnique(new cc::SurfaceFactory(manager, this));
394 } 394 }
395 395
396 if (surface_id_.is_null()) { 396 if (surface_id_.is_null()) {
397 surface_id_ = id_allocator_->GenerateId(); 397 surface_id_ = id_allocator_->GenerateId();
398 surface_factory_->Create(surface_id_); 398 surface_factory_->Create(surface_id_);
399 399
400 cc::SurfaceSequence sequence = cc::SurfaceSequence( 400 cc::SurfaceSequence sequence = cc::SurfaceSequence(
401 id_allocator_->id_namespace(), next_surface_sequence_++); 401 id_allocator_->client_id(), next_surface_sequence_++);
402 // The renderer process will satisfy this dependency when it creates a 402 // The renderer process will satisfy this dependency when it creates a
403 // SurfaceLayer. 403 // SurfaceLayer.
404 cc::SurfaceManager* manager = GetSurfaceManager(); 404 cc::SurfaceManager* manager = GetSurfaceManager();
405 manager->GetSurfaceForId(surface_id_)->AddDestructionDependency(sequence); 405 manager->GetSurfaceForId(surface_id_)->AddDestructionDependency(sequence);
406 frame_connector_->SetChildFrameSurface(surface_id_, frame_size, 406 frame_connector_->SetChildFrameSurface(surface_id_, frame_size,
407 scale_factor, sequence); 407 scale_factor, sequence);
408 } 408 }
409 409
410 cc::SurfaceFactory::DrawCallback ack_callback = 410 cc::SurfaceFactory::DrawCallback ack_callback =
411 base::Bind(&RenderWidgetHostViewChildFrame::SurfaceDrawn, AsWeakPtr(), 411 base::Bind(&RenderWidgetHostViewChildFrame::SurfaceDrawn, AsWeakPtr(),
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
472 472
473 RenderWidgetHostViewBase* root_view = 473 RenderWidgetHostViewBase* root_view =
474 frame_connector_->GetRootRenderWidgetHostView(); 474 frame_connector_->GetRootRenderWidgetHostView();
475 475
476 if (root_view) 476 if (root_view)
477 return root_view->IsMouseLocked(); 477 return root_view->IsMouseLocked();
478 478
479 return false; 479 return false;
480 } 480 }
481 481
482 uint32_t RenderWidgetHostViewChildFrame::GetSurfaceIdNamespace() { 482 uint32_t RenderWidgetHostViewChildFrame::GetSurfaceClientId() {
483 return id_allocator_->id_namespace(); 483 return id_allocator_->client_id();
484 } 484 }
485 485
486 void RenderWidgetHostViewChildFrame::ProcessKeyboardEvent( 486 void RenderWidgetHostViewChildFrame::ProcessKeyboardEvent(
487 const NativeWebKeyboardEvent& event) { 487 const NativeWebKeyboardEvent& event) {
488 host_->ForwardKeyboardEvent(event); 488 host_->ForwardKeyboardEvent(event);
489 } 489 }
490 490
491 void RenderWidgetHostViewChildFrame::ProcessMouseEvent( 491 void RenderWidgetHostViewChildFrame::ProcessMouseEvent(
492 const blink::WebMouseEvent& event, 492 const blink::WebMouseEvent& event,
493 const ui::LatencyInfo& latency) { 493 const ui::LatencyInfo& latency) {
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 683
684 bool RenderWidgetHostViewChildFrame::IsChildFrameForTesting() const { 684 bool RenderWidgetHostViewChildFrame::IsChildFrameForTesting() const {
685 return true; 685 return true;
686 } 686 }
687 687
688 cc::SurfaceId RenderWidgetHostViewChildFrame::SurfaceIdForTesting() const { 688 cc::SurfaceId RenderWidgetHostViewChildFrame::SurfaceIdForTesting() const {
689 return surface_id_; 689 return surface_id_;
690 }; 690 };
691 691
692 } // namespace content 692 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698