Index: content/shell/renderer/test_runner/test_runner.cc |
diff --git a/content/shell/renderer/test_runner/test_runner.cc b/content/shell/renderer/test_runner/test_runner.cc |
deleted file mode 100644 |
index e32f79ec837cfcd6ee865f8162672da68cffddf9..0000000000000000000000000000000000000000 |
--- a/content/shell/renderer/test_runner/test_runner.cc |
+++ /dev/null |
@@ -1,3096 +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 "content/shell/renderer/test_runner/test_runner.h" |
- |
-#include <limits> |
- |
-#include "base/logging.h" |
-#include "content/shell/common/test_runner/test_preferences.h" |
-#include "content/shell/renderer/test_runner/mock_credential_manager_client.h" |
-#include "content/shell/renderer/test_runner/mock_web_speech_recognizer.h" |
-#include "content/shell/renderer/test_runner/test_interfaces.h" |
-#include "content/shell/renderer/test_runner/web_content_settings.h" |
-#include "content/shell/renderer/test_runner/web_test_delegate.h" |
-#include "content/shell/renderer/test_runner/web_test_proxy.h" |
-#include "gin/arguments.h" |
-#include "gin/array_buffer.h" |
-#include "gin/handle.h" |
-#include "gin/object_template_builder.h" |
-#include "gin/wrappable.h" |
-#include "third_party/WebKit/public/platform/WebBatteryStatus.h" |
-#include "third_party/WebKit/public/platform/WebCanvas.h" |
-#include "third_party/WebKit/public/platform/WebData.h" |
-#include "third_party/WebKit/public/platform/WebLocalCredential.h" |
-#include "third_party/WebKit/public/platform/WebPoint.h" |
-#include "third_party/WebKit/public/platform/WebServiceWorkerRegistration.h" |
-#include "third_party/WebKit/public/platform/WebURLResponse.h" |
-#include "third_party/WebKit/public/platform/modules/device_orientation/WebDeviceMotionData.h" |
-#include "third_party/WebKit/public/platform/modules/device_orientation/WebDeviceOrientationData.h" |
-#include "third_party/WebKit/public/web/WebArrayBuffer.h" |
-#include "third_party/WebKit/public/web/WebArrayBufferConverter.h" |
-#include "third_party/WebKit/public/web/WebBindings.h" |
-#include "third_party/WebKit/public/web/WebDataSource.h" |
-#include "third_party/WebKit/public/web/WebDocument.h" |
-#include "third_party/WebKit/public/web/WebFindOptions.h" |
-#include "third_party/WebKit/public/web/WebFrame.h" |
-#include "third_party/WebKit/public/web/WebGraphicsContext.h" |
-#include "third_party/WebKit/public/web/WebInputElement.h" |
-#include "third_party/WebKit/public/web/WebKit.h" |
-#include "third_party/WebKit/public/web/WebLocalFrame.h" |
-#include "third_party/WebKit/public/web/WebPageOverlay.h" |
-#include "third_party/WebKit/public/web/WebScriptSource.h" |
-#include "third_party/WebKit/public/web/WebSecurityPolicy.h" |
-#include "third_party/WebKit/public/web/WebSerializedScriptValue.h" |
-#include "third_party/WebKit/public/web/WebSettings.h" |
-#include "third_party/WebKit/public/web/WebSurroundingText.h" |
-#include "third_party/WebKit/public/web/WebView.h" |
-#include "third_party/skia/include/core/SkBitmap.h" |
-#include "third_party/skia/include/core/SkCanvas.h" |
-#include "ui/gfx/geometry/rect.h" |
-#include "ui/gfx/geometry/rect_f.h" |
-#include "ui/gfx/geometry/size.h" |
-#include "ui/gfx/skia_util.h" |
- |
-#if defined(__linux__) || defined(ANDROID) |
-#include "third_party/WebKit/public/web/linux/WebFontRendering.h" |
-#endif |
- |
-using namespace blink; |
- |
-namespace content { |
- |
-namespace { |
- |
-WebString V8StringToWebString(v8::Local<v8::String> v8_str) { |
- int length = v8_str->Utf8Length() + 1; |
- scoped_ptr<char[]> chars(new char[length]); |
- v8_str->WriteUtf8(chars.get(), length); |
- return WebString::fromUTF8(chars.get()); |
-} |
- |
-class HostMethodTask : public WebMethodTask<TestRunner> { |
- public: |
- typedef void (TestRunner::*CallbackMethodType)(); |
- HostMethodTask(TestRunner* object, CallbackMethodType callback) |
- : WebMethodTask<TestRunner>(object), callback_(callback) {} |
- |
- void RunIfValid() override { (object_->*callback_)(); } |
- |
- private: |
- CallbackMethodType callback_; |
-}; |
- |
-} // namespace |
- |
-class InvokeCallbackTask : public WebMethodTask<TestRunner> { |
- public: |
- InvokeCallbackTask(TestRunner* object, v8::Local<v8::Function> callback) |
- : WebMethodTask<TestRunner>(object), |
- callback_(blink::mainThreadIsolate(), callback), |
- argc_(0) {} |
- |
- void RunIfValid() override { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- v8::HandleScope handle_scope(isolate); |
- WebFrame* frame = object_->web_view_->mainFrame(); |
- |
- v8::Local<v8::Context> context = frame->mainWorldScriptContext(); |
- if (context.IsEmpty()) |
- return; |
- |
- v8::Context::Scope context_scope(context); |
- |
- scoped_ptr<v8::Local<v8::Value>[]> local_argv; |
- if (argc_) { |
- local_argv.reset(new v8::Local<v8::Value>[argc_]); |
- for (int i = 0; i < argc_; ++i) |
- local_argv[i] = v8::Local<v8::Value>::New(isolate, argv_[i]); |
- } |
- |
- frame->callFunctionEvenIfScriptDisabled( |
- v8::Local<v8::Function>::New(isolate, callback_), |
- context->Global(), |
- argc_, |
- local_argv.get()); |
- } |
- |
- void SetArguments(int argc, v8::Local<v8::Value> argv[]) { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- argc_ = argc; |
- argv_.reset(new v8::UniquePersistent<v8::Value>[argc]); |
- for (int i = 0; i < argc; ++i) |
- argv_[i] = v8::UniquePersistent<v8::Value>(isolate, argv[i]); |
- } |
- |
- private: |
- v8::UniquePersistent<v8::Function> callback_; |
- int argc_; |
- scoped_ptr<v8::UniquePersistent<v8::Value>[]> argv_; |
-}; |
- |
-class TestRunnerBindings : public gin::Wrappable<TestRunnerBindings> { |
- public: |
- static gin::WrapperInfo kWrapperInfo; |
- |
- static void Install(base::WeakPtr<TestRunner> controller, |
- WebFrame* frame); |
- |
- private: |
- explicit TestRunnerBindings( |
- base::WeakPtr<TestRunner> controller); |
- ~TestRunnerBindings() override; |
- |
- // gin::Wrappable: |
- gin::ObjectTemplateBuilder GetObjectTemplateBuilder( |
- v8::Isolate* isolate) override; |
- |
- void LogToStderr(const std::string& output); |
- void NotifyDone(); |
- void WaitUntilDone(); |
- void QueueBackNavigation(int how_far_back); |
- void QueueForwardNavigation(int how_far_forward); |
- void QueueReload(); |
- void QueueLoadingScript(const std::string& script); |
- void QueueNonLoadingScript(const std::string& script); |
- void QueueLoad(gin::Arguments* args); |
- void QueueLoadHTMLString(gin::Arguments* args); |
- void SetCustomPolicyDelegate(gin::Arguments* args); |
- void WaitForPolicyDelegate(); |
- int WindowCount(); |
- void SetCloseRemainingWindowsWhenComplete(gin::Arguments* args); |
- void ResetTestHelperControllers(); |
- void SetTabKeyCyclesThroughElements(bool tab_key_cycles_through_elements); |
- void ExecCommand(gin::Arguments* args); |
- bool IsCommandEnabled(const std::string& command); |
- bool CallShouldCloseOnWebView(); |
- void SetDomainRelaxationForbiddenForURLScheme(bool forbidden, |
- const std::string& scheme); |
- v8::Local<v8::Value> EvaluateScriptInIsolatedWorldAndReturnValue( |
- int world_id, const std::string& script); |
- void EvaluateScriptInIsolatedWorld(int world_id, const std::string& script); |
- void SetIsolatedWorldSecurityOrigin(int world_id, |
- v8::Local<v8::Value> origin); |
- void SetIsolatedWorldContentSecurityPolicy(int world_id, |
- const std::string& policy); |
- void AddOriginAccessWhitelistEntry(const std::string& source_origin, |
- const std::string& destination_protocol, |
- const std::string& destination_host, |
- bool allow_destination_subdomains); |
- void RemoveOriginAccessWhitelistEntry(const std::string& source_origin, |
- const std::string& destination_protocol, |
- const std::string& destination_host, |
- bool allow_destination_subdomains); |
- bool HasCustomPageSizeStyle(int page_index); |
- void ForceRedSelectionColors(); |
- void InsertStyleSheet(const std::string& source_code); |
- bool FindString(const std::string& search_text, |
- const std::vector<std::string>& options_array); |
- std::string SelectionAsMarkup(); |
- void SetTextSubpixelPositioning(bool value); |
- void SetPageVisibility(const std::string& new_visibility); |
- void SetTextDirection(const std::string& direction_name); |
- void UseUnfortunateSynchronousResizeMode(); |
- bool EnableAutoResizeMode(int min_width, |
- int min_height, |
- int max_width, |
- int max_height); |
- bool DisableAutoResizeMode(int new_width, int new_height); |
- void SetMockDeviceLight(double value); |
- void ResetDeviceLight(); |
- void SetMockDeviceMotion(gin::Arguments* args); |
- void SetMockDeviceOrientation(gin::Arguments* args); |
- void SetMockScreenOrientation(const std::string& orientation); |
- void DidChangeBatteryStatus(bool charging, |
- double chargingTime, |
- double dischargingTime, |
- double level); |
- void ResetBatteryStatus(); |
- void DidAcquirePointerLock(); |
- void DidNotAcquirePointerLock(); |
- void DidLosePointerLock(); |
- void SetPointerLockWillFailSynchronously(); |
- void SetPointerLockWillRespondAsynchronously(); |
- void SetPopupBlockingEnabled(bool block_popups); |
- void SetJavaScriptCanAccessClipboard(bool can_access); |
- void SetXSSAuditorEnabled(bool enabled); |
- void SetAllowUniversalAccessFromFileURLs(bool allow); |
- void SetAllowFileAccessFromFileURLs(bool allow); |
- void OverridePreference(const std::string key, v8::Local<v8::Value> value); |
- void SetAcceptLanguages(const std::string& accept_languages); |
- void SetPluginsEnabled(bool enabled); |
- void DumpEditingCallbacks(); |
- void DumpAsMarkup(); |
- void DumpAsText(); |
- void DumpAsTextWithPixelResults(); |
- void DumpChildFrameScrollPositions(); |
- void DumpChildFramesAsMarkup(); |
- void DumpChildFramesAsText(); |
- void DumpIconChanges(); |
- void SetAudioData(const gin::ArrayBufferView& view); |
- void DumpFrameLoadCallbacks(); |
- void DumpPingLoaderCallbacks(); |
- void DumpUserGestureInFrameLoadCallbacks(); |
- void DumpTitleChanges(); |
- void DumpCreateView(); |
- void SetCanOpenWindows(); |
- void DumpResourceLoadCallbacks(); |
- void DumpResourceRequestCallbacks(); |
- void DumpResourceResponseMIMETypes(); |
- void SetImagesAllowed(bool allowed); |
- void SetMediaAllowed(bool allowed); |
- void SetScriptsAllowed(bool allowed); |
- void SetStorageAllowed(bool allowed); |
- void SetPluginsAllowed(bool allowed); |
- void SetAllowDisplayOfInsecureContent(bool allowed); |
- void SetAllowRunningOfInsecureContent(bool allowed); |
- void DumpPermissionClientCallbacks(); |
- void DumpWindowStatusChanges(); |
- void DumpProgressFinishedCallback(); |
- void DumpSpellCheckCallbacks(); |
- void DumpBackForwardList(); |
- void DumpSelectionRect(); |
- void SetPrinting(); |
- void ClearPrinting(); |
- void SetShouldStayOnPageAfterHandlingBeforeUnload(bool value); |
- void SetWillSendRequestClearHeader(const std::string& header); |
- void DumpResourceRequestPriorities(); |
- void SetUseMockTheme(bool use); |
- void WaitUntilExternalURLLoad(); |
- void DumpDragImage(); |
- void DumpNavigationPolicy(); |
- void ShowWebInspector(gin::Arguments* args); |
- void CloseWebInspector(); |
- bool IsChooserShown(); |
- void EvaluateInWebInspector(int call_id, const std::string& script); |
- void ClearAllDatabases(); |
- void SetDatabaseQuota(int quota); |
- void SetAlwaysAcceptCookies(bool accept); |
- void SetWindowIsKey(bool value); |
- std::string PathToLocalResource(const std::string& path); |
- void SetBackingScaleFactor(double value, v8::Local<v8::Function> callback); |
- void SetColorProfile(const std::string& name, |
- v8::Local<v8::Function> callback); |
- void SetPOSIXLocale(const std::string& locale); |
- void SetMIDIAccessorResult(bool result); |
- void SimulateWebNotificationClick(const std::string& title); |
- void AddMockSpeechRecognitionResult(const std::string& transcript, |
- double confidence); |
- void SetMockSpeechRecognitionError(const std::string& error, |
- const std::string& message); |
- bool WasMockSpeechRecognitionAborted(); |
- void AddMockCredentialManagerResponse(const std::string& id, |
- const std::string& name, |
- const std::string& avatar, |
- const std::string& password); |
- void AddWebPageOverlay(); |
- void RemoveWebPageOverlay(); |
- void LayoutAndPaintAsync(); |
- void LayoutAndPaintAsyncThen(v8::Local<v8::Function> callback); |
- void GetManifestThen(v8::Local<v8::Function> callback); |
- void CapturePixelsAsyncThen(v8::Local<v8::Function> callback); |
- void CopyImageAtAndCapturePixelsAsyncThen(int x, |
- int y, |
- v8::Local<v8::Function> callback); |
- void SetCustomTextOutput(std::string output); |
- void SetViewSourceForFrame(const std::string& name, bool enabled); |
- void SetBluetoothMockDataSet(const std::string& dataset_name); |
- void SetGeofencingMockProvider(bool service_available); |
- void ClearGeofencingMockProvider(); |
- void SetGeofencingMockPosition(double latitude, double longitude); |
- void SetPermission(const std::string& name, |
- const std::string& value, |
- const std::string& origin, |
- const std::string& embedding_origin); |
- void DispatchBeforeInstallPromptEvent( |
- int request_id, |
- const std::vector<std::string>& event_platforms, |
- v8::Local<v8::Function> callback); |
- void ResolveBeforeInstallPromptPromise(int request_id, |
- const std::string& platform); |
- |
- std::string PlatformName(); |
- std::string TooltipText(); |
- bool DisableNotifyDone(); |
- int WebHistoryItemCount(); |
- bool InterceptPostMessage(); |
- void SetInterceptPostMessage(bool value); |
- |
- void NotImplemented(const gin::Arguments& args); |
- |
- void ForceNextWebGLContextCreationToFail(); |
- void ForceNextDrawingBufferCreationToFail(); |
- |
- base::WeakPtr<TestRunner> runner_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestRunnerBindings); |
-}; |
- |
-gin::WrapperInfo TestRunnerBindings::kWrapperInfo = { |
- gin::kEmbedderNativeGin}; |
- |
-// static |
-void TestRunnerBindings::Install(base::WeakPtr<TestRunner> runner, |
- WebFrame* frame) { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- v8::HandleScope handle_scope(isolate); |
- v8::Local<v8::Context> context = frame->mainWorldScriptContext(); |
- if (context.IsEmpty()) |
- return; |
- |
- v8::Context::Scope context_scope(context); |
- |
- TestRunnerBindings* wrapped = new TestRunnerBindings(runner); |
- gin::Handle<TestRunnerBindings> bindings = |
- gin::CreateHandle(isolate, wrapped); |
- if (bindings.IsEmpty()) |
- return; |
- v8::Local<v8::Object> global = context->Global(); |
- v8::Local<v8::Value> v8_bindings = bindings.ToV8(); |
- |
- std::vector<std::string> names; |
- names.push_back("testRunner"); |
- names.push_back("layoutTestController"); |
- for (size_t i = 0; i < names.size(); ++i) |
- global->Set(gin::StringToV8(isolate, names[i].c_str()), v8_bindings); |
-} |
- |
-TestRunnerBindings::TestRunnerBindings(base::WeakPtr<TestRunner> runner) |
- : runner_(runner) {} |
- |
-TestRunnerBindings::~TestRunnerBindings() {} |
- |
-gin::ObjectTemplateBuilder TestRunnerBindings::GetObjectTemplateBuilder( |
- v8::Isolate* isolate) { |
- return gin::Wrappable<TestRunnerBindings>::GetObjectTemplateBuilder(isolate) |
- // Methods controlling test execution. |
- .SetMethod("logToStderr", &TestRunnerBindings::LogToStderr) |
- .SetMethod("notifyDone", &TestRunnerBindings::NotifyDone) |
- .SetMethod("waitUntilDone", &TestRunnerBindings::WaitUntilDone) |
- .SetMethod("queueBackNavigation", |
- &TestRunnerBindings::QueueBackNavigation) |
- .SetMethod("queueForwardNavigation", |
- &TestRunnerBindings::QueueForwardNavigation) |
- .SetMethod("queueReload", &TestRunnerBindings::QueueReload) |
- .SetMethod("queueLoadingScript", &TestRunnerBindings::QueueLoadingScript) |
- .SetMethod("queueNonLoadingScript", |
- &TestRunnerBindings::QueueNonLoadingScript) |
- .SetMethod("queueLoad", &TestRunnerBindings::QueueLoad) |
- .SetMethod("queueLoadHTMLString", |
- &TestRunnerBindings::QueueLoadHTMLString) |
- .SetMethod("setCustomPolicyDelegate", |
- &TestRunnerBindings::SetCustomPolicyDelegate) |
- .SetMethod("waitForPolicyDelegate", |
- &TestRunnerBindings::WaitForPolicyDelegate) |
- .SetMethod("windowCount", &TestRunnerBindings::WindowCount) |
- .SetMethod("setCloseRemainingWindowsWhenComplete", |
- &TestRunnerBindings::SetCloseRemainingWindowsWhenComplete) |
- .SetMethod("resetTestHelperControllers", |
- &TestRunnerBindings::ResetTestHelperControllers) |
- .SetMethod("setTabKeyCyclesThroughElements", |
- &TestRunnerBindings::SetTabKeyCyclesThroughElements) |
- .SetMethod("execCommand", &TestRunnerBindings::ExecCommand) |
- .SetMethod("isCommandEnabled", &TestRunnerBindings::IsCommandEnabled) |
- .SetMethod("callShouldCloseOnWebView", |
- &TestRunnerBindings::CallShouldCloseOnWebView) |
- .SetMethod("setDomainRelaxationForbiddenForURLScheme", |
- &TestRunnerBindings::SetDomainRelaxationForbiddenForURLScheme) |
- .SetMethod( |
- "evaluateScriptInIsolatedWorldAndReturnValue", |
- &TestRunnerBindings::EvaluateScriptInIsolatedWorldAndReturnValue) |
- .SetMethod("evaluateScriptInIsolatedWorld", |
- &TestRunnerBindings::EvaluateScriptInIsolatedWorld) |
- .SetMethod("setIsolatedWorldSecurityOrigin", |
- &TestRunnerBindings::SetIsolatedWorldSecurityOrigin) |
- .SetMethod("setIsolatedWorldContentSecurityPolicy", |
- &TestRunnerBindings::SetIsolatedWorldContentSecurityPolicy) |
- .SetMethod("addOriginAccessWhitelistEntry", |
- &TestRunnerBindings::AddOriginAccessWhitelistEntry) |
- .SetMethod("removeOriginAccessWhitelistEntry", |
- &TestRunnerBindings::RemoveOriginAccessWhitelistEntry) |
- .SetMethod("hasCustomPageSizeStyle", |
- &TestRunnerBindings::HasCustomPageSizeStyle) |
- .SetMethod("forceRedSelectionColors", |
- &TestRunnerBindings::ForceRedSelectionColors) |
- .SetMethod("insertStyleSheet", &TestRunnerBindings::InsertStyleSheet) |
- .SetMethod("findString", &TestRunnerBindings::FindString) |
- .SetMethod("selectionAsMarkup", &TestRunnerBindings::SelectionAsMarkup) |
- .SetMethod("setTextSubpixelPositioning", |
- &TestRunnerBindings::SetTextSubpixelPositioning) |
- .SetMethod("setPageVisibility", &TestRunnerBindings::SetPageVisibility) |
- .SetMethod("setTextDirection", &TestRunnerBindings::SetTextDirection) |
- .SetMethod("useUnfortunateSynchronousResizeMode", |
- &TestRunnerBindings::UseUnfortunateSynchronousResizeMode) |
- .SetMethod("enableAutoResizeMode", |
- &TestRunnerBindings::EnableAutoResizeMode) |
- .SetMethod("disableAutoResizeMode", |
- &TestRunnerBindings::DisableAutoResizeMode) |
- .SetMethod("setMockDeviceLight", &TestRunnerBindings::SetMockDeviceLight) |
- .SetMethod("resetDeviceLight", &TestRunnerBindings::ResetDeviceLight) |
- .SetMethod("setMockDeviceMotion", |
- &TestRunnerBindings::SetMockDeviceMotion) |
- .SetMethod("setMockDeviceOrientation", |
- &TestRunnerBindings::SetMockDeviceOrientation) |
- .SetMethod("setMockScreenOrientation", |
- &TestRunnerBindings::SetMockScreenOrientation) |
- .SetMethod("didChangeBatteryStatus", |
- &TestRunnerBindings::DidChangeBatteryStatus) |
- .SetMethod("resetBatteryStatus", &TestRunnerBindings::ResetBatteryStatus) |
- .SetMethod("didAcquirePointerLock", |
- &TestRunnerBindings::DidAcquirePointerLock) |
- .SetMethod("didNotAcquirePointerLock", |
- &TestRunnerBindings::DidNotAcquirePointerLock) |
- .SetMethod("didLosePointerLock", &TestRunnerBindings::DidLosePointerLock) |
- .SetMethod("setPointerLockWillFailSynchronously", |
- &TestRunnerBindings::SetPointerLockWillFailSynchronously) |
- .SetMethod("setPointerLockWillRespondAsynchronously", |
- &TestRunnerBindings::SetPointerLockWillRespondAsynchronously) |
- .SetMethod("setPopupBlockingEnabled", |
- &TestRunnerBindings::SetPopupBlockingEnabled) |
- .SetMethod("setJavaScriptCanAccessClipboard", |
- &TestRunnerBindings::SetJavaScriptCanAccessClipboard) |
- .SetMethod("setXSSAuditorEnabled", |
- &TestRunnerBindings::SetXSSAuditorEnabled) |
- .SetMethod("setAllowUniversalAccessFromFileURLs", |
- &TestRunnerBindings::SetAllowUniversalAccessFromFileURLs) |
- .SetMethod("setAllowFileAccessFromFileURLs", |
- &TestRunnerBindings::SetAllowFileAccessFromFileURLs) |
- .SetMethod("overridePreference", &TestRunnerBindings::OverridePreference) |
- .SetMethod("setAcceptLanguages", &TestRunnerBindings::SetAcceptLanguages) |
- .SetMethod("setPluginsEnabled", &TestRunnerBindings::SetPluginsEnabled) |
- .SetMethod("dumpEditingCallbacks", |
- &TestRunnerBindings::DumpEditingCallbacks) |
- .SetMethod("dumpAsMarkup", &TestRunnerBindings::DumpAsMarkup) |
- .SetMethod("dumpAsText", &TestRunnerBindings::DumpAsText) |
- .SetMethod("dumpAsTextWithPixelResults", |
- &TestRunnerBindings::DumpAsTextWithPixelResults) |
- .SetMethod("dumpChildFrameScrollPositions", |
- &TestRunnerBindings::DumpChildFrameScrollPositions) |
- .SetMethod("dumpChildFramesAsText", |
- &TestRunnerBindings::DumpChildFramesAsText) |
- .SetMethod("dumpChildFramesAsMarkup", |
- &TestRunnerBindings::DumpChildFramesAsMarkup) |
- .SetMethod("dumpIconChanges", &TestRunnerBindings::DumpIconChanges) |
- .SetMethod("setAudioData", &TestRunnerBindings::SetAudioData) |
- .SetMethod("dumpFrameLoadCallbacks", |
- &TestRunnerBindings::DumpFrameLoadCallbacks) |
- .SetMethod("dumpPingLoaderCallbacks", |
- &TestRunnerBindings::DumpPingLoaderCallbacks) |
- .SetMethod("dumpUserGestureInFrameLoadCallbacks", |
- &TestRunnerBindings::DumpUserGestureInFrameLoadCallbacks) |
- .SetMethod("dumpTitleChanges", &TestRunnerBindings::DumpTitleChanges) |
- .SetMethod("dumpCreateView", &TestRunnerBindings::DumpCreateView) |
- .SetMethod("setCanOpenWindows", &TestRunnerBindings::SetCanOpenWindows) |
- .SetMethod("dumpResourceLoadCallbacks", |
- &TestRunnerBindings::DumpResourceLoadCallbacks) |
- .SetMethod("dumpResourceRequestCallbacks", |
- &TestRunnerBindings::DumpResourceRequestCallbacks) |
- .SetMethod("dumpResourceResponseMIMETypes", |
- &TestRunnerBindings::DumpResourceResponseMIMETypes) |
- .SetMethod("setImagesAllowed", &TestRunnerBindings::SetImagesAllowed) |
- .SetMethod("setMediaAllowed", &TestRunnerBindings::SetMediaAllowed) |
- .SetMethod("setScriptsAllowed", &TestRunnerBindings::SetScriptsAllowed) |
- .SetMethod("setStorageAllowed", &TestRunnerBindings::SetStorageAllowed) |
- .SetMethod("setPluginsAllowed", &TestRunnerBindings::SetPluginsAllowed) |
- .SetMethod("setAllowDisplayOfInsecureContent", |
- &TestRunnerBindings::SetAllowDisplayOfInsecureContent) |
- .SetMethod("setAllowRunningOfInsecureContent", |
- &TestRunnerBindings::SetAllowRunningOfInsecureContent) |
- .SetMethod("dumpPermissionClientCallbacks", |
- &TestRunnerBindings::DumpPermissionClientCallbacks) |
- .SetMethod("dumpWindowStatusChanges", |
- &TestRunnerBindings::DumpWindowStatusChanges) |
- .SetMethod("dumpProgressFinishedCallback", |
- &TestRunnerBindings::DumpProgressFinishedCallback) |
- .SetMethod("dumpSpellCheckCallbacks", |
- &TestRunnerBindings::DumpSpellCheckCallbacks) |
- .SetMethod("dumpBackForwardList", |
- &TestRunnerBindings::DumpBackForwardList) |
- .SetMethod("dumpSelectionRect", &TestRunnerBindings::DumpSelectionRect) |
- .SetMethod("setPrinting", &TestRunnerBindings::SetPrinting) |
- .SetMethod("clearPrinting", &TestRunnerBindings::ClearPrinting) |
- .SetMethod( |
- "setShouldStayOnPageAfterHandlingBeforeUnload", |
- &TestRunnerBindings::SetShouldStayOnPageAfterHandlingBeforeUnload) |
- .SetMethod("setWillSendRequestClearHeader", |
- &TestRunnerBindings::SetWillSendRequestClearHeader) |
- .SetMethod("dumpResourceRequestPriorities", |
- &TestRunnerBindings::DumpResourceRequestPriorities) |
- .SetMethod("setUseMockTheme", &TestRunnerBindings::SetUseMockTheme) |
- .SetMethod("waitUntilExternalURLLoad", |
- &TestRunnerBindings::WaitUntilExternalURLLoad) |
- .SetMethod("dumpDragImage", &TestRunnerBindings::DumpDragImage) |
- .SetMethod("dumpNavigationPolicy", |
- &TestRunnerBindings::DumpNavigationPolicy) |
- .SetMethod("showWebInspector", &TestRunnerBindings::ShowWebInspector) |
- .SetMethod("closeWebInspector", &TestRunnerBindings::CloseWebInspector) |
- .SetMethod("isChooserShown", &TestRunnerBindings::IsChooserShown) |
- .SetMethod("evaluateInWebInspector", |
- &TestRunnerBindings::EvaluateInWebInspector) |
- .SetMethod("clearAllDatabases", &TestRunnerBindings::ClearAllDatabases) |
- .SetMethod("setDatabaseQuota", &TestRunnerBindings::SetDatabaseQuota) |
- .SetMethod("setAlwaysAcceptCookies", |
- &TestRunnerBindings::SetAlwaysAcceptCookies) |
- .SetMethod("setWindowIsKey", &TestRunnerBindings::SetWindowIsKey) |
- .SetMethod("pathToLocalResource", |
- &TestRunnerBindings::PathToLocalResource) |
- .SetMethod("setBackingScaleFactor", |
- &TestRunnerBindings::SetBackingScaleFactor) |
- .SetMethod("setColorProfile", &TestRunnerBindings::SetColorProfile) |
- .SetMethod("setPOSIXLocale", &TestRunnerBindings::SetPOSIXLocale) |
- .SetMethod("setMIDIAccessorResult", |
- &TestRunnerBindings::SetMIDIAccessorResult) |
- .SetMethod("simulateWebNotificationClick", |
- &TestRunnerBindings::SimulateWebNotificationClick) |
- .SetMethod("addMockSpeechRecognitionResult", |
- &TestRunnerBindings::AddMockSpeechRecognitionResult) |
- .SetMethod("setMockSpeechRecognitionError", |
- &TestRunnerBindings::SetMockSpeechRecognitionError) |
- .SetMethod("wasMockSpeechRecognitionAborted", |
- &TestRunnerBindings::WasMockSpeechRecognitionAborted) |
- .SetMethod("addMockCredentialManagerResponse", |
- &TestRunnerBindings::AddMockCredentialManagerResponse) |
- .SetMethod("addWebPageOverlay", &TestRunnerBindings::AddWebPageOverlay) |
- .SetMethod("removeWebPageOverlay", |
- &TestRunnerBindings::RemoveWebPageOverlay) |
- .SetMethod("layoutAndPaintAsync", |
- &TestRunnerBindings::LayoutAndPaintAsync) |
- .SetMethod("layoutAndPaintAsyncThen", |
- &TestRunnerBindings::LayoutAndPaintAsyncThen) |
- .SetMethod("getManifestThen", &TestRunnerBindings::GetManifestThen) |
- .SetMethod("capturePixelsAsyncThen", |
- &TestRunnerBindings::CapturePixelsAsyncThen) |
- .SetMethod("copyImageAtAndCapturePixelsAsyncThen", |
- &TestRunnerBindings::CopyImageAtAndCapturePixelsAsyncThen) |
- .SetMethod("setCustomTextOutput", |
- &TestRunnerBindings::SetCustomTextOutput) |
- .SetMethod("setViewSourceForFrame", |
- &TestRunnerBindings::SetViewSourceForFrame) |
- .SetMethod("setBluetoothMockDataSet", |
- &TestRunnerBindings::SetBluetoothMockDataSet) |
- .SetMethod("forceNextWebGLContextCreationToFail", |
- &TestRunnerBindings::ForceNextWebGLContextCreationToFail) |
- .SetMethod("forceNextDrawingBufferCreationToFail", |
- &TestRunnerBindings::ForceNextDrawingBufferCreationToFail) |
- .SetMethod("setGeofencingMockProvider", |
- &TestRunnerBindings::SetGeofencingMockProvider) |
- .SetMethod("clearGeofencingMockProvider", |
- &TestRunnerBindings::ClearGeofencingMockProvider) |
- .SetMethod("setGeofencingMockPosition", |
- &TestRunnerBindings::SetGeofencingMockPosition) |
- .SetMethod("setPermission", &TestRunnerBindings::SetPermission) |
- .SetMethod("dispatchBeforeInstallPromptEvent", |
- &TestRunnerBindings::DispatchBeforeInstallPromptEvent) |
- .SetMethod("resolveBeforeInstallPromptPromise", |
- &TestRunnerBindings::ResolveBeforeInstallPromptPromise) |
- |
- // Properties. |
- .SetProperty("platformName", &TestRunnerBindings::PlatformName) |
- .SetProperty("tooltipText", &TestRunnerBindings::TooltipText) |
- .SetProperty("disableNotifyDone", &TestRunnerBindings::DisableNotifyDone) |
- // webHistoryItemCount is used by tests in LayoutTests\http\tests\history |
- .SetProperty("webHistoryItemCount", |
- &TestRunnerBindings::WebHistoryItemCount) |
- .SetProperty("interceptPostMessage", |
- &TestRunnerBindings::InterceptPostMessage, |
- &TestRunnerBindings::SetInterceptPostMessage) |
- |
- // The following are stubs. |
- .SetMethod("dumpDatabaseCallbacks", &TestRunnerBindings::NotImplemented) |
- .SetMethod("setIconDatabaseEnabled", &TestRunnerBindings::NotImplemented) |
- .SetMethod("setScrollbarPolicy", &TestRunnerBindings::NotImplemented) |
- .SetMethod("clearAllApplicationCaches", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("clearApplicationCacheForOrigin", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("clearBackForwardList", &TestRunnerBindings::NotImplemented) |
- .SetMethod("keepWebHistory", &TestRunnerBindings::NotImplemented) |
- .SetMethod("setApplicationCacheOriginQuota", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("setCallCloseOnWebViews", &TestRunnerBindings::NotImplemented) |
- .SetMethod("setMainFrameIsFirstResponder", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("setUseDashboardCompatibilityMode", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("deleteAllLocalStorage", &TestRunnerBindings::NotImplemented) |
- .SetMethod("localStorageDiskUsageForOrigin", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("originsWithLocalStorage", &TestRunnerBindings::NotImplemented) |
- .SetMethod("deleteLocalStorageForOrigin", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("observeStorageTrackerNotifications", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("syncLocalStorage", &TestRunnerBindings::NotImplemented) |
- .SetMethod("addDisallowedURL", &TestRunnerBindings::NotImplemented) |
- .SetMethod("applicationCacheDiskUsageForOrigin", |
- &TestRunnerBindings::NotImplemented) |
- .SetMethod("abortModal", &TestRunnerBindings::NotImplemented) |
- |
- // Aliases. |
- // Used at fast/dom/assign-to-window-status.html |
- .SetMethod("dumpStatusCallbacks", |
- &TestRunnerBindings::DumpWindowStatusChanges); |
-} |
- |
-void TestRunnerBindings::LogToStderr(const std::string& output) { |
- LOG(ERROR) << output; |
-} |
- |
-void TestRunnerBindings::NotifyDone() { |
- if (runner_) |
- runner_->NotifyDone(); |
-} |
- |
-void TestRunnerBindings::WaitUntilDone() { |
- if (runner_) |
- runner_->WaitUntilDone(); |
-} |
- |
-void TestRunnerBindings::QueueBackNavigation(int how_far_back) { |
- if (runner_) |
- runner_->QueueBackNavigation(how_far_back); |
-} |
- |
-void TestRunnerBindings::QueueForwardNavigation(int how_far_forward) { |
- if (runner_) |
- runner_->QueueForwardNavigation(how_far_forward); |
-} |
- |
-void TestRunnerBindings::QueueReload() { |
- if (runner_) |
- runner_->QueueReload(); |
-} |
- |
-void TestRunnerBindings::QueueLoadingScript(const std::string& script) { |
- if (runner_) |
- runner_->QueueLoadingScript(script); |
-} |
- |
-void TestRunnerBindings::QueueNonLoadingScript(const std::string& script) { |
- if (runner_) |
- runner_->QueueNonLoadingScript(script); |
-} |
- |
-void TestRunnerBindings::QueueLoad(gin::Arguments* args) { |
- if (runner_) { |
- std::string url; |
- std::string target; |
- args->GetNext(&url); |
- args->GetNext(&target); |
- runner_->QueueLoad(url, target); |
- } |
-} |
- |
-void TestRunnerBindings::QueueLoadHTMLString(gin::Arguments* args) { |
- if (runner_) |
- runner_->QueueLoadHTMLString(args); |
-} |
- |
-void TestRunnerBindings::SetCustomPolicyDelegate(gin::Arguments* args) { |
- if (runner_) |
- runner_->SetCustomPolicyDelegate(args); |
-} |
- |
-void TestRunnerBindings::WaitForPolicyDelegate() { |
- if (runner_) |
- runner_->WaitForPolicyDelegate(); |
-} |
- |
-int TestRunnerBindings::WindowCount() { |
- if (runner_) |
- return runner_->WindowCount(); |
- return 0; |
-} |
- |
-void TestRunnerBindings::SetCloseRemainingWindowsWhenComplete( |
- gin::Arguments* args) { |
- if (!runner_) |
- return; |
- |
- // In the original implementation, nothing happens if the argument is |
- // ommitted. |
- bool close_remaining_windows = false; |
- if (args->GetNext(&close_remaining_windows)) |
- runner_->SetCloseRemainingWindowsWhenComplete(close_remaining_windows); |
-} |
- |
-void TestRunnerBindings::ResetTestHelperControllers() { |
- if (runner_) |
- runner_->ResetTestHelperControllers(); |
-} |
- |
-void TestRunnerBindings::SetTabKeyCyclesThroughElements( |
- bool tab_key_cycles_through_elements) { |
- if (runner_) |
- runner_->SetTabKeyCyclesThroughElements(tab_key_cycles_through_elements); |
-} |
- |
-void TestRunnerBindings::ExecCommand(gin::Arguments* args) { |
- if (runner_) |
- runner_->ExecCommand(args); |
-} |
- |
-bool TestRunnerBindings::IsCommandEnabled(const std::string& command) { |
- if (runner_) |
- return runner_->IsCommandEnabled(command); |
- return false; |
-} |
- |
-bool TestRunnerBindings::CallShouldCloseOnWebView() { |
- if (runner_) |
- return runner_->CallShouldCloseOnWebView(); |
- return false; |
-} |
- |
-void TestRunnerBindings::SetDomainRelaxationForbiddenForURLScheme( |
- bool forbidden, const std::string& scheme) { |
- if (runner_) |
- runner_->SetDomainRelaxationForbiddenForURLScheme(forbidden, scheme); |
-} |
- |
-v8::Local<v8::Value> |
-TestRunnerBindings::EvaluateScriptInIsolatedWorldAndReturnValue( |
- int world_id, const std::string& script) { |
- if (!runner_) |
- return v8::Local<v8::Value>(); |
- return runner_->EvaluateScriptInIsolatedWorldAndReturnValue(world_id, |
- script); |
-} |
- |
-void TestRunnerBindings::EvaluateScriptInIsolatedWorld( |
- int world_id, const std::string& script) { |
- if (runner_) |
- runner_->EvaluateScriptInIsolatedWorld(world_id, script); |
-} |
- |
-void TestRunnerBindings::SetIsolatedWorldSecurityOrigin( |
- int world_id, v8::Local<v8::Value> origin) { |
- if (runner_) |
- runner_->SetIsolatedWorldSecurityOrigin(world_id, origin); |
-} |
- |
-void TestRunnerBindings::SetIsolatedWorldContentSecurityPolicy( |
- int world_id, const std::string& policy) { |
- if (runner_) |
- runner_->SetIsolatedWorldContentSecurityPolicy(world_id, policy); |
-} |
- |
-void TestRunnerBindings::AddOriginAccessWhitelistEntry( |
- const std::string& source_origin, |
- const std::string& destination_protocol, |
- const std::string& destination_host, |
- bool allow_destination_subdomains) { |
- if (runner_) { |
- runner_->AddOriginAccessWhitelistEntry(source_origin, |
- destination_protocol, |
- destination_host, |
- allow_destination_subdomains); |
- } |
-} |
- |
-void TestRunnerBindings::RemoveOriginAccessWhitelistEntry( |
- const std::string& source_origin, |
- const std::string& destination_protocol, |
- const std::string& destination_host, |
- bool allow_destination_subdomains) { |
- if (runner_) { |
- runner_->RemoveOriginAccessWhitelistEntry(source_origin, |
- destination_protocol, |
- destination_host, |
- allow_destination_subdomains); |
- } |
-} |
- |
-bool TestRunnerBindings::HasCustomPageSizeStyle(int page_index) { |
- if (runner_) |
- return runner_->HasCustomPageSizeStyle(page_index); |
- return false; |
-} |
- |
-void TestRunnerBindings::ForceRedSelectionColors() { |
- if (runner_) |
- runner_->ForceRedSelectionColors(); |
-} |
- |
-void TestRunnerBindings::InsertStyleSheet(const std::string& source_code) { |
- if (runner_) |
- runner_->InsertStyleSheet(source_code); |
-} |
- |
-bool TestRunnerBindings::FindString( |
- const std::string& search_text, |
- const std::vector<std::string>& options_array) { |
- if (runner_) |
- return runner_->FindString(search_text, options_array); |
- return false; |
-} |
- |
-std::string TestRunnerBindings::SelectionAsMarkup() { |
- if (runner_) |
- return runner_->SelectionAsMarkup(); |
- return std::string(); |
-} |
- |
-void TestRunnerBindings::SetTextSubpixelPositioning(bool value) { |
- if (runner_) |
- runner_->SetTextSubpixelPositioning(value); |
-} |
- |
-void TestRunnerBindings::SetPageVisibility(const std::string& new_visibility) { |
- if (runner_) |
- runner_->SetPageVisibility(new_visibility); |
-} |
- |
-void TestRunnerBindings::SetTextDirection(const std::string& direction_name) { |
- if (runner_) |
- runner_->SetTextDirection(direction_name); |
-} |
- |
-void TestRunnerBindings::UseUnfortunateSynchronousResizeMode() { |
- if (runner_) |
- runner_->UseUnfortunateSynchronousResizeMode(); |
-} |
- |
-bool TestRunnerBindings::EnableAutoResizeMode(int min_width, |
- int min_height, |
- int max_width, |
- int max_height) { |
- if (runner_) { |
- return runner_->EnableAutoResizeMode(min_width, min_height, |
- max_width, max_height); |
- } |
- return false; |
-} |
- |
-bool TestRunnerBindings::DisableAutoResizeMode(int new_width, int new_height) { |
- if (runner_) |
- return runner_->DisableAutoResizeMode(new_width, new_height); |
- return false; |
-} |
- |
-void TestRunnerBindings::SetMockDeviceLight(double value) { |
- if (!runner_) |
- return; |
- runner_->SetMockDeviceLight(value); |
-} |
- |
-void TestRunnerBindings::ResetDeviceLight() { |
- if (runner_) |
- runner_->ResetDeviceLight(); |
-} |
- |
-void TestRunnerBindings::SetMockDeviceMotion(gin::Arguments* args) { |
- if (!runner_) |
- return; |
- |
- bool has_acceleration_x; |
- double acceleration_x; |
- bool has_acceleration_y; |
- double acceleration_y; |
- bool has_acceleration_z; |
- double acceleration_z; |
- bool has_acceleration_including_gravity_x; |
- double acceleration_including_gravity_x; |
- bool has_acceleration_including_gravity_y; |
- double acceleration_including_gravity_y; |
- bool has_acceleration_including_gravity_z; |
- double acceleration_including_gravity_z; |
- bool has_rotation_rate_alpha; |
- double rotation_rate_alpha; |
- bool has_rotation_rate_beta; |
- double rotation_rate_beta; |
- bool has_rotation_rate_gamma; |
- double rotation_rate_gamma; |
- double interval; |
- |
- args->GetNext(&has_acceleration_x); |
- args->GetNext(& acceleration_x); |
- args->GetNext(&has_acceleration_y); |
- args->GetNext(& acceleration_y); |
- args->GetNext(&has_acceleration_z); |
- args->GetNext(& acceleration_z); |
- args->GetNext(&has_acceleration_including_gravity_x); |
- args->GetNext(& acceleration_including_gravity_x); |
- args->GetNext(&has_acceleration_including_gravity_y); |
- args->GetNext(& acceleration_including_gravity_y); |
- args->GetNext(&has_acceleration_including_gravity_z); |
- args->GetNext(& acceleration_including_gravity_z); |
- args->GetNext(&has_rotation_rate_alpha); |
- args->GetNext(& rotation_rate_alpha); |
- args->GetNext(&has_rotation_rate_beta); |
- args->GetNext(& rotation_rate_beta); |
- args->GetNext(&has_rotation_rate_gamma); |
- args->GetNext(& rotation_rate_gamma); |
- args->GetNext(& interval); |
- |
- runner_->SetMockDeviceMotion(has_acceleration_x, acceleration_x, |
- has_acceleration_y, acceleration_y, |
- has_acceleration_z, acceleration_z, |
- has_acceleration_including_gravity_x, |
- acceleration_including_gravity_x, |
- has_acceleration_including_gravity_y, |
- acceleration_including_gravity_y, |
- has_acceleration_including_gravity_z, |
- acceleration_including_gravity_z, |
- has_rotation_rate_alpha, |
- rotation_rate_alpha, |
- has_rotation_rate_beta, |
- rotation_rate_beta, |
- has_rotation_rate_gamma, |
- rotation_rate_gamma, |
- interval); |
-} |
- |
-void TestRunnerBindings::SetMockDeviceOrientation(gin::Arguments* args) { |
- if (!runner_) |
- return; |
- |
- bool has_alpha = false; |
- double alpha = 0.0; |
- bool has_beta = false; |
- double beta = 0.0; |
- bool has_gamma = false; |
- double gamma = 0.0; |
- bool has_absolute = false; |
- bool absolute = false; |
- |
- args->GetNext(&has_alpha); |
- args->GetNext(&alpha); |
- args->GetNext(&has_beta); |
- args->GetNext(&beta); |
- args->GetNext(&has_gamma); |
- args->GetNext(&gamma); |
- args->GetNext(&has_absolute); |
- args->GetNext(&absolute); |
- |
- runner_->SetMockDeviceOrientation(has_alpha, alpha, |
- has_beta, beta, |
- has_gamma, gamma, |
- has_absolute, absolute); |
-} |
- |
-void TestRunnerBindings::SetMockScreenOrientation(const std::string& orientation) { |
- if (!runner_) |
- return; |
- |
- runner_->SetMockScreenOrientation(orientation); |
-} |
- |
-void TestRunnerBindings::DidChangeBatteryStatus(bool charging, |
- double chargingTime, |
- double dischargingTime, |
- double level) { |
- if (runner_) { |
- runner_->DidChangeBatteryStatus(charging, chargingTime, |
- dischargingTime, level); |
- } |
-} |
- |
-void TestRunnerBindings::ResetBatteryStatus() { |
- if (runner_) |
- runner_->ResetBatteryStatus(); |
-} |
- |
-void TestRunnerBindings::DidAcquirePointerLock() { |
- if (runner_) |
- runner_->DidAcquirePointerLock(); |
-} |
- |
-void TestRunnerBindings::DidNotAcquirePointerLock() { |
- if (runner_) |
- runner_->DidNotAcquirePointerLock(); |
-} |
- |
-void TestRunnerBindings::DidLosePointerLock() { |
- if (runner_) |
- runner_->DidLosePointerLock(); |
-} |
- |
-void TestRunnerBindings::SetPointerLockWillFailSynchronously() { |
- if (runner_) |
- runner_->SetPointerLockWillFailSynchronously(); |
-} |
- |
-void TestRunnerBindings::SetPointerLockWillRespondAsynchronously() { |
- if (runner_) |
- runner_->SetPointerLockWillRespondAsynchronously(); |
-} |
- |
-void TestRunnerBindings::SetPopupBlockingEnabled(bool block_popups) { |
- if (runner_) |
- runner_->SetPopupBlockingEnabled(block_popups); |
-} |
- |
-void TestRunnerBindings::SetJavaScriptCanAccessClipboard(bool can_access) { |
- if (runner_) |
- runner_->SetJavaScriptCanAccessClipboard(can_access); |
-} |
- |
-void TestRunnerBindings::SetXSSAuditorEnabled(bool enabled) { |
- if (runner_) |
- runner_->SetXSSAuditorEnabled(enabled); |
-} |
- |
-void TestRunnerBindings::SetAllowUniversalAccessFromFileURLs(bool allow) { |
- if (runner_) |
- runner_->SetAllowUniversalAccessFromFileURLs(allow); |
-} |
- |
-void TestRunnerBindings::SetAllowFileAccessFromFileURLs(bool allow) { |
- if (runner_) |
- runner_->SetAllowFileAccessFromFileURLs(allow); |
-} |
- |
-void TestRunnerBindings::OverridePreference(const std::string key, |
- v8::Local<v8::Value> value) { |
- if (runner_) |
- runner_->OverridePreference(key, value); |
-} |
- |
-void TestRunnerBindings::SetAcceptLanguages( |
- const std::string& accept_languages) { |
- if (!runner_) |
- return; |
- |
- runner_->SetAcceptLanguages(accept_languages); |
-} |
- |
-void TestRunnerBindings::SetPluginsEnabled(bool enabled) { |
- if (runner_) |
- runner_->SetPluginsEnabled(enabled); |
-} |
- |
-void TestRunnerBindings::DumpEditingCallbacks() { |
- if (runner_) |
- runner_->DumpEditingCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpAsMarkup() { |
- if (runner_) |
- runner_->DumpAsMarkup(); |
-} |
- |
-void TestRunnerBindings::DumpAsText() { |
- if (runner_) |
- runner_->DumpAsText(); |
-} |
- |
-void TestRunnerBindings::DumpAsTextWithPixelResults() { |
- if (runner_) |
- runner_->DumpAsTextWithPixelResults(); |
-} |
- |
-void TestRunnerBindings::DumpChildFrameScrollPositions() { |
- if (runner_) |
- runner_->DumpChildFrameScrollPositions(); |
-} |
- |
-void TestRunnerBindings::DumpChildFramesAsText() { |
- if (runner_) |
- runner_->DumpChildFramesAsText(); |
-} |
- |
-void TestRunnerBindings::DumpChildFramesAsMarkup() { |
- if (runner_) |
- runner_->DumpChildFramesAsMarkup(); |
-} |
- |
-void TestRunnerBindings::DumpIconChanges() { |
- if (runner_) |
- runner_->DumpIconChanges(); |
-} |
- |
-void TestRunnerBindings::SetAudioData(const gin::ArrayBufferView& view) { |
- if (runner_) |
- runner_->SetAudioData(view); |
-} |
- |
-void TestRunnerBindings::DumpFrameLoadCallbacks() { |
- if (runner_) |
- runner_->DumpFrameLoadCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpPingLoaderCallbacks() { |
- if (runner_) |
- runner_->DumpPingLoaderCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpUserGestureInFrameLoadCallbacks() { |
- if (runner_) |
- runner_->DumpUserGestureInFrameLoadCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpTitleChanges() { |
- if (runner_) |
- runner_->DumpTitleChanges(); |
-} |
- |
-void TestRunnerBindings::DumpCreateView() { |
- if (runner_) |
- runner_->DumpCreateView(); |
-} |
- |
-void TestRunnerBindings::SetCanOpenWindows() { |
- if (runner_) |
- runner_->SetCanOpenWindows(); |
-} |
- |
-void TestRunnerBindings::DumpResourceLoadCallbacks() { |
- if (runner_) |
- runner_->DumpResourceLoadCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpResourceRequestCallbacks() { |
- if (runner_) |
- runner_->DumpResourceRequestCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpResourceResponseMIMETypes() { |
- if (runner_) |
- runner_->DumpResourceResponseMIMETypes(); |
-} |
- |
-void TestRunnerBindings::SetImagesAllowed(bool allowed) { |
- if (runner_) |
- runner_->SetImagesAllowed(allowed); |
-} |
- |
-void TestRunnerBindings::SetMediaAllowed(bool allowed) { |
- if (runner_) |
- runner_->SetMediaAllowed(allowed); |
-} |
- |
-void TestRunnerBindings::SetScriptsAllowed(bool allowed) { |
- if (runner_) |
- runner_->SetScriptsAllowed(allowed); |
-} |
- |
-void TestRunnerBindings::SetStorageAllowed(bool allowed) { |
- if (runner_) |
- runner_->SetStorageAllowed(allowed); |
-} |
- |
-void TestRunnerBindings::SetPluginsAllowed(bool allowed) { |
- if (runner_) |
- runner_->SetPluginsAllowed(allowed); |
-} |
- |
-void TestRunnerBindings::SetAllowDisplayOfInsecureContent(bool allowed) { |
- if (runner_) |
- runner_->SetAllowDisplayOfInsecureContent(allowed); |
-} |
- |
-void TestRunnerBindings::SetAllowRunningOfInsecureContent(bool allowed) { |
- if (runner_) |
- runner_->SetAllowRunningOfInsecureContent(allowed); |
-} |
- |
-void TestRunnerBindings::DumpPermissionClientCallbacks() { |
- if (runner_) |
- runner_->DumpPermissionClientCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpWindowStatusChanges() { |
- if (runner_) |
- runner_->DumpWindowStatusChanges(); |
-} |
- |
-void TestRunnerBindings::DumpProgressFinishedCallback() { |
- if (runner_) |
- runner_->DumpProgressFinishedCallback(); |
-} |
- |
-void TestRunnerBindings::DumpSpellCheckCallbacks() { |
- if (runner_) |
- runner_->DumpSpellCheckCallbacks(); |
-} |
- |
-void TestRunnerBindings::DumpBackForwardList() { |
- if (runner_) |
- runner_->DumpBackForwardList(); |
-} |
- |
-void TestRunnerBindings::DumpSelectionRect() { |
- if (runner_) |
- runner_->DumpSelectionRect(); |
-} |
- |
-void TestRunnerBindings::SetPrinting() { |
- if (runner_) |
- runner_->SetPrinting(); |
-} |
- |
-void TestRunnerBindings::ClearPrinting() { |
- if (runner_) |
- runner_->ClearPrinting(); |
-} |
- |
-void TestRunnerBindings::SetShouldStayOnPageAfterHandlingBeforeUnload( |
- bool value) { |
- if (runner_) |
- runner_->SetShouldStayOnPageAfterHandlingBeforeUnload(value); |
-} |
- |
-void TestRunnerBindings::SetWillSendRequestClearHeader( |
- const std::string& header) { |
- if (runner_) |
- runner_->SetWillSendRequestClearHeader(header); |
-} |
- |
-void TestRunnerBindings::DumpResourceRequestPriorities() { |
- if (runner_) |
- runner_->DumpResourceRequestPriorities(); |
-} |
- |
-void TestRunnerBindings::SetUseMockTheme(bool use) { |
- if (runner_) |
- runner_->SetUseMockTheme(use); |
-} |
- |
-void TestRunnerBindings::WaitUntilExternalURLLoad() { |
- if (runner_) |
- runner_->WaitUntilExternalURLLoad(); |
-} |
- |
-void TestRunnerBindings::DumpDragImage() { |
- if (runner_) |
- runner_->DumpDragImage(); |
-} |
- |
-void TestRunnerBindings::DumpNavigationPolicy() { |
- if (runner_) |
- runner_->DumpNavigationPolicy(); |
-} |
- |
-void TestRunnerBindings::ShowWebInspector(gin::Arguments* args) { |
- if (runner_) { |
- std::string settings; |
- args->GetNext(&settings); |
- std::string frontend_url; |
- args->GetNext(&frontend_url); |
- runner_->ShowWebInspector(settings, frontend_url); |
- } |
-} |
- |
-void TestRunnerBindings::CloseWebInspector() { |
- if (runner_) |
- runner_->CloseWebInspector(); |
-} |
- |
-bool TestRunnerBindings::IsChooserShown() { |
- if (runner_) |
- return runner_->IsChooserShown(); |
- return false; |
-} |
- |
-void TestRunnerBindings::EvaluateInWebInspector(int call_id, |
- const std::string& script) { |
- if (runner_) |
- runner_->EvaluateInWebInspector(call_id, script); |
-} |
- |
-void TestRunnerBindings::ClearAllDatabases() { |
- if (runner_) |
- runner_->ClearAllDatabases(); |
-} |
- |
-void TestRunnerBindings::SetDatabaseQuota(int quota) { |
- if (runner_) |
- runner_->SetDatabaseQuota(quota); |
-} |
- |
-void TestRunnerBindings::SetAlwaysAcceptCookies(bool accept) { |
- if (runner_) |
- runner_->SetAlwaysAcceptCookies(accept); |
-} |
- |
-void TestRunnerBindings::SetWindowIsKey(bool value) { |
- if (runner_) |
- runner_->SetWindowIsKey(value); |
-} |
- |
-std::string TestRunnerBindings::PathToLocalResource(const std::string& path) { |
- if (runner_) |
- return runner_->PathToLocalResource(path); |
- return std::string(); |
-} |
- |
-void TestRunnerBindings::SetBackingScaleFactor( |
- double value, v8::Local<v8::Function> callback) { |
- if (runner_) |
- runner_->SetBackingScaleFactor(value, callback); |
-} |
- |
-void TestRunnerBindings::SetColorProfile( |
- const std::string& name, v8::Local<v8::Function> callback) { |
- if (runner_) |
- runner_->SetColorProfile(name, callback); |
-} |
- |
-void TestRunnerBindings::SetBluetoothMockDataSet(const std::string& name) { |
- if (runner_) |
- runner_->SetBluetoothMockDataSet(name); |
-} |
- |
-void TestRunnerBindings::SetPOSIXLocale(const std::string& locale) { |
- if (runner_) |
- runner_->SetPOSIXLocale(locale); |
-} |
- |
-void TestRunnerBindings::SetMIDIAccessorResult(bool result) { |
- if (runner_) |
- runner_->SetMIDIAccessorResult(result); |
-} |
- |
-void TestRunnerBindings::SimulateWebNotificationClick( |
- const std::string& title) { |
- if (runner_) |
- runner_->SimulateWebNotificationClick(title); |
-} |
- |
-void TestRunnerBindings::AddMockSpeechRecognitionResult( |
- const std::string& transcript, double confidence) { |
- if (runner_) |
- runner_->AddMockSpeechRecognitionResult(transcript, confidence); |
-} |
- |
-void TestRunnerBindings::SetMockSpeechRecognitionError( |
- const std::string& error, const std::string& message) { |
- if (runner_) |
- runner_->SetMockSpeechRecognitionError(error, message); |
-} |
- |
-bool TestRunnerBindings::WasMockSpeechRecognitionAborted() { |
- if (runner_) |
- return runner_->WasMockSpeechRecognitionAborted(); |
- return false; |
-} |
- |
-void TestRunnerBindings::AddMockCredentialManagerResponse( |
- const std::string& id, |
- const std::string& name, |
- const std::string& avatar, |
- const std::string& password) { |
- if (runner_) |
- runner_->AddMockCredentialManagerResponse(id, name, avatar, password); |
-} |
- |
-void TestRunnerBindings::AddWebPageOverlay() { |
- if (runner_) |
- runner_->AddWebPageOverlay(); |
-} |
- |
-void TestRunnerBindings::RemoveWebPageOverlay() { |
- if (runner_) |
- runner_->RemoveWebPageOverlay(); |
-} |
- |
-void TestRunnerBindings::LayoutAndPaintAsync() { |
- if (runner_) |
- runner_->LayoutAndPaintAsync(); |
-} |
- |
-void TestRunnerBindings::LayoutAndPaintAsyncThen( |
- v8::Local<v8::Function> callback) { |
- if (runner_) |
- runner_->LayoutAndPaintAsyncThen(callback); |
-} |
- |
-void TestRunnerBindings::GetManifestThen(v8::Local<v8::Function> callback) { |
- if (runner_) |
- runner_->GetManifestThen(callback); |
-} |
- |
-void TestRunnerBindings::CapturePixelsAsyncThen( |
- v8::Local<v8::Function> callback) { |
- if (runner_) |
- runner_->CapturePixelsAsyncThen(callback); |
-} |
- |
-void TestRunnerBindings::CopyImageAtAndCapturePixelsAsyncThen( |
- int x, int y, v8::Local<v8::Function> callback) { |
- if (runner_) |
- runner_->CopyImageAtAndCapturePixelsAsyncThen(x, y, callback); |
-} |
- |
-void TestRunnerBindings::SetCustomTextOutput(std::string output) { |
- runner_->setCustomTextOutput(output); |
-} |
- |
-void TestRunnerBindings::SetViewSourceForFrame(const std::string& name, |
- bool enabled) { |
- if (runner_ && runner_->web_view_) { |
- WebFrame* target_frame = |
- runner_->web_view_->findFrameByName(WebString::fromUTF8(name)); |
- if (target_frame) |
- target_frame->enableViewSourceMode(enabled); |
- } |
-} |
- |
-void TestRunnerBindings::SetGeofencingMockProvider(bool service_available) { |
- if (runner_) |
- runner_->SetGeofencingMockProvider(service_available); |
-} |
- |
-void TestRunnerBindings::ClearGeofencingMockProvider() { |
- if (runner_) |
- runner_->ClearGeofencingMockProvider(); |
-} |
- |
-void TestRunnerBindings::SetGeofencingMockPosition(double latitude, |
- double longitude) { |
- if (runner_) |
- runner_->SetGeofencingMockPosition(latitude, longitude); |
-} |
- |
-void TestRunnerBindings::SetPermission(const std::string& name, |
- const std::string& value, |
- const std::string& origin, |
- const std::string& embedding_origin) { |
- if (!runner_) |
- return; |
- |
- return runner_->SetPermission( |
- name, value, GURL(origin), GURL(embedding_origin)); |
-} |
- |
-void TestRunnerBindings::DispatchBeforeInstallPromptEvent( |
- int request_id, |
- const std::vector<std::string>& event_platforms, |
- v8::Local<v8::Function> callback) { |
- if (!runner_) |
- return; |
- |
- return runner_->DispatchBeforeInstallPromptEvent(request_id, event_platforms, |
- callback); |
-} |
- |
-void TestRunnerBindings::ResolveBeforeInstallPromptPromise( |
- int request_id, |
- const std::string& platform) { |
- if (!runner_) |
- return; |
- |
- return runner_->ResolveBeforeInstallPromptPromise(request_id, platform); |
-} |
- |
-std::string TestRunnerBindings::PlatformName() { |
- if (runner_) |
- return runner_->platform_name_; |
- return std::string(); |
-} |
- |
-std::string TestRunnerBindings::TooltipText() { |
- if (runner_) |
- return runner_->tooltip_text_; |
- return std::string(); |
-} |
- |
-bool TestRunnerBindings::DisableNotifyDone() { |
- if (runner_) |
- return runner_->disable_notify_done_; |
- return false; |
-} |
- |
-int TestRunnerBindings::WebHistoryItemCount() { |
- if (runner_) |
- return runner_->web_history_item_count_; |
- return false; |
-} |
- |
-bool TestRunnerBindings::InterceptPostMessage() { |
- if (runner_) |
- return runner_->intercept_post_message_; |
- return false; |
-} |
- |
-void TestRunnerBindings::SetInterceptPostMessage(bool value) { |
- if (runner_) |
- runner_->intercept_post_message_ = value; |
-} |
- |
-void TestRunnerBindings::ForceNextWebGLContextCreationToFail() { |
- if (runner_) |
- runner_->ForceNextWebGLContextCreationToFail(); |
-} |
- |
-void TestRunnerBindings::ForceNextDrawingBufferCreationToFail() { |
- if (runner_) |
- runner_->ForceNextDrawingBufferCreationToFail(); |
-} |
- |
-void TestRunnerBindings::NotImplemented(const gin::Arguments& args) { |
-} |
- |
-class TestPageOverlay : public WebPageOverlay { |
- public: |
- TestPageOverlay() {} |
- virtual ~TestPageOverlay() {} |
- |
- virtual void paintPageOverlay(WebGraphicsContext* context, |
- const WebSize& webViewSize) { |
- gfx::Rect rect(webViewSize); |
- SkCanvas* canvas = context->beginDrawing(gfx::RectF(rect)); |
- SkPaint paint; |
- paint.setColor(SK_ColorCYAN); |
- paint.setStyle(SkPaint::kFill_Style); |
- canvas->drawRect(gfx::RectToSkRect(rect), paint); |
- context->endDrawing(); |
- } |
-}; |
- |
-TestRunner::WorkQueue::WorkQueue(TestRunner* controller) |
- : frozen_(false) |
- , controller_(controller) {} |
- |
-TestRunner::WorkQueue::~WorkQueue() { |
- Reset(); |
-} |
- |
-void TestRunner::WorkQueue::ProcessWorkSoon() { |
- if (controller_->topLoadingFrame()) |
- return; |
- |
- if (!queue_.empty()) { |
- // We delay processing queued work to avoid recursion problems. |
- controller_->delegate_->PostTask(new WorkQueueTask(this)); |
- } else if (!controller_->wait_until_done_) { |
- controller_->delegate_->TestFinished(); |
- } |
-} |
- |
-void TestRunner::WorkQueue::Reset() { |
- frozen_ = false; |
- while (!queue_.empty()) { |
- delete queue_.front(); |
- queue_.pop_front(); |
- } |
-} |
- |
-void TestRunner::WorkQueue::AddWork(WorkItem* work) { |
- if (frozen_) { |
- delete work; |
- return; |
- } |
- queue_.push_back(work); |
-} |
- |
-void TestRunner::WorkQueue::ProcessWork() { |
- // Quit doing work once a load is in progress. |
- while (!queue_.empty()) { |
- bool startedLoad = queue_.front()->Run(controller_->delegate_, |
- controller_->web_view_); |
- delete queue_.front(); |
- queue_.pop_front(); |
- if (startedLoad) |
- return; |
- } |
- |
- if (!controller_->wait_until_done_ && !controller_->topLoadingFrame()) |
- controller_->delegate_->TestFinished(); |
-} |
- |
-void TestRunner::WorkQueue::WorkQueueTask::RunIfValid() { |
- object_->ProcessWork(); |
-} |
- |
-TestRunner::TestRunner(TestInterfaces* interfaces) |
- : test_is_running_(false), |
- close_remaining_windows_(false), |
- work_queue_(this), |
- disable_notify_done_(false), |
- web_history_item_count_(0), |
- intercept_post_message_(false), |
- test_interfaces_(interfaces), |
- delegate_(nullptr), |
- web_view_(nullptr), |
- page_overlay_(nullptr), |
- web_content_settings_(new WebContentSettings()), |
- weak_factory_(this) {} |
- |
-TestRunner::~TestRunner() {} |
- |
-void TestRunner::Install(WebFrame* frame) { |
- TestRunnerBindings::Install(weak_factory_.GetWeakPtr(), frame); |
-} |
- |
-void TestRunner::SetDelegate(WebTestDelegate* delegate) { |
- delegate_ = delegate; |
- web_content_settings_->SetDelegate(delegate); |
-} |
- |
-void TestRunner::SetWebView(WebView* webView, WebTestProxyBase* proxy) { |
- web_view_ = webView; |
- proxy_ = proxy; |
-} |
- |
-void TestRunner::Reset() { |
- if (web_view_) { |
- web_view_->setZoomLevel(0); |
- web_view_->setTextZoomFactor(1); |
- web_view_->setTabKeyCyclesThroughElements(true); |
-#if !defined(__APPLE__) && !defined(WIN32) // Actually, TOOLKIT_GTK |
- // (Constants copied because we can't depend on the header that defined |
- // them from this file.) |
- web_view_->setSelectionColors( |
- 0xff1e90ff, 0xff000000, 0xffc8c8c8, 0xff323232); |
-#endif |
- web_view_->setVisibilityState(WebPageVisibilityStateVisible, true); |
- web_view_->mainFrame()->enableViewSourceMode(false); |
- |
- if (page_overlay_) { |
- web_view_->removePageOverlay(page_overlay_); |
- delete page_overlay_; |
- page_overlay_ = nullptr; |
- } |
- } |
- |
- top_loading_frame_ = nullptr; |
- wait_until_done_ = false; |
- wait_until_external_url_load_ = false; |
- policy_delegate_enabled_ = false; |
- policy_delegate_is_permissive_ = false; |
- policy_delegate_should_notify_done_ = false; |
- |
- WebSecurityPolicy::resetOriginAccessWhitelists(); |
-#if defined(__linux__) || defined(ANDROID) |
- WebFontRendering::setSubpixelPositioning(false); |
-#endif |
- |
- if (delegate_) { |
- // Reset the default quota for each origin to 5MB |
- delegate_->SetDatabaseQuota(5 * 1024 * 1024); |
- delegate_->SetDeviceColorProfile("reset"); |
- delegate_->SetDeviceScaleFactor(1); |
- delegate_->SetAcceptAllCookies(false); |
- delegate_->SetLocale(""); |
- delegate_->UseUnfortunateSynchronousResizeMode(false); |
- delegate_->DisableAutoResizeMode(WebSize()); |
- delegate_->DeleteAllCookies(); |
- delegate_->ResetScreenOrientation(); |
- delegate_->SetBluetoothMockDataSet(""); |
- delegate_->ClearGeofencingMockProvider(); |
- delegate_->ResetPermissions(); |
- ResetBatteryStatus(); |
- ResetDeviceLight(); |
- } |
- |
- dump_editting_callbacks_ = false; |
- dump_as_text_ = false; |
- dump_as_markup_ = false; |
- generate_pixel_results_ = true; |
- dump_child_frame_scroll_positions_ = false; |
- dump_child_frames_as_markup_ = false; |
- dump_child_frames_as_text_ = false; |
- dump_icon_changes_ = false; |
- dump_as_audio_ = false; |
- dump_frame_load_callbacks_ = false; |
- dump_ping_loader_callbacks_ = false; |
- dump_user_gesture_in_frame_load_callbacks_ = false; |
- dump_title_changes_ = false; |
- dump_create_view_ = false; |
- can_open_windows_ = false; |
- dump_resource_load_callbacks_ = false; |
- dump_resource_request_callbacks_ = false; |
- dump_resource_response_mime_types_ = false; |
- dump_window_status_changes_ = false; |
- dump_progress_finished_callback_ = false; |
- dump_spell_check_callbacks_ = false; |
- dump_back_forward_list_ = false; |
- dump_selection_rect_ = false; |
- dump_drag_image_ = false; |
- dump_navigation_policy_ = false; |
- test_repaint_ = false; |
- sweep_horizontally_ = false; |
- is_printing_ = false; |
- midi_accessor_result_ = true; |
- should_stay_on_page_after_handling_before_unload_ = false; |
- should_dump_resource_priorities_ = false; |
- has_custom_text_output_ = false; |
- custom_text_output_.clear(); |
- |
- http_headers_to_clear_.clear(); |
- |
- platform_name_ = "chromium"; |
- tooltip_text_ = std::string(); |
- disable_notify_done_ = false; |
- web_history_item_count_ = 0; |
- intercept_post_message_ = false; |
- |
- web_content_settings_->Reset(); |
- |
- use_mock_theme_ = true; |
- pointer_locked_ = false; |
- pointer_lock_planned_result_ = PointerLockWillSucceed; |
- |
- task_list_.RevokeAll(); |
- work_queue_.Reset(); |
- |
- if (close_remaining_windows_ && delegate_) |
- delegate_->CloseRemainingWindows(); |
- else |
- close_remaining_windows_ = true; |
-} |
- |
-void TestRunner::SetTestIsRunning(bool running) { |
- test_is_running_ = running; |
-} |
- |
-void TestRunner::InvokeCallback(scoped_ptr<InvokeCallbackTask> task) { |
- delegate_->PostTask(task.release()); |
-} |
- |
-bool TestRunner::shouldDumpEditingCallbacks() const { |
- return dump_editting_callbacks_; |
-} |
- |
-bool TestRunner::shouldDumpAsText() { |
- CheckResponseMimeType(); |
- return dump_as_text_; |
-} |
- |
-void TestRunner::setShouldDumpAsText(bool value) { |
- dump_as_text_ = value; |
-} |
- |
-bool TestRunner::shouldDumpAsMarkup() { |
- return dump_as_markup_; |
-} |
- |
-void TestRunner::setShouldDumpAsMarkup(bool value) { |
- dump_as_markup_ = value; |
-} |
- |
-bool TestRunner::shouldDumpAsCustomText() const { |
- return has_custom_text_output_; |
-} |
- |
-std::string TestRunner::customDumpText() const { |
- return custom_text_output_; |
-} |
- |
-void TestRunner::setCustomTextOutput(std::string text) { |
- custom_text_output_ = text; |
- has_custom_text_output_ = true; |
-} |
- |
-bool TestRunner::ShouldGeneratePixelResults() { |
- CheckResponseMimeType(); |
- return generate_pixel_results_; |
-} |
- |
-void TestRunner::setShouldGeneratePixelResults(bool value) { |
- generate_pixel_results_ = value; |
-} |
- |
-bool TestRunner::shouldDumpChildFrameScrollPositions() const { |
- return dump_child_frame_scroll_positions_; |
-} |
- |
-bool TestRunner::shouldDumpChildFramesAsMarkup() const { |
- return dump_child_frames_as_markup_; |
-} |
- |
-bool TestRunner::shouldDumpChildFramesAsText() const { |
- return dump_child_frames_as_text_; |
-} |
- |
-bool TestRunner::ShouldDumpAsAudio() const { |
- return dump_as_audio_; |
-} |
- |
-void TestRunner::GetAudioData(std::vector<unsigned char>* buffer_view) const { |
- *buffer_view = audio_data_; |
-} |
- |
-bool TestRunner::shouldDumpFrameLoadCallbacks() const { |
- return test_is_running_ && dump_frame_load_callbacks_; |
-} |
- |
-void TestRunner::setShouldDumpFrameLoadCallbacks(bool value) { |
- dump_frame_load_callbacks_ = value; |
-} |
- |
-bool TestRunner::shouldDumpPingLoaderCallbacks() const { |
- return test_is_running_ && dump_ping_loader_callbacks_; |
-} |
- |
-void TestRunner::setShouldDumpPingLoaderCallbacks(bool value) { |
- dump_ping_loader_callbacks_ = value; |
-} |
- |
-void TestRunner::setShouldEnableViewSource(bool value) { |
- web_view_->mainFrame()->enableViewSourceMode(value); |
-} |
- |
-bool TestRunner::shouldDumpUserGestureInFrameLoadCallbacks() const { |
- return test_is_running_ && dump_user_gesture_in_frame_load_callbacks_; |
-} |
- |
-bool TestRunner::shouldDumpTitleChanges() const { |
- return dump_title_changes_; |
-} |
- |
-bool TestRunner::shouldDumpIconChanges() const { |
- return dump_icon_changes_; |
-} |
- |
-bool TestRunner::shouldDumpCreateView() const { |
- return dump_create_view_; |
-} |
- |
-bool TestRunner::canOpenWindows() const { |
- return can_open_windows_; |
-} |
- |
-bool TestRunner::shouldDumpResourceLoadCallbacks() const { |
- return test_is_running_ && dump_resource_load_callbacks_; |
-} |
- |
-bool TestRunner::shouldDumpResourceRequestCallbacks() const { |
- return test_is_running_ && dump_resource_request_callbacks_; |
-} |
- |
-bool TestRunner::shouldDumpResourceResponseMIMETypes() const { |
- return test_is_running_ && dump_resource_response_mime_types_; |
-} |
- |
-WebContentSettingsClient* TestRunner::GetWebContentSettings() const { |
- return web_content_settings_.get(); |
-} |
- |
-bool TestRunner::shouldDumpStatusCallbacks() const { |
- return dump_window_status_changes_; |
-} |
- |
-bool TestRunner::shouldDumpProgressFinishedCallback() const { |
- return dump_progress_finished_callback_; |
-} |
- |
-bool TestRunner::shouldDumpSpellCheckCallbacks() const { |
- return dump_spell_check_callbacks_; |
-} |
- |
-bool TestRunner::ShouldDumpBackForwardList() const { |
- return dump_back_forward_list_; |
-} |
- |
-bool TestRunner::shouldDumpSelectionRect() const { |
- return dump_selection_rect_; |
-} |
- |
-bool TestRunner::isPrinting() const { |
- return is_printing_; |
-} |
- |
-bool TestRunner::shouldStayOnPageAfterHandlingBeforeUnload() const { |
- return should_stay_on_page_after_handling_before_unload_; |
-} |
- |
-bool TestRunner::shouldWaitUntilExternalURLLoad() const { |
- return wait_until_external_url_load_; |
-} |
- |
-const std::set<std::string>* TestRunner::httpHeadersToClear() const { |
- return &http_headers_to_clear_; |
-} |
- |
-void TestRunner::setTopLoadingFrame(WebFrame* frame, bool clear) { |
- if (frame->top()->view() != web_view_) |
- return; |
- if (!test_is_running_) |
- return; |
- if (clear) { |
- top_loading_frame_ = nullptr; |
- LocationChangeDone(); |
- } else if (!top_loading_frame_) { |
- top_loading_frame_ = frame; |
- } |
-} |
- |
-WebFrame* TestRunner::topLoadingFrame() const { |
- return top_loading_frame_; |
-} |
- |
-void TestRunner::policyDelegateDone() { |
- DCHECK(wait_until_done_); |
- delegate_->TestFinished(); |
- wait_until_done_ = false; |
-} |
- |
-bool TestRunner::policyDelegateEnabled() const { |
- return policy_delegate_enabled_; |
-} |
- |
-bool TestRunner::policyDelegateIsPermissive() const { |
- return policy_delegate_is_permissive_; |
-} |
- |
-bool TestRunner::policyDelegateShouldNotifyDone() const { |
- return policy_delegate_should_notify_done_; |
-} |
- |
-bool TestRunner::shouldInterceptPostMessage() const { |
- return intercept_post_message_; |
-} |
- |
-bool TestRunner::shouldDumpResourcePriorities() const { |
- return should_dump_resource_priorities_; |
-} |
- |
-bool TestRunner::RequestPointerLock() { |
- switch (pointer_lock_planned_result_) { |
- case PointerLockWillSucceed: |
- delegate_->PostDelayedTask( |
- new HostMethodTask(this, &TestRunner::DidAcquirePointerLockInternal), |
- 0); |
- return true; |
- case PointerLockWillRespondAsync: |
- DCHECK(!pointer_locked_); |
- return true; |
- case PointerLockWillFailSync: |
- DCHECK(!pointer_locked_); |
- return false; |
- default: |
- NOTREACHED(); |
- return false; |
- } |
-} |
- |
-void TestRunner::RequestPointerUnlock() { |
- delegate_->PostDelayedTask( |
- new HostMethodTask(this, &TestRunner::DidLosePointerLockInternal), 0); |
-} |
- |
-bool TestRunner::isPointerLocked() { |
- return pointer_locked_; |
-} |
- |
-void TestRunner::setToolTipText(const WebString& text) { |
- tooltip_text_ = text.utf8(); |
-} |
- |
-bool TestRunner::shouldDumpDragImage() { |
- return dump_drag_image_; |
-} |
- |
-bool TestRunner::shouldDumpNavigationPolicy() const { |
- return dump_navigation_policy_; |
-} |
- |
-bool TestRunner::midiAccessorResult() { |
- return midi_accessor_result_; |
-} |
- |
-void TestRunner::ClearDevToolsLocalStorage() { |
- delegate_->ClearDevToolsLocalStorage(); |
-} |
- |
-void TestRunner::ShowDevTools(const std::string& settings, |
- const std::string& frontend_url) { |
- delegate_->ShowDevTools(settings, frontend_url); |
-} |
- |
-class WorkItemBackForward : public TestRunner::WorkItem { |
- public: |
- WorkItemBackForward(int distance) : distance_(distance) {} |
- |
- bool Run(WebTestDelegate* delegate, WebView*) override { |
- delegate->GoToOffset(distance_); |
- return true; // FIXME: Did it really start a navigation? |
- } |
- |
- private: |
- int distance_; |
-}; |
- |
-void TestRunner::NotifyDone() { |
- if (disable_notify_done_) |
- return; |
- |
- // Test didn't timeout. Kill the timeout timer. |
- task_list_.RevokeAll(); |
- |
- CompleteNotifyDone(); |
-} |
- |
-void TestRunner::WaitUntilDone() { |
- wait_until_done_ = true; |
-} |
- |
-void TestRunner::QueueBackNavigation(int how_far_back) { |
- work_queue_.AddWork(new WorkItemBackForward(-how_far_back)); |
-} |
- |
-void TestRunner::QueueForwardNavigation(int how_far_forward) { |
- work_queue_.AddWork(new WorkItemBackForward(how_far_forward)); |
-} |
- |
-class WorkItemReload : public TestRunner::WorkItem { |
- public: |
- bool Run(WebTestDelegate* delegate, WebView*) override { |
- delegate->Reload(); |
- return true; |
- } |
-}; |
- |
-void TestRunner::QueueReload() { |
- work_queue_.AddWork(new WorkItemReload()); |
-} |
- |
-class WorkItemLoadingScript : public TestRunner::WorkItem { |
- public: |
- WorkItemLoadingScript(const std::string& script) |
- : script_(script) {} |
- |
- bool Run(WebTestDelegate*, WebView* web_view) override { |
- web_view->mainFrame()->executeScript( |
- WebScriptSource(WebString::fromUTF8(script_))); |
- return true; // FIXME: Did it really start a navigation? |
- } |
- |
- private: |
- std::string script_; |
-}; |
- |
-void TestRunner::QueueLoadingScript(const std::string& script) { |
- work_queue_.AddWork(new WorkItemLoadingScript(script)); |
-} |
- |
-class WorkItemNonLoadingScript : public TestRunner::WorkItem { |
- public: |
- WorkItemNonLoadingScript(const std::string& script) |
- : script_(script) {} |
- |
- bool Run(WebTestDelegate*, WebView* web_view) override { |
- web_view->mainFrame()->executeScript( |
- WebScriptSource(WebString::fromUTF8(script_))); |
- return false; |
- } |
- |
- private: |
- std::string script_; |
-}; |
- |
-void TestRunner::QueueNonLoadingScript(const std::string& script) { |
- work_queue_.AddWork(new WorkItemNonLoadingScript(script)); |
-} |
- |
-class WorkItemLoad : public TestRunner::WorkItem { |
- public: |
- WorkItemLoad(const WebURL& url, const std::string& target) |
- : url_(url), target_(target) {} |
- |
- bool Run(WebTestDelegate* delegate, WebView*) override { |
- delegate->LoadURLForFrame(url_, target_); |
- return true; // FIXME: Did it really start a navigation? |
- } |
- |
- private: |
- WebURL url_; |
- std::string target_; |
-}; |
- |
-void TestRunner::QueueLoad(const std::string& url, const std::string& target) { |
- // FIXME: Implement WebURL::resolve() and avoid GURL. |
- GURL current_url = web_view_->mainFrame()->document().url(); |
- GURL full_url = current_url.Resolve(url); |
- work_queue_.AddWork(new WorkItemLoad(full_url, target)); |
-} |
- |
-class WorkItemLoadHTMLString : public TestRunner::WorkItem { |
- public: |
- WorkItemLoadHTMLString(const std::string& html, const WebURL& base_url) |
- : html_(html), base_url_(base_url) {} |
- |
- WorkItemLoadHTMLString(const std::string& html, const WebURL& base_url, |
- const WebURL& unreachable_url) |
- : html_(html), base_url_(base_url), unreachable_url_(unreachable_url) {} |
- |
- bool Run(WebTestDelegate*, WebView* web_view) override { |
- web_view->mainFrame()->loadHTMLString( |
- WebData(html_.data(), html_.length()), |
- base_url_, unreachable_url_); |
- return true; |
- } |
- |
- private: |
- std::string html_; |
- WebURL base_url_; |
- WebURL unreachable_url_; |
-}; |
- |
-void TestRunner::QueueLoadHTMLString(gin::Arguments* args) { |
- std::string html; |
- args->GetNext(&html); |
- |
- std::string base_url_str; |
- args->GetNext(&base_url_str); |
- WebURL base_url = WebURL(GURL(base_url_str)); |
- |
- if (args->PeekNext()->IsString()) { |
- std::string unreachable_url_str; |
- args->GetNext(&unreachable_url_str); |
- WebURL unreachable_url = WebURL(GURL(unreachable_url_str)); |
- work_queue_.AddWork(new WorkItemLoadHTMLString(html, base_url, |
- unreachable_url)); |
- } else { |
- work_queue_.AddWork(new WorkItemLoadHTMLString(html, base_url)); |
- } |
-} |
- |
-void TestRunner::SetCustomPolicyDelegate(gin::Arguments* args) { |
- args->GetNext(&policy_delegate_enabled_); |
- if (!args->PeekNext().IsEmpty() && args->PeekNext()->IsBoolean()) |
- args->GetNext(&policy_delegate_is_permissive_); |
-} |
- |
-void TestRunner::WaitForPolicyDelegate() { |
- policy_delegate_enabled_ = true; |
- policy_delegate_should_notify_done_ = true; |
- wait_until_done_ = true; |
-} |
- |
-int TestRunner::WindowCount() { |
- return test_interfaces_->GetWindowList().size(); |
-} |
- |
-void TestRunner::SetCloseRemainingWindowsWhenComplete( |
- bool close_remaining_windows) { |
- close_remaining_windows_ = close_remaining_windows; |
-} |
- |
-void TestRunner::ResetTestHelperControllers() { |
- test_interfaces_->ResetTestHelperControllers(); |
-} |
- |
-void TestRunner::SetTabKeyCyclesThroughElements( |
- bool tab_key_cycles_through_elements) { |
- web_view_->setTabKeyCyclesThroughElements(tab_key_cycles_through_elements); |
-} |
- |
-void TestRunner::ExecCommand(gin::Arguments* args) { |
- std::string command; |
- args->GetNext(&command); |
- |
- std::string value; |
- if (args->Length() >= 3) { |
- // Ignore the second parameter (which is userInterface) |
- // since this command emulates a manual action. |
- args->Skip(); |
- args->GetNext(&value); |
- } |
- |
- // Note: webkit's version does not return the boolean, so neither do we. |
- web_view_->focusedFrame()->executeCommand(WebString::fromUTF8(command), |
- WebString::fromUTF8(value)); |
-} |
- |
-bool TestRunner::IsCommandEnabled(const std::string& command) { |
- return web_view_->focusedFrame()->isCommandEnabled( |
- WebString::fromUTF8(command)); |
-} |
- |
-bool TestRunner::CallShouldCloseOnWebView() { |
- return web_view_->mainFrame()->dispatchBeforeUnloadEvent(); |
-} |
- |
-void TestRunner::SetDomainRelaxationForbiddenForURLScheme( |
- bool forbidden, const std::string& scheme) { |
- web_view_->setDomainRelaxationForbidden(forbidden, |
- WebString::fromUTF8(scheme)); |
-} |
- |
-v8::Local<v8::Value> TestRunner::EvaluateScriptInIsolatedWorldAndReturnValue( |
- int world_id, |
- const std::string& script) { |
- WebVector<v8::Local<v8::Value>> values; |
- WebScriptSource source(WebString::fromUTF8(script)); |
- // This relies on the iframe focusing itself when it loads. This is a bit |
- // sketchy, but it seems to be what other tests do. |
- web_view_->focusedFrame()->executeScriptInIsolatedWorld( |
- world_id, &source, 1, 1, &values); |
- // Since only one script was added, only one result is expected |
- if (values.size() == 1 && !values[0].IsEmpty()) |
- return values[0]; |
- return v8::Local<v8::Value>(); |
-} |
- |
-void TestRunner::EvaluateScriptInIsolatedWorld(int world_id, |
- const std::string& script) { |
- WebScriptSource source(WebString::fromUTF8(script)); |
- web_view_->focusedFrame()->executeScriptInIsolatedWorld( |
- world_id, &source, 1, 1); |
-} |
- |
-void TestRunner::SetIsolatedWorldSecurityOrigin(int world_id, |
- v8::Local<v8::Value> origin) { |
- if (!(origin->IsString() || !origin->IsNull())) |
- return; |
- |
- WebSecurityOrigin web_origin; |
- if (origin->IsString()) { |
- web_origin = WebSecurityOrigin::createFromString( |
- V8StringToWebString(origin.As<v8::String>())); |
- } |
- web_view_->focusedFrame()->setIsolatedWorldSecurityOrigin(world_id, |
- web_origin); |
-} |
- |
-void TestRunner::SetIsolatedWorldContentSecurityPolicy( |
- int world_id, |
- const std::string& policy) { |
- web_view_->focusedFrame()->setIsolatedWorldContentSecurityPolicy( |
- world_id, WebString::fromUTF8(policy)); |
-} |
- |
-void TestRunner::AddOriginAccessWhitelistEntry( |
- const std::string& source_origin, |
- const std::string& destination_protocol, |
- const std::string& destination_host, |
- bool allow_destination_subdomains) { |
- WebURL url((GURL(source_origin))); |
- if (!url.isValid()) |
- return; |
- |
- WebSecurityPolicy::addOriginAccessWhitelistEntry( |
- url, |
- WebString::fromUTF8(destination_protocol), |
- WebString::fromUTF8(destination_host), |
- allow_destination_subdomains); |
-} |
- |
-void TestRunner::RemoveOriginAccessWhitelistEntry( |
- const std::string& source_origin, |
- const std::string& destination_protocol, |
- const std::string& destination_host, |
- bool allow_destination_subdomains) { |
- WebURL url((GURL(source_origin))); |
- if (!url.isValid()) |
- return; |
- |
- WebSecurityPolicy::removeOriginAccessWhitelistEntry( |
- url, |
- WebString::fromUTF8(destination_protocol), |
- WebString::fromUTF8(destination_host), |
- allow_destination_subdomains); |
-} |
- |
-bool TestRunner::HasCustomPageSizeStyle(int page_index) { |
- WebFrame* frame = web_view_->mainFrame(); |
- if (!frame) |
- return false; |
- return frame->hasCustomPageSizeStyle(page_index); |
-} |
- |
-void TestRunner::ForceRedSelectionColors() { |
- web_view_->setSelectionColors(0xffee0000, 0xff00ee00, 0xff000000, 0xffc0c0c0); |
-} |
- |
-void TestRunner::InsertStyleSheet(const std::string& source_code) { |
- WebLocalFrame::frameForCurrentContext()->document().insertStyleSheet( |
- WebString::fromUTF8(source_code)); |
-} |
- |
-bool TestRunner::FindString(const std::string& search_text, |
- const std::vector<std::string>& options_array) { |
- WebFindOptions find_options; |
- bool wrap_around = false; |
- find_options.matchCase = true; |
- find_options.findNext = true; |
- |
- for (const std::string& option : options_array) { |
- if (option == "CaseInsensitive") |
- find_options.matchCase = false; |
- else if (option == "Backwards") |
- find_options.forward = false; |
- else if (option == "StartInSelection") |
- find_options.findNext = false; |
- else if (option == "AtWordStarts") |
- find_options.wordStart = true; |
- else if (option == "TreatMedialCapitalAsWordStart") |
- find_options.medialCapitalAsWordStart = true; |
- else if (option == "WrapAround") |
- wrap_around = true; |
- } |
- |
- WebFrame* frame = web_view_->mainFrame(); |
- const bool find_result = frame->find(0, WebString::fromUTF8(search_text), |
- find_options, wrap_around, 0); |
- frame->stopFinding(false); |
- return find_result; |
-} |
- |
-std::string TestRunner::SelectionAsMarkup() { |
- return web_view_->mainFrame()->selectionAsMarkup().utf8(); |
-} |
- |
-void TestRunner::SetTextSubpixelPositioning(bool value) { |
-#if defined(__linux__) || defined(ANDROID) |
- // Since FontConfig doesn't provide a variable to control subpixel |
- // positioning, we'll fall back to setting it globally for all fonts. |
- WebFontRendering::setSubpixelPositioning(value); |
-#endif |
-} |
- |
-void TestRunner::SetPageVisibility(const std::string& new_visibility) { |
- if (new_visibility == "visible") |
- web_view_->setVisibilityState(WebPageVisibilityStateVisible, false); |
- else if (new_visibility == "hidden") |
- web_view_->setVisibilityState(WebPageVisibilityStateHidden, false); |
- else if (new_visibility == "prerender") |
- web_view_->setVisibilityState(WebPageVisibilityStatePrerender, false); |
-} |
- |
-void TestRunner::SetTextDirection(const std::string& direction_name) { |
- // Map a direction name to a WebTextDirection value. |
- WebTextDirection direction; |
- if (direction_name == "auto") |
- direction = WebTextDirectionDefault; |
- else if (direction_name == "rtl") |
- direction = WebTextDirectionRightToLeft; |
- else if (direction_name == "ltr") |
- direction = WebTextDirectionLeftToRight; |
- else |
- return; |
- |
- web_view_->setTextDirection(direction); |
-} |
- |
-void TestRunner::UseUnfortunateSynchronousResizeMode() { |
- delegate_->UseUnfortunateSynchronousResizeMode(true); |
-} |
- |
-bool TestRunner::EnableAutoResizeMode(int min_width, |
- int min_height, |
- int max_width, |
- int max_height) { |
- WebSize min_size(min_width, min_height); |
- WebSize max_size(max_width, max_height); |
- delegate_->EnableAutoResizeMode(min_size, max_size); |
- return true; |
-} |
- |
-bool TestRunner::DisableAutoResizeMode(int new_width, int new_height) { |
- WebSize new_size(new_width, new_height); |
- delegate_->DisableAutoResizeMode(new_size); |
- return true; |
-} |
- |
-void TestRunner::SetMockDeviceLight(double value) { |
- delegate_->SetDeviceLightData(value); |
-} |
- |
-void TestRunner::ResetDeviceLight() { |
- delegate_->SetDeviceLightData(-1); |
-} |
- |
-void TestRunner::SetMockDeviceMotion( |
- bool has_acceleration_x, double acceleration_x, |
- bool has_acceleration_y, double acceleration_y, |
- bool has_acceleration_z, double acceleration_z, |
- bool has_acceleration_including_gravity_x, |
- double acceleration_including_gravity_x, |
- bool has_acceleration_including_gravity_y, |
- double acceleration_including_gravity_y, |
- bool has_acceleration_including_gravity_z, |
- double acceleration_including_gravity_z, |
- bool has_rotation_rate_alpha, double rotation_rate_alpha, |
- bool has_rotation_rate_beta, double rotation_rate_beta, |
- bool has_rotation_rate_gamma, double rotation_rate_gamma, |
- double interval) { |
- WebDeviceMotionData motion; |
- |
- // acceleration |
- motion.hasAccelerationX = has_acceleration_x; |
- motion.accelerationX = acceleration_x; |
- motion.hasAccelerationY = has_acceleration_y; |
- motion.accelerationY = acceleration_y; |
- motion.hasAccelerationZ = has_acceleration_z; |
- motion.accelerationZ = acceleration_z; |
- |
- // accelerationIncludingGravity |
- motion.hasAccelerationIncludingGravityX = |
- has_acceleration_including_gravity_x; |
- motion.accelerationIncludingGravityX = acceleration_including_gravity_x; |
- motion.hasAccelerationIncludingGravityY = |
- has_acceleration_including_gravity_y; |
- motion.accelerationIncludingGravityY = acceleration_including_gravity_y; |
- motion.hasAccelerationIncludingGravityZ = |
- has_acceleration_including_gravity_z; |
- motion.accelerationIncludingGravityZ = acceleration_including_gravity_z; |
- |
- // rotationRate |
- motion.hasRotationRateAlpha = has_rotation_rate_alpha; |
- motion.rotationRateAlpha = rotation_rate_alpha; |
- motion.hasRotationRateBeta = has_rotation_rate_beta; |
- motion.rotationRateBeta = rotation_rate_beta; |
- motion.hasRotationRateGamma = has_rotation_rate_gamma; |
- motion.rotationRateGamma = rotation_rate_gamma; |
- |
- // interval |
- motion.interval = interval; |
- |
- delegate_->SetDeviceMotionData(motion); |
-} |
- |
-void TestRunner::SetMockDeviceOrientation(bool has_alpha, double alpha, |
- bool has_beta, double beta, |
- bool has_gamma, double gamma, |
- bool has_absolute, bool absolute) { |
- WebDeviceOrientationData orientation; |
- |
- // alpha |
- orientation.hasAlpha = has_alpha; |
- orientation.alpha = alpha; |
- |
- // beta |
- orientation.hasBeta = has_beta; |
- orientation.beta = beta; |
- |
- // gamma |
- orientation.hasGamma = has_gamma; |
- orientation.gamma = gamma; |
- |
- // absolute |
- orientation.hasAbsolute = has_absolute; |
- orientation.absolute = absolute; |
- |
- delegate_->SetDeviceOrientationData(orientation); |
-} |
- |
-void TestRunner::SetMockScreenOrientation(const std::string& orientation_str) { |
- blink::WebScreenOrientationType orientation; |
- |
- if (orientation_str == "portrait-primary") { |
- orientation = WebScreenOrientationPortraitPrimary; |
- } else if (orientation_str == "portrait-secondary") { |
- orientation = WebScreenOrientationPortraitSecondary; |
- } else if (orientation_str == "landscape-primary") { |
- orientation = WebScreenOrientationLandscapePrimary; |
- } else if (orientation_str == "landscape-secondary") { |
- orientation = WebScreenOrientationLandscapeSecondary; |
- } |
- |
- delegate_->SetScreenOrientation(orientation); |
-} |
- |
-void TestRunner::DidChangeBatteryStatus(bool charging, |
- double chargingTime, |
- double dischargingTime, |
- double level) { |
- blink::WebBatteryStatus status; |
- status.charging = charging; |
- status.chargingTime = chargingTime; |
- status.dischargingTime = dischargingTime; |
- status.level = level; |
- delegate_->DidChangeBatteryStatus(status); |
-} |
- |
-void TestRunner::ResetBatteryStatus() { |
- blink::WebBatteryStatus status; |
- delegate_->DidChangeBatteryStatus(status); |
-} |
- |
-void TestRunner::DidAcquirePointerLock() { |
- DidAcquirePointerLockInternal(); |
-} |
- |
-void TestRunner::DidNotAcquirePointerLock() { |
- DidNotAcquirePointerLockInternal(); |
-} |
- |
-void TestRunner::DidLosePointerLock() { |
- DidLosePointerLockInternal(); |
-} |
- |
-void TestRunner::SetPointerLockWillFailSynchronously() { |
- pointer_lock_planned_result_ = PointerLockWillFailSync; |
-} |
- |
-void TestRunner::SetPointerLockWillRespondAsynchronously() { |
- pointer_lock_planned_result_ = PointerLockWillRespondAsync; |
-} |
- |
-void TestRunner::SetPopupBlockingEnabled(bool block_popups) { |
- delegate_->Preferences()->java_script_can_open_windows_automatically = |
- !block_popups; |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::SetJavaScriptCanAccessClipboard(bool can_access) { |
- delegate_->Preferences()->java_script_can_access_clipboard = can_access; |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::SetXSSAuditorEnabled(bool enabled) { |
- delegate_->Preferences()->xss_auditor_enabled = enabled; |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::SetAllowUniversalAccessFromFileURLs(bool allow) { |
- delegate_->Preferences()->allow_universal_access_from_file_urls = allow; |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::SetAllowFileAccessFromFileURLs(bool allow) { |
- delegate_->Preferences()->allow_file_access_from_file_urls = allow; |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::OverridePreference(const std::string key, |
- v8::Local<v8::Value> value) { |
- TestPreferences* prefs = delegate_->Preferences(); |
- if (key == "WebKitDefaultFontSize") { |
- prefs->default_font_size = value->Int32Value(); |
- } else if (key == "WebKitMinimumFontSize") { |
- prefs->minimum_font_size = value->Int32Value(); |
- } else if (key == "WebKitDefaultTextEncodingName") { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- prefs->default_text_encoding_name = |
- V8StringToWebString(value->ToString(isolate)); |
- } else if (key == "WebKitJavaScriptEnabled") { |
- prefs->java_script_enabled = value->BooleanValue(); |
- } else if (key == "WebKitSupportsMultipleWindows") { |
- prefs->supports_multiple_windows = value->BooleanValue(); |
- } else if (key == "WebKitDisplayImagesKey") { |
- prefs->loads_images_automatically = value->BooleanValue(); |
- } else if (key == "WebKitPluginsEnabled") { |
- prefs->plugins_enabled = value->BooleanValue(); |
- } else if (key == "WebKitJavaEnabled") { |
- prefs->java_enabled = value->BooleanValue(); |
- } else if (key == "WebKitOfflineWebApplicationCacheEnabled") { |
- prefs->offline_web_application_cache_enabled = value->BooleanValue(); |
- } else if (key == "WebKitTabToLinksPreferenceKey") { |
- prefs->tabs_to_links = value->BooleanValue(); |
- } else if (key == "WebKitWebGLEnabled") { |
- prefs->experimental_webgl_enabled = value->BooleanValue(); |
- } else if (key == "WebKitCSSRegionsEnabled") { |
- prefs->experimental_css_regions_enabled = value->BooleanValue(); |
- } else if (key == "WebKitCSSGridLayoutEnabled") { |
- prefs->experimental_css_grid_layout_enabled = value->BooleanValue(); |
- } else if (key == "WebKitHyperlinkAuditingEnabled") { |
- prefs->hyperlink_auditing_enabled = value->BooleanValue(); |
- } else if (key == "WebKitEnableCaretBrowsing") { |
- prefs->caret_browsing_enabled = value->BooleanValue(); |
- } else if (key == "WebKitAllowDisplayingInsecureContent") { |
- prefs->allow_display_of_insecure_content = value->BooleanValue(); |
- } else if (key == "WebKitAllowRunningInsecureContent") { |
- prefs->allow_running_of_insecure_content = value->BooleanValue(); |
- } else if (key == "WebKitDisableReadingFromCanvas") { |
- prefs->disable_reading_from_canvas = value->BooleanValue(); |
- } else if (key == "WebKitStrictMixedContentChecking") { |
- prefs->strict_mixed_content_checking = value->BooleanValue(); |
- } else if (key == "WebKitStrictPowerfulFeatureRestrictions") { |
- prefs->strict_powerful_feature_restrictions = value->BooleanValue(); |
- } else if (key == "WebKitShouldRespectImageOrientation") { |
- prefs->should_respect_image_orientation = value->BooleanValue(); |
- } else if (key == "WebKitWebAudioEnabled") { |
- DCHECK(value->BooleanValue()); |
- } else if (key == "WebKitWebSecurityEnabled") { |
- prefs->web_security_enabled = value->BooleanValue(); |
- } else { |
- std::string message("Invalid name for preference: "); |
- message.append(key); |
- delegate_->PrintMessage(std::string("CONSOLE MESSAGE: ") + message + "\n"); |
- } |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::SetAcceptLanguages(const std::string& accept_languages) { |
- proxy_->SetAcceptLanguages(accept_languages); |
-} |
- |
-void TestRunner::SetPluginsEnabled(bool enabled) { |
- delegate_->Preferences()->plugins_enabled = enabled; |
- delegate_->ApplyPreferences(); |
-} |
- |
-void TestRunner::DumpEditingCallbacks() { |
- dump_editting_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpAsMarkup() { |
- dump_as_markup_ = true; |
- generate_pixel_results_ = false; |
-} |
- |
-void TestRunner::DumpAsText() { |
- dump_as_text_ = true; |
- generate_pixel_results_ = false; |
-} |
- |
-void TestRunner::DumpAsTextWithPixelResults() { |
- dump_as_text_ = true; |
- generate_pixel_results_ = true; |
-} |
- |
-void TestRunner::DumpChildFrameScrollPositions() { |
- dump_child_frame_scroll_positions_ = true; |
-} |
- |
-void TestRunner::DumpChildFramesAsMarkup() { |
- dump_child_frames_as_markup_ = true; |
-} |
- |
-void TestRunner::DumpChildFramesAsText() { |
- dump_child_frames_as_text_ = true; |
-} |
- |
-void TestRunner::DumpIconChanges() { |
- dump_icon_changes_ = true; |
-} |
- |
-void TestRunner::SetAudioData(const gin::ArrayBufferView& view) { |
- unsigned char* bytes = static_cast<unsigned char*>(view.bytes()); |
- audio_data_.resize(view.num_bytes()); |
- std::copy(bytes, bytes + view.num_bytes(), audio_data_.begin()); |
- dump_as_audio_ = true; |
-} |
- |
-void TestRunner::DumpFrameLoadCallbacks() { |
- dump_frame_load_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpPingLoaderCallbacks() { |
- dump_ping_loader_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpUserGestureInFrameLoadCallbacks() { |
- dump_user_gesture_in_frame_load_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpTitleChanges() { |
- dump_title_changes_ = true; |
-} |
- |
-void TestRunner::DumpCreateView() { |
- dump_create_view_ = true; |
-} |
- |
-void TestRunner::SetCanOpenWindows() { |
- can_open_windows_ = true; |
-} |
- |
-void TestRunner::DumpResourceLoadCallbacks() { |
- dump_resource_load_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpResourceRequestCallbacks() { |
- dump_resource_request_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpResourceResponseMIMETypes() { |
- dump_resource_response_mime_types_ = true; |
-} |
- |
-void TestRunner::SetImagesAllowed(bool allowed) { |
- web_content_settings_->SetImagesAllowed(allowed); |
-} |
- |
-void TestRunner::SetMediaAllowed(bool allowed) { |
- web_content_settings_->SetMediaAllowed(allowed); |
-} |
- |
-void TestRunner::SetScriptsAllowed(bool allowed) { |
- web_content_settings_->SetScriptsAllowed(allowed); |
-} |
- |
-void TestRunner::SetStorageAllowed(bool allowed) { |
- web_content_settings_->SetStorageAllowed(allowed); |
-} |
- |
-void TestRunner::SetPluginsAllowed(bool allowed) { |
- web_content_settings_->SetPluginsAllowed(allowed); |
-} |
- |
-void TestRunner::SetAllowDisplayOfInsecureContent(bool allowed) { |
- web_content_settings_->SetDisplayingInsecureContentAllowed(allowed); |
-} |
- |
-void TestRunner::SetAllowRunningOfInsecureContent(bool allowed) { |
- web_content_settings_->SetRunningInsecureContentAllowed(allowed); |
-} |
- |
-void TestRunner::DumpPermissionClientCallbacks() { |
- web_content_settings_->SetDumpCallbacks(true); |
-} |
- |
-void TestRunner::DumpWindowStatusChanges() { |
- dump_window_status_changes_ = true; |
-} |
- |
-void TestRunner::DumpProgressFinishedCallback() { |
- dump_progress_finished_callback_ = true; |
-} |
- |
-void TestRunner::DumpSpellCheckCallbacks() { |
- dump_spell_check_callbacks_ = true; |
-} |
- |
-void TestRunner::DumpBackForwardList() { |
- dump_back_forward_list_ = true; |
-} |
- |
-void TestRunner::DumpSelectionRect() { |
- dump_selection_rect_ = true; |
-} |
- |
-void TestRunner::SetPrinting() { |
- is_printing_ = true; |
-} |
- |
-void TestRunner::ClearPrinting() { |
- is_printing_ = false; |
-} |
- |
-void TestRunner::SetShouldStayOnPageAfterHandlingBeforeUnload(bool value) { |
- should_stay_on_page_after_handling_before_unload_ = value; |
-} |
- |
-void TestRunner::SetWillSendRequestClearHeader(const std::string& header) { |
- if (!header.empty()) |
- http_headers_to_clear_.insert(header); |
-} |
- |
-void TestRunner::DumpResourceRequestPriorities() { |
- should_dump_resource_priorities_ = true; |
-} |
- |
-void TestRunner::SetUseMockTheme(bool use) { |
- use_mock_theme_ = use; |
-} |
- |
-void TestRunner::ShowWebInspector(const std::string& str, |
- const std::string& frontend_url) { |
- ShowDevTools(str, frontend_url); |
-} |
- |
-void TestRunner::WaitUntilExternalURLLoad() { |
- wait_until_external_url_load_ = true; |
-} |
- |
-void TestRunner::DumpDragImage() { |
- DumpAsTextWithPixelResults(); |
- dump_drag_image_ = true; |
-} |
- |
-void TestRunner::DumpNavigationPolicy() { |
- dump_navigation_policy_ = true; |
-} |
- |
-void TestRunner::CloseWebInspector() { |
- delegate_->CloseDevTools(); |
-} |
- |
-bool TestRunner::IsChooserShown() { |
- return proxy_->IsChooserShown(); |
-} |
- |
-void TestRunner::EvaluateInWebInspector(int call_id, |
- const std::string& script) { |
- delegate_->EvaluateInWebInspector(call_id, script); |
-} |
- |
-void TestRunner::ClearAllDatabases() { |
- delegate_->ClearAllDatabases(); |
-} |
- |
-void TestRunner::SetDatabaseQuota(int quota) { |
- delegate_->SetDatabaseQuota(quota); |
-} |
- |
-void TestRunner::SetAlwaysAcceptCookies(bool accept) { |
- delegate_->SetAcceptAllCookies(accept); |
-} |
- |
-void TestRunner::SetWindowIsKey(bool value) { |
- delegate_->SetFocus(proxy_, value); |
-} |
- |
-std::string TestRunner::PathToLocalResource(const std::string& path) { |
- return delegate_->PathToLocalResource(path); |
-} |
- |
-void TestRunner::SetBackingScaleFactor(double value, |
- v8::Local<v8::Function> callback) { |
- delegate_->SetDeviceScaleFactor(value); |
- delegate_->PostTask(new InvokeCallbackTask(this, callback)); |
-} |
- |
-void TestRunner::SetColorProfile(const std::string& name, |
- v8::Local<v8::Function> callback) { |
- delegate_->SetDeviceColorProfile(name); |
- delegate_->PostTask(new InvokeCallbackTask(this, callback)); |
-} |
- |
-void TestRunner::SetBluetoothMockDataSet(const std::string& name) { |
- delegate_->SetBluetoothMockDataSet(name); |
-} |
- |
-void TestRunner::SetGeofencingMockProvider(bool service_available) { |
- delegate_->SetGeofencingMockProvider(service_available); |
-} |
- |
-void TestRunner::ClearGeofencingMockProvider() { |
- delegate_->ClearGeofencingMockProvider(); |
-} |
- |
-void TestRunner::SetGeofencingMockPosition(double latitude, double longitude) { |
- delegate_->SetGeofencingMockPosition(latitude, longitude); |
-} |
- |
-void TestRunner::SetPermission(const std::string& name, |
- const std::string& value, |
- const GURL& origin, |
- const GURL& embedding_origin) { |
- delegate_->SetPermission(name, value, origin, embedding_origin); |
-} |
- |
-void TestRunner::DispatchBeforeInstallPromptEvent( |
- int request_id, |
- const std::vector<std::string>& event_platforms, |
- v8::Local<v8::Function> callback) { |
- scoped_ptr<InvokeCallbackTask> task( |
- new InvokeCallbackTask(this, callback)); |
- |
- delegate_->DispatchBeforeInstallPromptEvent( |
- request_id, event_platforms, |
- base::Bind(&TestRunner::DispatchBeforeInstallPromptCallback, |
- weak_factory_.GetWeakPtr(), base::Passed(&task))); |
-} |
- |
-void TestRunner::ResolveBeforeInstallPromptPromise( |
- int request_id, |
- const std::string& platform) { |
- delegate_->ResolveBeforeInstallPromptPromise(request_id, platform); |
-} |
- |
-void TestRunner::SetPOSIXLocale(const std::string& locale) { |
- delegate_->SetLocale(locale); |
-} |
- |
-void TestRunner::SetMIDIAccessorResult(bool result) { |
- midi_accessor_result_ = result; |
-} |
- |
-void TestRunner::SimulateWebNotificationClick(const std::string& title) { |
- delegate_->SimulateWebNotificationClick(title); |
-} |
- |
-void TestRunner::AddMockSpeechRecognitionResult(const std::string& transcript, |
- double confidence) { |
- proxy_->GetSpeechRecognizerMock()->AddMockResult( |
- WebString::fromUTF8(transcript), confidence); |
-} |
- |
-void TestRunner::SetMockSpeechRecognitionError(const std::string& error, |
- const std::string& message) { |
- proxy_->GetSpeechRecognizerMock()->SetError(WebString::fromUTF8(error), |
- WebString::fromUTF8(message)); |
-} |
- |
-bool TestRunner::WasMockSpeechRecognitionAborted() { |
- return proxy_->GetSpeechRecognizerMock()->WasAborted(); |
-} |
- |
-void TestRunner::AddMockCredentialManagerResponse(const std::string& id, |
- const std::string& name, |
- const std::string& avatar, |
- const std::string& password) { |
- proxy_->GetCredentialManagerClientMock()->SetResponse( |
- new WebLocalCredential(WebString::fromUTF8(id), |
- WebString::fromUTF8(name), |
- WebURL(GURL(avatar)), |
- WebString::fromUTF8(password))); |
-} |
- |
-void TestRunner::AddWebPageOverlay() { |
- if (web_view_ && !page_overlay_) { |
- page_overlay_ = new TestPageOverlay; |
- web_view_->addPageOverlay(page_overlay_, 0); |
- } |
-} |
- |
-void TestRunner::RemoveWebPageOverlay() { |
- if (web_view_ && page_overlay_) { |
- web_view_->removePageOverlay(page_overlay_); |
- delete page_overlay_; |
- page_overlay_ = nullptr; |
- } |
-} |
- |
-void TestRunner::LayoutAndPaintAsync() { |
- proxy_->LayoutAndPaintAsyncThen(base::Closure()); |
-} |
- |
-void TestRunner::LayoutAndPaintAsyncThen(v8::Local<v8::Function> callback) { |
- scoped_ptr<InvokeCallbackTask> task( |
- new InvokeCallbackTask(this, callback)); |
- proxy_->LayoutAndPaintAsyncThen(base::Bind(&TestRunner::InvokeCallback, |
- weak_factory_.GetWeakPtr(), |
- base::Passed(&task))); |
-} |
- |
-void TestRunner::GetManifestThen(v8::Local<v8::Function> callback) { |
- scoped_ptr<InvokeCallbackTask> task( |
- new InvokeCallbackTask(this, callback)); |
- |
- delegate_->FetchManifest( |
- web_view_, web_view_->mainFrame()->document().manifestURL(), |
- base::Bind(&TestRunner::GetManifestCallback, weak_factory_.GetWeakPtr(), |
- base::Passed(&task))); |
-} |
- |
-void TestRunner::CapturePixelsAsyncThen(v8::Local<v8::Function> callback) { |
- scoped_ptr<InvokeCallbackTask> task( |
- new InvokeCallbackTask(this, callback)); |
- proxy_->CapturePixelsAsync(base::Bind(&TestRunner::CapturePixelsCallback, |
- weak_factory_.GetWeakPtr(), |
- base::Passed(&task))); |
-} |
- |
-void TestRunner::ForceNextWebGLContextCreationToFail() { |
- if (web_view_) |
- web_view_->forceNextWebGLContextCreationToFail(); |
-} |
- |
-void TestRunner::ForceNextDrawingBufferCreationToFail() { |
- if (web_view_) |
- web_view_->forceNextDrawingBufferCreationToFail(); |
-} |
- |
-void TestRunner::CopyImageAtAndCapturePixelsAsyncThen( |
- int x, int y, v8::Local<v8::Function> callback) { |
- scoped_ptr<InvokeCallbackTask> task( |
- new InvokeCallbackTask(this, callback)); |
- proxy_->CopyImageAtAndCapturePixels( |
- x, y, base::Bind(&TestRunner::CapturePixelsCallback, |
- weak_factory_.GetWeakPtr(), |
- base::Passed(&task))); |
-} |
- |
-void TestRunner::GetManifestCallback(scoped_ptr<InvokeCallbackTask> task, |
- const blink::WebURLResponse& response, |
- const std::string& data) { |
- InvokeCallback(task.Pass()); |
-} |
- |
-void TestRunner::CapturePixelsCallback(scoped_ptr<InvokeCallbackTask> task, |
- const SkBitmap& snapshot) { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- v8::HandleScope handle_scope(isolate); |
- |
- v8::Local<v8::Context> context = |
- web_view_->mainFrame()->mainWorldScriptContext(); |
- if (context.IsEmpty()) |
- return; |
- |
- v8::Context::Scope context_scope(context); |
- v8::Local<v8::Value> argv[3]; |
- SkAutoLockPixels snapshot_lock(snapshot); |
- |
- // Size can be 0 for cases where copyImageAt was called on position |
- // that doesn't have an image. |
- int width = snapshot.info().width(); |
- argv[0] = v8::Number::New(isolate, width); |
- |
- int height = snapshot.info().height(); |
- argv[1] = v8::Number::New(isolate, height); |
- |
- blink::WebArrayBuffer buffer = |
- blink::WebArrayBuffer::create(snapshot.getSize(), 1); |
- memcpy(buffer.data(), snapshot.getPixels(), buffer.byteLength()); |
-#if (SK_R32_SHIFT == 16) && !SK_B32_SHIFT |
- { |
- // Skia's internal byte order is BGRA. Must swap the B and R channels in |
- // order to provide a consistent ordering to the layout tests. |
- unsigned char* pixels = static_cast<unsigned char*>(buffer.data()); |
- unsigned len = buffer.byteLength(); |
- for (unsigned i = 0; i < len; i += 4) { |
- std::swap(pixels[i], pixels[i + 2]); |
- } |
- } |
-#endif |
- |
- argv[2] = blink::WebArrayBufferConverter::toV8Value( |
- &buffer, context->Global(), isolate); |
- |
- task->SetArguments(3, argv); |
- InvokeCallback(task.Pass()); |
-} |
- |
-void TestRunner::DispatchBeforeInstallPromptCallback( |
- scoped_ptr<InvokeCallbackTask> task, |
- bool canceled) { |
- v8::Isolate* isolate = blink::mainThreadIsolate(); |
- v8::HandleScope handle_scope(isolate); |
- |
- v8::Local<v8::Context> context = |
- web_view_->mainFrame()->mainWorldScriptContext(); |
- if (context.IsEmpty()) |
- return; |
- |
- v8::Context::Scope context_scope(context); |
- v8::Local<v8::Value> argv[1]; |
- argv[0] = v8::Boolean::New(isolate, canceled); |
- |
- task->SetArguments(1, argv); |
- InvokeCallback(task.Pass()); |
-} |
- |
-void TestRunner::LocationChangeDone() { |
- web_history_item_count_ = delegate_->NavigationEntryCount(); |
- |
- // No more new work after the first complete load. |
- work_queue_.set_frozen(true); |
- |
- if (!wait_until_done_) |
- work_queue_.ProcessWorkSoon(); |
-} |
- |
-void TestRunner::CheckResponseMimeType() { |
- // Text output: the test page can request different types of output which we |
- // handle here. |
- if (!dump_as_text_) { |
- std::string mimeType = |
- web_view_->mainFrame()->dataSource()->response().mimeType().utf8(); |
- if (mimeType == "text/plain") { |
- dump_as_text_ = true; |
- generate_pixel_results_ = false; |
- } |
- } |
-} |
- |
-void TestRunner::CompleteNotifyDone() { |
- if (wait_until_done_ && !topLoadingFrame() && work_queue_.is_empty()) |
- delegate_->TestFinished(); |
- wait_until_done_ = false; |
-} |
- |
-void TestRunner::DidAcquirePointerLockInternal() { |
- pointer_locked_ = true; |
- web_view_->didAcquirePointerLock(); |
- |
- // Reset planned result to default. |
- pointer_lock_planned_result_ = PointerLockWillSucceed; |
-} |
- |
-void TestRunner::DidNotAcquirePointerLockInternal() { |
- DCHECK(!pointer_locked_); |
- pointer_locked_ = false; |
- web_view_->didNotAcquirePointerLock(); |
- |
- // Reset planned result to default. |
- pointer_lock_planned_result_ = PointerLockWillSucceed; |
-} |
- |
-void TestRunner::DidLosePointerLockInternal() { |
- bool was_locked = pointer_locked_; |
- pointer_locked_ = false; |
- if (was_locked) |
- web_view_->didLosePointerLock(); |
-} |
- |
-} // namespace content |