Commit 312145d8 authored by danakj's avatar danakj Committed by Commit Bot

Remove WebCompositorSupport::CreateLayer.

Create a cc::Layer directly in LinkHighlightImpl instead, and wrap it
in a WebLayer.

R=pdr@chromium.org

Bug: 838693
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I74d40aab18600f9970e1a9e356d93fde2e793b6a
Reviewed-on: https://chromium-review.googlesource.com/1047950
Commit-Queue: danakj <danakj@chromium.org>
Reviewed-by: default avatarPhilip Rogers <pdr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557236}
parent 2baeb686
......@@ -19,10 +19,6 @@ WebCompositorSupportImpl::WebCompositorSupportImpl() = default;
WebCompositorSupportImpl::~WebCompositorSupportImpl() = default;
std::unique_ptr<WebLayer> WebCompositorSupportImpl::CreateLayer() {
return std::make_unique<WebLayerImpl>();
}
std::unique_ptr<WebLayer> WebCompositorSupportImpl::CreateLayerFromCCLayer(
cc::Layer* layer) {
return std::make_unique<WebLayerImpl>(layer);
......
......@@ -19,7 +19,6 @@ class CC_BLINK_EXPORT WebCompositorSupportImpl
WebCompositorSupportImpl();
~WebCompositorSupportImpl() override;
std::unique_ptr<blink::WebLayer> CreateLayer() override;
std::unique_ptr<blink::WebLayer> CreateLayerFromCCLayer(cc::Layer*) override;
std::unique_ptr<blink::WebImageLayer> CreateImageLayer() override;
......
......@@ -47,7 +47,6 @@ class WebCompositorSupport {
public:
// Layers -------------------------------------------------------
virtual std::unique_ptr<WebLayer> CreateLayer() = 0;
virtual std::unique_ptr<WebLayer> CreateLayerFromCCLayer(cc::Layer*) = 0;
virtual std::unique_ptr<WebImageLayer> CreateImageLayer() = 0;
......
......@@ -34,6 +34,7 @@
#include <string>
#include "build/build_config.h"
#include "cc/layers/layer.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_clipboard.h"
......@@ -1325,16 +1326,19 @@ class CompositedPlugin : public FakeWebPlugin {
public:
explicit CompositedPlugin(const WebPluginParams& params)
: FakeWebPlugin(params),
layer_(Platform::Current()->CompositorSupport()->CreateLayer()) {}
layer_(cc::Layer::Create()),
web_layer_(
Platform::Current()->CompositorSupport()->CreateLayerFromCCLayer(
layer_.get())) {}
WebLayer* GetWebLayer() const { return layer_.get(); }
WebLayer* GetWebLayer() const { return web_layer_.get(); }
// WebPlugin
bool Initialize(WebPluginContainer* container) override {
if (!FakeWebPlugin::Initialize(container))
return false;
container->SetWebLayer(layer_.get(), false);
container->SetWebLayer(web_layer_.get(), false);
return true;
}
......@@ -1346,7 +1350,8 @@ class CompositedPlugin : public FakeWebPlugin {
private:
~CompositedPlugin() override = default;
std::unique_ptr<WebLayer> layer_;
scoped_refptr<cc::Layer> layer_;
std::unique_ptr<WebLayer> web_layer_;
};
} // namespace
......
......@@ -29,6 +29,7 @@
#include <utility>
#include "base/memory/ptr_util.h"
#include "cc/layers/layer.h"
#include "cc/layers/picture_layer.h"
#include "cc/paint/display_item_list.h"
#include "third_party/blink/public/platform/platform.h"
......@@ -91,11 +92,14 @@ LinkHighlightImpl::LinkHighlightImpl(Node* node, WebViewImpl* owning_web_view)
Platform::Current()->CompositorSupport();
DCHECK(compositor_support);
content_layer_ = cc::PictureLayer::Create(this);
clip_layer_ = cc::Layer::Create();
clip_layer_->SetTransformOrigin(FloatPoint3D());
clip_layer_->AddChild(content_layer_);
web_content_layer_ =
compositor_support->CreateLayerFromCCLayer(content_layer_.get());
clip_layer_ = compositor_support->CreateLayer();
clip_layer_->SetTransformOrigin(FloatPoint3D());
clip_layer_->AddChild(web_content_layer_.get());
web_clip_layer_ =
compositor_support->CreateLayerFromCCLayer(clip_layer_.get());
compositor_animation_ = CompositorAnimation::Create();
DCHECK(compositor_animation_);
......@@ -129,7 +133,7 @@ cc::PictureLayer* LinkHighlightImpl::ContentLayer() {
}
WebLayer* LinkHighlightImpl::ClipLayer() {
return clip_layer_.get();
return web_clip_layer_.get();
}
void LinkHighlightImpl::ReleaseResources() {
......
......@@ -40,6 +40,7 @@
#include "third_party/blink/renderer/platform/wtf/forward.h"
namespace cc {
class Layer;
class PictureLayer;
}
......@@ -103,7 +104,8 @@ class CORE_EXPORT LinkHighlightImpl final : public LinkHighlight,
scoped_refptr<cc::PictureLayer> content_layer_;
std::unique_ptr<WebLayer> web_content_layer_; // Wraps |content_layer_|.
std::unique_ptr<WebLayer> clip_layer_;
scoped_refptr<cc::Layer> clip_layer_;
std::unique_ptr<WebLayer> web_clip_layer_;
Path path_;
Persistent<Node> node_;
......
......@@ -4,6 +4,7 @@
#include "third_party/blink/renderer/core/paint/video_painter.h"
#include "cc/layers/layer.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/public/platform/web_compositor_support.h"
#include "third_party/blink/public/platform/web_layer.h"
......@@ -32,7 +33,10 @@ class StubWebMediaPlayer : public EmptyWebMediaPlayer {
client_->NetworkStateChanged();
ready_state_ = kReadyStateHaveEnoughData;
client_->ReadyStateChanged();
web_layer_ = Platform::Current()->CompositorSupport()->CreateLayer();
layer_ = cc::Layer::Create();
web_layer_ =
Platform::Current()->CompositorSupport()->CreateLayerFromCCLayer(
layer_.get());
client_->SetWebLayer(web_layer_.get());
}
NetworkState GetNetworkState() const override { return network_state_; }
......@@ -40,6 +44,7 @@ class StubWebMediaPlayer : public EmptyWebMediaPlayer {
private:
WebMediaPlayerClient* client_;
scoped_refptr<cc::Layer> layer_;
std::unique_ptr<WebLayer> web_layer_;
NetworkState network_state_ = kNetworkStateEmpty;
ReadyState ready_state_ = kReadyStateHaveNothing;
......
......@@ -88,10 +88,6 @@ class DummyThread final : public blink::WebThread {
} // namespace
std::unique_ptr<WebLayer> TestingCompositorSupport::CreateLayer() {
return nullptr;
}
std::unique_ptr<WebLayer> TestingCompositorSupport::CreateLayerFromCCLayer(
cc::Layer*) {
return nullptr;
......
......@@ -54,7 +54,6 @@ class WebCompositorSupport;
class WebThread;
class TestingCompositorSupport : public WebCompositorSupport {
std::unique_ptr<WebLayer> CreateLayer() override;
std::unique_ptr<WebLayer> CreateLayerFromCCLayer(cc::Layer*) override;
std::unique_ptr<WebImageLayer> CreateImageLayer() override;
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment