| Index: content/shell/renderer/test_runner/web_test_proxy.h
|
| diff --git a/content/shell/renderer/test_runner/web_test_proxy.h b/content/shell/renderer/test_runner/web_test_proxy.h
|
| deleted file mode 100644
|
| index 8d6bea88e8622d8131f51927dfc076a52ae4e885..0000000000000000000000000000000000000000
|
| --- a/content/shell/renderer/test_runner/web_test_proxy.h
|
| +++ /dev/null
|
| @@ -1,401 +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 CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TEST_PROXY_H_
|
| -#define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TEST_PROXY_H_
|
| -
|
| -#include <deque>
|
| -#include <map>
|
| -#include <string>
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/callback.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "content/shell/renderer/test_runner/web_task.h"
|
| -#include "third_party/WebKit/public/platform/WebImage.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/WebAXEnums.h"
|
| -#include "third_party/WebKit/public/web/WebDOMMessageEvent.h"
|
| -#include "third_party/WebKit/public/web/WebDataSource.h"
|
| -#include "third_party/WebKit/public/web/WebDragOperation.h"
|
| -#include "third_party/WebKit/public/web/WebFrame.h"
|
| -#include "third_party/WebKit/public/web/WebFrameClient.h"
|
| -#include "third_party/WebKit/public/web/WebHistoryCommitType.h"
|
| -#include "third_party/WebKit/public/web/WebIconURL.h"
|
| -#include "third_party/WebKit/public/web/WebNavigationPolicy.h"
|
| -#include "third_party/WebKit/public/web/WebNavigationType.h"
|
| -#include "third_party/WebKit/public/web/WebSecurityOrigin.h"
|
| -#include "third_party/WebKit/public/web/WebTextAffinity.h"
|
| -#include "third_party/WebKit/public/web/WebTextDirection.h"
|
| -
|
| -class SkBitmap;
|
| -class SkCanvas;
|
| -
|
| -namespace blink {
|
| -class WebAXObject;
|
| -class WebAudioDevice;
|
| -class WebCachedURLRequest;
|
| -class WebColorChooser;
|
| -class WebColorChooserClient;
|
| -class WebDataSource;
|
| -class WebDragData;
|
| -class WebFileChooserCompletion;
|
| -class WebFrame;
|
| -class WebLocalFrame;
|
| -class WebMIDIAccessor;
|
| -class WebMIDIAccessorClient;
|
| -class WebNode;
|
| -class WebPlugin;
|
| -class WebRange;
|
| -class WebSerializedScriptValue;
|
| -class WebSpeechRecognizer;
|
| -class WebSpellCheckClient;
|
| -class WebString;
|
| -class WebURL;
|
| -class WebURLResponse;
|
| -class WebUserMediaClient;
|
| -class WebView;
|
| -class WebWidget;
|
| -struct WebColorSuggestion;
|
| -struct WebConsoleMessage;
|
| -struct WebContextMenuData;
|
| -struct WebFileChooserParams;
|
| -struct WebPluginParams;
|
| -struct WebPoint;
|
| -struct WebSize;
|
| -struct WebWindowFeatures;
|
| -typedef unsigned WebColor;
|
| -}
|
| -
|
| -namespace content {
|
| -
|
| -class MockCredentialManagerClient;
|
| -class MockScreenOrientationClient;
|
| -class MockWebSpeechRecognizer;
|
| -class MockWebUserMediaClient;
|
| -class RenderFrame;
|
| -class SpellCheckClient;
|
| -class TestInterfaces;
|
| -class WebTestDelegate;
|
| -class WebTestInterfaces;
|
| -
|
| -// WebTestProxyBase is the "brain" of WebTestProxy in the sense that
|
| -// WebTestProxy does the bridge between RenderViewImpl and WebTestProxyBase and
|
| -// when it requires a behavior to be different from the usual, it will call
|
| -// WebTestProxyBase that implements the expected behavior.
|
| -// See WebTestProxy class comments for more information.
|
| -class WebTestProxyBase {
|
| - public:
|
| - void SetInterfaces(WebTestInterfaces* interfaces);
|
| - void SetDelegate(WebTestDelegate* delegate);
|
| - void set_widget(blink::WebWidget* widget) { web_widget_ = widget; }
|
| -
|
| - void Reset();
|
| -
|
| - blink::WebSpellCheckClient* GetSpellCheckClient() const;
|
| - blink::WebColorChooser* CreateColorChooser(
|
| - blink::WebColorChooserClient* client,
|
| - const blink::WebColor& color,
|
| - const blink::WebVector<blink::WebColorSuggestion>& suggestions);
|
| - bool RunFileChooser(const blink::WebFileChooserParams& params,
|
| - blink::WebFileChooserCompletion* completion);
|
| - void ShowValidationMessage(const base::string16& message,
|
| - const base::string16& sub_message);
|
| - void HideValidationMessage();
|
| - void MoveValidationMessage(const blink::WebRect& anchor_in_root_view);
|
| -
|
| - std::string CaptureTree(bool debug_render_tree);
|
| - void CapturePixelsForPrinting(
|
| - const base::Callback<void(const SkBitmap&)>& callback);
|
| - void CopyImageAtAndCapturePixels(
|
| - int x, int y, const base::Callback<void(const SkBitmap&)>& callback);
|
| - void CapturePixelsAsync(
|
| - const base::Callback<void(const SkBitmap&)>& callback);
|
| -
|
| - void SetLogConsoleOutput(bool enabled);
|
| -
|
| - void DidOpenChooser();
|
| - void DidCloseChooser();
|
| - bool IsChooserShown();
|
| -
|
| - void LayoutAndPaintAsyncThen(const base::Closure& callback);
|
| -
|
| - void GetScreenOrientationForTesting(blink::WebScreenInfo&);
|
| - MockScreenOrientationClient* GetScreenOrientationClientMock();
|
| - MockWebSpeechRecognizer* GetSpeechRecognizerMock();
|
| - MockCredentialManagerClient* GetCredentialManagerClientMock();
|
| -
|
| - WebTaskList* mutable_task_list() { return &task_list_; }
|
| -
|
| - blink::WebView* GetWebView() const;
|
| -
|
| - void PostSpellCheckEvent(const blink::WebString& event_name);
|
| -
|
| - void SetAcceptLanguages(const std::string& accept_languages);
|
| -
|
| - protected:
|
| - WebTestProxyBase();
|
| - ~WebTestProxyBase();
|
| -
|
| - void ScheduleAnimation();
|
| - void PostAccessibilityEvent(const blink::WebAXObject&, blink::WebAXEvent);
|
| - void StartDragging(blink::WebLocalFrame* frame,
|
| - const blink::WebDragData& data,
|
| - blink::WebDragOperationsMask mask,
|
| - const blink::WebImage& image,
|
| - const blink::WebPoint& point);
|
| - void DidChangeSelection(bool isEmptySelection);
|
| - void DidChangeContents();
|
| - void DidEndEditing();
|
| - bool CreateView(blink::WebLocalFrame* creator,
|
| - const blink::WebURLRequest& request,
|
| - const blink::WebWindowFeatures& features,
|
| - const blink::WebString& frame_name,
|
| - blink::WebNavigationPolicy policy,
|
| - bool suppress_opener);
|
| - blink::WebPlugin* CreatePlugin(blink::WebLocalFrame* frame,
|
| - const blink::WebPluginParams& params);
|
| - void SetStatusText(const blink::WebString& text);
|
| - void DidStopLoading();
|
| - void ShowContextMenu(blink::WebLocalFrame* frame,
|
| - const blink::WebContextMenuData& data);
|
| - blink::WebUserMediaClient* GetUserMediaClient();
|
| - void PrintPage(blink::WebLocalFrame* frame);
|
| - blink::WebSpeechRecognizer* GetSpeechRecognizer();
|
| - bool RequestPointerLock();
|
| - void RequestPointerUnlock();
|
| - bool IsPointerLocked();
|
| - void DidFocus();
|
| - void DidBlur();
|
| - void SetToolTipText(const blink::WebString& text,
|
| - blink::WebTextDirection direction);
|
| - void DidAddMessageToConsole(const blink::WebConsoleMessage& text,
|
| - const blink::WebString& source_name,
|
| - unsigned source_line);
|
| - void LoadURLExternally(blink::WebLocalFrame* frame,
|
| - const blink::WebURLRequest& request,
|
| - blink::WebNavigationPolicy policy,
|
| - const blink::WebString& suggested_name);
|
| - void DidStartProvisionalLoad(blink::WebLocalFrame*);
|
| - void DidReceiveServerRedirectForProvisionalLoad(blink::WebLocalFrame* frame);
|
| - bool DidFailProvisionalLoad(blink::WebLocalFrame* frame,
|
| - const blink::WebURLError& error,
|
| - blink::WebHistoryCommitType commit_type);
|
| - void DidCommitProvisionalLoad(blink::WebLocalFrame* frame,
|
| - const blink::WebHistoryItem& history_item,
|
| - blink::WebHistoryCommitType history_type);
|
| - void DidReceiveTitle(blink::WebLocalFrame* frame,
|
| - const blink::WebString& title,
|
| - blink::WebTextDirection text_direction);
|
| - void DidChangeIcon(blink::WebLocalFrame* frame,
|
| - blink::WebIconURL::Type icon_type);
|
| - void DidFinishDocumentLoad(blink::WebLocalFrame* frame);
|
| - void DidHandleOnloadEvents(blink::WebLocalFrame* frame);
|
| - void DidFailLoad(blink::WebLocalFrame* frame,
|
| - const blink::WebURLError& error,
|
| - blink::WebHistoryCommitType commit_type);
|
| - void DidFinishLoad(blink::WebLocalFrame* frame);
|
| - void DidChangeLocationWithinPage(blink::WebLocalFrame* frame);
|
| - void DidDetectXSS(blink::WebLocalFrame* frame,
|
| - const blink::WebURL& insecure_url,
|
| - bool did_block_entire_page);
|
| - void DidDispatchPingLoader(blink::WebLocalFrame* frame,
|
| - const blink::WebURL& url);
|
| - void WillRequestResource(blink::WebLocalFrame* frame,
|
| - const blink::WebCachedURLRequest& url_request);
|
| - void WillSendRequest(blink::WebLocalFrame* frame,
|
| - unsigned identifier,
|
| - blink::WebURLRequest& request,
|
| - const blink::WebURLResponse& redirect_response);
|
| - void DidReceiveResponse(blink::WebLocalFrame* frame,
|
| - unsigned identifier,
|
| - const blink::WebURLResponse& response);
|
| - void DidChangeResourcePriority(blink::WebLocalFrame* frame,
|
| - unsigned identifier,
|
| - const blink::WebURLRequest::Priority& priority,
|
| - int intra_priority_value);
|
| - void DidFinishResourceLoad(blink::WebLocalFrame* frame, unsigned identifier);
|
| - blink::WebNavigationPolicy DecidePolicyForNavigation(
|
| - const blink::WebFrameClient::NavigationPolicyInfo& info);
|
| - bool WillCheckAndDispatchMessageEvent(blink::WebLocalFrame* source_frame,
|
| - blink::WebFrame* target_frame,
|
| - blink::WebSecurityOrigin target,
|
| - blink::WebDOMMessageEvent event);
|
| - void ResetInputMethod();
|
| -
|
| - blink::WebString acceptLanguages();
|
| -
|
| - private:
|
| - template <class, typename, typename>
|
| - friend class WebFrameTestProxy;
|
| -
|
| - enum CheckDoneReason {
|
| - LoadFinished,
|
| - MainResourceLoadFailed,
|
| - ResourceLoadCompleted
|
| - };
|
| - void CheckDone(blink::WebLocalFrame* frame, CheckDoneReason reason);
|
| - void AnimateNow();
|
| - void DrawSelectionRect(SkCanvas* canvas);
|
| - void DidCapturePixelsAsync(
|
| - const base::Callback<void(const SkBitmap&)>& callback,
|
| - const SkBitmap& bitmap);
|
| -
|
| - blink::WebWidget* web_widget() const { return web_widget_; }
|
| -
|
| - TestInterfaces* test_interfaces_;
|
| - WebTestDelegate* delegate_;
|
| - blink::WebWidget* web_widget_;
|
| -
|
| - WebTaskList task_list_;
|
| -
|
| - blink::WebImage drag_image_;
|
| -
|
| - scoped_ptr<SpellCheckClient> spellcheck_;
|
| - scoped_ptr<MockWebUserMediaClient> user_media_client_;
|
| -
|
| - bool animate_scheduled_;
|
| - std::map<unsigned, std::string> resource_identifier_map_;
|
| -
|
| - bool log_console_output_;
|
| - int chooser_count_;
|
| -
|
| - scoped_ptr<MockCredentialManagerClient> credential_manager_client_;
|
| - scoped_ptr<MockWebSpeechRecognizer> speech_recognizer_;
|
| - scoped_ptr<MockScreenOrientationClient> screen_orientation_client_;
|
| -
|
| - std::string accept_languages_;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(WebTestProxyBase);
|
| -};
|
| -
|
| -// WebTestProxy 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.
|
| -// WebTestProxy is only doing the glue between RenderViewImpl and
|
| -// WebTestProxyBase, 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, WebTestProxy can override the
|
| -// fooClient() call and have WebTestProxyBase return the mock implementation.
|
| -// * when a value needs to be overridden by LayoutTests, WebTestProxy can
|
| -// override RenderViewImpl's getter and call a getter from WebTestProxyBase
|
| -// instead. In addition, WebTestProxyBase will have a public setter that
|
| -// could be called from the TestRunner.
|
| -template <class Base, typename T>
|
| -class WebTestProxy : public Base, public WebTestProxyBase {
|
| - public:
|
| - explicit WebTestProxy(T t) : Base(t) {}
|
| -
|
| - // WebWidgetClient implementation.
|
| - virtual blink::WebScreenInfo screenInfo() {
|
| - blink::WebScreenInfo info = Base::screenInfo();
|
| - WebTestProxyBase::GetScreenOrientationForTesting(info);
|
| - return info;
|
| - }
|
| -
|
| - // WebViewClient implementation.
|
| - virtual void scheduleAnimation() { WebTestProxyBase::ScheduleAnimation(); }
|
| - virtual void postAccessibilityEvent(const blink::WebAXObject& object,
|
| - blink::WebAXEvent event) {
|
| - WebTestProxyBase::PostAccessibilityEvent(object, event);
|
| - Base::postAccessibilityEvent(object, event);
|
| - }
|
| - virtual void startDragging(blink::WebLocalFrame* frame,
|
| - const blink::WebDragData& data,
|
| - blink::WebDragOperationsMask mask,
|
| - const blink::WebImage& image,
|
| - const blink::WebPoint& point) {
|
| - WebTestProxyBase::StartDragging(frame, data, mask, image, point);
|
| - // Don't forward this call to Base because we don't want to do a real
|
| - // drag-and-drop.
|
| - }
|
| - virtual void didChangeContents() {
|
| - WebTestProxyBase::DidChangeContents();
|
| - Base::didChangeContents();
|
| - }
|
| - virtual 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) {
|
| - if (!WebTestProxyBase::CreateView(
|
| - creator, request, features, frame_name, policy, suppress_opener))
|
| - return 0;
|
| - return Base::createView(
|
| - creator, request, features, frame_name, policy, suppress_opener);
|
| - }
|
| - virtual void setStatusText(const blink::WebString& text) {
|
| - WebTestProxyBase::SetStatusText(text);
|
| - Base::setStatusText(text);
|
| - }
|
| - virtual void printPage(blink::WebLocalFrame* frame) {
|
| - WebTestProxyBase::PrintPage(frame);
|
| - }
|
| - virtual blink::WebSpeechRecognizer* speechRecognizer() {
|
| - return WebTestProxyBase::GetSpeechRecognizer();
|
| - }
|
| - virtual bool requestPointerLock() {
|
| - return WebTestProxyBase::RequestPointerLock();
|
| - }
|
| - virtual void requestPointerUnlock() {
|
| - WebTestProxyBase::RequestPointerUnlock();
|
| - }
|
| - virtual bool isPointerLocked() { return WebTestProxyBase::IsPointerLocked(); }
|
| - virtual void didFocus() {
|
| - WebTestProxyBase::DidFocus();
|
| - Base::didFocus();
|
| - }
|
| - virtual void didBlur() {
|
| - WebTestProxyBase::DidBlur();
|
| - Base::didBlur();
|
| - }
|
| - virtual void setToolTipText(const blink::WebString& text,
|
| - blink::WebTextDirection hint) {
|
| - WebTestProxyBase::SetToolTipText(text, hint);
|
| - Base::setToolTipText(text, hint);
|
| - }
|
| - virtual void resetInputMethod() { WebTestProxyBase::ResetInputMethod(); }
|
| - virtual bool runFileChooser(const blink::WebFileChooserParams& params,
|
| - blink::WebFileChooserCompletion* completion) {
|
| - return WebTestProxyBase::RunFileChooser(params, completion);
|
| - }
|
| - virtual 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) {
|
| - base::string16 wrapped_main_text = main_message;
|
| - base::string16 wrapped_sub_text = sub_message;
|
| -
|
| - Base::SetValidationMessageDirection(
|
| - &wrapped_main_text, main_message_hint, &wrapped_sub_text, sub_message_hint);
|
| -
|
| - WebTestProxyBase::ShowValidationMessage(
|
| - wrapped_main_text, wrapped_sub_text);
|
| - }
|
| - virtual void postSpellCheckEvent(const blink::WebString& event_name) {
|
| - WebTestProxyBase::PostSpellCheckEvent(event_name);
|
| - }
|
| - virtual blink::WebString acceptLanguages() {
|
| - return WebTestProxyBase::acceptLanguages();
|
| - }
|
| -
|
| - private:
|
| - virtual ~WebTestProxy() {}
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(WebTestProxy);
|
| -};
|
| -
|
| -} // namespace content
|
| -
|
| -#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEB_TEST_PROXY_H_
|
|
|