| 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* layerTreeView) | 60 WebLayerTreeView* layerTreeView) |
| 61 : m_weakFactory(this), | 61 : m_weakFactory(this), |
| 62 m_observer(observer), | 62 m_observer(observer), |
| 63 m_binding(this), | 63 m_binding(this), |
| 64 m_frameSinkId(Platform::current()->generateFrameSinkId()), | 64 m_frameSinkId(Platform::current()->generateFrameSinkId()), |
| 65 m_parentFrameSinkId(layerTreeView->getFrameSinkId()) { | 65 m_parentFrameSinkId(layerTreeView->getFrameSinkId()) { |
| 66 m_refFactory = | 66 m_refFactory = |
| 67 new OffscreenCanvasSurfaceReferenceFactory(m_weakFactory.GetWeakPtr()); | 67 new OffscreenCanvasSurfaceReferenceFactory(m_weakFactory.GetWeakPtr()); |
| 68 | 68 |
| 69 DCHECK(!m_service.is_bound()); | 69 DCHECK(!m_service.is_bound()); |
| 70 mojom::blink::OffscreenCanvasSurfaceFactoryPtr serviceFactory; | 70 mojom::blink::OffscreenCanvasProviderPtr provider; |
| 71 Platform::current()->interfaceProvider()->getInterface( | 71 Platform::current()->interfaceProvider()->getInterface( |
| 72 mojo::MakeRequest(&serviceFactory)); | 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 serviceFactory->CreateOffscreenCanvasSurface( | 76 provider->CreateOffscreenCanvasSurface(m_parentFrameSinkId, m_frameSinkId, |
| 77 m_parentFrameSinkId, m_frameSinkId, m_binding.CreateInterfacePtrAndBind(), | 77 m_binding.CreateInterfacePtrAndBind(), |
| 78 mojo::MakeRequest(&m_service)); | 78 mojo::MakeRequest(&m_service)); |
| 79 } | 79 } |
| 80 | 80 |
| 81 CanvasSurfaceLayerBridge::~CanvasSurfaceLayerBridge() { | 81 CanvasSurfaceLayerBridge::~CanvasSurfaceLayerBridge() { |
| 82 m_observer = nullptr; | 82 m_observer = nullptr; |
| 83 } | 83 } |
| 84 | 84 |
| 85 void CanvasSurfaceLayerBridge::createSolidColorLayer() { | 85 void CanvasSurfaceLayerBridge::createSolidColorLayer() { |
| 86 m_CCLayer = cc::SolidColorLayer::Create(); | 86 m_CCLayer = cc::SolidColorLayer::Create(); |
| 87 m_CCLayer->SetBackgroundColor(SK_ColorTRANSPARENT); | 87 m_CCLayer->SetBackgroundColor(SK_ColorTRANSPARENT); |
| 88 m_webLayer = Platform::current()->compositorSupport()->createLayerFromCCLayer( | 88 m_webLayer = Platform::current()->compositorSupport()->createLayerFromCCLayer( |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 m_service->Satisfy(sequence); | 126 m_service->Satisfy(sequence); |
| 127 } | 127 } |
| 128 | 128 |
| 129 void CanvasSurfaceLayerBridge::requireCallback( | 129 void CanvasSurfaceLayerBridge::requireCallback( |
| 130 const cc::SurfaceId& surfaceId, | 130 const cc::SurfaceId& surfaceId, |
| 131 const cc::SurfaceSequence& sequence) { | 131 const cc::SurfaceSequence& sequence) { |
| 132 m_service->Require(surfaceId, sequence); | 132 m_service->Require(surfaceId, sequence); |
| 133 } | 133 } |
| 134 | 134 |
| 135 } // namespace blink | 135 } // namespace blink |
| OLD | NEW |