The following tests time out in WebKit but they don't in Gecko or Chromium: http://w3c-test.org/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html http://w3c-test.org/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html Apparently the Javascript error caused by Document::canNavigate is not caught by the try statement which prevents the tests to complete. (Note: timeouts also happen for iframe_sandbox_popups_escaping-3, iframe_sandbox_popups_nonescaping-3, and iframe_sandbox_allow_top_navigation_by_user_activation_without_user_gesture but this is because of incomplete implementation, see bug 173162 and bug 171327).
Created attachment 313824 [details] Patch
Comment on attachment 313824 [details] Patch Attachment 313824 [details] did not pass mac-ews (mac): Output: http://webkit-queues.webkit.org/results/4000224 New failing tests: fast/frames/sandboxed-iframe-navigation-top-denied.html http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
Created attachment 313829 [details] Archive of layout-test-results from ews102 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews102 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Comment on attachment 313824 [details] Patch Attachment 313824 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.webkit.org/results/4000288 New failing tests: fast/frames/sandboxed-iframe-navigation-top-denied.html http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
Created attachment 313830 [details] Archive of layout-test-results from ews106 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews106 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Comment on attachment 313824 [details] Patch Attachment 313824 [details] did not pass ios-sim-ews (ios-simulator-wk2): Output: http://webkit-queues.webkit.org/results/4000305 New failing tests: fast/frames/sandboxed-iframe-navigation-top-denied.html http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
Created attachment 313831 [details] Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.5
Comment on attachment 313824 [details] Patch Attachment 313824 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/4000303 New failing tests: fast/frames/sandboxed-iframe-navigation-top-denied.html http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
Created attachment 313832 [details] Archive of layout-test-results from ews113 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Created attachment 313833 [details] Patch
Comment on attachment 313833 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=313833&action=review > Source/WebCore/page/Location.cpp:287 > + return Exception { SECURITY_ERR }; While this gives the right behavior, it is a bit obscure to return a SECURITY_ERR if findFrameForNavigation() returns null. Instead, I would stop relying on findFrameForNavigation() altogether (we are anyway not looking up a frame). Something like: ASSERT(m_frame); if (!activeWindow.document().canNavigate(m_frame)) return Exception { SECURITY_ERR }; ASSERT(m_frame->document()); ASSERT(m_frame->document()->domWindow()); m_frame->document()->domWindow()->setLocation(activeWindow, firstWindow, url); return { };
Created attachment 313903 [details] Patch
Comment on attachment 313903 [details] Patch r=me
Committed r218835: <http://trac.webkit.org/changeset/218835>