OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "platform/graphics/CanvasSurfaceLayerBridge.h" | 5 #include "platform/graphics/CanvasSurfaceLayerBridge.h" |
6 | 6 |
7 #include "cc/layers/layer.h" | 7 #include "cc/layers/layer.h" |
8 #include "cc/layers/solid_color_layer.h" | 8 #include "cc/layers/solid_color_layer.h" |
9 #include "cc/layers/surface_layer.h" | 9 #include "cc/layers/surface_layer.h" |
10 #include "cc/surfaces/sequence_surface_reference_factory.h" | 10 #include "cc/surfaces/sequence_surface_reference_factory.h" |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 WebLayerTreeView* layer_tree_view) | 60 WebLayerTreeView* layer_tree_view) |
61 : weak_factory_(this), | 61 : weak_factory_(this), |
62 observer_(observer), | 62 observer_(observer), |
63 binding_(this), | 63 binding_(this), |
64 frame_sink_id_(Platform::Current()->GenerateFrameSinkId()), | 64 frame_sink_id_(Platform::Current()->GenerateFrameSinkId()), |
65 parent_frame_sink_id_(layer_tree_view->GetFrameSinkId()) { | 65 parent_frame_sink_id_(layer_tree_view->GetFrameSinkId()) { |
66 ref_factory_ = | 66 ref_factory_ = |
67 new OffscreenCanvasSurfaceReferenceFactory(weak_factory_.GetWeakPtr()); | 67 new OffscreenCanvasSurfaceReferenceFactory(weak_factory_.GetWeakPtr()); |
68 | 68 |
69 DCHECK(!service_.is_bound()); | 69 DCHECK(!service_.is_bound()); |
70 mojom::blink::OffscreenCanvasSurfaceFactoryPtr service_factory; | 70 mojom::blink::OffscreenCanvasProviderPtr provider; |
71 Platform::Current()->GetInterfaceProvider()->GetInterface( | 71 Platform::Current()->GetInterfaceProvider()->GetInterface( |
72 mojo::MakeRequest(&service_factory)); | 72 mojo::MakeRequest(&provider)); |
73 // TODO(xlai): Ensure OffscreenCanvas commit() is still functional when a | 73 // TODO(xlai): Ensure OffscreenCanvas commit() is still functional when a |
74 // frame-less HTML canvas's document is reparenting under another frame. | 74 // frame-less HTML canvas's document is reparenting under another frame. |
75 // See crbug.com/683172. | 75 // See crbug.com/683172. |
76 service_factory->CreateOffscreenCanvasSurface( | 76 provider->CreateOffscreenCanvasSurface(parent_frame_sink_id_, frame_sink_id_, |
77 parent_frame_sink_id_, frame_sink_id_, | 77 binding_.CreateInterfacePtrAndBind(), |
78 binding_.CreateInterfacePtrAndBind(), mojo::MakeRequest(&service_)); | 78 mojo::MakeRequest(&service_)); |
79 } | 79 } |
80 | 80 |
81 CanvasSurfaceLayerBridge::~CanvasSurfaceLayerBridge() { | 81 CanvasSurfaceLayerBridge::~CanvasSurfaceLayerBridge() { |
82 observer_ = nullptr; | 82 observer_ = nullptr; |
83 } | 83 } |
84 | 84 |
85 void CanvasSurfaceLayerBridge::CreateSolidColorLayer() { | 85 void CanvasSurfaceLayerBridge::CreateSolidColorLayer() { |
86 cc_layer_ = cc::SolidColorLayer::Create(); | 86 cc_layer_ = cc::SolidColorLayer::Create(); |
87 cc_layer_->SetBackgroundColor(SK_ColorTRANSPARENT); | 87 cc_layer_->SetBackgroundColor(SK_ColorTRANSPARENT); |
88 web_layer_ = Platform::Current()->CompositorSupport()->CreateLayerFromCCLayer( | 88 web_layer_ = Platform::Current()->CompositorSupport()->CreateLayerFromCCLayer( |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 service_->Satisfy(sequence); | 126 service_->Satisfy(sequence); |
127 } | 127 } |
128 | 128 |
129 void CanvasSurfaceLayerBridge::RequireCallback( | 129 void CanvasSurfaceLayerBridge::RequireCallback( |
130 const cc::SurfaceId& surface_id, | 130 const cc::SurfaceId& surface_id, |
131 const cc::SurfaceSequence& sequence) { | 131 const cc::SurfaceSequence& sequence) { |
132 service_->Require(surface_id, sequence); | 132 service_->Require(surface_id, sequence); |
133 } | 133 } |
134 | 134 |
135 } // namespace blink | 135 } // namespace blink |
OLD | NEW |