Chromium Code Reviews| Index: third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp |
| diff --git a/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.cpp b/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp |
| similarity index 79% |
| rename from third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.cpp |
| rename to third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp |
| index a19b255b812b2db6f33a8b42b3b98732ada22e00..fd87aba73a2a84e7bff76daa39e5bc79d7269325 100644 |
| --- a/third_party/WebKit/Source/platform/graphics/CanvasSurfaceLayerBridge.cpp |
| +++ b/third_party/WebKit/Source/platform/graphics/SurfaceLayerBridge.cpp |
| @@ -2,7 +2,7 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "platform/graphics/CanvasSurfaceLayerBridge.h" |
| +#include "platform/graphics/SurfaceLayerBridge.h" |
| #include "cc/layers/layer.h" |
| #include "cc/layers/solid_color_layer.h" |
| @@ -25,16 +25,14 @@ |
| namespace blink { |
| namespace { |
| - |
| -class OffscreenCanvasSurfaceReferenceFactory |
| +class SequenceSurfaceReferenceFactoryImpl |
| : public cc::SequenceSurfaceReferenceFactory { |
| public: |
| - OffscreenCanvasSurfaceReferenceFactory( |
| - base::WeakPtr<CanvasSurfaceLayerBridge> bridge) |
| + SequenceSurfaceReferenceFactoryImpl(base::WeakPtr<SurfaceLayerBridge> bridge) |
| : bridge_(bridge) {} |
| private: |
| - ~OffscreenCanvasSurfaceReferenceFactory() override = default; |
| + ~SequenceSurfaceReferenceFactoryImpl() override = default; |
| // cc::SequenceSurfaceReferenceFactory implementation: |
| void RequireSequence(const cc::SurfaceId& id, |
| @@ -48,16 +46,14 @@ class OffscreenCanvasSurfaceReferenceFactory |
| bridge_->SatisfyCallback(sequence); |
| } |
| - base::WeakPtr<CanvasSurfaceLayerBridge> bridge_; |
| + base::WeakPtr<SurfaceLayerBridge> bridge_; |
| - DISALLOW_COPY_AND_ASSIGN(OffscreenCanvasSurfaceReferenceFactory); |
| + DISALLOW_COPY_AND_ASSIGN(SequenceSurfaceReferenceFactoryImpl); |
| }; |
| - |
|
apacible
2017/07/07 18:25:38
nit: add back newline between namespace and closin
CJ
2017/07/07 18:50:47
Done.
|
| } // namespace |
| -CanvasSurfaceLayerBridge::CanvasSurfaceLayerBridge( |
| - CanvasSurfaceLayerBridgeObserver* observer, |
| - WebLayerTreeView* layer_tree_view) |
| +SurfaceLayerBridge::SurfaceLayerBridge(SurfaceLayerBridgeObserver* observer, |
| + WebLayerTreeView* layer_tree_view) |
| : weak_factory_(this), |
| observer_(observer), |
| binding_(this), |
| @@ -65,7 +61,7 @@ CanvasSurfaceLayerBridge::CanvasSurfaceLayerBridge( |
| parent_frame_sink_id_(layer_tree_view ? layer_tree_view->GetFrameSinkId() |
| : cc::FrameSinkId()) { |
| ref_factory_ = |
| - new OffscreenCanvasSurfaceReferenceFactory(weak_factory_.GetWeakPtr()); |
| + new SequenceSurfaceReferenceFactoryImpl(weak_factory_.GetWeakPtr()); |
| DCHECK(!service_.is_bound()); |
| mojom::blink::OffscreenCanvasProviderPtr provider; |
| @@ -81,23 +77,32 @@ CanvasSurfaceLayerBridge::CanvasSurfaceLayerBridge( |
| mojo::MakeRequest(&service_)); |
| } |
| -CanvasSurfaceLayerBridge::~CanvasSurfaceLayerBridge() { |
| +SurfaceLayerBridge::~SurfaceLayerBridge() { |
| observer_ = nullptr; |
| if (web_layer_) { |
| GraphicsLayer::UnregisterContentsLayer(web_layer_.get()); |
| } |
| } |
| -void CanvasSurfaceLayerBridge::CreateSolidColorLayer() { |
| +void SurfaceLayerBridge::SatisfyCallback(const cc::SurfaceSequence& sequence) { |
| + service_->Satisfy(sequence); |
| +} |
| + |
| +void SurfaceLayerBridge::RequireCallback(const cc::SurfaceId& surface_id, |
| + const cc::SurfaceSequence& sequence) { |
| + service_->Require(surface_id, sequence); |
| +} |
| + |
| +void SurfaceLayerBridge::CreateSolidColorLayer() { |
| cc_layer_ = cc::SolidColorLayer::Create(); |
| cc_layer_->SetBackgroundColor(SK_ColorTRANSPARENT); |
| + |
| web_layer_ = Platform::Current()->CompositorSupport()->CreateLayerFromCCLayer( |
| cc_layer_.get()); |
| GraphicsLayer::RegisterContentsLayer(web_layer_.get()); |
| } |
| -void CanvasSurfaceLayerBridge::OnSurfaceCreated( |
| - const cc::SurfaceInfo& surface_info) { |
| +void SurfaceLayerBridge::OnSurfaceCreated(const cc::SurfaceInfo& surface_info) { |
| if (!current_surface_id_.is_valid() && surface_info.is_valid()) { |
| // First time a SurfaceId is received |
| current_surface_id_ = surface_info.id(); |
| @@ -125,19 +130,9 @@ void CanvasSurfaceLayerBridge::OnSurfaceCreated( |
| surface_layer->SetFallbackSurfaceInfo(surface_info); |
| } |
| - observer_->OnWebLayerReplaced(); |
| + if (observer_) |
|
apacible
2017/07/07 18:25:38
I may have missed it in earlier comments -- with t
CJ
2017/07/07 18:50:47
We dont use the |observer_|. That's only for the H
|
| + observer_->OnWebLayerReplaced(); |
| cc_layer_->SetBounds(surface_info.size_in_pixels()); |
| } |
| -void CanvasSurfaceLayerBridge::SatisfyCallback( |
| - const cc::SurfaceSequence& sequence) { |
| - service_->Satisfy(sequence); |
| -} |
| - |
| -void CanvasSurfaceLayerBridge::RequireCallback( |
| - const cc::SurfaceId& surface_id, |
| - const cc::SurfaceSequence& sequence) { |
| - service_->Require(surface_id, sequence); |
| -} |
| - |
| } // namespace blink |