diff options
Diffstat (limited to 'webkit/tools')
-rw-r--r-- | webkit/tools/layout_tests/test_expectations.txt | 10 | ||||
-rw-r--r-- | webkit/tools/test_shell/layout_test_controller.cc | 24 | ||||
-rw-r--r-- | webkit/tools/test_shell/layout_test_controller.h | 3 |
3 files changed, 28 insertions, 9 deletions
diff --git a/webkit/tools/layout_tests/test_expectations.txt b/webkit/tools/layout_tests/test_expectations.txt index 186dac9..e9587c3 100644 --- a/webkit/tools/layout_tests/test_expectations.txt +++ b/webkit/tools/layout_tests/test_expectations.txt @@ -1948,6 +1948,7 @@ BUG10475 WIN LINUX : LayoutTests/fast/forms/range-thumb-height-percentage.html = SKIP BUG9613 : LayoutTests/fast/dom/clientWidthAfterDocumentIsRemoved.html = PASS BUG10476 : LayoutTests/http/tests/xmlhttprequest/redirect-cross-origin-post.html = FAIL PASS +BUG10476 : LayoutTests/http/tests/xmlhttprequest/redirect-cross-origin-post-sync.html = FAIL PASS // Merge WebKit 42133:42199 regressions BUG10477 WIN LINUX : LayoutTests/fast/repaint/reflection-repaint-test.html = FAIL @@ -2893,12 +2894,3 @@ BUG19842 MAC : LayoutTests/fast/forms/input-type-change2.html = CRASH // New test. WebKit change http://trac.webkit.org/changeset/47431 // Does not work in Chromium yet (not supporting wav format) BUG19904 WIN : LayoutTests/media/progress-event-at-least-one.html = FAIL TIMEOUT - -// WebKit merge 47546:47575 new tests, WebKit change http://trac.webkit.org/changeset/47548 -BUG19835 LINUX WIN : LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-all.html = TIMEOUT -BUG19835 LINUX WIN : LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-exact-match.html = TIMEOUT -BUG19835 LINUX WIN : LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-https.html = TIMEOUT -BUG19835 LINUX WIN : LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html = TIMEOUT -BUG19835 LINUX WIN : LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html = TIMEOUT -BUG19835 LINUX WIN : LayoutTests/http/tests/xmlhttprequest/origin-whitelisting-subdomains.html = TIMEOUT - 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()); +} diff --git a/webkit/tools/test_shell/layout_test_controller.h b/webkit/tools/test_shell/layout_test_controller.h index c16f185..47cda91 100644 --- a/webkit/tools/test_shell/layout_test_controller.h +++ b/webkit/tools/test_shell/layout_test_controller.h @@ -191,6 +191,9 @@ class LayoutTestController : public CppBoundClass { // that case (as the Mac does). void fallbackMethod(const CppArgumentList& args, CppVariant* result); + // Allows layout tests to call SecurityOrigin::whiteListAccessFromOrigin(). + void whiteListAccessFromOrigin(const CppArgumentList& args, CppVariant* result); + public: // The following methods are not exposed to JavaScript. void SetWorkQueueFrozen(bool frozen) { work_queue_.set_frozen(frozen); } |