| Index: components/test_runner/web_view_test_proxy.h
|
| diff --git a/components/test_runner/web_view_test_proxy.h b/components/test_runner/web_view_test_proxy.h
|
| deleted file mode 100644
|
| index e41d8b34f1bc0f9a0867ebc0e1d2b7a8270fe7fd..0000000000000000000000000000000000000000
|
| --- a/components/test_runner/web_view_test_proxy.h
|
| +++ /dev/null
|
| @@ -1,232 +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.
|
| -
|
| -#ifndef COMPONENTS_TEST_RUNNER_WEB_VIEW_TEST_PROXY_H_
|
| -#define COMPONENTS_TEST_RUNNER_WEB_VIEW_TEST_PROXY_H_
|
| -
|
| -#include <memory>
|
| -#include <string>
|
| -#include <utility>
|
| -
|
| -#include "base/callback.h"
|
| -#include "base/macros.h"
|
| -#include "build/build_config.h"
|
| -#include "components/test_runner/test_runner_export.h"
|
| -#include "components/test_runner/web_view_test_client.h"
|
| -#include "components/test_runner/web_widget_test_client.h"
|
| -#include "components/test_runner/web_widget_test_proxy.h"
|
| -#include "third_party/WebKit/public/platform/WebDragOperation.h"
|
| -#include "third_party/WebKit/public/platform/WebRect.h"
|
| -#include "third_party/WebKit/public/platform/WebScreenInfo.h"
|
| -#include "third_party/WebKit/public/platform/WebURLError.h"
|
| -#include "third_party/WebKit/public/platform/WebURLRequest.h"
|
| -#include "third_party/WebKit/public/web/WebDOMMessageEvent.h"
|
| -#include "third_party/WebKit/public/web/WebHistoryCommitType.h"
|
| -#include "third_party/WebKit/public/web/WebNavigationPolicy.h"
|
| -#include "third_party/WebKit/public/web/WebTextDirection.h"
|
| -#include "third_party/WebKit/public/web/WebViewClient.h"
|
| -#include "third_party/WebKit/public/web/WebWidgetClient.h"
|
| -
|
| -namespace blink {
|
| -class WebDragData;
|
| -class WebImage;
|
| -class WebLocalFrame;
|
| -class WebString;
|
| -class WebView;
|
| -class WebWidget;
|
| -struct WebPoint;
|
| -struct WebWindowFeatures;
|
| -}
|
| -
|
| -namespace test_runner {
|
| -
|
| -class AccessibilityController;
|
| -class TestInterfaces;
|
| -class TestRunnerForSpecificView;
|
| -class TextInputController;
|
| -class WebTestDelegate;
|
| -class WebTestInterfaces;
|
| -
|
| -// WebViewTestProxyBase is the "brain" of WebViewTestProxy in the sense that
|
| -// WebViewTestProxy does the bridge between RenderViewImpl and
|
| -// WebViewTestProxyBase and when it requires a behavior to be different from the
|
| -// usual, it will call WebViewTestProxyBase that implements the expected
|
| -// behavior. See WebViewTestProxy class comments for more information.
|
| -class TEST_RUNNER_EXPORT WebViewTestProxyBase : public WebWidgetTestProxyBase {
|
| - public:
|
| - blink::WebView* web_view() { return web_view_; }
|
| - void set_web_view(blink::WebView* view) {
|
| - DCHECK(view);
|
| - DCHECK(!web_view_);
|
| - web_view_ = view;
|
| - }
|
| -
|
| - void set_view_test_client(
|
| - std::unique_ptr<WebViewTestClient> view_test_client) {
|
| - DCHECK(view_test_client);
|
| - DCHECK(!view_test_client_);
|
| - view_test_client_ = std::move(view_test_client);
|
| - }
|
| -
|
| - WebTestDelegate* delegate() { return delegate_; }
|
| - void set_delegate(WebTestDelegate* delegate) {
|
| - DCHECK(delegate);
|
| - DCHECK(!delegate_);
|
| - delegate_ = delegate;
|
| - }
|
| -
|
| - TestInterfaces* test_interfaces() { return test_interfaces_; }
|
| - void SetInterfaces(WebTestInterfaces* web_test_interfaces);
|
| -
|
| - AccessibilityController* accessibility_controller() {
|
| - return accessibility_controller_.get();
|
| - }
|
| -
|
| - TestRunnerForSpecificView* view_test_runner() {
|
| - return view_test_runner_.get();
|
| - }
|
| -
|
| - void Reset();
|
| - void BindTo(blink::WebLocalFrame* frame);
|
| -
|
| - void GetScreenOrientationForTesting(blink::WebScreenInfo&);
|
| -
|
| - protected:
|
| - WebViewTestProxyBase();
|
| - ~WebViewTestProxyBase();
|
| -
|
| - blink::WebViewClient* view_test_client() { return view_test_client_.get(); }
|
| -
|
| - private:
|
| - TestInterfaces* test_interfaces_;
|
| - WebTestDelegate* delegate_;
|
| - blink::WebView* web_view_;
|
| - blink::WebWidget* web_widget_;
|
| - std::unique_ptr<WebViewTestClient> view_test_client_;
|
| - std::unique_ptr<AccessibilityController> accessibility_controller_;
|
| - std::unique_ptr<TextInputController> text_input_controller_;
|
| - std::unique_ptr<TestRunnerForSpecificView> view_test_runner_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WebViewTestProxyBase);
|
| -};
|
| -
|
| -// WebViewTestProxy is used during LayoutTests and always instantiated, at time
|
| -// of writing with Base=RenderViewImpl. It does not directly inherit from it for
|
| -// layering purposes.
|
| -// The intent of that class is to wrap RenderViewImpl for tests purposes in
|
| -// order to reduce the amount of test specific code in the production code.
|
| -// WebViewTestProxy is only doing the glue between RenderViewImpl and
|
| -// WebViewTestProxyBase, that means that there is no logic living in this class
|
| -// except deciding which base class should be called (could be both).
|
| -//
|
| -// Examples of usage:
|
| -// * when a fooClient has a mock implementation, WebViewTestProxy can override
|
| -// the fooClient() call and have WebViewTestProxyBase return the mock
|
| -// implementation.
|
| -// * when a value needs to be overridden by LayoutTests, WebViewTestProxy can
|
| -// override RenderViewImpl's getter and call a getter from
|
| -// WebViewTestProxyBase instead. In addition, WebViewTestProxyBase will have
|
| -// a public setter that could be called from the TestRunner.
|
| -#if defined(OS_WIN)
|
| -// WebViewTestProxy is a diamond-shaped hierarchy, with WebWidgetClient at the
|
| -// root. VS warns when we inherit the WebWidgetClient method implementations
|
| -// from RenderWidget. It's safe to ignore that warning.
|
| -#pragma warning(disable : 4250)
|
| -#endif
|
| -template <class Base, typename... Args>
|
| -class WebViewTestProxy : public Base, public WebViewTestProxyBase {
|
| - public:
|
| - explicit WebViewTestProxy(Args... args) : Base(args...) {}
|
| -
|
| - // WebWidgetClient implementation.
|
| - blink::WebScreenInfo screenInfo() override {
|
| - blink::WebScreenInfo info = Base::screenInfo();
|
| - blink::WebScreenInfo test_info = widget_test_client()->screenInfo();
|
| - if (test_info.orientationType != blink::WebScreenOrientationUndefined) {
|
| - info.orientationType = test_info.orientationType;
|
| - info.orientationAngle = test_info.orientationAngle;
|
| - }
|
| - return info;
|
| - }
|
| - void scheduleAnimation() override {
|
| - widget_test_client()->scheduleAnimation();
|
| - }
|
| - bool requestPointerLock() override {
|
| - return widget_test_client()->requestPointerLock();
|
| - }
|
| - void requestPointerUnlock() override {
|
| - widget_test_client()->requestPointerUnlock();
|
| - }
|
| - bool isPointerLocked() override {
|
| - return widget_test_client()->isPointerLocked();
|
| - }
|
| - void didFocus() override {
|
| - view_test_client()->didFocus();
|
| - Base::didFocus();
|
| - }
|
| - void setToolTipText(const blink::WebString& text,
|
| - blink::WebTextDirection hint) override {
|
| - widget_test_client()->setToolTipText(text, hint);
|
| - Base::setToolTipText(text, hint);
|
| - }
|
| -
|
| - // WebViewClient implementation.
|
| - void startDragging(blink::WebReferrerPolicy policy,
|
| - const blink::WebDragData& data,
|
| - blink::WebDragOperationsMask mask,
|
| - const blink::WebImage& image,
|
| - const blink::WebPoint& point) override {
|
| - widget_test_client()->startDragging(policy, data, mask, image, point);
|
| - // Don't forward this call to Base because we don't want to do a real
|
| - // drag-and-drop.
|
| - }
|
| - void didChangeContents() override {
|
| - view_test_client()->didChangeContents();
|
| - Base::didChangeContents();
|
| - }
|
| - blink::WebView* createView(blink::WebLocalFrame* creator,
|
| - const blink::WebURLRequest& request,
|
| - const blink::WebWindowFeatures& features,
|
| - const blink::WebString& frame_name,
|
| - blink::WebNavigationPolicy policy,
|
| - bool suppress_opener) override {
|
| - if (!view_test_client()->createView(creator, request, features, frame_name,
|
| - policy, suppress_opener))
|
| - return nullptr;
|
| - return Base::createView(creator, request, features, frame_name, policy,
|
| - suppress_opener);
|
| - }
|
| - void setStatusText(const blink::WebString& text) override {
|
| - view_test_client()->setStatusText(text);
|
| - Base::setStatusText(text);
|
| - }
|
| - void printPage(blink::WebLocalFrame* frame) override {
|
| - view_test_client()->printPage(frame);
|
| - }
|
| - blink::WebSpeechRecognizer* speechRecognizer() override {
|
| - return view_test_client()->speechRecognizer();
|
| - }
|
| - void showValidationMessage(
|
| - const blink::WebRect& anchor_in_root_view,
|
| - const blink::WebString& main_message,
|
| - blink::WebTextDirection main_message_hint,
|
| - const blink::WebString& sub_message,
|
| - blink::WebTextDirection sub_message_hint) override {
|
| - view_test_client()->showValidationMessage(anchor_in_root_view, main_message,
|
| - main_message_hint, sub_message,
|
| - sub_message_hint);
|
| - }
|
| - blink::WebString acceptLanguages() override {
|
| - return view_test_client()->acceptLanguages();
|
| - }
|
| -
|
| - private:
|
| - virtual ~WebViewTestProxy() {}
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WebViewTestProxy);
|
| -};
|
| -
|
| -} // namespace test_runner
|
| -
|
| -#endif // COMPONENTS_TEST_RUNNER_WEB_VIEW_TEST_PROXY_H_
|
|
|