Commit cad58688 authored by Stuart Langley's avatar Stuart Langley Committed by Commit Bot

Remove WebPluginContainerBase.

WebPluginContainerBase is no longer required as all of the references in the
code have been updated to use WebPluginContainerImpl.

Bug: 731490
Change-Id: Iad08ea5246f37db6609c20b8a4e0b8fd35811550
Reviewed-on: https://chromium-review.googlesource.com/571379Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Stuart Langley <slangley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486635}
parent d776d203
......@@ -59,8 +59,6 @@ blink_core_sources("exported") {
"WebPagePopupImpl.cpp",
"WebPagePopupImpl.h",
"WebPerformance.cpp",
"WebPluginContainerBase.cpp",
"WebPluginContainerBase.h",
"WebPluginContainerImpl.cpp",
"WebPluginContainerImpl.h",
"WebPluginDocument.cpp",
......
// Copyright 2017 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.#ifndef WebViewBase_h
#include "core/exported/WebPluginContainerBase.h"
namespace blink {
WebPluginContainerBase::WebPluginContainerBase(LocalFrame* frame)
: ContextClient(frame) {}
DEFINE_TRACE(WebPluginContainerBase) {
ContextClient::Trace(visitor);
PluginView::Trace(visitor);
}
} // namespace blink
// Copyright 2017 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.#ifndef WebViewBase_h
#ifndef WebPluginContainerBase_h
#define WebPluginContainerBase_h
#include "core/CoreExport.h"
#include "core/dom/ContextLifecycleObserver.h"
#include "core/plugins/PluginView.h"
#include "public/web/WebPluginContainer.h"
namespace blink {
class ResourceError;
struct WebPrintParams;
struct WebPrintPresetOptions;
// WebPluginContainerBase is a temporary class the provides a layer of
// abstraction for WebPluginContainerImpl. Mehtods that are declared public in
// WebPluginContainerImpl that are not overrides from PluginView,
// WebPuglinContainer or ContextClient will be declared pure virtual in
// WebPluginContainerBase. Classes that then have a dependency on
// WebPluginContainerImpl will then take a dependency on WebPluginContainerBase
// instead, so we can remove cyclic dependencies in web/ and move classes from
// web/ into core/ or modules.
// TODO(slangley): Remove this class once WebPluginContainerImpl is in core/.
class CORE_EXPORT WebPluginContainerBase
: public GarbageCollectedFinalized<WebPluginContainerBase>,
public PluginView,
NON_EXPORTED_BASE(public WebPluginContainer),
public ContextClient {
USING_GARBAGE_COLLECTED_MIXIN(WebPluginContainerBase);
public:
virtual int PrintBegin(const WebPrintParams&) const = 0;
virtual void PrintPage(int page_number, GraphicsContext&, const IntRect&) = 0;
virtual void PrintEnd() = 0;
virtual bool ExecuteEditCommand(const WebString& name) = 0;
virtual bool ExecuteEditCommand(const WebString& name,
const WebString& value) = 0;
virtual bool SupportsPaginatedPrint() const = 0;
virtual bool IsPrintScalingDisabled() const = 0;
virtual bool GetPrintPresetOptionsFromDocument(
WebPrintPresetOptions*) const = 0;
virtual void DidFinishLoading() = 0;
virtual void DidFailLoading(const ResourceError&) = 0;
virtual void CalculateGeometry(IntRect& window_rect,
IntRect& clip_rect,
IntRect& unobscured_rect) = 0;
DECLARE_VIRTUAL_TRACE();
protected:
explicit WebPluginContainerBase(LocalFrame*);
};
DEFINE_TYPE_CASTS(WebPluginContainerBase,
PluginView,
plugin,
plugin->IsPluginContainer(),
plugin.IsPluginContainer());
// Unlike EmbeddedContentView, we need not worry about object type for
// container. WebPluginContainerBase is the only subclass of WebPluginContainer.
DEFINE_TYPE_CASTS(WebPluginContainerBase,
WebPluginContainer,
container,
true,
true);
} // nammespace blink
#endif // WebPluginContainerBase_h
......@@ -691,7 +691,7 @@ bool WebPluginContainerImpl::WantsWheelEvents() {
WebPluginContainerImpl::WebPluginContainerImpl(HTMLPlugInElement& element,
WebPlugin* web_plugin)
: WebPluginContainerBase(element.GetDocument().GetFrame()),
: ContextClient(element.GetDocument().GetFrame()),
element_(element),
web_plugin_(web_plugin),
web_layer_(nullptr),
......@@ -731,7 +731,8 @@ void WebPluginContainerImpl::Dispose() {
DEFINE_TRACE(WebPluginContainerImpl) {
visitor->Trace(element_);
WebPluginContainerBase::Trace(visitor);
ContextClient::Trace(visitor);
PluginView::Trace(visitor);
}
void WebPluginContainerImpl::HandleMouseEvent(MouseEvent* event) {
......
......@@ -34,7 +34,7 @@
#include "core/CoreExport.h"
#include "core/dom/ContextLifecycleObserver.h"
#include "core/exported/WebPluginContainerBase.h"
#include "core/plugins/PluginView.h"
#include "platform/heap/Handle.h"
#include "platform/wtf/Compiler.h"
#include "platform/wtf/PassRefPtr.h"
......@@ -61,7 +61,12 @@ class WheelEvent;
struct WebPrintParams;
struct WebPrintPresetOptions;
class CORE_EXPORT WebPluginContainerImpl final : public WebPluginContainerBase {
class CORE_EXPORT WebPluginContainerImpl final
: public GarbageCollectedFinalized<WebPluginContainerImpl>,
public PluginView,
NON_EXPORTED_BASE(public WebPluginContainer),
public ContextClient {
USING_GARBAGE_COLLECTED_MIXIN(WebPluginContainerImpl);
USING_PRE_FINALIZER(WebPluginContainerImpl, PreFinalize);
public:
......@@ -142,37 +147,34 @@ class CORE_EXPORT WebPluginContainerImpl final : public WebPluginContainerBase {
// (which means it controls the layout, number of pages etc).
// Whether the plugin supports its own paginated print. The other print
// interface methods are called only if this method returns true.
bool SupportsPaginatedPrint() const override;
bool SupportsPaginatedPrint() const;
// If the plugin content should not be scaled to the printable area of
// the page, then this method should return true.
bool IsPrintScalingDisabled() const override;
bool IsPrintScalingDisabled() const;
// Returns true on success and sets the out parameter to the print preset
// options for the document.
bool GetPrintPresetOptionsFromDocument(WebPrintPresetOptions*) const override;
bool GetPrintPresetOptionsFromDocument(WebPrintPresetOptions*) const;
// Sets up printing at the specified WebPrintParams. Returns the number of
// pages to be printed at these settings.
int PrintBegin(const WebPrintParams&) const override;
int PrintBegin(const WebPrintParams&) const;
// Prints the page specified by pageNumber (0-based index) into the supplied
// canvas.
void PrintPage(int page_number,
GraphicsContext&,
const IntRect& paint_rect) override;
void PrintPage(int page_number, GraphicsContext&, const IntRect& paint_rect);
// Ends the print operation.
void PrintEnd() override;
void PrintEnd();
// Copy the selected text.
void Copy();
// Pass the edit command to the plugin.
bool ExecuteEditCommand(const WebString& name) override;
bool ExecuteEditCommand(const WebString& name,
const WebString& value) override;
bool ExecuteEditCommand(const WebString& name);
bool ExecuteEditCommand(const WebString& name, const WebString& value);
// Resource load events for the plugin's source data:
void DidReceiveResponse(const ResourceResponse&) override;
void DidReceiveData(const char* data, int data_length) override;
void DidFinishLoading() override;
void DidFailLoading(const ResourceError&) override;
void DidFinishLoading();
void DidFailLoading(const ResourceError&);
WebPluginContainerImpl* GetWebPluginContainer() const override {
return const_cast<WebPluginContainerImpl*>(this);
......@@ -218,7 +220,7 @@ class CORE_EXPORT WebPluginContainerImpl final : public WebPluginContainerBase {
void CalculateGeometry(IntRect& window_rect,
IntRect& clip_rect,
IntRect& unobscured_rect) override;
IntRect& unobscured_rect);
friend class WebPluginContainerTest;
......
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