Index: components/html_viewer/web_layer_tree_view_impl.cc |
diff --git a/components/html_viewer/web_layer_tree_view_impl.cc b/components/html_viewer/web_layer_tree_view_impl.cc |
deleted file mode 100644 |
index 72e298550bba636753e4b372c59c097f663085bb..0000000000000000000000000000000000000000 |
--- a/components/html_viewer/web_layer_tree_view_impl.cc |
+++ /dev/null |
@@ -1,246 +0,0 @@ |
-// Copyright 2014 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "components/html_viewer/web_layer_tree_view_impl.h" |
- |
-#include <stddef.h> |
-#include <utility> |
- |
-#include "base/thread_task_runner_handle.h" |
-#include "cc/blink/web_layer_impl.h" |
-#include "cc/layers/layer.h" |
-#include "cc/output/begin_frame_args.h" |
-#include "cc/scheduler/begin_frame_source.h" |
-#include "cc/trees/layer_tree_host.h" |
-#include "components/mus/public/cpp/context_provider.h" |
-#include "components/mus/public/cpp/output_surface.h" |
-#include "components/mus/public/cpp/window.h" |
-#include "mojo/converters/surfaces/surfaces_type_converters.h" |
-#include "mojo/public/c/gles2/gles2.h" |
-#include "third_party/WebKit/public/web/WebWidget.h" |
-#include "ui/gfx/buffer_types.h" |
- |
-namespace html_viewer { |
- |
-WebLayerTreeViewImpl::WebLayerTreeViewImpl( |
- scoped_refptr<base::SingleThreadTaskRunner> compositor_task_runner, |
- gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, |
- cc::TaskGraphRunner* task_graph_runner) |
- : widget_(nullptr), |
- window_(nullptr), |
- main_thread_compositor_task_runner_(base::ThreadTaskRunnerHandle::Get()), |
- weak_factory_(this) { |
- main_thread_bound_weak_ptr_ = weak_factory_.GetWeakPtr(); |
- |
- cc::LayerTreeSettings settings; |
- |
- settings.use_image_texture_targets = std::vector<unsigned>( |
- static_cast<size_t>(gfx::BufferFormat::LAST) + 1, GL_TEXTURE_2D); |
- // TODO(jam): use multiple compositor raster threads and set gather_pixel_refs |
- // accordingly (see content). |
- |
- // For web contents, layer transforms should scale up the contents of layers |
- // to keep content always crisp when possible. |
- settings.layer_transforms_should_scale_layer_contents = true; |
- |
- // Use new animation system (cc::AnimationHost). |
- settings.use_compositor_animation_timelines = true; |
- |
- // TODO(rjkroege): Not having a shared tile transport breaks |
- // software compositing. Add bitmap transport support. |
- cc::SharedBitmapManager* shared_bitmap_manager = nullptr; |
- |
- cc::LayerTreeHost::InitParams params; |
- params.client = this; |
- params.shared_bitmap_manager = shared_bitmap_manager; |
- params.gpu_memory_buffer_manager = gpu_memory_buffer_manager; |
- params.settings = &settings; |
- params.task_graph_runner = task_graph_runner; |
- params.main_task_runner = main_thread_compositor_task_runner_; |
- |
- layer_tree_host_ = |
- cc::LayerTreeHost::CreateThreaded(compositor_task_runner, ¶ms); |
- DCHECK(layer_tree_host_); |
-} |
- |
-void WebLayerTreeViewImpl::Initialize(mus::mojom::GpuPtr gpu_service, |
- mus::Window* window, |
- blink::WebWidget* widget) { |
- window_ = window; |
- widget_ = widget; |
- if (gpu_service) { |
- mus::mojom::CommandBufferPtr cb; |
- gpu_service->CreateOffscreenGLES2Context(GetProxy(&cb)); |
- scoped_refptr<cc::ContextProvider> context_provider( |
- new mus::ContextProvider(cb.PassInterface().PassHandle())); |
- output_surface_.reset(new mus::OutputSurface( |
- context_provider, |
- window_->RequestSurface(mus::mojom::SurfaceType::DEFAULT))); |
- } |
- layer_tree_host_->SetVisible(window_->visible()); |
-} |
- |
-WebLayerTreeViewImpl::~WebLayerTreeViewImpl() { |
- // Destroy the LayerTreeHost before anything else as doing so ensures we're |
- // not accessed on the compositor thread (we are the LayerTreeHostClient). |
- layer_tree_host_.reset(); |
-} |
- |
-void WebLayerTreeViewImpl::WillBeginMainFrame() { |
-} |
- |
-void WebLayerTreeViewImpl::DidBeginMainFrame() { |
-} |
- |
-void WebLayerTreeViewImpl::BeginMainFrameNotExpectedSoon() { |
-} |
- |
-void WebLayerTreeViewImpl::BeginMainFrame(const cc::BeginFrameArgs& args) { |
- VLOG(2) << "WebLayerTreeViewImpl::BeginMainFrame"; |
- double frame_time_sec = (args.frame_time - base::TimeTicks()).InSecondsF(); |
- widget_->beginFrame(frame_time_sec); |
- layer_tree_host_->SetNeedsAnimate(); |
-} |
- |
-void WebLayerTreeViewImpl::UpdateLayerTreeHost() { |
- widget_->updateAllLifecyclePhases(); |
-} |
- |
-void WebLayerTreeViewImpl::ApplyViewportDeltas( |
- const gfx::Vector2dF& inner_delta, |
- const gfx::Vector2dF& outer_delta, |
- const gfx::Vector2dF& elastic_overscroll_delta, |
- float page_scale, |
- float top_controls_delta) { |
- widget_->applyViewportDeltas( |
- inner_delta, |
- outer_delta, |
- elastic_overscroll_delta, |
- page_scale, |
- top_controls_delta); |
-} |
- |
-void WebLayerTreeViewImpl::RequestNewOutputSurface() { |
- if (output_surface_.get()) |
- layer_tree_host_->SetOutputSurface(std::move(output_surface_)); |
-} |
- |
-void WebLayerTreeViewImpl::DidFailToInitializeOutputSurface() { |
- RequestNewOutputSurface(); |
-} |
- |
-void WebLayerTreeViewImpl::DidInitializeOutputSurface() { |
-} |
- |
-void WebLayerTreeViewImpl::WillCommit() { |
-} |
- |
-void WebLayerTreeViewImpl::DidCommit() { |
-} |
- |
-void WebLayerTreeViewImpl::DidCommitAndDrawFrame() { |
-} |
- |
-// TODO(rjkroege): Wire this up to the SubmitFrame callback to improve |
-// synchronization. |
-void WebLayerTreeViewImpl::DidCompleteSwapBuffers() { |
-} |
- |
-void WebLayerTreeViewImpl::setRootLayer(const blink::WebLayer& layer) { |
- layer_tree_host_->SetRootLayer( |
- static_cast<const cc_blink::WebLayerImpl*>(&layer)->layer()); |
-} |
- |
-void WebLayerTreeViewImpl::clearRootLayer() { |
- layer_tree_host_->SetRootLayer(scoped_refptr<cc::Layer>()); |
-} |
- |
-void WebLayerTreeViewImpl::setViewportSize( |
- const blink::WebSize& device_viewport_size) { |
- layer_tree_host_->SetViewportSize(device_viewport_size); |
-} |
- |
-void WebLayerTreeViewImpl::setDeviceScaleFactor(float device_scale_factor) { |
- layer_tree_host_->SetDeviceScaleFactor(device_scale_factor); |
-} |
- |
-float WebLayerTreeViewImpl::deviceScaleFactor() const { |
- return layer_tree_host_->device_scale_factor(); |
-} |
- |
-void WebLayerTreeViewImpl::setBackgroundColor(blink::WebColor color) { |
- layer_tree_host_->set_background_color(color); |
-} |
- |
-void WebLayerTreeViewImpl::setHasTransparentBackground( |
- bool has_transparent_background) { |
- layer_tree_host_->set_has_transparent_background(has_transparent_background); |
-} |
- |
-void WebLayerTreeViewImpl::setVisible(bool visible) { |
- layer_tree_host_->SetVisible(visible); |
-} |
- |
-void WebLayerTreeViewImpl::setPageScaleFactorAndLimits(float page_scale_factor, |
- float minimum, |
- float maximum) { |
- layer_tree_host_->SetPageScaleFactorAndLimits( |
- page_scale_factor, minimum, maximum); |
-} |
- |
-void WebLayerTreeViewImpl::registerForAnimations(blink::WebLayer* layer) { |
- cc::Layer* cc_layer = static_cast<cc_blink::WebLayerImpl*>(layer)->layer(); |
- cc_layer->RegisterForAnimations(layer_tree_host_->animation_registrar()); |
-} |
- |
-void WebLayerTreeViewImpl::registerViewportLayers( |
- const blink::WebLayer* overscrollElasticityLayer, |
- const blink::WebLayer* pageScaleLayer, |
- const blink::WebLayer* innerViewportScrollLayer, |
- const blink::WebLayer* outerViewportScrollLayer) { |
- layer_tree_host_->RegisterViewportLayers( |
- // The scroll elasticity layer will only exist when using pinch virtual |
- // viewports. |
- overscrollElasticityLayer |
- ? static_cast<const cc_blink::WebLayerImpl*>( |
- overscrollElasticityLayer) |
- ->layer() |
- : nullptr, |
- static_cast<const cc_blink::WebLayerImpl*>(pageScaleLayer)->layer(), |
- static_cast<const cc_blink::WebLayerImpl*>(innerViewportScrollLayer) |
- ->layer(), |
- // The outer viewport layer will only exist when using pinch virtual |
- // viewports. |
- outerViewportScrollLayer |
- ? static_cast<const cc_blink::WebLayerImpl*>(outerViewportScrollLayer) |
- ->layer() |
- : nullptr); |
-} |
- |
-void WebLayerTreeViewImpl::clearViewportLayers() { |
- layer_tree_host_->RegisterViewportLayers(scoped_refptr<cc::Layer>(), |
- scoped_refptr<cc::Layer>(), |
- scoped_refptr<cc::Layer>(), |
- scoped_refptr<cc::Layer>()); |
-} |
- |
-void WebLayerTreeViewImpl::startPageScaleAnimation( |
- const blink::WebPoint& destination, |
- bool use_anchor, |
- float new_page_scale, |
- double duration_sec) { |
- base::TimeDelta duration = base::TimeDelta::FromMicroseconds( |
- duration_sec * base::Time::kMicrosecondsPerSecond); |
- layer_tree_host_->StartPageScaleAnimation( |
- gfx::Vector2d(destination.x, destination.y), |
- use_anchor, |
- new_page_scale, |
- duration); |
-} |
- |
-void WebLayerTreeViewImpl::setNeedsAnimate() { |
- layer_tree_host_->SetNeedsAnimate(); |
-} |
- |
-} // namespace html_viewer |