summaryrefslogtreecommitdiffstats
path: root/webkit/tools/test_shell/layout_test_controller.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/tools/test_shell/layout_test_controller.cc')
-rw-r--r--webkit/tools/test_shell/layout_test_controller.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/webkit/tools/test_shell/layout_test_controller.cc b/webkit/tools/test_shell/layout_test_controller.cc
index fe09e99..d226575 100644
--- a/webkit/tools/test_shell/layout_test_controller.cc
+++ b/webkit/tools/test_shell/layout_test_controller.cc
@@ -15,7 +15,9 @@
#include "base/path_service.h"
#include "base/string_util.h"
#include "webkit/api/public/WebFrame.h"
+#include "webkit/api/public/WebKit.h"
#include "webkit/api/public/WebScriptSource.h"
+#include "webkit/api/public/WebURL.h"
#include "webkit/glue/dom_operations.h"
#include "webkit/glue/webpreferences.h"
#include "webkit/glue/webview.h"
@@ -118,6 +120,7 @@ LayoutTestController::LayoutTestController(TestShell* shell) {
BindMethod("setCustomPolicyDelegate", &LayoutTestController::setCustomPolicyDelegate);
BindMethod("waitForPolicyDelegate", &LayoutTestController::waitForPolicyDelegate);
BindMethod("setWillSendRequestReturnsNullOnRedirect", &LayoutTestController::setWillSendRequestReturnsNullOnRedirect);
+ BindMethod("whiteListAccessFromOrigin", &LayoutTestController::whiteListAccessFromOrigin);
// The following are stubs.
BindMethod("dumpAsWebArchive", &LayoutTestController::dumpAsWebArchive);
@@ -425,6 +428,8 @@ void LayoutTestController::Reset() {
globalFlag_.Set(false);
webHistoryItemCount_.Set(0);
+ WebKit::resetOriginAccessWhiteLists();
+
if (close_remaining_windows_) {
// Iterate through the window list and close everything except the original
// shell. We don't want to delete elements as we're iterating, so we copy
@@ -924,3 +929,22 @@ void LayoutTestController::fallbackMethod(
}
result->SetNull();
}
+
+void LayoutTestController::whiteListAccessFromOrigin(
+ const CppArgumentList& args, CppVariant* result)
+{
+ result->SetNull();
+
+ if (args.size() != 4 || !args[0].isString() || !args[1].isString() ||
+ !args[2].isString() || !args[3].isBool())
+ return;
+
+ WebKit::WebURL url(GURL(args[0].ToString()));
+ if (!url.isValid())
+ return;
+
+ WebKit::whiteListAccessFromOrigin(url,
+ WebString::fromUTF8(args[1].ToString()),
+ WebString::fromUTF8(args[2].ToString()),
+ args[3].ToBoolean());
+}