Diff
Modified: trunk/LayoutTests/ChangeLog (115795 => 115796)
--- trunk/LayoutTests/ChangeLog 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/ChangeLog 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,3 +1,23 @@
+2012-05-01 Eric Seidel <[email protected]>
+
+ Add <iframe seamless> navigation code (and pass all the navigation tests)
+ https://bugs.webkit.org/show_bug.cgi?id=85340
+
+ Reviewed by Adam Barth.
+
+ Update results now that we pass all the navigation tests.
+
+ * fast/frames/seamless/seamless-form-get-expected.txt:
+ * fast/frames/seamless/seamless-form-get-named-expected.txt:
+ * fast/frames/seamless/seamless-form-post-expected.txt:
+ * fast/frames/seamless/seamless-form-post-named-expected.txt:
+ * fast/frames/seamless/seamless-hyperlink-expected.txt:
+ * fast/frames/seamless/seamless-hyperlink-named-expected.txt:
+ * fast/frames/seamless/seamless-window-location-expected.txt:
+ * fast/frames/seamless/seamless-window-location-href-expected.txt:
+ * fast/frames/seamless/seamless-window-location-sandbox-expected.txt:
+ * fast/frames/seamless/seamless-window-open-expected.txt:
+
2012-05-01 Kent Tamura <[email protected]>
[Chromium] Move date-input-visible-strings-expected.txt to the correct place.
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-form-get-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-form-get-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-form-get-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,10 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
- window._onload_=function() {
- frames[0].document.getElementsByTagName('form')[0].submit();
- }
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-form-get-named-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-form-get-named-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-form-get-named-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,10 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
- window._onload_=function() {
- frames[0].document.getElementsByTagName('form')[0].submit();
- }
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-form-post-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-form-post-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-form-post-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,10 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
- window._onload_=function() {
- frames[0].document.getElementsByTagName('form')[0].submit();
- }
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-form-post-named-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-form-post-named-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-form-post-named-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,10 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
- window._onload_=function() {
- frames[0].document.getElementsByTagName('form')[0].submit();
- }
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-hyperlink-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-hyperlink-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-hyperlink-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,10 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
- window._onload_ = function() {
- frames[0].document.getElementsByTagName('a')[0].click();
- }
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-hyperlink-named-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-hyperlink-named-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-hyperlink-named-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,10 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
- window._onload_=function() {
- frames[0].document.getElementsByTagName('a')[0].click();
- }
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-window-location-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-window-location-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-window-location-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,6 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-window-location-href-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-window-location-href-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-window-location-href-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,6 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-window-location-sandbox-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-window-location-sandbox-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-window-location-sandbox-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,3 +1,5 @@
+CONSOLE MESSAGE: Unsafe _javascript_ attempt to initiate a navigation change for frame with URL about:srcdoc from frame with URL about:srcdoc.
+
This test should not cause any navigation.
--------
@@ -8,4 +10,4 @@
--------
Frame: '<!--framePath //<!--frame0-->/<!--frame0-->-->'
--------
-
+PASS
Modified: trunk/LayoutTests/fast/frames/seamless/seamless-window-open-expected.txt (115795 => 115796)
--- trunk/LayoutTests/fast/frames/seamless/seamless-window-open-expected.txt 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/LayoutTests/fast/frames/seamless/seamless-window-open-expected.txt 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,6 +1,2 @@
-FAIL frames[0].document.body.textContent should be DONE
-. Was Waiting...
-
-
-.
+PASS frames[0].document.body.textContent is "DONE\n"
Modified: trunk/Source/WebCore/ChangeLog (115795 => 115796)
--- trunk/Source/WebCore/ChangeLog 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/Source/WebCore/ChangeLog 2012-05-02 05:54:44 UTC (rev 115796)
@@ -1,3 +1,24 @@
+2012-05-01 Eric Seidel <[email protected]>
+
+ Add <iframe seamless> navigation code (and pass all the navigation tests)
+ https://bugs.webkit.org/show_bug.cgi?id=85340
+
+ Reviewed by Adam Barth.
+
+ This code was primarily written by Adam Barth and then submitted to my
+ GitHub branch via a pull request:
+ https://github.com/eseidel/webkit/compare/master...seamless
+ https://github.com/eseidel/webkit/pull/2
+ https://github.com/eseidel/webkit/pull/3
+
+ I rewrote parts of it to use Docment::shouldDisplaySeamlesslyWithParent.
+
+ Other parts of the original change have already been committed to WebKit by Adam
+ as part of prep-work for making the loader seamless-ready.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::findFrameForNavigation):
+
2012-05-01 Vincent Scheib <[email protected]>
Fullscreen pop-up logic restored to using processingUserGesture.
Modified: trunk/Source/WebCore/loader/FrameLoader.cpp (115795 => 115796)
--- trunk/Source/WebCore/loader/FrameLoader.cpp 2012-05-02 05:12:58 UTC (rev 115795)
+++ trunk/Source/WebCore/loader/FrameLoader.cpp 2012-05-02 05:54:44 UTC (rev 115796)
@@ -2921,6 +2921,25 @@
{
Frame* frame = m_frame->tree()->find(name);
+ // From http://www.whatwg.org/specs/web-apps/current-work/#seamlessLinks:
+ //
+ // If the source browsing context is the same as the browsing context
+ // being navigated, and this browsing context has its seamless browsing
+ // context flag set, and the browsing context being navigated was not
+ // chosen using an explicit self-navigation override, then find the
+ // nearest ancestor browsing context that does not have its seamless
+ // browsing context flag set, and continue these steps as if that
+ // browsing context was the one that was going to be navigated instead.
+ if (frame == m_frame && name != "_self" && m_frame->document()->shouldDisplaySeamlesslyWithParent()) {
+ for (Frame* ancestor = m_frame; ancestor; ancestor = ancestor->tree()->parent(true)) {
+ if (!ancestor->document()->shouldDisplaySeamlesslyWithParent()) {
+ frame = ancestor;
+ break;
+ }
+ }
+ ASSERT(frame != m_frame);
+ }
+
if (activeDocument) {
if (!activeDocument->canNavigate(frame))
return 0;