summaryrefslogtreecommitdiff
path: root/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h')
-rw-r--r--Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h58
1 files changed, 43 insertions, 15 deletions
diff --git a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
index 170c8ac70..2edd5e797 100644
--- a/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
+++ b/Tools/WebKitTestRunner/InjectedBundle/InjectedBundle.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010, 2011, 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2010-2016 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,29 +23,30 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef InjectedBundle_h
-#define InjectedBundle_h
+#pragma once
-#include "AccessibilityController.h"
#include "EventSendingController.h"
#include "GCController.h"
#include "TestRunner.h"
#include "TextInputController.h"
-#include <WebKit2/WKBase.h>
-#include <WebKit2/WKRetainPtr.h>
+#include <WebKit/WKBase.h>
+#include <WebKit/WKRetainPtr.h>
#include <sstream>
#include <wtf/Forward.h>
-#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#if HAVE(ACCESSIBILITY)
+#include "AccessibilityController.h"
+#endif
+
namespace WTR {
class InjectedBundlePage;
class InjectedBundle {
public:
- static InjectedBundle& shared();
+ static InjectedBundle& singleton();
// Initialize the InjectedBundle.
void initialize(WKBundleRef, WKTypeRef initializationUserData);
@@ -57,7 +58,9 @@ public:
GCController* gcController() { return m_gcController.get(); }
EventSendingController* eventSendingController() { return m_eventSendingController.get(); }
TextInputController* textInputController() { return m_textInputController.get(); }
+#if HAVE(ACCESSIBILITY)
AccessibilityController* accessibilityController() { return m_accessibilityController.get(); }
+#endif
InjectedBundlePage* page() const;
size_t pageCount() const { return m_pages.size(); }
@@ -67,7 +70,8 @@ public:
void done();
void setAudioResult(WKDataRef audioData) { m_audioResult = audioData; }
- void setPixelResult(WKImageRef image) { m_pixelResult = image; }
+ void setPixelResult(WKImageRef image) { m_pixelResult = image; m_pixelResultIsPending = false; }
+ void setPixelResultIsPending(bool isPending) { m_pixelResultIsPending = isPending; }
void setRepaintRects(WKArrayRef rects) { m_repaintRects = rects; }
bool isTestRunning() { return m_state == Testing; }
@@ -77,38 +81,58 @@ public:
bool shouldDumpPixels() const { return m_dumpPixels; }
bool useWaitToDumpWatchdogTimer() const { return m_useWaitToDumpWatchdogTimer; }
-
+ bool dumpJSConsoleLogInStdErr() const { return m_dumpJSConsoleLogInStdErr; };
+
void outputText(const String&);
+ void dumpToStdErr(const String&);
void postNewBeforeUnloadReturnValue(bool);
void postAddChromeInputField();
void postRemoveChromeInputField();
void postFocusWebView();
void postSetBackingScaleFactor(double);
void postSetWindowIsKey(bool);
+ void postSetViewSize(double width, double height);
void postSimulateWebNotificationClick(uint64_t notificationID);
+ void postSetAddsVisitedLinks(bool);
// Geolocation.
void setGeolocationPermission(bool);
void setMockGeolocationPosition(double latitude, double longitude, double accuracy, bool providesAltitude, double altitude, bool providesAltitudeAccuracy, double altitudeAccuracy, bool providesHeading, double heading, bool providesSpeed, double speed);
void setMockGeolocationPositionUnavailableError(WKStringRef errorMessage);
+ bool isGeolocationProviderActive() const;
+
+ // MediaStream.
+ void setUserMediaPermission(bool);
+ void setUserMediaPersistentPermissionForOrigin(bool permission, WKStringRef origin, WKStringRef parentOrigin);
+ unsigned userMediaPermissionRequestCountForOrigin(WKStringRef origin, WKStringRef parentOrigin) const;
+ void resetUserMediaPermissionRequestCountForOrigin(WKStringRef origin, WKStringRef parentOrigin);
// Policy delegate.
void setCustomPolicyDelegate(bool enabled, bool permissive);
// Page Visibility.
- void setVisibilityState(WKPageVisibilityState, bool isInitialState);
+ void setHidden(bool);
+
+ // Cache.
+ void setCacheModel(int);
// Work queue.
bool shouldProcessWorkQueue() const;
void processWorkQueue();
void queueBackNavigation(unsigned howFarBackward);
void queueForwardNavigation(unsigned howFarForward);
- void queueLoad(WKStringRef url, WKStringRef target);
+ void queueLoad(WKStringRef url, WKStringRef target, bool shouldOpenExternalURLs = false);
void queueLoadHTMLString(WKStringRef content, WKStringRef baseURL = 0, WKStringRef unreachableURL = 0);
void queueReload();
void queueLoadingScript(WKStringRef script);
void queueNonLoadingScript(WKStringRef script);
+ bool isAllowedHost(WKStringRef);
+
+ unsigned imageCountInGeneralPasteboard() const;
+
+ void setAllowsAnySSLCertificate(bool);
+
private:
InjectedBundle();
~InjectedBundle();
@@ -134,9 +158,11 @@ private:
WKBundleRef m_bundle;
WKBundlePageGroupRef m_pageGroup;
- Vector<OwnPtr<InjectedBundlePage> > m_pages;
+ Vector<std::unique_ptr<InjectedBundlePage>> m_pages;
+#if HAVE(ACCESSIBILITY)
RefPtr<AccessibilityController> m_accessibilityController;
+#endif
RefPtr<TestRunner> m_testRunner;
RefPtr<GCController> m_gcController;
RefPtr<EventSendingController> m_eventSendingController;
@@ -155,12 +181,14 @@ private:
bool m_useWaitToDumpWatchdogTimer;
bool m_useWorkQueue;
int m_timeout;
+ bool m_pixelResultIsPending { false };
+ bool m_dumpJSConsoleLogInStdErr { false };
WKRetainPtr<WKDataRef> m_audioResult;
WKRetainPtr<WKImageRef> m_pixelResult;
WKRetainPtr<WKArrayRef> m_repaintRects;
+
+ Vector<String> m_allowedHosts;
};
} // namespace WTR
-
-#endif // InjectedBundle_h