Add test expectations for macOS Sierra
authorap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Jun 2016 00:17:05 +0000 (00:17 +0000)
committerap@apple.com <ap@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Jun 2016 00:17:05 +0000 (00:17 +0000)
https://bugs.webkit.org/show_bug.cgi?id=158903

Reviewed by Alex Christensen.

Tools:

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
Added dashboard support.

* BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
* BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
Trigger the right build queues on check-in.

* Scripts/webkitpy/common/system/platforminfo.py:
* Scripts/webkitpy/common/system/platforminfo_unittest.py:
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
* Scripts/webkitpy/port/mac.py:
* Scripts/webkitpy/port/mac_unittest.py:
* TestResultServer/static-dashboards/flakiness_dashboard.js:
Added cases for Sierra, and updated tests for new baseline search paths.

LayoutTests:

* TestExpectations:
* media/click-placeholder-not-pausing-expected.txt: Added.
* media/click-placeholder-not-pausing.html: Added.
* media/controls/picture-in-picture-expected.txt: Added.
* media/controls/picture-in-picture.html: Added.
* media/element-containing-pip-video-going-into-fullscreen-expected.txt: Added.
* media/element-containing-pip-video-going-into-fullscreen.html: Added.
* media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt: Added.
* media/fullscreen-api-enabled-media-with-presentation-mode.html: Added.
* media/fullscreen-video-going-into-pip-expected.txt: Added.
* media/fullscreen-video-going-into-pip.html: Added.
* media/navigate-with-pip-should-not-crash-expected.txt: Added.
* media/navigate-with-pip-should-not-crash.html: Added.
* media/pip-video-going-into-fullscreen-expected.txt: Added.
* media/pip-video-going-into-fullscreen.html: Added.
* media/video-contained-in-fullscreen-element-going-into-pip-expected.txt: Added.
* media/video-contained-in-fullscreen-element-going-into-pip.html: Added.
* platform/mac-elcapitan: Added.
* platform/mac-elcapitan/compositing: Added.
* platform/mac-elcapitan/compositing/rtl: Added.
* platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Copied from LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt.
* platform/mac-elcapitan/fast: Added.
* platform/mac-elcapitan/fast/block: Added.
* platform/mac-elcapitan/fast/block/float: Added.
* platform/mac-elcapitan/fast/block/float/026-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.png.
* platform/mac-elcapitan/fast/block/float/026-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.txt.
* platform/mac-elcapitan/fast/block/float/028-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.png.
* platform/mac-elcapitan/fast/block/float/028-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.txt.
* platform/mac-elcapitan/fast/overflow: Added.
* platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png.
* platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt.
* platform/mac-elcapitan/fast/ruby: Added.
* platform/mac-elcapitan/fast/ruby/bopomofo-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png.
* platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.txt.
* platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png.
* platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt.
* platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png.
* platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.txt.
* platform/mac-elcapitan/fast/text: Added.
* platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Copied from LayoutTests/platform/mac/fast/text/crash-complex-text-surrogate-expected.txt.
* platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png.
* platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.txt.
* platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png.
* platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt.
* platform/mac-elcapitan/http: Added.
* platform/mac-elcapitan/http/tests: Added.
* platform/mac-elcapitan/http/tests/cookies: Added.
* platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Copied from LayoutTests/http/tests/cookies/third-party-cookie-relaxing-expected.txt.
* platform/mac-elcapitan/http/tests/security: Added.
* platform/mac-elcapitan/http/tests/security/mixedContent: Added.
* platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt.
* platform/mac-elcapitan/media: Added.
* platform/mac-elcapitan/media/controls-strict-expected.png: Copied from LayoutTests/platform/mac/media/controls-strict-expected.png.
* platform/mac-elcapitan/media/controls-strict-expected.txt: Copied from LayoutTests/platform/mac/media/controls-strict-expected.txt.
* platform/mac-elcapitan/media/controls-without-preload-expected.png: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.png.
* platform/mac-elcapitan/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
* platform/mac-elcapitan/media/track: Added.
* platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Copied from LayoutTests/platform/mac/media/track/video-track-alternate-groups-expected.txt.
* platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Copied from LayoutTests/platform/mac/media/video-controls-rendering-expected.txt.
* platform/mac-elcapitan/media/video-display-toggle-expected.png: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.png.
* platform/mac-elcapitan/media/video-display-toggle-expected.txt: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.txt.
* platform/mac-elcapitan/media/video-no-audio-expected.txt: Copied from LayoutTests/platform/mac/media/video-no-audio-expected.txt.
* platform/mac-elcapitan/media/video-volume-slider-expected.txt: Copied from LayoutTests/platform/mac/media/video-volume-slider-expected.txt.
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac-wk2/fast/scrolling: Added.
* platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
* platform/mac/TestExpectations:
* platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png: Added.
* platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt:
* platform/mac/fast/block/float/026-expected.png:
* platform/mac/fast/block/float/026-expected.txt:
* platform/mac/fast/block/float/028-expected.png:
* platform/mac/fast/block/float/028-expected.txt:
* platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
* platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
* platform/mac/fast/ruby/bopomofo-expected.png:
* platform/mac/fast/ruby/bopomofo-expected.txt:
* platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png:
* platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt:
* platform/mac/fast/ruby/bopomofo-rl-expected.png:
* platform/mac/fast/ruby/bopomofo-rl-expected.txt:
* platform/mac/fast/text/crash-complex-text-surrogate-expected.txt:
* platform/mac/fast/text/justify-ideograph-complex-expected.png:
* platform/mac/fast/text/justify-ideograph-complex-expected.txt:
* platform/mac/fast/text/line-initial-and-final-swashes-expected.png:
* platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:
* platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Added.
* platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt:
* platform/mac/media/controls-strict-expected.png: Removed.
* platform/mac/media/controls-without-preload-expected.png: Removed.
* platform/mac/media/track/video-track-alternate-groups-expected.txt:
* platform/mac/media/video-controls-rendering-expected.png: Removed.
* platform/mac/media/video-display-toggle-expected.png: Removed.
* platform/mac/media/video-no-audio-expected.png: Removed.
* platform/mac/media/video-volume-slider-expected.png: Removed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@202219 268f45cc-cd09-0410-ab3c-d52691b4dbfc

90 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/media/click-placeholder-not-pausing-expected.txt [new file with mode: 0644]
LayoutTests/media/click-placeholder-not-pausing.html [new file with mode: 0644]
LayoutTests/media/controls/picture-in-picture-expected.txt [new file with mode: 0644]
LayoutTests/media/controls/picture-in-picture.html [new file with mode: 0644]
LayoutTests/media/element-containing-pip-video-going-into-fullscreen-expected.txt [new file with mode: 0644]
LayoutTests/media/element-containing-pip-video-going-into-fullscreen.html [new file with mode: 0644]
LayoutTests/media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt [new file with mode: 0644]
LayoutTests/media/fullscreen-api-enabled-media-with-presentation-mode.html [new file with mode: 0644]
LayoutTests/media/fullscreen-video-going-into-pip-expected.txt [new file with mode: 0644]
LayoutTests/media/fullscreen-video-going-into-pip.html [new file with mode: 0644]
LayoutTests/media/navigate-with-pip-should-not-crash-expected.txt [new file with mode: 0644]
LayoutTests/media/navigate-with-pip-should-not-crash.html [new file with mode: 0644]
LayoutTests/media/pip-video-going-into-fullscreen-expected.txt [new file with mode: 0644]
LayoutTests/media/pip-video-going-into-fullscreen.html [new file with mode: 0644]
LayoutTests/media/video-contained-in-fullscreen-element-going-into-pip-expected.txt [new file with mode: 0644]
LayoutTests/media/video-contained-in-fullscreen-element-going-into-pip.html [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/controls-strict-expected.png [moved from LayoutTests/platform/mac/media/controls-strict-expected.png with 100% similarity]
LayoutTests/platform/mac-elcapitan/media/controls-strict-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/controls-without-preload-expected.png [moved from LayoutTests/platform/mac/media/controls-without-preload-expected.png with 100% similarity]
LayoutTests/platform/mac-elcapitan/media/controls-without-preload-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/video-controls-rendering-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/video-display-toggle-expected.png [moved from LayoutTests/platform/mac/media/video-display-toggle-expected.png with 100% similarity]
LayoutTests/platform/mac-elcapitan/media/video-display-toggle-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/video-no-audio-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-elcapitan/media/video-volume-slider-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk1/TestExpectations
LayoutTests/platform/mac-wk2/TestExpectations
LayoutTests/platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/TestExpectations
LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png [new file with mode: 0644]
LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt
LayoutTests/platform/mac/fast/block/float/026-expected.png
LayoutTests/platform/mac/fast/block/float/026-expected.txt
LayoutTests/platform/mac/fast/block/float/028-expected.png
LayoutTests/platform/mac/fast/block/float/028-expected.txt
LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png
LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt
LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png
LayoutTests/platform/mac/fast/ruby/bopomofo-expected.txt
LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png
LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt
LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png
LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.txt
LayoutTests/platform/mac/fast/text/crash-complex-text-surrogate-expected.txt
LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png
LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.txt
LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png
LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt
LayoutTests/platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt
LayoutTests/platform/mac/media/track/video-track-alternate-groups-expected.txt
LayoutTests/platform/mac/media/video-controls-rendering-expected.png [deleted file]
LayoutTests/platform/mac/media/video-no-audio-expected.png [deleted file]
LayoutTests/platform/mac/media/video-volume-slider-expected.png [deleted file]
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png [new file with mode: 0644]
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png [new file with mode: 0644]
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css
Tools/BuildSlaveSupport/build.webkit.org-config/wkbuild.py
Tools/BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py
Tools/ChangeLog
Tools/Scripts/webkitpy/common/system/platforminfo.py
Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py
Tools/Scripts/webkitpy/layout_tests/models/test_expectations.py
Tools/Scripts/webkitpy/port/mac.py
Tools/Scripts/webkitpy/port/mac_unittest.py
Tools/TestResultServer/static-dashboards/flakiness_dashboard.js

index 491f0e6..e5002b4 100644 (file)
@@ -1,3 +1,107 @@
+2016-06-17  Alexey Proskuryakov  <ap@apple.com>
+
+        Add test expectations for macOS Sierra
+        https://bugs.webkit.org/show_bug.cgi?id=158903
+
+        Reviewed by Alex Christensen.
+
+        * TestExpectations:
+        * media/click-placeholder-not-pausing-expected.txt: Added.
+        * media/click-placeholder-not-pausing.html: Added.
+        * media/controls/picture-in-picture-expected.txt: Added.
+        * media/controls/picture-in-picture.html: Added.
+        * media/element-containing-pip-video-going-into-fullscreen-expected.txt: Added.
+        * media/element-containing-pip-video-going-into-fullscreen.html: Added.
+        * media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt: Added.
+        * media/fullscreen-api-enabled-media-with-presentation-mode.html: Added.
+        * media/fullscreen-video-going-into-pip-expected.txt: Added.
+        * media/fullscreen-video-going-into-pip.html: Added.
+        * media/navigate-with-pip-should-not-crash-expected.txt: Added.
+        * media/navigate-with-pip-should-not-crash.html: Added.
+        * media/pip-video-going-into-fullscreen-expected.txt: Added.
+        * media/pip-video-going-into-fullscreen.html: Added.
+        * media/video-contained-in-fullscreen-element-going-into-pip-expected.txt: Added.
+        * media/video-contained-in-fullscreen-element-going-into-pip.html: Added.
+        * platform/mac-elcapitan: Added.
+        * platform/mac-elcapitan/compositing: Added.
+        * platform/mac-elcapitan/compositing/rtl: Added.
+        * platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt: Copied from LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt.
+        * platform/mac-elcapitan/fast: Added.
+        * platform/mac-elcapitan/fast/block: Added.
+        * platform/mac-elcapitan/fast/block/float: Added.
+        * platform/mac-elcapitan/fast/block/float/026-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.png.
+        * platform/mac-elcapitan/fast/block/float/026-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/026-expected.txt.
+        * platform/mac-elcapitan/fast/block/float/028-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.png.
+        * platform/mac-elcapitan/fast/block/float/028-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/028-expected.txt.
+        * platform/mac-elcapitan/fast/overflow: Added.
+        * platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png.
+        * platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt: Copied from LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt.
+        * platform/mac-elcapitan/fast/ruby: Added.
+        * platform/mac-elcapitan/fast/ruby/bopomofo-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png.
+        * platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-expected.txt.
+        * platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png.
+        * platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt.
+        * platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png.
+        * platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt: Copied from LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.txt.
+        * platform/mac-elcapitan/fast/text: Added.
+        * platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt: Copied from LayoutTests/platform/mac/fast/text/crash-complex-text-surrogate-expected.txt.
+        * platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png.
+        * platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt: Copied from LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.txt.
+        * platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png.
+        * platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt.
+        * platform/mac-elcapitan/http: Added.
+        * platform/mac-elcapitan/http/tests: Added.
+        * platform/mac-elcapitan/http/tests/cookies: Added.
+        * platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Copied from LayoutTests/http/tests/cookies/third-party-cookie-relaxing-expected.txt.
+        * platform/mac-elcapitan/http/tests/security: Added.
+        * platform/mac-elcapitan/http/tests/security/mixedContent: Added.
+        * platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Copied from LayoutTests/platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt.
+        * platform/mac-elcapitan/media: Added.
+        * platform/mac-elcapitan/media/controls-strict-expected.png: Copied from LayoutTests/platform/mac/media/controls-strict-expected.png.
+        * platform/mac-elcapitan/media/controls-strict-expected.txt: Copied from LayoutTests/platform/mac/media/controls-strict-expected.txt.
+        * platform/mac-elcapitan/media/controls-without-preload-expected.png: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.png.
+        * platform/mac-elcapitan/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
+        * platform/mac-elcapitan/media/track: Added.
+        * platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt: Copied from LayoutTests/platform/mac/media/track/video-track-alternate-groups-expected.txt.
+        * platform/mac-elcapitan/media/video-controls-rendering-expected.txt: Copied from LayoutTests/platform/mac/media/video-controls-rendering-expected.txt.
+        * platform/mac-elcapitan/media/video-display-toggle-expected.png: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.png.
+        * platform/mac-elcapitan/media/video-display-toggle-expected.txt: Copied from LayoutTests/platform/mac/media/video-display-toggle-expected.txt.
+        * platform/mac-elcapitan/media/video-no-audio-expected.txt: Copied from LayoutTests/platform/mac/media/video-no-audio-expected.txt.
+        * platform/mac-elcapitan/media/video-volume-slider-expected.txt: Copied from LayoutTests/platform/mac/media/video-volume-slider-expected.txt.
+        * platform/mac-wk1/TestExpectations:
+        * platform/mac-wk2/TestExpectations:
+        * platform/mac-wk2/fast/scrolling: Added.
+        * platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt: Added.
+        * platform/mac/TestExpectations:
+        * platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png: Added.
+        * platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.txt:
+        * platform/mac/fast/block/float/026-expected.png:
+        * platform/mac/fast/block/float/026-expected.txt:
+        * platform/mac/fast/block/float/028-expected.png:
+        * platform/mac/fast/block/float/028-expected.txt:
+        * platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png:
+        * platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
+        * platform/mac/fast/ruby/bopomofo-expected.png:
+        * platform/mac/fast/ruby/bopomofo-expected.txt:
+        * platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png:
+        * platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt:
+        * platform/mac/fast/ruby/bopomofo-rl-expected.png:
+        * platform/mac/fast/ruby/bopomofo-rl-expected.txt:
+        * platform/mac/fast/text/crash-complex-text-surrogate-expected.txt:
+        * platform/mac/fast/text/justify-ideograph-complex-expected.png:
+        * platform/mac/fast/text/justify-ideograph-complex-expected.txt:
+        * platform/mac/fast/text/line-initial-and-final-swashes-expected.png:
+        * platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:
+        * platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Added.
+        * platform/mac/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt:
+        * platform/mac/media/controls-strict-expected.png: Removed.
+        * platform/mac/media/controls-without-preload-expected.png: Removed.
+        * platform/mac/media/track/video-track-alternate-groups-expected.txt:
+        * platform/mac/media/video-controls-rendering-expected.png: Removed.
+        * platform/mac/media/video-display-toggle-expected.png: Removed.
+        * platform/mac/media/video-no-audio-expected.png: Removed.
+        * platform/mac/media/video-volume-slider-expected.png: Removed.
+
 2016-06-17  Benjamin Poulain  <benjamin@webkit.org>
 
         :indeterminate pseudo-class should match radios whose group has no checked radio
index 108be82..97d8f6e 100644 (file)
@@ -982,3 +982,13 @@ webkit.org/b/156631 fast/text/font-face-javascript.html [ Pass Crash Failure ]
 webkit.org/b/157849 fast/frames/crash-during-iframe-load-stop.html [ Pass Timeout ]
 
 webkit.org/b/158085 http/tests/css/shared-stylesheet-mutation.html [ Pass Failure ]
+
+# PiP tests are only relevant on macOS Sierra and newer.
+media/click-placeholder-not-pausing.html [ WontFix ]
+media/controls/picture-in-picture.html [ WontFix ]
+media/element-containing-pip-video-going-into-fullscreen.html [ WontFix ]
+media/fullscreen-api-enabled-media-with-presentation-mode.html [ WontFix ]
+media/fullscreen-video-going-into-pip.html [ WontFix ]
+media/navigate-with-pip-should-not-crash.html [ WontFix ]
+media/pip-video-going-into-fullscreen.html [ WontFix ]
+media/video-contained-in-fullscreen-element-going-into-pip.html [ WontFix ]
diff --git a/LayoutTests/media/click-placeholder-not-pausing-expected.txt b/LayoutTests/media/click-placeholder-not-pausing-expected.txt
new file mode 100644 (file)
index 0000000..d689481
--- /dev/null
@@ -0,0 +1,10 @@
+Click on placeholder on a MediaDocument should not pause.
+
+
+Video frame loaded.
+Going into Picture-in-Picture
+EXPECTED (mediaElement.webkitPresentationMode == 'picture-in-picture') OK
+EXPECTED (placeholder.classList.contains('hidden') == 'false') OK
+EXPECTED (mediaElement.paused == 'false') OK
+END OF TEST
+
diff --git a/LayoutTests/media/click-placeholder-not-pausing.html b/LayoutTests/media/click-placeholder-not-pausing.html
new file mode 100644 (file)
index 0000000..6f23975
--- /dev/null
@@ -0,0 +1,75 @@
+<html>
+<head>
+    <title>Click on placeholder on a MediaDocument should not pause.</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script src="media-controls.js"></script>
+    <script>
+        var mediaElement;
+        var placeholder;
+
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        function frameLoaded()
+        {
+            consoleWrite("Video frame loaded.");
+
+            var standaloneMediaDocument = document.getElementById("videoframe").contentDocument;
+            mediaElement = standaloneMediaDocument.querySelector("video");
+            if (!mediaElement) {
+                failTest("ERROR: Video element was not found in frameLoaded().");
+                return;
+            }
+
+            runWithKeyDown(function(){ mediaElement.play(); });
+
+            if (!('webkitSupportsPresentationMode' in mediaElement && 'webkitPresentationMode' in mediaElement)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            consoleWrite("Going into Picture-in-Picture");
+            mediaElement.addEventListener('webkitpresentationmodechanged', onpresentationmodechanged);
+            runWithKeyDown(function(){ mediaElement.webkitSetPresentationMode('picture-in-picture'); });
+        }
+
+        function onpresentationmodechanged()
+        {
+            testExpected("mediaElement.webkitPresentationMode", "picture-in-picture");
+
+            placeholder = mediaControlsElement(internals.shadowRoot(mediaElement), '-webkit-media-controls-wireless-playback-status');
+            testExpected("placeholder.classList.contains('hidden')", false);
+
+            if (!window.eventSender) {
+                failTest("ERROR: no event sender.");
+                return;
+            }
+
+            var boundingRect = placeholder.getBoundingClientRect();
+            var x = boundingRect.left + boundingRect.width / 2;
+            var y = boundingRect.top + boundingRect.height / 2;
+            eventSender.mouseMoveTo(x, y);
+            eventSender.mouseDown();
+            eventSender.mouseUp();
+
+            testExpected("mediaElement.paused", false);
+            endTest();
+        }
+
+    </script>
+</head>
+<body>
+    <p>Click on placeholder on a MediaDocument should not pause.</p>
+    <iframe id="videoframe" width=400 height=300"></iframe>
+    <script type="text/javascript">
+        onload = function() {
+            var videoframe = document.getElementById("videoframe");
+            videoframe.onload = frameLoaded;
+            videoframe.src = findMediaFile("video", "content/test");
+        }
+    </script>
+
+</body>
+</html>
+
diff --git a/LayoutTests/media/controls/picture-in-picture-expected.txt b/LayoutTests/media/controls/picture-in-picture-expected.txt
new file mode 100644 (file)
index 0000000..3c85f45
--- /dev/null
@@ -0,0 +1,27 @@
+This tests the picture-in-picture button.
+
+This test only runs in DRT!
+
+
+EVENT: error
+PASS: We are using the apple idiom
+
+Test the picture-in-picture button without video
+
+PASS: Picture-in-picture button should not be visible if there's no video
+EVENT: canplaythrough
+
+Test the picture-in-picture button with valid video
+
+PASS: Picture-in-picture button should be visible if there's video
+PASS: Picture-in-picture button should be in the dom if there's video
+PASS: Inline placeholder should not be visible at this point
+EVENT: webkitpresentationmodechanged
+
+Test for the pip placeholder visibility in pip mode
+
+PASS: Should be in pip mode
+PASS: Inline placeholder should be visible at this point
+
+Testing finished.
+
diff --git a/LayoutTests/media/controls/picture-in-picture.html b/LayoutTests/media/controls/picture-in-picture.html
new file mode 100644 (file)
index 0000000..d881e7e
--- /dev/null
@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <script src="../media-file.js"></script>
+        <script src="controls-test-helpers.js"></script>
+        <script>
+            if (window.internals)
+                window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+            var tester = new ControlsTest("non-existent-media-file", "error")
+                .whenReady(runTestsWithoutVideo)
+                .start();
+
+            function runTestsWithoutVideo()
+            {
+                var currentState = tester.currentState;
+                tester.test("We are using the apple idiom")
+                    .value(currentState.idiom)
+                    .isEqualTo("apple");
+
+                tester.startNewSection("Test the picture-in-picture button without video", true);
+
+                var stateForPictureInPictureButton = tester.stateForControlsElement("Picture-in-picture Button");
+                tester.test("Picture-in-picture button should not be visible if there's no video")
+                    .value(stateForPictureInPictureButton.className)
+                    .contains("hidden");
+
+                tester.resetEventTrigger("canplaythrough")
+                    .whenReady(runTestsWithVideo)
+                    .media.src = findMediaFile("video", "../content/test");
+            }
+
+            function runTestsWithVideo()
+            {
+                tester.startNewSection("Test the picture-in-picture button with valid video");
+
+                var stateForPictureInPictureButton = tester.stateForControlsElement("Picture-in-picture Button", true);
+                tester.test("Picture-in-picture button should be visible if there's video")
+                    .value(stateForPictureInPictureButton.className)
+                    .doesNotContain("hidden");
+
+                tester.test("Picture-in-picture button should be in the dom if there's video")
+                    .value(stateForPictureInPictureButton.parentElement)
+                    .isNotEqualTo(undefined);
+
+                var stateForPlaceholder = tester.stateForControlsElement("Inline playback placeholder", true);
+                tester.test("Inline placeholder should not be visible at this point")
+                    .value(stateForPlaceholder.className)
+                    .contains("hidden");
+
+                internals.setMediaElementRestrictions(tester.media, "NoRestrictions");
+                tester.resetEventTrigger("webkitpresentationmodechanged")
+                    .whenReady(testPIPPlaceholder)
+                    .media.webkitSetPresentationMode("picture-in-picture");
+            }
+
+            function testPIPPlaceholder()
+            {
+                tester.startNewSection("Test for the pip placeholder visibility in pip mode");
+
+                tester.test("Should be in pip mode")
+                    .value(tester.media.webkitPresentationMode)
+                    .isEqualTo("picture-in-picture");
+
+                var stateForPlaceholder = tester.stateForControlsElement("Inline playback placeholder", true);
+                tester.test("Inline placeholder should be visible at this point")
+                    .value(stateForPlaceholder.className)
+                    .doesNotContain("hidden");
+
+                tester.media.webkitSetPresentationMode("inline");
+                tester.end();
+            }
+        </script>
+    </head>
+    <body>
+        <p>This tests the picture-in-picture button.</p>
+        <p>This test only runs in DRT!</p>
+        <video controls></video>
+    </body>
+</html>
diff --git a/LayoutTests/media/element-containing-pip-video-going-into-fullscreen-expected.txt b/LayoutTests/media/element-containing-pip-video-going-into-fullscreen-expected.txt
new file mode 100644 (file)
index 0000000..1113bff
--- /dev/null
@@ -0,0 +1,9 @@
+Tests pip video going into fullscreen should exit pip
+
+Video going into Picture-in-Picture
+EXPECTED (video.webkitPresentationMode == 'picture-in-picture') OK
+Element containing picture-in-picture video going into Full Screen
+EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLDivElement]') OK
+EXPECTED (video.webkitPresentationMode == 'inline') OK
+END OF TEST
+
diff --git a/LayoutTests/media/element-containing-pip-video-going-into-fullscreen.html b/LayoutTests/media/element-containing-pip-video-going-into-fullscreen.html
new file mode 100644 (file)
index 0000000..ba8098c
--- /dev/null
@@ -0,0 +1,73 @@
+<html>
+<head>
+    <title>Test element containing pip video going into fullscreen should exit pip</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script>
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        var enteredFullscreen = false;
+        var exitedPIP = false;
+
+        function init()
+        {
+            findMediaElement();
+            video.addEventListener('canplaythrough', oncanplaythrough);
+            video.src = findMediaFile('video', 'content/test');
+        }
+
+        function oncanplaythrough()
+        {
+            if (!('webkitSupportsPresentationMode' in video && 'webkitPresentationMode' in video)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            consoleWrite("Video going into Picture-in-Picture");
+            video.addEventListener('webkitpresentationmodechanged', onfirstpresentationmodechanged);
+            runWithKeyDown(function(){ video.webkitSetPresentationMode('picture-in-picture'); });
+        }
+
+        function onfirstpresentationmodechanged()
+        {
+            testExpected("video.webkitPresentationMode", "picture-in-picture");
+            video.removeEventListener('webkitpresentationmodechanged', onfirstpresentationmodechanged);
+
+            consoleWrite("Element containing picture-in-picture video going into Full Screen");
+            videoContainer.addEventListener('webkitfullscreenchange', onfullscreenchange);
+            video.addEventListener('webkitpresentationmodechanged', onsecondpresentationmodechanged);
+            runWithKeyDown(function(){ videoContainer.webkitRequestFullscreen(); });
+        }
+
+        function onfullscreenchange()
+        {
+            enteredFullscreen = true;
+            if (exitedPIP)
+                checkFinalState();
+        }
+
+        function onsecondpresentationmodechanged()
+        {
+            exitedPIP = true;
+            if (enteredFullscreen)
+                checkFinalState();
+        }
+
+        function checkFinalState()
+        {
+            testExpected("document.webkitCurrentFullScreenElement", videoContainer);
+            testExpected("video.webkitPresentationMode", "inline");
+            endTest();
+        }
+
+    </script>
+</head>
+<body onload="init()">
+    Tests pip video going into fullscreen should exit pip<br>
+    <div id="videoContainer">
+        <video controls></video>
+    </div>
+</body>
+</html>
+
diff --git a/LayoutTests/media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt b/LayoutTests/media/fullscreen-api-enabled-media-with-presentation-mode-expected.txt
new file mode 100644 (file)
index 0000000..fb574a9
--- /dev/null
@@ -0,0 +1,9 @@
+Tests that the video's presentation mode is updated accordingly after entering and exiting Full Screen
+
+EXPECTED (video.webkitPresentationMode == 'inline') OK
+Going into Full Screen
+EXPECTED (video.webkitPresentationMode == 'fullscreen') OK
+Exiting Full Screen
+EXPECTED (video.webkitPresentationMode == 'inline') OK
+END OF TEST
+
diff --git a/LayoutTests/media/fullscreen-api-enabled-media-with-presentation-mode.html b/LayoutTests/media/fullscreen-api-enabled-media-with-presentation-mode.html
new file mode 100644 (file)
index 0000000..192e5dd
--- /dev/null
@@ -0,0 +1,57 @@
+<html>
+<head>
+    <title>Test presentation mode after entering fullscreen via Fullscreen API</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script>
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        var requestedFullscreen = false;
+
+        function init()
+        {
+            findMediaElement();
+            video.addEventListener('canplaythrough', oncanplaythrough);
+            video.src = findMediaFile('video', 'content/test');
+        }
+
+        function oncanplaythrough()
+        {
+            if (!('webkitSupportsPresentationMode' in video && 'webkitPresentationMode' in video)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            testExpected("video.webkitPresentationMode", "inline");
+
+            video.addEventListener('webkitpresentationmodechanged', onpresentationmodechanged);
+
+            consoleWrite("Going into Full Screen");
+            runWithKeyDown(function(){ video.webkitRequestFullscreen(); });
+            requestedFullscreen = true;
+        }
+
+        function onpresentationmodechanged()
+        {
+            if (requestedFullscreen) {
+                testExpected("video.webkitPresentationMode", "fullscreen");
+
+                consoleWrite("Exiting Full Screen");
+                runWithKeyDown(function(){ video.webkitExitFullScreen(); });
+                requestedFullscreen = false;
+                return;
+            }
+
+            testExpected("video.webkitPresentationMode", "inline");
+            endTest();
+        }
+
+    </script>
+</head>
+<body onload="init()">
+    Tests that the video's presentation mode is updated accordingly after entering and exiting Full Screen<br>
+    <video controls></video>
+</body>
+</html>
+
diff --git a/LayoutTests/media/fullscreen-video-going-into-pip-expected.txt b/LayoutTests/media/fullscreen-video-going-into-pip-expected.txt
new file mode 100644 (file)
index 0000000..d9bba6f
--- /dev/null
@@ -0,0 +1,9 @@
+Tests fullscreen video going into pip should exit fullscreen
+
+Going into Full Screen
+EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLVideoElement]') OK
+Going into Picture-in-Picture from Full Screen
+Entered Picture-in-Picture from Full Screen
+EXPECTED (document.webkitCurrentFullScreenElement == 'null') OK
+END OF TEST
+
diff --git a/LayoutTests/media/fullscreen-video-going-into-pip.html b/LayoutTests/media/fullscreen-video-going-into-pip.html
new file mode 100644 (file)
index 0000000..f5cfd7c
--- /dev/null
@@ -0,0 +1,54 @@
+<html>
+<head>
+    <title>Test fullscreen video going into pip should exit fullscreen</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script>
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        function init()
+        {
+            findMediaElement();
+            video.addEventListener('canplaythrough', oncanplaythrough);
+            video.src = findMediaFile('video', 'content/test');
+        }
+
+        function oncanplaythrough()
+        {
+            if (!('webkitSupportsPresentationMode' in video && 'webkitPresentationMode' in video)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            consoleWrite("Going into Full Screen");
+            video.addEventListener('webkitfullscreenchange', onfullscreenchange);
+            runWithKeyDown(function(){ video.webkitRequestFullscreen(); });
+        }
+
+        function onfullscreenchange()
+        {
+            testExpected("document.webkitCurrentFullScreenElement", video);
+            video.removeEventListener('webkitfullscreenchange', onfullscreenchange);
+
+            consoleWrite("Going into Picture-in-Picture from Full Screen");
+            video.addEventListener('webkitpresentationmodechanged', onpresentationmodechanged);
+            runWithKeyDown(function() { video.webkitSetPresentationMode("picture-in-picture"); });
+        }
+
+        function onpresentationmodechanged()
+        {
+            consoleWrite("Entered Picture-in-Picture from Full Screen");
+            testExpected("document.webkitCurrentFullScreenElement", null);
+
+            endTest();
+        }
+
+    </script>
+</head>
+<body onload="init()">
+    Tests fullscreen video going into pip should exit fullscreen<br>
+    <video controls></video>
+</body>
+</html>
+
diff --git a/LayoutTests/media/navigate-with-pip-should-not-crash-expected.txt b/LayoutTests/media/navigate-with-pip-should-not-crash-expected.txt
new file mode 100644 (file)
index 0000000..37efc38
--- /dev/null
@@ -0,0 +1,10 @@
+Navigate to another page while video is playing in pip should not crash
+
+
+Video frame loaded.
+Going into Picture-in-Picture
+EXPECTED (mediaElement.webkitPresentationMode == 'picture-in-picture') OK
+EXPECTED (mediaElement.paused == 'false') OK
+EXPECTED (videoframe.contentDocument.location == 'about:blank') OK
+END OF TEST
+
diff --git a/LayoutTests/media/navigate-with-pip-should-not-crash.html b/LayoutTests/media/navigate-with-pip-should-not-crash.html
new file mode 100644 (file)
index 0000000..9cc01d5
--- /dev/null
@@ -0,0 +1,65 @@
+<html>
+<head>
+    <title>Navigate to another page while video is playing in pip should not crash</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script>
+        var mediaElement;
+        var videoframe;
+
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        function init()
+        {
+            videoframe = document.getElementById("videoframe");
+            videoframe.onload = frameLoaded;
+            videoframe.src = findMediaFile("video", "content/test");
+        }
+
+        function frameLoaded()
+        {
+            consoleWrite("Video frame loaded.");
+
+            var standaloneMediaDocument = document.getElementById("videoframe").contentDocument;
+            mediaElement = standaloneMediaDocument.querySelector("video");
+            if (!mediaElement) {
+                failTest("ERROR: Video element was not found in frameLoaded().");
+                return;
+            }
+
+            runWithKeyDown(function(){ mediaElement.play(); });
+
+            if (!('webkitSupportsPresentationMode' in mediaElement && 'webkitPresentationMode' in mediaElement)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            consoleWrite("Going into Picture-in-Picture");
+            mediaElement.addEventListener('webkitpresentationmodechanged', onpresentationmodechanged);
+            runWithKeyDown(function(){ mediaElement.webkitSetPresentationMode('picture-in-picture'); });
+        }
+
+        function onpresentationmodechanged()
+        {
+            testExpected("mediaElement.webkitPresentationMode", "picture-in-picture");
+            testExpected("mediaElement.paused", false);
+
+            videoframe.onload = checkCompletedNavigation;
+            videoframe.src = "about:blank";
+        }
+
+        function checkCompletedNavigation()
+        {
+            testExpected("videoframe.contentDocument.location", "about:blank");
+            endTest();
+        }
+
+    </script>
+</head>
+<body onload="init()">
+    <p>Navigate to another page while video is playing in pip should not crash</p>
+    <iframe id="videoframe" width=400 height=300></iframe>
+</body>
+</html>
+
diff --git a/LayoutTests/media/pip-video-going-into-fullscreen-expected.txt b/LayoutTests/media/pip-video-going-into-fullscreen-expected.txt
new file mode 100644 (file)
index 0000000..b0bb5b3
--- /dev/null
@@ -0,0 +1,9 @@
+Tests pip video going into fullscreen should exit pip
+
+Going into Picture-in-Picture
+EXPECTED (video.webkitPresentationMode == 'picture-in-picture') OK
+Going into Full Screen from Picture-in-Picture
+EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLVideoElement]') OK
+EXPECTED (video.webkitPresentationMode == 'fullscreen') OK
+END OF TEST
+
diff --git a/LayoutTests/media/pip-video-going-into-fullscreen.html b/LayoutTests/media/pip-video-going-into-fullscreen.html
new file mode 100644 (file)
index 0000000..9dfe387
--- /dev/null
@@ -0,0 +1,75 @@
+<html>
+<head>
+    <title>Test pip video going into fullscreen should exit pip</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script>
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        var enteredFullscreen = false;
+        var exitedPIP = false;
+
+        function init()
+        {
+            findMediaElement();
+            video.addEventListener('canplaythrough', oncanplaythrough);
+            video.src = findMediaFile('video', 'content/test');
+        }
+
+        function oncanplaythrough()
+        {
+            if (!('webkitSupportsPresentationMode' in video && 'webkitPresentationMode' in video)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            consoleWrite("Going into Picture-in-Picture");
+            video.addEventListener('webkitpresentationmodechanged', onfirstpresentationmodechanged);
+            runWithKeyDown(function(){ video.webkitSetPresentationMode('picture-in-picture'); });
+        }
+
+        function onfirstpresentationmodechanged()
+        {
+            testExpected("video.webkitPresentationMode", "picture-in-picture");
+            video.removeEventListener('webkitpresentationmodechanged', onfirstpresentationmodechanged);
+
+            consoleWrite("Going into Full Screen from Picture-in-Picture");
+            video.addEventListener('webkitfullscreenchange', onfullscreenchange);
+            video.addEventListener('webkitpresentationmodechanged', onsecondpresentationmodechanged);
+            runWithKeyDown(function(){ video.webkitRequestFullscreen(); });
+        }
+
+        function onfullscreenchange()
+        {
+            enteredFullscreen = true;
+            if (exitedPIP)
+                checkFinalState();
+        }
+
+        function onsecondpresentationmodechanged()
+        {
+            // We only expect one presentation mode change - from picture-in-picture to fullscreen.
+            if (exitedPIP)
+                failTest("Presentation mode changes more than once going into fullscreen from picture-in-picture.");
+
+            exitedPIP = true;
+            if (enteredFullscreen)
+                checkFinalState();
+        }
+
+        function checkFinalState()
+        {
+            testExpected("document.webkitCurrentFullScreenElement", video);
+            testExpected("video.webkitPresentationMode", "fullscreen");
+            endTest();
+        }
+
+    </script>
+</head>
+<body onload="init()">
+    Tests pip video going into fullscreen should exit pip<br>
+    <video controls></video>
+</body>
+</html>
+
diff --git a/LayoutTests/media/video-contained-in-fullscreen-element-going-into-pip-expected.txt b/LayoutTests/media/video-contained-in-fullscreen-element-going-into-pip-expected.txt
new file mode 100644 (file)
index 0000000..d5f057f
--- /dev/null
@@ -0,0 +1,11 @@
+Tests video contained in fullscreen element going into pip should exit fullscreen
+
+Container div going into Full Screen
+EXPECTED (document.webkitCurrentFullScreenElement == '[object HTMLDivElement]') OK
+EXPECTED (video.webkitPresentationMode == 'inline') OK
+Video going into Picture-in-Picture
+Entered Picture-in-Picture from Full Screen
+EXPECTED (document.webkitCurrentFullScreenElement == 'null') OK
+EXPECTED (video.webkitPresentationMode == 'picture-in-picture') OK
+END OF TEST
+
diff --git a/LayoutTests/media/video-contained-in-fullscreen-element-going-into-pip.html b/LayoutTests/media/video-contained-in-fullscreen-element-going-into-pip.html
new file mode 100644 (file)
index 0000000..32f5c36
--- /dev/null
@@ -0,0 +1,59 @@
+<html>
+<head>
+    <title>Test video contained in fullscreen element going into pip should exit fullscreen</title>
+    <script src="media-file.js"></script>
+    <script src="video-test.js"></script>
+    <script>
+        if (window.internals)
+            window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+
+        function init()
+        {
+            findMediaElement();
+            video.addEventListener('canplaythrough', oncanplaythrough);
+            video.src = findMediaFile('video', 'content/test');
+        }
+
+        function oncanplaythrough()
+        {
+            if (!('webkitSupportsPresentationMode' in video && 'webkitPresentationMode' in video)) {
+                failTest("Presentation mode is not supported in this video element.")
+                return;
+            }
+
+            consoleWrite("Container div going into Full Screen");
+            videoContainer.addEventListener('webkitfullscreenchange', onfullscreenchange);
+            runWithKeyDown(function(){ videoContainer.webkitRequestFullscreen(); });
+        }
+
+        function onfullscreenchange()
+        {
+            testExpected("document.webkitCurrentFullScreenElement", videoContainer);
+            testExpected("video.webkitPresentationMode", "inline")
+
+            videoContainer.removeEventListener('webkitfullscreenchange', onfullscreenchange);
+
+            consoleWrite("Video going into Picture-in-Picture");
+            video.addEventListener('webkitpresentationmodechanged', onpresentationmodechanged);
+            runWithKeyDown(function() { video.webkitSetPresentationMode("picture-in-picture"); });
+        }
+
+        function onpresentationmodechanged()
+        {
+            consoleWrite("Entered Picture-in-Picture from Full Screen");
+            testExpected("document.webkitCurrentFullScreenElement", null);
+            testExpected("video.webkitPresentationMode", "picture-in-picture");
+
+            endTest();
+        }
+
+    </script>
+</head>
+<body onload="init()">
+    Tests video contained in fullscreen element going into pip should exit fullscreen<br>
+    <div id="videoContainer">
+        <video controls></video>
+    </div>
+</body>
+</html>
+
diff --git a/LayoutTests/platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt b/LayoutTests/platform/mac-elcapitan/compositing/rtl/rtl-overflow-scrolling-expected.txt
new file mode 100644 (file)
index 0000000..e8c48a6
--- /dev/null
@@ -0,0 +1,8 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+layer at (8,8) size 300x300 clip at (8,8) size 285x285 scrollWidth 1000 scrollHeight 1000
+  RenderBlock {DIV} at (0,0) size 300x300
+    RenderBlock {DIV} at (-715,0) size 1000x1000 [bgcolor=#008000]
diff --git a/LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.png b/LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.png
new file mode 100644 (file)
index 0000000..0d56b36
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/block/float/026-expected.txt
new file mode 100644 (file)
index 0000000..ce08f03
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 785x1432
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1432
+  RenderBlock {HTML} at (0,0) size 785x1432
+    RenderBody {BODY} at (8,8) size 769x1416
+      RenderBlock {DIV} at (0,0) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderTable {TABLE} at (0,0) size 569x46 [border: (2px solid #008000)]
+          RenderTableSection {TBODY} at (2,2) size 565x42
+            RenderTableRow {TR} at (0,2) size 565x38
+              RenderTableCell {TD} at (2,2) size 561x38 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (41,1) size 519x36
+                  text run at (41,1) width 519: "This is a table. It should sit on the same line as the float and wrap as needed to fit"
+                  text run at (354,19) width 5 RTL: "."
+                  text run at (358,19) width 202: "within the remaining line width"
+      RenderBlock {DIV} at (0,200) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+      RenderBlock {DIV} at (0,408) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderBlock {HR} at (0,0) size 569x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,608) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderTable {TABLE} at (184,0) size 385x46 [border: (2px solid #008000)]
+          RenderTableSection {TBODY} at (2,2) size 381x42
+            RenderTableRow {TR} at (0,2) size 381x38
+              RenderTableCell {TD} at (2,2) size 377x38 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (20,1) size 370x36
+                  text run at (20,1) width 356: "This is a table. It should sit on the same line as the float"
+                  text run at (6,19) width 5 RTL: "."
+                  text run at (10,19) width 366: "and wrap as needed to fit within the remaining line width"
+      RenderBlock {DIV} at (0,808) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+      RenderBlock {DIV} at (0,1016) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderBlock {HR} at (182,0) size 387x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,1216) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderImage {IMG} at (184,0) size 385x50 [bgcolor=#008000]
+layer at (8,208) size 569x55 clip at (10,210) size 550x36
+  RenderBlock {DIV} at (0,0) size 569x55 [border: (2px solid #0000FF)]
+    RenderText {#text} at (15,2) size 537x36
+      text run at (15,2) width 537: "This is an overflow:scroll region. It should sit on the same line as the float and wrap"
+      text run at (245,20) width 5 RTL: "."
+      text run at (249,20) width 303: "as needed to fit within the remaining line width"
+layer at (189,816) size 388x73 clip at (191,818) size 369x54
+  RenderBlock {DIV} at (180,0) size 389x73 [border: (2px solid #0000FF)]
+    RenderText {#text} at (36,2) size 367x54
+      text run at (36,2) width 336: "This is an overflow:scroll region. It should sit on the"
+      text run at (5,20) width 367: "same line as the float and wrap as needed to fit within the"
+      text run at (234,38) width 5 RTL: "."
+      text run at (238,38) width 134: "remaining line width"
diff --git a/LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.png b/LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.png
new file mode 100644 (file)
index 0000000..0d56b36
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/block/float/028-expected.txt
new file mode 100644 (file)
index 0000000..ce08f03
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 785x1432
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x1432
+  RenderBlock {HTML} at (0,0) size 785x1432
+    RenderBody {BODY} at (8,8) size 769x1416
+      RenderBlock {DIV} at (0,0) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderTable {TABLE} at (0,0) size 569x46 [border: (2px solid #008000)]
+          RenderTableSection {TBODY} at (2,2) size 565x42
+            RenderTableRow {TR} at (0,2) size 565x38
+              RenderTableCell {TD} at (2,2) size 561x38 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (41,1) size 519x36
+                  text run at (41,1) width 519: "This is a table. It should sit on the same line as the float and wrap as needed to fit"
+                  text run at (354,19) width 5 RTL: "."
+                  text run at (358,19) width 202: "within the remaining line width"
+      RenderBlock {DIV} at (0,200) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+      RenderBlock {DIV} at (0,408) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderBlock {HR} at (0,0) size 569x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,608) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderTable {TABLE} at (184,0) size 385x46 [border: (2px solid #008000)]
+          RenderTableSection {TBODY} at (2,2) size 381x42
+            RenderTableRow {TR} at (0,2) size 381x38
+              RenderTableCell {TD} at (2,2) size 377x38 [r=0 c=0 rs=1 cs=1]
+                RenderText {#text} at (20,1) size 370x36
+                  text run at (20,1) width 356: "This is a table. It should sit on the same line as the float"
+                  text run at (6,19) width 5 RTL: "."
+                  text run at (10,19) width 366: "and wrap as needed to fit within the remaining line width"
+      RenderBlock {DIV} at (0,808) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+      RenderBlock {DIV} at (0,1016) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderBlock {HR} at (182,0) size 387x2 [border: (1px inset #000000)]
+      RenderBlock {DIV} at (0,1216) size 769x200
+        RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
+        RenderImage {IMG} at (184,0) size 385x50 [bgcolor=#008000]
+layer at (8,208) size 569x55 clip at (10,210) size 550x36
+  RenderBlock {DIV} at (0,0) size 569x55 [border: (2px solid #0000FF)]
+    RenderText {#text} at (15,2) size 537x36
+      text run at (15,2) width 537: "This is an overflow:scroll region. It should sit on the same line as the float and wrap"
+      text run at (245,20) width 5 RTL: "."
+      text run at (249,20) width 303: "as needed to fit within the remaining line width"
+layer at (189,816) size 388x73 clip at (191,818) size 369x54
+  RenderBlock {DIV} at (180,0) size 389x73 [border: (2px solid #0000FF)]
+    RenderText {#text} at (36,2) size 367x54
+      text run at (36,2) width 336: "This is an overflow:scroll region. It should sit on the"
+      text run at (5,20) width 367: "same line as the float and wrap as needed to fit within the"
+      text run at (234,38) width 5 RTL: "."
+      text run at (238,38) width 134: "remaining line width"
diff --git a/LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png b/LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png
new file mode 100644 (file)
index 0000000..9fa7d6b
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/overflow/unreachable-overflow-rtl-bug-expected.txt
new file mode 100644 (file)
index 0000000..0a2daf5
--- /dev/null
@@ -0,0 +1,15 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock (anonymous) at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 34x18
+          text run at (0,0) width 34: "LTR:"
+      RenderBlock (anonymous) at (0,124) size 784x18
+        RenderText {#text} at (0,0) size 34x18
+          text run at (0,0) width 34: "RTL:"
+layer at (8,26) size 106x106 clip at (11,29) size 85x85 scrollWidth 221 scrollHeight 268
+  RenderBlock (relative positioned) {DIV} at (0,18) size 106x106 [border: (3px solid #000000)]
+layer at (8,150) size 106x106 clip at (11,153) size 85x85 scrollX 136 scrollWidth 221 scrollHeight 268
+  RenderBlock (relative positioned) {DIV} at (0,142) size 106x106 [border: (3px solid #000000)]
diff --git a/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.png b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.png
new file mode 100644 (file)
index 0000000..103b6bf
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-expected.txt
new file mode 100644 (file)
index 0000000..80905ce
--- /dev/null
@@ -0,0 +1,124 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x64
+  RenderBlock {HTML} at (0,0) size 800x64
+    RenderBody {BODY} at (8,8) size 784x48
+      RenderRuby (inline) {RUBY} at (0,0) size 480x32
+        RenderRubyRun (anonymous) at (0,0) size 48x48
+          RenderRubyText {RT} at (32,20) size 8x8
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,0) size 8x8
+                RenderRubyText {RT} at (8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{4E16}"
+        RenderRubyRun (anonymous) at (48,0) size 48x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3115}\x{3124}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{4E0A}"
+        RenderRubyRun (anonymous) at (96,0) size 48x48
+          RenderRubyText {RT} at (32,20) size 8x8
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,0) size 8x8
+                RenderRubyText {RT} at (8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3128}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{7121}"
+        RenderRubyRun (anonymous) at (144,0) size 48x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{310B}\x{3122}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{96E3}"
+        RenderRubyRun (anonymous) at (192,0) size 48x48
+          RenderRubyText {RT} at (32,20) size 8x8
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,0) size 8x8
+                RenderRubyText {RT} at (8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{4E8B}"
+        RenderRubyRun (anonymous) at (240,0) size 48x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderText {#text} at (0,0) size 8x16
+              text run at (0,0) width 16: "\x{3113}\x{2C7}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{53EA}"
+        RenderRubyRun (anonymous) at (288,0) size 48x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3106}\x{311A}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{6015}"
+        RenderRubyRun (anonymous) at (336,0) size 48x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2C7}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3127}\x{3121}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{6709}"
+        RenderRubyRun (anonymous) at (384,0) size 48x48
+          RenderRubyText {RT} at (32,12) size 8x24
+            RenderText {#text} at (0,0) size 8x24
+              text run at (0,0) width 24: "\x{3112}\x{3127}\x{3123}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{5FC3}"
+        RenderRubyRun (anonymous) at (432,0) size 48x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3116}\x{3123}"
+          RenderRubyBase (anonymous) at (0,0) size 32x48
+            RenderText {#text} at (0,8) size 32x32
+              text run at (0,8) width 32: "\x{4EBA}"
diff --git a/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png
new file mode 100644 (file)
index 0000000..aa5c76d
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-letter-spacing-expected.txt
new file mode 100644 (file)
index 0000000..2a8cfe1
--- /dev/null
@@ -0,0 +1,129 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x112
+  RenderBlock {HTML} at (0,0) size 800x112
+    RenderBody {BODY} at (8,8) size 784x96
+      RenderRuby (inline) {RUBY} at (0,0) size 570x32
+        RenderRubyRun (anonymous) at (0,0) size 57x48
+          RenderRubyText {RT} at (32,20) size 8x8
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,0) size 8x8
+                RenderRubyText {RT} at (8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{4E16}"
+        RenderRubyRun (anonymous) at (57,0) size 57x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3115}\x{3124}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{4E0A}"
+        RenderRubyRun (anonymous) at (114,0) size 57x48
+          RenderRubyText {RT} at (32,20) size 8x8
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,0) size 8x8
+                RenderRubyText {RT} at (8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3128}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{7121}"
+        RenderRubyRun (anonymous) at (171,0) size 57x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{310B}\x{3122}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{96E3}"
+        RenderRubyRun (anonymous) at (228,0) size 57x48
+          RenderRubyText {RT} at (32,20) size 8x8
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,0) size 8x8
+                RenderRubyText {RT} at (8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{4E8B}"
+        RenderRubyRun (anonymous) at (285,0) size 57x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderText {#text} at (0,0) size 8x16
+              text run at (0,0) width 16: "\x{3113}\x{2C7}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{53EA}"
+        RenderRubyRun (anonymous) at (342,0) size 57x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3106}\x{311A}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{6015}"
+        RenderRubyRun (anonymous) at (399,0) size 57x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2C7}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3127}\x{3121}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{6709}"
+        RenderRubyRun (anonymous) at (456,0) size 57x48
+          RenderRubyText {RT} at (32,12) size 8x24
+            RenderText {#text} at (0,0) size 8x24
+              text run at (0,0) width 24: "\x{3112}\x{3127}\x{3123}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{5FC3}"
+        RenderRubyRun (anonymous) at (513,0) size 57x48
+          RenderRubyText {RT} at (32,16) size 8x16
+            RenderRuby (inline) {RUBY} at (0,0) size 8x16
+              RenderRubyRun (anonymous) at (0,0) size 8x16
+                RenderRubyText {RT} at (8,0) size 8x16
+                  RenderText {#text} at (0,4) size 8x8
+                    text run at (0,4) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x16
+                  RenderText {#text} at (0,0) size 8x16
+                    text run at (0,0) width 16: "\x{3116}\x{3123}"
+          RenderRubyBase (anonymous) at (0,0) size 57x48
+            RenderText {#text} at (0,8) size 57x32
+              text run at (0,8) width 57: "\x{4EBA}"
+      RenderText {#text} at (570,8) size 33x32
+        text run at (570,8) width 33: " "
+      RenderBR {BR} at (0,0) size 0x0
+      RenderText {#text} at (0,56) size 570x32
+        text run at (0,56) width 570: "\x{4E16}\x{4E0A}\x{7121}\x{96E3}\x{4E8B}\x{53EA}\x{6015}\x{6709}\x{5FC3}\x{4EBA}"
diff --git a/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png
new file mode 100644 (file)
index 0000000..8e7db77
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/ruby/bopomofo-rl-expected.txt
new file mode 100644 (file)
index 0000000..868f6e1
--- /dev/null
@@ -0,0 +1,124 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (724,0) size 76x600
+  RenderBlock {HTML} at (0,0) size 76x600
+    RenderBody {BODY} at (20,8) size 48x584
+      RenderRuby (inline) {RUBY} at (0,0) size 32x320
+        RenderRubyRun (anonymous) at (0,0) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,12) size 8x8
+                RenderRubyText {RT} at (-8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{4E16}"
+        RenderRubyRun (anonymous) at (0,32) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x24
+              RenderRubyRun (anonymous) at (0,4) size 8x24
+                RenderRubyText {RT} at (-8,0) size 8x24
+                  RenderText {#text} at (0,8) size 8x8
+                    text run at (0,8) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x24
+                  RenderText {#text} at (0,0) size 8x24
+                    text run at (0,0) width 24: "\x{3115}\x{3124}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{4E0A}"
+        RenderRubyRun (anonymous) at (0,64) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,12) size 8x8
+                RenderRubyText {RT} at (-8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3128}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{7121}"
+        RenderRubyRun (anonymous) at (0,96) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x24
+              RenderRubyRun (anonymous) at (0,4) size 8x24
+                RenderRubyText {RT} at (-8,0) size 8x24
+                  RenderText {#text} at (0,8) size 8x8
+                    text run at (0,8) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x24
+                  RenderText {#text} at (0,0) size 8x24
+                    text run at (0,0) width 24: "\x{310B}\x{3122}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{96E3}"
+        RenderRubyRun (anonymous) at (0,128) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x8
+              RenderRubyRun (anonymous) at (0,12) size 8x8
+                RenderRubyText {RT} at (-8,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x8
+                  RenderText {#text} at (0,0) size 8x8
+                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{4E8B}"
+        RenderRubyRun (anonymous) at (0,160) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderText {#text} at (0,4) size 8x24
+              text run at (0,4) width 24: "\x{3113}\x{2C7}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{53EA}"
+        RenderRubyRun (anonymous) at (0,192) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x24
+              RenderRubyRun (anonymous) at (0,4) size 8x24
+                RenderRubyText {RT} at (-8,0) size 8x24
+                  RenderText {#text} at (0,8) size 8x8
+                    text run at (0,8) width 8: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 8x24
+                  RenderText {#text} at (0,0) size 8x24
+                    text run at (0,0) width 24: "\x{3106}\x{311A}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{6015}"
+        RenderRubyRun (anonymous) at (0,224) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x24
+              RenderRubyRun (anonymous) at (0,4) size 8x24
+                RenderRubyText {RT} at (-8,0) size 8x24
+                  RenderText {#text} at (0,8) size 8x8
+                    text run at (0,8) width 8: "\x{2C7}"
+                RenderRubyBase (anonymous) at (0,0) size 8x24
+                  RenderText {#text} at (0,0) size 8x24
+                    text run at (0,0) width 24: "\x{3127}\x{3121}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{6709}"
+        RenderRubyRun (anonymous) at (0,256) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderText {#text} at (0,1) size 8x30
+              text run at (0,1) width 30: "\x{3112}\x{3127}\x{3123}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{5FC3}"
+        RenderRubyRun (anonymous) at (0,288) size 48x32
+          RenderRubyText {RT} at (0,0) size 8x32
+            RenderRuby (inline) {RUBY} at (0,0) size 8x24
+              RenderRubyRun (anonymous) at (0,4) size 8x24
+                RenderRubyText {RT} at (-8,0) size 8x24
+                  RenderText {#text} at (0,8) size 8x8
+                    text run at (0,8) width 8: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 8x24
+                  RenderText {#text} at (0,0) size 8x24
+                    text run at (0,0) width 24: "\x{3116}\x{3123}"
+          RenderRubyBase (anonymous) at (0,0) size 48x32
+            RenderText {#text} at (8,0) size 32x32
+              text run at (8,0) width 32: "\x{4EBA}"
diff --git a/LayoutTests/platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/text/crash-complex-text-surrogate-expected.txt
new file mode 100644 (file)
index 0000000..7661c69
--- /dev/null
@@ -0,0 +1,60 @@
+CONSOLE MESSAGE: line 35: TypeError: undefined is not an object (evaluating 'document.forms[0].outerHTML')
+layer at (0,0) size 785x693
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x693
+  RenderBlock {HTML} at (0,0) size 785x693
+    RenderBody {BODY} at (8,8) size 78x677
+      RenderText {#text} at (0,0) size 71x120
+        text run at (0,0) width 36: "This"
+        text run at (0,15) width 36: "test"
+        text run at (0,30) width 53: "passes"
+        text run at (0,45) width 53: "if you"
+        text run at (0,60) width 71: "can open"
+        text run at (0,75) width 71: "the file"
+        text run at (0,90) width 62: "without"
+        text run at (0,105) width 71: "a crash."
+      RenderBlock (floating) {DIV} at (70,120) size 8x182 [bgcolor=#ADD8E6]
+      RenderText {#text} at (0,120) size 9x15
+        text run at (0,120) width 9: "Y"
+      RenderText {#text} at (8,120) size 45x15
+        text run at (8,120) width 45: "a bcd"
+      RenderInline {SPAN} at (0,0) size 10x15
+        RenderText {#text} at (52,120) size 10x15
+          text run at (52,120) width 10: "\x{202B}X"
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,135) size 273x287
+        text run at (0,135) width 53: "Errlog"
+        text run at (0,302) width 115: "webtest_fn_1:"
+        text run at (0,317) width 89: "TypeError:"
+        text run at (0,332) width 80: "undefined"
+        text run at (0,347) width 53: "is not"
+        text run at (0,362) width 18: "an"
+        text run at (0,377) width 53: "object"
+        text run at (0,392) width 97: "(evaluating"
+        text run at (0,407) width 273: "'document.scripts[3].toString')"
+      RenderBR {BR} at (0,0) size 0x0
+      RenderInline {ACRONYM} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,422) size 122x45
+        text run at (0,422) width 45: "s is:"
+        text run at (0,437) width 27: "{,}"
+        text run at (0,452) width 122: "\x{A888}{0}P{P}\\7H\\8"
+      RenderBR {BR} at (0,0) size 0x0
+      RenderText {#text} at (0,467) size 71x15
+        text run at (0,467) width 71: "f is: gi"
+      RenderBR {BR} at (70,467) size 1x15
+      RenderText {#text} at (0,482) size 361x195
+        text run at (0,482) width 53: "Errlog"
+        text run at (0,497) width 115: "webtest_fn_4:"
+        text run at (0,512) width 89: "TypeError:"
+        text run at (0,527) width 62: "null is"
+        text run at (0,542) width 53: "not an"
+        text run at (0,557) width 53: "object"
+        text run at (0,572) width 97: "(evaluating"
+        text run at (0,587) width 361: "'document.querySelector(\"plaintext:first-"
+        text run at (0,602) width 62: "of-type"
+        text run at (0,617) width 9: "~"
+        text run at (0,632) width 62: "*|:out-"
+        text run at (0,647) width 27: "of-"
+        text run at (0,662) width 194: "range\").insertBefore')"
+      RenderBR {BR} at (0,0) size 0x0
diff --git a/LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png b/LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png
new file mode 100644 (file)
index 0000000..8988055
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/text/justify-ideograph-complex-expected.txt
new file mode 100644 (file)
index 0000000..ddb02a5
--- /dev/null
@@ -0,0 +1,41 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x580
+      RenderBlock {P} at (0,0) size 550x85
+        RenderText {#text} at (0,1) size 550x83
+          text run at (0,1) width 550: "\x{3010}2009 \x{5E74} 11 \x{6708} 4 \x{65E5}\x{7F8E}\x{570B}\x{52A0}\x{5DDE} Cupertino \x{8A0A}\x{3011}\x{860B}\x{679C}\x{4ECA}\x{5929}\x{5BA3}\x{4F48}\x{FF0C}\x{5168}\x{4E16}\x{754C}\x{6700}\x{5927}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5546}\x{5E97} App"
+          text run at (0,18) width 550: "Store\x{FF0C}\x{76EE}\x{524D}\x{5DF2}\x{64C1}\x{6709} 100,000 \x{591A}\x{7A2E}\x{4F86}\x{81EA}\x{5168}\x{7403}\x{958B}\x{767C}\x{4EBA}\x{54E1}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{5168}\x{4E16}\x{754C} 77 \x{500B}\x{570B}\x{5BB6}\x{7684} iPhone\x{AE} \x{8207}"
+          text run at (0,35) width 550: "iPod touch\x{AE} \x{7528}\x{6236}\x{64C1}\x{6709} 20 \x{500B}\x{985E}\x{5225}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53EF}\x{4F9B}\x{9078}\x{64C7}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}\x{904A}\x{6232}\x{3001}\x{5546}\x{7528}\x{3001}\x{65B0}\x{805E}\x{3001}\x{904B}\x{52D5}\x{3001}\x{91AB}\x{7642}\x{3001}\x{53C3}\x{8003}"
+          text run at (0,52) width 550: "\x{66F8}\x{7C4D}\x{3001}\x{65C5}\x{904A}\x{7B49}\x{7B49}\x{3002}\x{622A}\x{81F3}\x{76EE}\x{524D}\x{70BA}\x{6B62}\x{FF0C}App Store \x{4F7F}\x{7528}\x{8005}\x{4E0B}\x{8F09}\x{6B21}\x{6578}\x{5DF2}\x{8D85}\x{904E} 20 \x{5104}\x{6B21}\x{FF0C}\x{662F}\x{76EE}\x{524D}\x{5168}\x{7403}\x{6700}\x{53D7}\x{6B61}\x{8FCE}\x{7684}"
+          text run at (0,69) width 84: "\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5546}\x{5E97}\x{3002}"
+      RenderBlock {P} at (0,97) size 550x51
+        RenderText {#text} at (0,1) size 550x49
+          text run at (0,1) width 550: "\x{860B}\x{679C}\x{5168}\x{7403}\x{7522}\x{54C1}\x{884C}\x{92B7}\x{8CC7}\x{6DF1}\x{526F}\x{7E3D}\x{88C1} Philip Schiller \x{8868}\x{793A}\x{FF1A}\x{300C}\x{63D0}\x{4F9B} 100,000 \x{591A}\x{7A2E}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53EF}\x{4F9B}\x{9078}\x{64C7}\x{7684} App"
+          text run at (0,18) width 550: "Store\x{FF0C}\x{662F}\x{5168}\x{4E16}\x{754C}\x{6578}\x{5343}\x{842C} iPhone \x{548C} iPod touch \x{4F7F}\x{7528}\x{8005}\x{4EE4}\x{4EBA}\x{7A31}\x{7FA8}\x{7684}\x{4E3B}\x{8981}\x{539F}\x{56E0}\x{3002}iPhone SDK \x{5275}\x{9020}\x{4E86}\x{7B2C}\x{4E00}"
+          text run at (0,35) width 408: "\x{500B}\x{512A}\x{7570}\x{7684}\x{884C}\x{52D5}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5E73}\x{53F0}\x{FF0C}\x{5BA2}\x{6236}\x{4E5F}\x{975E}\x{5E38}\x{559C}\x{611B}\x{958B}\x{767C}\x{4EBA}\x{54E1}\x{6240}\x{5275}\x{4F5C}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{300D}"
+      RenderBlock {P} at (0,160) size 550x51
+        RenderText {#text} at (0,1) size 550x49
+          text run at (0,1) width 550: "EA Mobile \x{7684} Worldwide Studios \x{526F}\x{7E3D}\x{88C1} Travis Boatman \x{6307}\x{51FA}\x{FF1A}\x{300C}App Store \x{4E0D}\x{50C5}\x{5FB9}\x{5E95}\x{6539}\x{8B8A}\x{4E86}\x{884C}\x{52D5}\x{904A}"
+          text run at (0,18) width 550: "\x{6232}\x{7522}\x{696D}\x{7684}\x{751F}\x{614B}\x{FF0C}\x{800C}\x{4E14}\x{9084}\x{5728}\x{6301}\x{7E8C}\x{6F14}\x{9032}\x{3002}\x{6709}\x{4E86}\x{5168}\x{7403} 5 \x{5343}\x{591A}\x{842C}\x{7684} iPhone \x{548C} iPod touch \x{5BA2}\x{6236}\x{70BA}\x{57FA}\x{790E}\x{FF0C}App"
+          text run at (0,35) width 345: "Store \x{8B93}\x{6211}\x{5011}\x{80FD}\x{5920}\x{958B}\x{767C}\x{53D7}\x{5230}\x{5EE3}\x{5927}\x{7684}\x{5BA2}\x{6236}\x{559C}\x{611B}\x{7684}\x{9AD8}\x{54C1}\x{8CEA} EA \x{904A}\x{6232}\x{3002}\x{300D}"
+      RenderBlock {P} at (0,223) size 550x51
+        RenderText {#text} at (0,1) size 550x49
+          text run at (0,1) width 550: "Smule \x{7684}\x{57F7}\x{884C}\x{9577} Jeff Smith \x{8868}\x{793A}\x{FF1A}\x{300C}\x{6211}\x{5011}\x{7684} I Am T-Pain \x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53D7}\x{5230}\x{5168}\x{7403}\x{5BA2}\x{6236}\x{7684}\x{71B1}\x{70C8}\x{8FF4}\x{97FF}\x{FF0C}\x{6BCF}\x{65E5}\x{8D85}"
+          text run at (0,18) width 550: "\x{904E} 10,000 \x{6B21}\x{7684}\x{4E0B}\x{8F09}\x{9060}\x{9060}\x{8D85}\x{8D8A}\x{6211}\x{5011}\x{7684}\x{9810}\x{671F}\x{3002}App Store \x{7D66}\x{4E86}\x{6211}\x{5011}\x{4E00}\x{500B}\x{7368}\x{7279}\x{7684}\x{5546}\x{6A5F}\x{FF0C}\x{8B93}\x{6211}\x{5011}\x{958B}\x{5275}\x{4E00}\x{500B}\x{975E}\x{5E38}"
+          text run at (0,35) width 216: "\x{6210}\x{529F}\x{7684}\x{4E8B}\x{696D}\x{FF0C}\x{76F8}\x{4FE1}\x{672A}\x{4F86}\x{5C07}\x{66F4}\x{4EE4}\x{4EBA}\x{671F}\x{5F85}\x{3002}\x{300D}"
+      RenderBlock {P} at (0,286) size 550x68
+        RenderText {#text} at (0,1) size 550x66
+          text run at (0,1) width 550: "\x{860B}\x{679C}\x{4E5F}\x{6301}\x{7E8C}\x{958B}\x{767C}\x{65B0}\x{7684}\x{529F}\x{80FD}\x{4F86}\x{63D0}\x{5347}\x{641C}\x{5C0B}\x{8207}\x{63A2}\x{7D22}\x{7684}\x{4FBF}\x{5229}\x{6027}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}Genius for Apps\x{3001}App Store"
+          text run at (0,18) width 550: "Essentials\x{3001}\x{5B50}\x{5206}\x{985E}\x{6E05}\x{55AE}\x{FF0C}\x{4EE5}\x{53CA}\x{66F4}\x{8C50}\x{5BCC}\x{800C}\x{5BF6}\x{8CB4}\x{7684}\x{5BA2}\x{6236}\x{8A55}\x{8AD6}\x{3002}\x{96A8}\x{8457}\x{65B0}\x{7248}\x{7684} iTunes\x{AE} 9 \x{63A8}\x{51FA}\x{FF0C}\x{73FE}\x{5728}\x{60A8}\x{53EF}\x{4EE5}\x{8F15}"
+          text run at (0,35) width 550: "\x{8F15}\x{9B06}\x{9B06}\x{76F4}\x{63A5}\x{5728} iTunes \x{7576}\x{4E2D}\x{6574}\x{7406}\x{60A8}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{FF0C}\x{4E00}\x{65E6}\x{540C}\x{6B65}\x{4E4B}\x{5F8C}\x{FF0C}iPhone \x{6216} iPod touch \x{5C31}\x{6703}\x{81EA}\x{52D5}\x{51FA}\x{73FE}\x{60A8}"
+          text run at (0,52) width 84: "\x{6240}\x{5B89}\x{6392}\x{7684}\x{914D}\x{7F6E}\x{3002}"
+      RenderBlock {P} at (0,366) size 550x102
+        RenderText {#text} at (0,1) size 550x100
+          text run at (0,1) width 550: "\x{4ECA}\x{5E74}\x{590F}\x{5929}\x{63A8}\x{51FA}\x{7684} iPhone OS 3.0 \x{70BA} iPhone \x{548C} iPod touch \x{4F7F}\x{7528}\x{8005}\x{63D0}\x{4F9B}\x{4E86} 100 \x{591A}\x{7A2E}\x{5168}\x{65B0}\x{7684}\x{529F}\x{80FD}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}"
+          text run at (0,18) width 550: "\x{526A}\x{8CBC}\x{8207}\x{62F7}\x{8C9D}\x{FF1B}MMS\x{FF1B}\x{65B0}\x{589E}\x{6A6B}\x{5411}\x{6AA2}\x{8996}\x{7684} Mail\x{3001}Text \x{548C} Notes\x{FF1B}\x{7ACB}\x{9AD4}\x{8072} Bluetooth\x{FF1B}\x{6416}\x{4E00}\x{6416}\x{5C31}\x{96A8}\x{6A5F}\x{64AD}\x{653E}\x{FF1B}"
+          text run at (0,35) width 550: "\x{96FB}\x{8996}\x{7BC0}\x{76EE}\x{5206}\x{7D1A}\x{4FDD}\x{8B77}\x{63A7}\x{5236}\x{FF1B}\x{81EA}\x{52D5}\x{767B}\x{5165} Wi-Fi \x{71B1}\x{9EDE}\x{FF1B}\x{4EE5}\x{53CA} Push Notification \x{670D}\x{52D9}\x{901A}\x{77E5}\x{7B49}\x{7B49}\x{3002}\x{9019}\x{4E9B}\x{65B0}\x{589E}\x{529F}\x{80FD}"
+          text run at (0,52) width 550: "\x{53D7}\x{5230}\x{5BA2}\x{6236}\x{7684}\x{5EE3}\x{5927}\x{6B61}\x{8FCE}\x{FF0C}\x{622A}\x{81F3}\x{76EE}\x{524D}\x{70BA}\x{6B62}\x{FF0C}\x{5DF2}\x{7D93}\x{6709}\x{8D85}\x{904E} 20 \x{5104}\x{6B21}\x{7684} Push Notification \x{670D}\x{52D9}\x{901A}\x{77E5}\x{767C}\x{9001}\x{81F3} App"
+          text run at (0,69) width 550: "Store \x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{6B64}\x{5916}\x{FF0C}\x{6700}\x{8FD1}\x{63A8}\x{51FA}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5167}\x{8CFC}\x{8CB7}\x{6A5F}\x{5236} (In-App Purchase)\x{FF0C}\x{70BA}\x{9818}\x{5148}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{958B}\x{767C}"
+          text run at (0,86) width 432: "\x{5EE0}\x{5546}\x{63D0}\x{4F9B}\x{4E86}\x{4E00}\x{7A2E}\x{65B9}\x{5F0F}\x{8B93}\x{5BA2}\x{6236}\x{76F4}\x{63A5}\x{5F9E}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{7576}\x{4E2D}\x{8CFC}\x{8CB7}\x{5167}\x{5BB9}\x{3001}\x{8A02}\x{95B1}\x{9805}\x{76EE}\x{53CA}\x{6578}\x{4F4D}\x{670D}\x{52D9}\x{3002}"
diff --git a/LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png b/LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png
new file mode 100644 (file)
index 0000000..9ec706b
Binary files /dev/null and b/LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.png differ
diff --git a/LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt b/LayoutTests/platform/mac-elcapitan/fast/text/line-initial-and-final-swashes-expected.txt
new file mode 100644 (file)
index 0000000..5e701e0
--- /dev/null
@@ -0,0 +1,22 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 653x18
+          text run at (0,0) width 653: "The black text should be identical to, and overlap, the red text, so there should be no red pixels below."
+      RenderBlock {DIV} at (0,34) size 784x144
+        RenderBlock {DIV} at (0,0) size 784x144 [color=#FF0000]
+          RenderText {#text} at (0,0) size 292x144
+            text run at (0,0) width 292: "v a\x{300} e"
+        RenderBlock {DIV} at (0,0) size 784x144
+          RenderText {#text} at (0,0) size 292x144
+            text run at (0,0) width 292: "v \x{E0} e"
+      RenderBlock {DIV} at (0,178) size 784x144
+        RenderBlock {DIV} at (0,0) size 784x144 [color=#FF0000]
+          RenderText {#text} at (0,0) size 260x144
+            text run at (0,0) width 260: "v a\x{300} e"
+        RenderBlock {DIV} at (0,0) size 784x144
+          RenderText {#text} at (0,0) size 260x144
+            text run at (0,0) width 260: "v \x{E0} e"
diff --git a/LayoutTests/platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt b/LayoutTests/platform/mac-elcapitan/http/tests/cookies/third-party-cookie-relaxing-expected.txt
new file mode 100644 (file)
index 0000000..184a97a
--- /dev/null
@@ -0,0 +1,47 @@
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 1 document.cookie is: 
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie
+ALERT: XHR response - Set the foo cookie
+ALERT: Test stage 2 document.cookie is: 
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 3 document.cookie is: 
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooAndBarCookie
+ALERT: XHR response - Set the foo and bar cookies
+ALERT: Test stage 4 document.cookie is: 
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 5 document.cookie is: 
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie
+ALERT: XHR response - Set the foo cookie
+ALERT: Test stage 6 document.cookie is: foo=awesomevalue
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 7 document.cookie is: 
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 8 document.cookie is: 
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie
+ALERT: XHR response - Set the foo cookie
+ALERT: Test stage 9 document.cookie is: foo=awesomevalue
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooAndBarCookie
+ALERT: XHR response - Set the foo and bar cookies
+ALERT: Test stage 10 document.cookie is: bar=anotherawesomevalue; foo=awesomevalue
+
diff --git a/LayoutTests/platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt b/LayoutTests/platform/mac-elcapitan/http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt
new file mode 100644 (file)
index 0000000..5e22650
--- /dev/null
@@ -0,0 +1 @@
+This test opens a window that loads insecure HTML5 audio and video. We should trigger a mixed content callback because the main frame in the window is HTTPS but is displaying insecure content.
diff --git a/LayoutTests/platform/mac-elcapitan/media/controls-strict-expected.txt b/LayoutTests/platform/mac-elcapitan/media/controls-strict-expected.txt
new file mode 100644 (file)
index 0000000..ffa9780
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x302
+  RenderBlock {HTML} at (0,0) size 800x302
+    RenderBody {BODY} at (8,16) size 784x278
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 232x18
+          text run at (0,0) width 232: "Drawing the controls in strict mode."
+      RenderBlock (anonymous) at (0,34) size 784x244
+        RenderText {#text} at (0,0) size 0x0
+layer at (8,50) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (0,0) size 320x240
+layer at (8,50) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,245) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,245) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,245) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,245) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,270) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,270) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,269) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,271) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,269) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,269) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,271) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,265) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (277,270) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,270) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
diff --git a/LayoutTests/platform/mac-elcapitan/media/controls-without-preload-expected.txt b/LayoutTests/platform/mac-elcapitan/media/controls-without-preload-expected.txt
new file mode 100644 (file)
index 0000000..456a377
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 317x18
+          text run at (0,0) width 317: "The controls should not depend on preload value."
+      RenderBlock (anonymous) at (0,34) size 784x240
+        RenderText {#text} at (0,0) size 0x0
+layer at (8,42) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (0,0) size 320x240
+layer at (8,42) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,237) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,237) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,237) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,237) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,262) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,262) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,261) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,263) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,261) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,261) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,263) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,257) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (277,262) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,262) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
diff --git a/LayoutTests/platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt b/LayoutTests/platform/mac-elcapitan/media/track/video-track-alternate-groups-expected.txt
new file mode 100644 (file)
index 0000000..4ff4d55
--- /dev/null
@@ -0,0 +1,28 @@
+
+Video elements containing audio tracks with alternate groups.
+
+
+Test that media containing three audio tracks with no alternate group results in three AudioTracks
+RUN(video.src = findMediaFile("video", "../content/audio-tracks-no-alternate-group"))
+EVENT(canplaythrough)
+EXPECTED (video.audioTracks.length == '3') OK
+TRACK id:2 kind:main language:eng
+TRACK id:3 kind:main language:fra
+TRACK id:4 kind:main language:spa
+
+Test that media containing two audio tracks in one alternate group and one track without an alternate group results in two AudioTracks
+RUN(video.src = findMediaFile("video", "../content/audio-tracks-some-in-alternate-group"))
+EVENT(canplaythrough)
+EXPECTED (video.audioTracks.length == '2') OK
+TRACK id:2 kind:main language:en
+TRACK id:3 kind:main language:fr
+
+Test that media containing six audio tracks, with three audio tracks each referring to a separate track as a fallback track, all in one alternate group, results in three AudioTracks
+RUN(video.src = findMediaFile("video", "../content/audio-tracks-alternate-group-with-fallback"))
+EVENT(canplaythrough)
+EXPECTED (video.audioTracks.length == '3') OK
+TRACK id:3 kind:main language:en
+TRACK id:5 kind:main language:fr
+TRACK id:7 kind:main language:es
+END OF TEST
+
diff --git a/LayoutTests/platform/mac-elcapitan/media/video-controls-rendering-expected.txt b/LayoutTests/platform/mac-elcapitan/media/video-controls-rendering-expected.txt
new file mode 100644 (file)
index 0000000..c1e2ade
--- /dev/null
@@ -0,0 +1,136 @@
+layer at (0,0) size 785x762
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x600
+  RenderBlock {HTML} at (0,0) size 785x600
+    RenderBody {BODY} at (8,8) size 769x584
+      RenderBlock {P} at (0,0) size 769x18
+        RenderText {#text} at (0,0) size 156x18
+          text run at (0,0) width 156: "Test controls placement."
+      RenderBlock {DIV} at (0,34) size 769x240
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,274) size 769x240
+        RenderText {#text} at (0,0) size 0x0
+      RenderBlock {DIV} at (0,514) size 769x0
+layer at (8,42) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (0,0) size 320x240
+layer at (8,42) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,237) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,237) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,237) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,237) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,262) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,262) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,261) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,263) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,261) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,261) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,263) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,257) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (277,262) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,262) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
+layer at (8,282) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (0,0) size 320x240
+layer at (8,282) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,477) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,477) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,477) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,477) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,502) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,502) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,501) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,503) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,501) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,501) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,503) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,497) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (277,502) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,502) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
+layer at (8,522) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (8,522) size 320x240
+layer at (8,522) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,717) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,717) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,717) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,717) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,742) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,742) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,741) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,743) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,741) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,741) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,743) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,737) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (277,742) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,742) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
diff --git a/LayoutTests/platform/mac-elcapitan/media/video-display-toggle-expected.txt b/LayoutTests/platform/mac-elcapitan/media/video-display-toggle-expected.txt
new file mode 100644 (file)
index 0000000..09a4218
--- /dev/null
@@ -0,0 +1,50 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 504x18
+        text run at (0,0) width 504: "This tests that toggling the display property won't make the controls disappear."
+      RenderBR {BR} at (503,14) size 1x0
+      RenderText {#text} at (0,0) size 0x0
+layer at (8,26) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (0,18) size 320x240
+layer at (8,26) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,221) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,221) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,221) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,221) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,246) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,246) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,245) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,247) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,245) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,245) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,247) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,241) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (277,246) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,246) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
diff --git a/LayoutTests/platform/mac-elcapitan/media/video-no-audio-expected.txt b/LayoutTests/platform/mac-elcapitan/media/video-no-audio-expected.txt
new file mode 100644 (file)
index 0000000..0e11185
--- /dev/null
@@ -0,0 +1,51 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderBlock {P} at (0,0) size 784x18
+        RenderText {#text} at (0,0) size 419x18
+          text run at (0,0) width 419: "Movie with no audio track. The volume button should not render."
+      RenderBlock (anonymous) at (0,34) size 784x288
+        RenderText {#text} at (0,0) size 0x0
+layer at (8,42) size 352x288 isolatesBlending
+  RenderVideo {VIDEO} at (0,0) size 352x288
+layer at (8,42) size 352x288
+  RenderFlexibleBox {DIV} at (0,0) size 352x288
+layer at (8,285) size 352x45
+  RenderFlexibleBox {DIV} at (0,243) size 352x45
+layer at (8,285) size 352x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 352x45
+layer at (8,285) size 352x45
+  RenderBlock (positioned) {DIV} at (0,0) size 352x45 [bgcolor=#1E1E1E73]
+layer at (8,285) size 352x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 352x45 [bgcolor=#292929]
+layer at (16,310) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,310) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,309) size 233x17
+  RenderFlexibleBox {DIV} at (60,24) size 233x17
+layer at (76,311) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,309) size 128x17
+  RenderFlexibleBox {DIV} at (50,0) size 128x17
+layer at (118,309) size 128x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 128x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 128x17
+      RenderBlock {DIV} at (0,1) size 128x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (256,311) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (188,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:09"
+layer at (309,305) size 14x25
+  RenderFlexibleBox {DIV} at (301,20) size 14x25
+layer at (309,310) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (339,310) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (331,25) size 14x15 [color=#FFFFFF]
diff --git a/LayoutTests/platform/mac-elcapitan/media/video-volume-slider-expected.txt b/LayoutTests/platform/mac-elcapitan/media/video-volume-slider-expected.txt
new file mode 100644 (file)
index 0000000..a1b75bb
--- /dev/null
@@ -0,0 +1,67 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x584
+      RenderText {#text} at (0,0) size 443x18
+        text run at (0,0) width 443: "Tests if the volume slider is rendererd properly. This test assumes the"
+      RenderBR {BR} at (442,14) size 1x0
+      RenderText {#text} at (0,18) size 465x18
+        text run at (0,18) width 465: "volume slider is implemented and mouse over the right bottom corner of"
+      RenderBR {BR} at (464,32) size 1x0
+      RenderText {#text} at (0,36) size 276x18
+        text run at (0,36) width 276: "video element will show the volume slider."
+      RenderBR {BR} at (275,50) size 1x0
+      RenderText {#text} at (0,0) size 0x0
+layer at (8,62) size 320x240 isolatesBlending
+  RenderVideo {VIDEO} at (0,54) size 320x240
+layer at (8,62) size 320x240
+  RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,257) size 320x45
+  RenderFlexibleBox {DIV} at (0,195) size 320x45
+layer at (8,257) size 320x45 isolatesBlending
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45
+layer at (8,257) size 320x45
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#1E1E1E73]
+layer at (8,257) size 320x45 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 320x45 [bgcolor=#292929]
+layer at (16,282) size 12x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (8,25) size 12x15 [color=#FFFFFF]
+layer at (44,282) size 16x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (36,24) size 16x16 [color=#FFFFFF]
+layer at (68,281) size 201x17
+  RenderFlexibleBox {DIV} at (60,24) size 201x17
+layer at (76,283) size 32x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (8,2) size 32x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (2,0) size 30x13
+      RenderText {#text} at (0,0) size 30x13
+        text run at (0,0) width 30: "00:00"
+layer at (118,281) size 96x17
+  RenderFlexibleBox {DIV} at (50,0) size 96x17
+layer at (118,281) size 96x17 blendMode: plus-lighter
+  RenderSlider {INPUT} at (0,0) size 96x17 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 96x17
+      RenderBlock {DIV} at (0,1) size 96x15
+        RenderBlock {DIV} at (0,0) size 3x15
+layer at (224,283) size 37x13 blendMode: plus-lighter
+  RenderFlexibleBox {DIV} at (156,2) size 37x13 [color=#FFFFFF]
+    RenderBlock (anonymous) at (0,0) size 35x13
+      RenderText {#text} at (0,0) size 35x13
+        text run at (0,0) width 35: "-00:06"
+layer at (277,277) size 14x25
+  RenderFlexibleBox {DIV} at (269,20) size 14x25
+layer at (252,181) size 63x116 isolatesBlending
+  RenderFlexibleBox {DIV} at (-25,-96) size 63x116
+layer at (252,181) size 63x116
+  RenderBlock (positioned) {DIV} at (0,0) size 63x116 [bgcolor=#1E1E1E73]
+layer at (252,181) size 63x116 blendMode: lighten
+  RenderBlock (positioned) {DIV} at (0,0) size 63x116 [bgcolor=#292929]
+layer at (251,235) size 64x9 backgroundClip at (252,181) size 63x116 clip at (252,181) size 63x116 blendMode: plus-lighter
+  RenderSlider {INPUT} at (-1,53) size 64x10 [color=#909090]
+    RenderFlexibleBox {DIV} at (0,0) size 64x9
+      RenderBlock {DIV} at (0,1) size 64x7
+        RenderBlock {DIV} at (39,0) size 8x7
+layer at (277,282) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (0,5) size 14x15 [color=#FFFFFF]
+layer at (307,282) size 14x15 blendMode: plus-lighter
+  RenderButton {BUTTON} at (299,25) size 14x15 [color=#FFFFFF]
index ac5182f..b78c6f7 100644 (file)
@@ -211,3 +211,25 @@ webkit.org/b/157589 fast/text-autosizing/ios/text-autosizing-after-back.html [ P
 fast/repaint/vertical-text-repaint.html [ Pass Failure ]
 
 webkit.org/b/158585 webgl/webgl-backing-store-size-update.html [ Pass Timeout ]
+
+# <rdar://problem/23421541>
+[ Sierra+ ] http/tests/navigation/forward-and-cancel.html [ Pass Failure ]
+
+# <rdar://problem/23431065>
+[ Sierra+ ] animations/animation-welcome-safari.html [ Pass Failure ]
+
+# <rdar://problem/23884199> Crashed in com.apple.WebKitLegacy: WebEditorClient::didCheckSucceed
+[ Sierra+ ] editing/spelling/spellcheck-attribute.html [ Pass Crash ]
+
+# <rdar://problem/24818712>
+[ Sierra+ ] editing/spelling/spelling-insert-html.html [ Pass Timeout ]
+
+# <rdar://problem/26399598>
+[ Sierra+ ] editing/spelling/spellcheck-async.html [ Failure ]
+[ Sierra+ ] editing/spelling/markers.html [ Failure ]
+[ Sierra+ ] editing/spelling/spelling-unified-emulation.html [ Failure ]
+
+# <rdar://problem/26050923> The result is probably still a pass, but we don't have a way
+# to have platform specific results that are different between WK1 and WK2.
+[ Sierra+ ] accessibility/mac/document-attributes.html [ Failure ]
+[ Sierra+ ] accessibility/parent-delete.html [ Failure ]
index b1d45c2..e721c18 100644 (file)
@@ -465,3 +465,45 @@ webkit.org/b/157589 fast/text-autosizing/ios/text-autosizing-after-back.html [ P
 webkit.org/b/158237 fast/scrolling/scroll-container-horizontally.html [ Pass Timeout ]
 
 webkit.org/b/158639 [ Release Yosemite ] imported/blink/storage/indexeddb/blob-delete-objectstore-db.html [ Pass Timeout ]
+
+# This test only produces an RTL token on Sierra.
+[ Yosemite ElCapitan ] fast/scrolling/rtl-scrollbars-animation-property.html [ Failure ]
+
+# PiP tests are only enabled for Sierra WebKit2.
+[ Sierra+ ] media/click-placeholder-not-pausing.html [ Pass ]
+[ Sierra+ ] media/controls/picture-in-picture.html [ Pass ]
+[ Sierra+ ] media/element-containing-pip-video-going-into-fullscreen.html [ Pass ]
+[ Sierra+ ] media/fullscreen-api-enabled-media-with-presentation-mode.html [ Pass ]
+[ Sierra+ ] media/fullscreen-video-going-into-pip.html [ Pass ]
+[ Sierra+ ] media/navigate-with-pip-should-not-crash.html [ Pass ]
+[ Sierra+ ] media/pip-video-going-into-fullscreen.html [ Pass ]
+[ Sierra+ ] media/video-contained-in-fullscreen-element-going-into-pip.html [ Pass ]
+
+# RTL Scrollbars are enabled on Sierra WebKit2.
+[ Sierra+ ] fast/scrolling/rtl-scrollbars.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-simple.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-contents.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-dir-rtl.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-padding.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-simple.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-elementFromPoint.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-position-absolute.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-overflow-text-selection-scrolled.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-position-absolute.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-position-fixed.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-text-selection-scrolled.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-text-selection.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-iframe-offset.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-elementFromPoint-static.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-iframe-scrolled.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-positioning.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-listbox-scroll.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-listbox-select-left.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-listbox-select-right.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-listbox-simple.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-listbox.html [ Pass ]
+[ Sierra+ ] fast/scrolling/rtl-scrollbars-positioned-intersect-scrollbars.html [ Pass ]
+
+# <rdar://problem/25063128>
+[ Sierra+ ] media/media-controls-drag-timeline-set-controls-property.html [ Pass Timeout ]
diff --git a/LayoutTests/platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt b/LayoutTests/platform/mac-wk2/fast/scrolling/rtl-scrollbars-animation-property-expected.txt
new file mode 100644 (file)
index 0000000..644856a
--- /dev/null
@@ -0,0 +1,11 @@
+layer at (0,0) size 785x2000
+  RenderView at (0,0) size 785x600
+layer at (0,0) size 785x216
+  RenderBlock {HTML} at (0,0) size 785x216
+    RenderBody {BODY} at (8,8) size 769x200
+layer at (8,8) size 200x200 clip at (23,8) size 185x185 scrollHeight 2000 scrollbarHasRTLLayoutDirection
+  RenderBlock (relative positioned) {DIV} at (0,0) size 200x200
+layer at (23,8) size 1x2000 backgroundClip at (23,8) size 185x185 clip at (23,8) size 185x185
+  RenderBlock (positioned) {DIV} at (15,0) size 1x2000
+layer at (0,0) size 1x2000
+  RenderBlock (positioned) {DIV} at (0,0) size 1x2000
index 15cf68e..c7967b0 100644 (file)
@@ -701,7 +701,10 @@ webkit.org/b/112176 fast/css/sticky/sticky-both-sides.html [ ImageOnlyFailure Pa
 # Once the bug 112176 is fixed, potentially restore the following test expectations.
 
 # Always very slow, frequently timing out (only on bots, not locally).
-webkit.org/b/121331 http/tests/misc/submit-post-keygen.html [ Pass Failure Timeout ]
+webkit.org/b/121331 [ Yosemite ElCapitan ] http/tests/misc/submit-post-keygen.html [ Pass Failure Timeout ]
+
+# <rdar://problem/26701829> com.apple.WebKit.WebContent.Development crashed in com.apple.security: Security::Mutex::unlock + 9
+[ Sierra+ ] http/tests/misc/submit-post-keygen.html [ Pass Failure Timeout Crash ]
 
 # isProtocolHandlerRegistered() isn't supported yet.
 webkit.org/b/92749 fast/dom/NavigatorContentUtils/is-protocol-handler-registered.html [ Skip ]
@@ -1109,9 +1112,19 @@ webkit.org/b/136109 [ Yosemite+ ] fast/multicol/mixed-opacity-fixed-test.html  [
 webkit.org/b/82980 http/tests/navigation/back-twice-without-commit.html [ Pass Timeout ]
 
 # Verified passing, so override generic skip
-webkit.org/b/89235 css3/line-break [ Pass ]
-webkit.org/b/138115 css3/line-break/line-break-auto-hyphens.html [ ImageOnlyFailure ]
-webkit.org/b/138115 css3/line-break/line-break-auto-sound-marks.html [ ImageOnlyFailure ]
+webkit.org/b/89235 [ Yosemite ElCapitan ] css3/line-break [ Pass ]
+webkit.org/b/138115 [ Yosemite ElCapitan ] css3/line-break/line-break-auto-hyphens.html [ ImageOnlyFailure ]
+webkit.org/b/138115 [ Yosemite ElCapitan ] css3/line-break/line-break-auto-sound-marks.html [ ImageOnlyFailure ]
+
+# We have language-sensitive fallback, so css3/line-break-language-sensitive is used instead.
+[ Sierra+ ] css3/line-break [ Pass ImageOnlyFailure ]
+
+# These operating systems do not have language-sensitive font fallback.
+[ Yosemite ElCapitan ] css3/line-break-language-sensitive [ Pass ImageOnlyFailure ]
+
+# Language-specific font fallback is disabled on certain versions of OS X
+webkit.org/b/147390 [ Yosemite ElCapitan ] fast/text/fallback-language-han.html [ ImageOnlyFailure ]
+webkit.org/b/147390 [ Yosemite ElCapitan ] fast/text/fallback-language-han-2.html [ ImageOnlyFailure ]
 
 webkit.org/b/137589 compositing/hidpi-compositing-vs-non-compositing-check-on-testing-framework.html [ Pass ImageOnlyFailure ]
 
@@ -1159,7 +1172,7 @@ webkit.org/b/141534 [ Yosemite ] media/video-load-networkState.html [ Pass Crash
 webkit.org/b/142726 [ Yosemite+ ] fast/images/animated-png.html [ ImageOnlyFailure ]
 
 # Fails when an actual AppleTV is nearby.
-webkit.org/b/148912 media/controls/airplay-picker.html [ Pass Failure ]
+webkit.org/b/148912 [ ElCapitan+ ] media/controls/airplay-picker.html [ Pass Failure ]
 
 # OS X 10.10.3+ has the necessary glyphs.
 webkit.org/b/142548 [ Yosemite+ ] editing/selection/extend-by-character-007.html [ Pass ]
@@ -1192,10 +1205,6 @@ webkit.org/b/150978 fast/canvas/webgl/oes-texture-half-float-linear.html [ Pass
 
 webkit.org/b/147763 [ Yosemite ] accessibility/mac/loaded-notification.html [ Skip ]
 
-# Language-specific font fallback is disabled on certain versions of OS X
-webkit.org/b/147390 [ Yosemite ElCapitan ] fast/text/fallback-language-han.html [ ImageOnlyFailure ]
-webkit.org/b/147390 [ Yosemite ElCapitan ] fast/text/fallback-language-han-2.html [ ImageOnlyFailure ]
-
 # These tests rely on iOS-specific font fallback.
 [ Yosemite ElCapitan ] fast/text/international/system-language/arabic-glyph-cache-fill-combine.html [ Pass ImageOnlyFailure ]
 [ Yosemite ElCapitan ] fast/text/arabic-blacklisted-expected.html [ Pass ImageOnlyFailure ]
@@ -1206,9 +1215,6 @@ webkit.org/b/148042 http/tests/media/video-buffered-range-contains-currentTime.h
 # This test tests a particular system font, which is only on iOS and El Capitan.
 webkit.org/b/148119 [ Yosemite ] fast/text/trak-optimizeLegibility.html [ Failure ]
 
-# These operating systems do not have language-sensitive font fallback.
-[ Yosemite ElCapitan ] css3/line-break-language-sensitive [ Pass ImageOnlyFailure ]
-
 webkit.org/b/148636 inspector/css/createStyleSheet.html [ Pass Timeout ]
 webkit.org/b/148636 inspector/css/get-system-fonts.html [ Pass Timeout ]
 webkit.org/b/148636 inspector/css/getAllStyleSheets.html [ Pass Timeout ]
@@ -1345,9 +1351,9 @@ webkit.org/b/155505 [ ElCapitan+ ] http/tests/security/contentSecurityPolicy/use
 
 webkit.org/b/154688 inspector/controller/runtime-controller.html [ Pass Timeout ]
 
-webkit.org/b/156112 [ ElCapitan ] media/audio-controls-rendering.html [ Pass Failure ]
-webkit.org/b/156112 [ ElCapitan ] media/controls-strict.html [ Pass Failure ]
-webkit.org/b/156112 [ ElCapitan ] media/controls-without-preload.html [ Pass Failure ]
+webkit.org/b/156112 [ ElCapitan+ ] media/audio-controls-rendering.html [ Pass Failure ]
+webkit.org/b/156112 [ ElCapitan+ ] media/controls-strict.html [ Pass Failure ]
+webkit.org/b/156112 [ ElCapitan+ ] media/controls-without-preload.html [ Pass Failure ]
 
 webkit.org/b/156351 storage/indexeddb/modern/autoincrement-abort-private.html [ Pass Timeout ]
 
@@ -1366,6 +1372,74 @@ webkit.org/b/158534 css3/filters/backdrop/dynamic-backdrop-filter-change.html [
 
 # These tests hardcode platform-specific font aliases.
 webkit.org/b/158649 [ Yosemite ] fast/text/chinese-font-name-aliases.html [ ImageOnlyFailure ]
-webkit.org/b/158649 [ ElCapitan ] fast/text/chinese-font-name-aliases-2.html [ ImageOnlyFailure ]
+webkit.org/b/158649 [ ElCapitan+ ] fast/text/chinese-font-name-aliases-2.html [ ImageOnlyFailure ]
 
 webkit.org/b/158889 media/video-controls-show-on-kb-or-ax-event.html [ Pass Failure ]
+
+# <rdar://problem/22950905> REGRESSION (Sierra): canvas-alphaImageData-behavior very flaky
+[ Sierra+ ] fast/canvas/canvas-alphaImageData-behavior.html [ Pass Failure ]
+
+# <rdar://problem/23379930> swipe tests crashing
+[ Sierra+ ] swipe/basic-cached-back-swipe.html [ Skip ]
+[ Sierra+ ] swipe/main-frame-pinning-requirement.html [ Skip ]
+[ Sierra+ ] swipe/pushState-cached-back-swipe.html [ Skip ]
+[ Sierra+ ] swipe/swipe-start-hysteresis-failures.html [ Skip ]
+
+# <rdar://problem/23500327> storage/websql/alter-to-info-table.html
+[ Sierra+ ] storage/websql/alter-to-info-table.html [ Pass Failure ]
+
+# <rdar://problem/23504749> imported/w3c/web-platform-tests/XMLHttpRequest/response-method.htm failing
+[ Sierra+ ] imported/w3c/web-platform-tests/XMLHttpRequest/response-method.htm [ Pass Failure ]
+
+# <rdar://problem/23505582> Fails on iMac10,1 and iMac11,1
+[ Sierra+ ] fast/canvas/canvas-imageSmoothingEnabled-repaint.html [ Pass Failure ]
+
+# <rdar://problem/23601055>
+[ Sierra+ ] media/track/track-in-band-style.html [ Pass Failure ]
+
+# Sierra supports true font feature coverage queries. We use the -coverage versions of these tests instead.
+[ Sierra+ ] css3/font-variant-small-caps-synthesis.html [ ImageOnlyFailure ]
+[ Sierra+ ] css3/font-variant-petite-caps-synthesis.html [ ImageOnlyFailure ]
+
+# <rdar://problem/24025664> 2d.gradient.interpolate.colouralpha.html LayoutTests failing
+[ Sierra+ ] imported/w3c/canvas/2d.gradient.interpolate.colouralpha.html [ Skip ]
+[ Sierra+ ] canvas/philip/tests/2d.gradient.interpolate.colouralpha.html [ Skip ]
+
+# <rdar://problem/25279189> LayoutTest http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html is flaky
+[ Sierra+ ] http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html [ Pass Failure ]
+
+# <rdar://problem/25536266> [Mac][iOS][NETWORK_SESSION] Unable to download BLOB URLs (156180)
+[ Sierra+ ] fast/dom/HTMLAnchorElement/anchor-download.html [ Skip ]
+[ Sierra+ ] fast/dom/HTMLAnchorElement/anchor-nodownload-set.html [ Skip ]
+[ Sierra+ ] http/tests/security/anchor-download-allow-data.html [ Skip ]
+[ Sierra+ ] http/tests/security/anchor-download-allow-sameorigin.html [ Skip ]
+[ Sierra+ ] http/tests/security/anchor-download-allow-blob.html [ Skip ]
+
+# <rdar://problem/25780035> CSP does not ignore paths for media redirects
+[ Sierra+ ] http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html [ Skip ]
+[ Sierra+ ] http/tests/security/contentSecurityPolicy/video-redirect-allowed2.html [ Skip ]
+
+# <rdar://problem/26369661> Line drawing failures
+[ Sierra+ ] canvas/philip/tests/2d.line.cap.open.html [ Failure ]
+[ Sierra+ ] canvas/philip/tests/2d.line.join.open.html [ Failure ]
+[ Sierra+ ] imported/w3c/canvas/2d.line.cap.open.html [ Failure ]
+[ Sierra+ ] imported/w3c/canvas/2d.line.join.open.html [ Failure ]
+
+# <rdar://problem/26376752> REGRESSION: LayoutTest css3/filters/backdrop/effect-hw.html failing
+[ Sierra+ ] css3/filters/backdrop/effect-hw.html [ ImageOnlyFailure ]
+
+# <rdar://problem/26590623> LayoutTest http/tests/preload/single_download_preload_runner.html failing
+[ Sierra+ ] http/tests/preload/single_download_preload_runner.html [ Pass Failure ]
+
+# <rdar://problem/26187657> LayoutTests timing out in NSCorrectionPanel code
+[ Sierra+ ] editing/input/password-echo-textnode.html [ Timeout ]
+
+# <rdar://problem/26561453> LayoutTest http/tests/contentextensions/make-https.html failing
+[ Sierra+ ] http/tests/contentextensions/make-https.html [ Failure ]
+
+# <rdar://problem/26706803> 2 tests broken in css3/filters/backdrop
+[ Sierra+ ] css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection-add.html [ ImageOnlyFailure ]
+[ Sierra+ ] css3/filters/backdrop/backdrop-filter-with-border-radius-and-reflection.html [ ImageOnlyFailure ]
+
+# <rdar://problem/26632402> LayoutTest media/video-loop.html is a flaky timeout
+[ Sierra+ ] media/video-loop.html [ Pass Timeout ]
diff --git a/LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png b/LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png
new file mode 100644 (file)
index 0000000..91cdef5
Binary files /dev/null and b/LayoutTests/platform/mac/compositing/rtl/rtl-overflow-scrolling-expected.png differ
index e8c48a6..6b692b3 100644 (file)
@@ -3,6 +3,6 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x600
   RenderBlock {HTML} at (0,0) size 800x600
     RenderBody {BODY} at (8,8) size 784x584
-layer at (8,8) size 300x300 clip at (8,8) size 285x285 scrollWidth 1000 scrollHeight 1000
+layer at (8,8) size 300x300 clip at (23,8) size 285x285 scrollWidth 1000 scrollHeight 1000
   RenderBlock {DIV} at (0,0) size 300x300
-    RenderBlock {DIV} at (-715,0) size 1000x1000 [bgcolor=#008000]
+    RenderBlock {DIV} at (-700,0) size 1000x1000 [bgcolor=#008000]
index 0d56b36..f42cda2 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/block/float/026-expected.png and b/LayoutTests/platform/mac/fast/block/float/026-expected.png differ
index ce08f03..1b503c6 100644 (file)
@@ -36,16 +36,16 @@ layer at (0,0) size 785x1432
       RenderBlock {DIV} at (0,1216) size 769x200
         RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
         RenderImage {IMG} at (184,0) size 385x50 [bgcolor=#008000]
-layer at (8,208) size 569x55 clip at (10,210) size 550x36
+layer at (8,208) size 569x55 clip at (25,210) size 550x36
   RenderBlock {DIV} at (0,0) size 569x55 [border: (2px solid #0000FF)]
-    RenderText {#text} at (15,2) size 537x36
-      text run at (15,2) width 537: "This is an overflow:scroll region. It should sit on the same line as the float and wrap"
-      text run at (245,20) width 5 RTL: "."
-      text run at (249,20) width 303: "as needed to fit within the remaining line width"
-layer at (189,816) size 388x73 clip at (191,818) size 369x54
+    RenderText {#text} at (30,2) size 537x36
+      text run at (30,2) width 537: "This is an overflow:scroll region. It should sit on the same line as the float and wrap"
+      text run at (260,20) width 5 RTL: "."
+      text run at (264,20) width 303: "as needed to fit within the remaining line width"
+layer at (189,816) size 388x73 clip at (206,818) size 369x54
   RenderBlock {DIV} at (180,0) size 389x73 [border: (2px solid #0000FF)]
-    RenderText {#text} at (36,2) size 367x54
-      text run at (36,2) width 336: "This is an overflow:scroll region. It should sit on the"
-      text run at (5,20) width 367: "same line as the float and wrap as needed to fit within the"
-      text run at (234,38) width 5 RTL: "."
-      text run at (238,38) width 134: "remaining line width"
+    RenderText {#text} at (51,2) size 367x54
+      text run at (51,2) width 336: "This is an overflow:scroll region. It should sit on the"
+      text run at (20,20) width 367: "same line as the float and wrap as needed to fit within the"
+      text run at (249,38) width 5 RTL: "."
+      text run at (253,38) width 134: "remaining line width"
index 0d56b36..f42cda2 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/block/float/028-expected.png and b/LayoutTests/platform/mac/fast/block/float/028-expected.png differ
index ce08f03..1b503c6 100644 (file)
@@ -36,16 +36,16 @@ layer at (0,0) size 785x1432
       RenderBlock {DIV} at (0,1216) size 769x200
         RenderBlock (floating) {DIV} at (569,0) size 200x200 [bgcolor=#FF0000]
         RenderImage {IMG} at (184,0) size 385x50 [bgcolor=#008000]
-layer at (8,208) size 569x55 clip at (10,210) size 550x36
+layer at (8,208) size 569x55 clip at (25,210) size 550x36
   RenderBlock {DIV} at (0,0) size 569x55 [border: (2px solid #0000FF)]
-    RenderText {#text} at (15,2) size 537x36
-      text run at (15,2) width 537: "This is an overflow:scroll region. It should sit on the same line as the float and wrap"
-      text run at (245,20) width 5 RTL: "."
-      text run at (249,20) width 303: "as needed to fit within the remaining line width"
-layer at (189,816) size 388x73 clip at (191,818) size 369x54
+    RenderText {#text} at (30,2) size 537x36
+      text run at (30,2) width 537: "This is an overflow:scroll region. It should sit on the same line as the float and wrap"
+      text run at (260,20) width 5 RTL: "."
+      text run at (264,20) width 303: "as needed to fit within the remaining line width"
+layer at (189,816) size 388x73 clip at (206,818) size 369x54
   RenderBlock {DIV} at (180,0) size 389x73 [border: (2px solid #0000FF)]
-    RenderText {#text} at (36,2) size 367x54
-      text run at (36,2) width 336: "This is an overflow:scroll region. It should sit on the"
-      text run at (5,20) width 367: "same line as the float and wrap as needed to fit within the"
-      text run at (234,38) width 5 RTL: "."
-      text run at (238,38) width 134: "remaining line width"
+    RenderText {#text} at (51,2) size 367x54
+      text run at (51,2) width 336: "This is an overflow:scroll region. It should sit on the"
+      text run at (20,20) width 367: "same line as the float and wrap as needed to fit within the"
+      text run at (249,38) width 5 RTL: "."
+      text run at (253,38) width 134: "remaining line width"
index 9fa7d6b..c5abf66 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png and b/LayoutTests/platform/mac/fast/overflow/unreachable-overflow-rtl-bug-expected.png differ
index 0a2daf5..4cdf7e5 100644 (file)
@@ -11,5 +11,5 @@ layer at (0,0) size 800x600
           text run at (0,0) width 34: "RTL:"
 layer at (8,26) size 106x106 clip at (11,29) size 85x85 scrollWidth 221 scrollHeight 268
   RenderBlock (relative positioned) {DIV} at (0,18) size 106x106 [border: (3px solid #000000)]
-layer at (8,150) size 106x106 clip at (11,153) size 85x85 scrollX 136 scrollWidth 221 scrollHeight 268
+layer at (8,150) size 106x106 clip at (26,153) size 85x85 scrollX 136 scrollWidth 221 scrollHeight 268
   RenderBlock (relative positioned) {DIV} at (0,142) size 106x106 [border: (3px solid #000000)]
index 103b6bf..0868779 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png and b/LayoutTests/platform/mac/fast/ruby/bopomofo-expected.png differ
index 80905ce..6191e88 100644 (file)
@@ -3,122 +3,122 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x64
   RenderBlock {HTML} at (0,0) size 800x64
     RenderBody {BODY} at (8,8) size 784x48
-      RenderRuby (inline) {RUBY} at (0,0) size 480x32
-        RenderRubyRun (anonymous) at (0,0) size 48x48
-          RenderRubyText {RT} at (32,20) size 8x8
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,0) size 8x8
-                RenderRubyText {RT} at (8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3115}"
+      RenderRuby (inline) {RUBY} at (0,0) size 500x37
+        RenderRubyRun (anonymous) at (0,0) size 50x48
+          RenderRubyText {RT} at (32,19) size 12x9
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (0,0) size 11x8
+                RenderRubyText {RT} at (9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3115}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{4E16}"
-        RenderRubyRun (anonymous) at (48,0) size 48x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3115}\x{3124}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{4E16}"
+        RenderRubyRun (anonymous) at (50,0) size 50x48
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3115}\x{3124}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{4E0A}"
-        RenderRubyRun (anonymous) at (96,0) size 48x48
-          RenderRubyText {RT} at (32,20) size 8x8
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,0) size 8x8
-                RenderRubyText {RT} at (8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3128}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{4E0A}"
+        RenderRubyRun (anonymous) at (100,0) size 50x48
+          RenderRubyText {RT} at (32,19) size 12x9
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (0,0) size 11x8
+                RenderRubyText {RT} at (9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3128}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{7121}"
-        RenderRubyRun (anonymous) at (144,0) size 48x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{310B}\x{3122}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{7121}"
+        RenderRubyRun (anonymous) at (150,0) size 50x48
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{310B}\x{3122}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{96E3}"
-        RenderRubyRun (anonymous) at (192,0) size 48x48
-          RenderRubyText {RT} at (32,20) size 8x8
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,0) size 8x8
-                RenderRubyText {RT} at (8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3115}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{96E3}"
+        RenderRubyRun (anonymous) at (200,0) size 50x48
+          RenderRubyText {RT} at (32,19) size 12x9
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (0,0) size 11x8
+                RenderRubyText {RT} at (9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3115}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{4E8B}"
-        RenderRubyRun (anonymous) at (240,0) size 48x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderText {#text} at (0,0) size 8x16
-              text run at (0,0) width 16: "\x{3113}\x{2C7}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{4E8B}"
+        RenderRubyRun (anonymous) at (250,0) size 50x48
+          RenderRubyText {RT} at (32,18) size 11x11
+            RenderText {#text} at (1,0) size 9x11
+              text run at (1,0) width 11: "\x{3113}\x{2C7}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{53EA}"
-        RenderRubyRun (anonymous) at (288,0) size 48x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3106}\x{311A}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{53EA}"
+        RenderRubyRun (anonymous) at (300,0) size 50x48
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3106}\x{311A}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{6015}"
-        RenderRubyRun (anonymous) at (336,0) size 48x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2C7}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3127}\x{3121}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{6015}"
+        RenderRubyRun (anonymous) at (350,0) size 50x48
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (10,0) size 9x16
+                  RenderText {#text} at (0,7) size 9x3
+                    text run at (0,7) width 3: "\x{2C7}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3127}\x{3121}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{6709}"
-        RenderRubyRun (anonymous) at (384,0) size 48x48
-          RenderRubyText {RT} at (32,12) size 8x24
-            RenderText {#text} at (0,0) size 8x24
-              text run at (0,0) width 24: "\x{3112}\x{3127}\x{3123}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{6709}"
+        RenderRubyRun (anonymous) at (400,0) size 50x48
+          RenderRubyText {RT} at (32,11) size 11x25
+            RenderText {#text} at (1,0) size 9x24
+              text run at (1,0) width 24: "\x{3112}\x{3127}\x{3123}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{5FC3}"
-        RenderRubyRun (anonymous) at (432,0) size 48x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3116}\x{3123}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{5FC3}"
+        RenderRubyRun (anonymous) at (450,0) size 50x48
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3116}\x{3123}"
           RenderRubyBase (anonymous) at (0,0) size 32x48
-            RenderText {#text} at (0,8) size 32x32
-              text run at (0,8) width 32: "\x{4EBA}"
+            RenderText {#text} at (0,5) size 32x37
+              text run at (0,5) width 32: "\x{4EBA}"
index aa5c76d..5d58d10 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png and b/LayoutTests/platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png differ
index 2a8cfe1..c8c96e1 100644 (file)
@@ -3,127 +3,127 @@ layer at (0,0) size 800x600
 layer at (0,0) size 800x112
   RenderBlock {HTML} at (0,0) size 800x112
     RenderBody {BODY} at (8,8) size 784x96
-      RenderRuby (inline) {RUBY} at (0,0) size 570x32
+      RenderRuby (inline) {RUBY} at (0,0) size 570x37
         RenderRubyRun (anonymous) at (0,0) size 57x48
-          RenderRubyText {RT} at (32,20) size 8x8
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,0) size 8x8
-                RenderRubyText {RT} at (8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyText {RT} at (32,19) size 12x9
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (0,0) size 11x8
+                RenderRubyText {RT} at (9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3115}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{4E16}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{4E16}"
         RenderRubyRun (anonymous) at (57,0) size 57x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3115}\x{3124}"
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3115}\x{3124}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{4E0A}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{4E0A}"
         RenderRubyRun (anonymous) at (114,0) size 57x48
-          RenderRubyText {RT} at (32,20) size 8x8
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,0) size 8x8
-                RenderRubyText {RT} at (8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3128}"
+          RenderRubyText {RT} at (32,19) size 12x9
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (0,0) size 11x8
+                RenderRubyText {RT} at (9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3128}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{7121}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{7121}"
         RenderRubyRun (anonymous) at (171,0) size 57x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{310B}\x{3122}"
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{310B}\x{3122}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{96E3}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{96E3}"
         RenderRubyRun (anonymous) at (228,0) size 57x48
-          RenderRubyText {RT} at (32,20) size 8x8
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,0) size 8x8
-                RenderRubyText {RT} at (8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3115}"
+          RenderRubyText {RT} at (32,19) size 12x9
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (0,0) size 11x8
+                RenderRubyText {RT} at (9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3115}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{4E8B}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{4E8B}"
         RenderRubyRun (anonymous) at (285,0) size 57x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderText {#text} at (0,0) size 8x16
-              text run at (0,0) width 16: "\x{3113}\x{2C7}"
+          RenderRubyText {RT} at (32,18) size 11x11
+            RenderText {#text} at (1,0) size 9x11
+              text run at (1,0) width 11: "\x{3113}\x{2C7}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{53EA}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{53EA}"
         RenderRubyRun (anonymous) at (342,0) size 57x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3106}\x{311A}"
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3106}\x{311A}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{6015}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{6015}"
         RenderRubyRun (anonymous) at (399,0) size 57x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2C7}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3127}\x{3121}"
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (10,0) size 9x16
+                  RenderText {#text} at (0,7) size 9x3
+                    text run at (0,7) width 3: "\x{2C7}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3127}\x{3121}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{6709}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{6709}"
         RenderRubyRun (anonymous) at (456,0) size 57x48
-          RenderRubyText {RT} at (32,12) size 8x24
-            RenderText {#text} at (0,0) size 8x24
-              text run at (0,0) width 24: "\x{3112}\x{3127}\x{3123}"
+          RenderRubyText {RT} at (32,11) size 11x25
+            RenderText {#text} at (1,0) size 9x24
+              text run at (1,0) width 24: "\x{3112}\x{3127}\x{3123}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{5FC3}"
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{5FC3}"
         RenderRubyRun (anonymous) at (513,0) size 57x48
-          RenderRubyText {RT} at (32,16) size 8x16
-            RenderRuby (inline) {RUBY} at (0,0) size 8x16
-              RenderRubyRun (anonymous) at (0,0) size 8x16
-                RenderRubyText {RT} at (8,0) size 8x16
-                  RenderText {#text} at (0,4) size 8x8
-                    text run at (0,4) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x16
-                  RenderText {#text} at (0,0) size 8x16
-                    text run at (0,0) width 16: "\x{3116}\x{3123}"
+          RenderRubyText {RT} at (32,15) size 12x17
+            RenderRuby (inline) {RUBY} at (0,0) size 9x16
+              RenderRubyRun (anonymous) at (0,0) size 11x16
+                RenderRubyText {RT} at (9,0) size 10x16
+                  RenderText {#text} at (1,7) size 9x3
+                    text run at (1,7) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x16
+                  RenderText {#text} at (1,0) size 9x16
+                    text run at (1,0) width 16: "\x{3116}\x{3123}"
           RenderRubyBase (anonymous) at (0,0) size 57x48
-            RenderText {#text} at (0,8) size 57x32
-              text run at (0,8) width 57: "\x{4EBA}"
-      RenderText {#text} at (570,8) size 33x32
-        text run at (570,8) width 33: " "
+            RenderText {#text} at (0,5) size 57x37
+              text run at (0,5) width 57: "\x{4EBA}"
+      RenderText {#text} at (570,5) size 33x37
+        text run at (570,5) width 33: " "
       RenderBR {BR} at (0,0) size 0x0
-      RenderText {#text} at (0,56) size 570x32
-        text run at (0,56) width 570: "\x{4E16}\x{4E0A}\x{7121}\x{96E3}\x{4E8B}\x{53EA}\x{6015}\x{6709}\x{5FC3}\x{4EBA}"
+      RenderText {#text} at (0,53) size 570x37
+        text run at (0,53) width 570: "\x{4E16}\x{4E0A}\x{7121}\x{96E3}\x{4E8B}\x{53EA}\x{6015}\x{6709}\x{5FC3}\x{4EBA}"
index 8e7db77..772de50 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png and b/LayoutTests/platform/mac/fast/ruby/bopomofo-rl-expected.png differ
index 868f6e1..d77c2ad 100644 (file)
 layer at (0,0) size 800x600
   RenderView at (0,0) size 800x600
-layer at (724,0) size 76x600
-  RenderBlock {HTML} at (0,0) size 76x600
-    RenderBody {BODY} at (20,8) size 48x584
-      RenderRuby (inline) {RUBY} at (0,0) size 32x320
-        RenderRubyRun (anonymous) at (0,0) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,12) size 8x8
-                RenderRubyText {RT} at (-8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3115}"
+layer at (714,0) size 86x600
+  RenderBlock {HTML} at (0,0) size 86x600
+    RenderBody {BODY} at (20,8) size 58x584
+      RenderRuby (inline) {RUBY} at (0,0) size 37x320
+        RenderRubyRun (anonymous) at (10,0) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (1,12) size 11x8
+                RenderRubyText {RT} at (-9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3115}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{4E16}"
-        RenderRubyRun (anonymous) at (0,32) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x24
-              RenderRubyRun (anonymous) at (0,4) size 8x24
-                RenderRubyText {RT} at (-8,0) size 8x24
-                  RenderText {#text} at (0,8) size 8x8
-                    text run at (0,8) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x24
-                  RenderText {#text} at (0,0) size 8x24
-                    text run at (0,0) width 24: "\x{3115}\x{3124}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{4E16}"
+        RenderRubyRun (anonymous) at (10,32) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x24
+              RenderRubyRun (anonymous) at (1,4) size 11x24
+                RenderRubyText {RT} at (-9,0) size 10x24
+                  RenderText {#text} at (1,11) size 9x3
+                    text run at (1,11) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x24
+                  RenderText {#text} at (1,0) size 9x24
+                    text run at (1,0) width 24: "\x{3115}\x{3124}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{4E0A}"
-        RenderRubyRun (anonymous) at (0,64) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,12) size 8x8
-                RenderRubyText {RT} at (-8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3128}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{4E0A}"
+        RenderRubyRun (anonymous) at (10,64) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (1,12) size 11x8
+                RenderRubyText {RT} at (-9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3128}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{7121}"
-        RenderRubyRun (anonymous) at (0,96) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x24
-              RenderRubyRun (anonymous) at (0,4) size 8x24
-                RenderRubyText {RT} at (-8,0) size 8x24
-                  RenderText {#text} at (0,8) size 8x8
-                    text run at (0,8) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x24
-                  RenderText {#text} at (0,0) size 8x24
-                    text run at (0,0) width 24: "\x{310B}\x{3122}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{7121}"
+        RenderRubyRun (anonymous) at (10,96) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x24
+              RenderRubyRun (anonymous) at (1,4) size 11x24
+                RenderRubyText {RT} at (-9,0) size 10x24
+                  RenderText {#text} at (1,11) size 9x3
+                    text run at (1,11) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x24
+                  RenderText {#text} at (1,0) size 9x24
+                    text run at (1,0) width 24: "\x{310B}\x{3122}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{96E3}"
-        RenderRubyRun (anonymous) at (0,128) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x8
-              RenderRubyRun (anonymous) at (0,12) size 8x8
-                RenderRubyText {RT} at (-8,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x8
-                  RenderText {#text} at (0,0) size 8x8
-                    text run at (0,0) width 8: "\x{3115}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{96E3}"
+        RenderRubyRun (anonymous) at (10,128) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x8
+              RenderRubyRun (anonymous) at (1,12) size 11x8
+                RenderRubyText {RT} at (-9,0) size 10x8
+                  RenderText {#text} at (1,3) size 9x3
+                    text run at (1,3) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x8
+                  RenderText {#text} at (1,0) size 9x8
+                    text run at (1,0) width 8: "\x{3115}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{4E8B}"
-        RenderRubyRun (anonymous) at (0,160) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderText {#text} at (0,4) size 8x24
-              text run at (0,4) width 24: "\x{3113}\x{2C7}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{4E8B}"
+        RenderRubyRun (anonymous) at (10,160) size 48x32
+          RenderRubyText {RT} at (-5,0) size 11x32
+            RenderText {#text} at (1,5) size 9x22
+              text run at (1,5) width 21: "\x{3113}\x{2C7}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{53EA}"
-        RenderRubyRun (anonymous) at (0,192) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x24
-              RenderRubyRun (anonymous) at (0,4) size 8x24
-                RenderRubyText {RT} at (-8,0) size 8x24
-                  RenderText {#text} at (0,8) size 8x8
-                    text run at (0,8) width 8: "\x{2CB}"
-                RenderRubyBase (anonymous) at (0,0) size 8x24
-                  RenderText {#text} at (0,0) size 8x24
-                    text run at (0,0) width 24: "\x{3106}\x{311A}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{53EA}"
+        RenderRubyRun (anonymous) at (10,192) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x24
+              RenderRubyRun (anonymous) at (1,4) size 11x24
+                RenderRubyText {RT} at (-9,0) size 10x24
+                  RenderText {#text} at (1,11) size 9x3
+                    text run at (1,11) width 3: "\x{2CB}"
+                RenderRubyBase (anonymous) at (0,0) size 11x24
+                  RenderText {#text} at (1,0) size 9x24
+                    text run at (1,0) width 24: "\x{3106}\x{311A}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{6015}"
-        RenderRubyRun (anonymous) at (0,224) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x24
-              RenderRubyRun (anonymous) at (0,4) size 8x24
-                RenderRubyText {RT} at (-8,0) size 8x24
-                  RenderText {#text} at (0,8) size 8x8
-                    text run at (0,8) width 8: "\x{2C7}"
-                RenderRubyBase (anonymous) at (0,0) size 8x24
-                  RenderText {#text} at (0,0) size 8x24
-                    text run at (0,0) width 24: "\x{3127}\x{3121}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{6015}"
+        RenderRubyRun (anonymous) at (10,224) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x24
+              RenderRubyRun (anonymous) at (1,4) size 11x24
+                RenderRubyText {RT} at (-8,0) size 9x24
+                  RenderText {#text} at (0,11) size 9x3
+                    text run at (0,11) width 3: "\x{2C7}"
+                RenderRubyBase (anonymous) at (0,0) size 11x24
+                  RenderText {#text} at (1,0) size 9x24
+                    text run at (1,0) width 24: "\x{3127}\x{3121}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{6709}"
-        RenderRubyRun (anonymous) at (0,256) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderText {#text} at (0,1) size 8x30
-              text run at (0,1) width 30: "\x{3112}\x{3127}\x{3123}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{6709}"
+        RenderRubyRun (anonymous) at (10,256) size 48x32
+          RenderRubyText {RT} at (-5,0) size 11x32
+            RenderText {#text} at (1,1) size 9x30
+              text run at (1,1) width 30: "\x{3112}\x{3127}\x{3123}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{5FC3}"
-        RenderRubyRun (anonymous) at (0,288) size 48x32
-          RenderRubyText {RT} at (0,0) size 8x32
-            RenderRuby (inline) {RUBY} at (0,0) size 8x24
-              RenderRubyRun (anonymous) at (0,4) size 8x24
-                RenderRubyText {RT} at (-8,0) size 8x24
-                  RenderText {#text} at (0,8) size 8x8
-                    text run at (0,8) width 8: "\x{2CA}"
-                RenderRubyBase (anonymous) at (0,0) size 8x24
-                  RenderText {#text} at (0,0) size 8x24
-                    text run at (0,0) width 24: "\x{3116}\x{3123}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{5FC3}"
+        RenderRubyRun (anonymous) at (10,288) size 48x32
+          RenderRubyText {RT} at (-7,0) size 12x32
+            RenderRuby (inline) {RUBY} at (0,0) size 9x24
+              RenderRubyRun (anonymous) at (1,4) size 11x24
+                RenderRubyText {RT} at (-9,0) size 10x24
+                  RenderText {#text} at (1,11) size 9x3
+                    text run at (1,11) width 3: "\x{2CA}"
+                RenderRubyBase (anonymous) at (0,0) size 11x24
+                  RenderText {#text} at (1,0) size 9x24
+                    text run at (1,0) width 24: "\x{3116}\x{3123}"
           RenderRubyBase (anonymous) at (0,0) size 48x32
-            RenderText {#text} at (8,0) size 32x32
-              text run at (8,0) width 32: "\x{4EBA}"
+            RenderText {#text} at (5,0) size 37x32
+              text run at (5,0) width 32: "\x{4EBA}"
index 7661c69..9008adb 100644 (file)
@@ -35,10 +35,10 @@ layer at (0,0) size 785x693
       RenderBR {BR} at (0,0) size 0x0
       RenderInline {ACRONYM} at (0,0) size 0x0
       RenderText {#text} at (0,0) size 0x0
-      RenderText {#text} at (0,422) size 122x45
+      RenderText {#text} at (0,422) size 115x45
         text run at (0,422) width 45: "s is:"
         text run at (0,437) width 27: "{,}"
-        text run at (0,452) width 122: "\x{A888}{0}P{P}\\7H\\8"
+        text run at (0,452) width 115: "\x{A888}{0}P{P}\\7H\\8"
       RenderBR {BR} at (0,0) size 0x0
       RenderText {#text} at (0,467) size 71x15
         text run at (0,467) width 71: "f is: gi"
index 8988055..862b934 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png and b/LayoutTests/platform/mac/fast/text/justify-ideograph-complex-expected.png differ
index ddb02a5..3bc961e 100644 (file)
@@ -7,35 +7,35 @@ layer at (0,0) size 800x600
         RenderText {#text} at (0,1) size 550x83
           text run at (0,1) width 550: "\x{3010}2009 \x{5E74} 11 \x{6708} 4 \x{65E5}\x{7F8E}\x{570B}\x{52A0}\x{5DDE} Cupertino \x{8A0A}\x{3011}\x{860B}\x{679C}\x{4ECA}\x{5929}\x{5BA3}\x{4F48}\x{FF0C}\x{5168}\x{4E16}\x{754C}\x{6700}\x{5927}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5546}\x{5E97} App"
           text run at (0,18) width 550: "Store\x{FF0C}\x{76EE}\x{524D}\x{5DF2}\x{64C1}\x{6709} 100,000 \x{591A}\x{7A2E}\x{4F86}\x{81EA}\x{5168}\x{7403}\x{958B}\x{767C}\x{4EBA}\x{54E1}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{5168}\x{4E16}\x{754C} 77 \x{500B}\x{570B}\x{5BB6}\x{7684} iPhone\x{AE} \x{8207}"
-          text run at (0,35) width 550: "iPod touch\x{AE} \x{7528}\x{6236}\x{64C1}\x{6709} 20 \x{500B}\x{985E}\x{5225}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53EF}\x{4F9B}\x{9078}\x{64C7}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}\x{904A}\x{6232}\x{3001}\x{5546}\x{7528}\x{3001}\x{65B0}\x{805E}\x{3001}\x{904B}\x{52D5}\x{3001}\x{91AB}\x{7642}\x{3001}\x{53C3}\x{8003}"
-          text run at (0,52) width 550: "\x{66F8}\x{7C4D}\x{3001}\x{65C5}\x{904A}\x{7B49}\x{7B49}\x{3002}\x{622A}\x{81F3}\x{76EE}\x{524D}\x{70BA}\x{6B62}\x{FF0C}App Store \x{4F7F}\x{7528}\x{8005}\x{4E0B}\x{8F09}\x{6B21}\x{6578}\x{5DF2}\x{8D85}\x{904E} 20 \x{5104}\x{6B21}\x{FF0C}\x{662F}\x{76EE}\x{524D}\x{5168}\x{7403}\x{6700}\x{53D7}\x{6B61}\x{8FCE}\x{7684}"
-          text run at (0,69) width 84: "\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5546}\x{5E97}\x{3002}"
+          text run at (0,35) width 550: "iPod touch\x{AE} \x{7528}\x{6236}\x{64C1}\x{6709} 20 \x{500B}\x{985E}\x{5225}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53EF}\x{4F9B}\x{9078}\x{64C7}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}\x{904A}\x{6232}\x{3001}\x{5546}\x{7528}\x{3001}\x{65B0}\x{805E}\x{3001}\x{904B}\x{52D5}\x{3001}\x{91AB}\x{7642}\x{3001}\x{53C3}"
+          text run at (0,52) width 550: "\x{8003}\x{66F8}\x{7C4D}\x{3001}\x{65C5}\x{904A}\x{7B49}\x{7B49}\x{3002}\x{622A}\x{81F3}\x{76EE}\x{524D}\x{70BA}\x{6B62}\x{FF0C}App Store \x{4F7F}\x{7528}\x{8005}\x{4E0B}\x{8F09}\x{6B21}\x{6578}\x{5DF2}\x{8D85}\x{904E} 20 \x{5104}\x{6B21}\x{FF0C}\x{662F}\x{76EE}\x{524D}\x{5168}\x{7403}\x{6700}\x{53D7}\x{6B61}\x{8FCE}"
+          text run at (0,69) width 99: "\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5546}\x{5E97}\x{3002}"
       RenderBlock {P} at (0,97) size 550x51
         RenderText {#text} at (0,1) size 550x49
           text run at (0,1) width 550: "\x{860B}\x{679C}\x{5168}\x{7403}\x{7522}\x{54C1}\x{884C}\x{92B7}\x{8CC7}\x{6DF1}\x{526F}\x{7E3D}\x{88C1} Philip Schiller \x{8868}\x{793A}\x{FF1A}\x{300C}\x{63D0}\x{4F9B} 100,000 \x{591A}\x{7A2E}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53EF}\x{4F9B}\x{9078}\x{64C7}\x{7684} App"
           text run at (0,18) width 550: "Store\x{FF0C}\x{662F}\x{5168}\x{4E16}\x{754C}\x{6578}\x{5343}\x{842C} iPhone \x{548C} iPod touch \x{4F7F}\x{7528}\x{8005}\x{4EE4}\x{4EBA}\x{7A31}\x{7FA8}\x{7684}\x{4E3B}\x{8981}\x{539F}\x{56E0}\x{3002}iPhone SDK \x{5275}\x{9020}\x{4E86}\x{7B2C}\x{4E00}"
-          text run at (0,35) width 408: "\x{500B}\x{512A}\x{7570}\x{7684}\x{884C}\x{52D5}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5E73}\x{53F0}\x{FF0C}\x{5BA2}\x{6236}\x{4E5F}\x{975E}\x{5E38}\x{559C}\x{611B}\x{958B}\x{767C}\x{4EBA}\x{54E1}\x{6240}\x{5275}\x{4F5C}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{300D}"
+          text run at (0,35) width 417: "\x{500B}\x{512A}\x{7570}\x{7684}\x{884C}\x{52D5}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5E73}\x{53F0}\x{FF0C}\x{5BA2}\x{6236}\x{4E5F}\x{975E}\x{5E38}\x{559C}\x{611B}\x{958B}\x{767C}\x{4EBA}\x{54E1}\x{6240}\x{5275}\x{4F5C}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{300D}"
       RenderBlock {P} at (0,160) size 550x51
         RenderText {#text} at (0,1) size 550x49
-          text run at (0,1) width 550: "EA Mobile \x{7684} Worldwide Studios \x{526F}\x{7E3D}\x{88C1} Travis Boatman \x{6307}\x{51FA}\x{FF1A}\x{300C}App Store \x{4E0D}\x{50C5}\x{5FB9}\x{5E95}\x{6539}\x{8B8A}\x{4E86}\x{884C}\x{52D5}\x{904A}"
-          text run at (0,18) width 550: "\x{6232}\x{7522}\x{696D}\x{7684}\x{751F}\x{614B}\x{FF0C}\x{800C}\x{4E14}\x{9084}\x{5728}\x{6301}\x{7E8C}\x{6F14}\x{9032}\x{3002}\x{6709}\x{4E86}\x{5168}\x{7403} 5 \x{5343}\x{591A}\x{842C}\x{7684} iPhone \x{548C} iPod touch \x{5BA2}\x{6236}\x{70BA}\x{57FA}\x{790E}\x{FF0C}App"
-          text run at (0,35) width 345: "Store \x{8B93}\x{6211}\x{5011}\x{80FD}\x{5920}\x{958B}\x{767C}\x{53D7}\x{5230}\x{5EE3}\x{5927}\x{7684}\x{5BA2}\x{6236}\x{559C}\x{611B}\x{7684}\x{9AD8}\x{54C1}\x{8CEA} EA \x{904A}\x{6232}\x{3002}\x{300D}"
+          text run at (0,1) width 550: "EA Mobile \x{7684} Worldwide Studios \x{526F}\x{7E3D}\x{88C1} Travis Boatman \x{6307}\x{51FA}\x{FF1A}\x{300C}App Store \x{4E0D}\x{50C5}\x{5FB9}\x{5E95}\x{6539}\x{8B8A}\x{4E86}\x{884C}\x{52D5}"
+          text run at (0,18) width 550: "\x{904A}\x{6232}\x{7522}\x{696D}\x{7684}\x{751F}\x{614B}\x{FF0C}\x{800C}\x{4E14}\x{9084}\x{5728}\x{6301}\x{7E8C}\x{6F14}\x{9032}\x{3002}\x{6709}\x{4E86}\x{5168}\x{7403} 5 \x{5343}\x{591A}\x{842C}\x{7684} iPhone \x{548C} iPod touch \x{5BA2}\x{6236}\x{70BA}\x{57FA}\x{790E}\x{FF0C}App"
+          text run at (0,35) width 351: "Store \x{8B93}\x{6211}\x{5011}\x{80FD}\x{5920}\x{958B}\x{767C}\x{53D7}\x{5230}\x{5EE3}\x{5927}\x{7684}\x{5BA2}\x{6236}\x{559C}\x{611B}\x{7684}\x{9AD8}\x{54C1}\x{8CEA} EA \x{904A}\x{6232}\x{3002}\x{300D}"
       RenderBlock {P} at (0,223) size 550x51
         RenderText {#text} at (0,1) size 550x49
           text run at (0,1) width 550: "Smule \x{7684}\x{57F7}\x{884C}\x{9577} Jeff Smith \x{8868}\x{793A}\x{FF1A}\x{300C}\x{6211}\x{5011}\x{7684} I Am T-Pain \x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{53D7}\x{5230}\x{5168}\x{7403}\x{5BA2}\x{6236}\x{7684}\x{71B1}\x{70C8}\x{8FF4}\x{97FF}\x{FF0C}\x{6BCF}\x{65E5}\x{8D85}"
-          text run at (0,18) width 550: "\x{904E} 10,000 \x{6B21}\x{7684}\x{4E0B}\x{8F09}\x{9060}\x{9060}\x{8D85}\x{8D8A}\x{6211}\x{5011}\x{7684}\x{9810}\x{671F}\x{3002}App Store \x{7D66}\x{4E86}\x{6211}\x{5011}\x{4E00}\x{500B}\x{7368}\x{7279}\x{7684}\x{5546}\x{6A5F}\x{FF0C}\x{8B93}\x{6211}\x{5011}\x{958B}\x{5275}\x{4E00}\x{500B}\x{975E}\x{5E38}"
-          text run at (0,35) width 216: "\x{6210}\x{529F}\x{7684}\x{4E8B}\x{696D}\x{FF0C}\x{76F8}\x{4FE1}\x{672A}\x{4F86}\x{5C07}\x{66F4}\x{4EE4}\x{4EBA}\x{671F}\x{5F85}\x{3002}\x{300D}"
+          text run at (0,18) width 550: "\x{904E} 10,000 \x{6B21}\x{7684}\x{4E0B}\x{8F09}\x{9060}\x{9060}\x{8D85}\x{8D8A}\x{6211}\x{5011}\x{7684}\x{9810}\x{671F}\x{3002}App Store \x{7D66}\x{4E86}\x{6211}\x{5011}\x{4E00}\x{500B}\x{7368}\x{7279}\x{7684}\x{5546}\x{6A5F}\x{FF0C}\x{8B93}\x{6211}\x{5011}\x{958B}\x{5275}\x{4E00}\x{500B}\x{975E}"
+          text run at (0,35) width 233: "\x{5E38}\x{6210}\x{529F}\x{7684}\x{4E8B}\x{696D}\x{FF0C}\x{76F8}\x{4FE1}\x{672A}\x{4F86}\x{5C07}\x{66F4}\x{4EE4}\x{4EBA}\x{671F}\x{5F85}\x{3002}\x{300D}"
       RenderBlock {P} at (0,286) size 550x68
         RenderText {#text} at (0,1) size 550x66
           text run at (0,1) width 550: "\x{860B}\x{679C}\x{4E5F}\x{6301}\x{7E8C}\x{958B}\x{767C}\x{65B0}\x{7684}\x{529F}\x{80FD}\x{4F86}\x{63D0}\x{5347}\x{641C}\x{5C0B}\x{8207}\x{63A2}\x{7D22}\x{7684}\x{4FBF}\x{5229}\x{6027}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}Genius for Apps\x{3001}App Store"
-          text run at (0,18) width 550: "Essentials\x{3001}\x{5B50}\x{5206}\x{985E}\x{6E05}\x{55AE}\x{FF0C}\x{4EE5}\x{53CA}\x{66F4}\x{8C50}\x{5BCC}\x{800C}\x{5BF6}\x{8CB4}\x{7684}\x{5BA2}\x{6236}\x{8A55}\x{8AD6}\x{3002}\x{96A8}\x{8457}\x{65B0}\x{7248}\x{7684} iTunes\x{AE} 9 \x{63A8}\x{51FA}\x{FF0C}\x{73FE}\x{5728}\x{60A8}\x{53EF}\x{4EE5}\x{8F15}"
-          text run at (0,35) width 550: "\x{8F15}\x{9B06}\x{9B06}\x{76F4}\x{63A5}\x{5728} iTunes \x{7576}\x{4E2D}\x{6574}\x{7406}\x{60A8}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{FF0C}\x{4E00}\x{65E6}\x{540C}\x{6B65}\x{4E4B}\x{5F8C}\x{FF0C}iPhone \x{6216} iPod touch \x{5C31}\x{6703}\x{81EA}\x{52D5}\x{51FA}\x{73FE}\x{60A8}"
-          text run at (0,52) width 84: "\x{6240}\x{5B89}\x{6392}\x{7684}\x{914D}\x{7F6E}\x{3002}"
+          text run at (0,18) width 550: "Essentials\x{3001}\x{5B50}\x{5206}\x{985E}\x{6E05}\x{55AE}\x{FF0C}\x{4EE5}\x{53CA}\x{66F4}\x{8C50}\x{5BCC}\x{800C}\x{5BF6}\x{8CB4}\x{7684}\x{5BA2}\x{6236}\x{8A55}\x{8AD6}\x{3002}\x{96A8}\x{8457}\x{65B0}\x{7248}\x{7684} iTunes\x{AE} 9 \x{63A8}\x{51FA}\x{FF0C}\x{73FE}\x{5728}\x{60A8}\x{53EF}\x{4EE5}"
+          text run at (0,35) width 550: "\x{8F15}\x{8F15}\x{9B06}\x{9B06}\x{76F4}\x{63A5}\x{5728} iTunes \x{7576}\x{4E2D}\x{6574}\x{7406}\x{60A8}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{FF0C}\x{4E00}\x{65E6}\x{540C}\x{6B65}\x{4E4B}\x{5F8C}\x{FF0C}iPhone \x{6216} iPod touch \x{5C31}\x{6703}\x{81EA}\x{52D5}\x{51FA}"
+          text run at (0,52) width 111: "\x{73FE}\x{60A8}\x{6240}\x{5B89}\x{6392}\x{7684}\x{914D}\x{7F6E}\x{3002}"
       RenderBlock {P} at (0,366) size 550x102
         RenderText {#text} at (0,1) size 550x100
-          text run at (0,1) width 550: "\x{4ECA}\x{5E74}\x{590F}\x{5929}\x{63A8}\x{51FA}\x{7684} iPhone OS 3.0 \x{70BA} iPhone \x{548C} iPod touch \x{4F7F}\x{7528}\x{8005}\x{63D0}\x{4F9B}\x{4E86} 100 \x{591A}\x{7A2E}\x{5168}\x{65B0}\x{7684}\x{529F}\x{80FD}\x{FF0C}\x{5305}\x{62EC}\x{FF1A}"
-          text run at (0,18) width 550: "\x{526A}\x{8CBC}\x{8207}\x{62F7}\x{8C9D}\x{FF1B}MMS\x{FF1B}\x{65B0}\x{589E}\x{6A6B}\x{5411}\x{6AA2}\x{8996}\x{7684} Mail\x{3001}Text \x{548C} Notes\x{FF1B}\x{7ACB}\x{9AD4}\x{8072} Bluetooth\x{FF1B}\x{6416}\x{4E00}\x{6416}\x{5C31}\x{96A8}\x{6A5F}\x{64AD}\x{653E}\x{FF1B}"
-          text run at (0,35) width 550: "\x{96FB}\x{8996}\x{7BC0}\x{76EE}\x{5206}\x{7D1A}\x{4FDD}\x{8B77}\x{63A7}\x{5236}\x{FF1B}\x{81EA}\x{52D5}\x{767B}\x{5165} Wi-Fi \x{71B1}\x{9EDE}\x{FF1B}\x{4EE5}\x{53CA} Push Notification \x{670D}\x{52D9}\x{901A}\x{77E5}\x{7B49}\x{7B49}\x{3002}\x{9019}\x{4E9B}\x{65B0}\x{589E}\x{529F}\x{80FD}"
-          text run at (0,52) width 550: "\x{53D7}\x{5230}\x{5BA2}\x{6236}\x{7684}\x{5EE3}\x{5927}\x{6B61}\x{8FCE}\x{FF0C}\x{622A}\x{81F3}\x{76EE}\x{524D}\x{70BA}\x{6B62}\x{FF0C}\x{5DF2}\x{7D93}\x{6709}\x{8D85}\x{904E} 20 \x{5104}\x{6B21}\x{7684} Push Notification \x{670D}\x{52D9}\x{901A}\x{77E5}\x{767C}\x{9001}\x{81F3} App"
-          text run at (0,69) width 550: "Store \x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{6B64}\x{5916}\x{FF0C}\x{6700}\x{8FD1}\x{63A8}\x{51FA}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5167}\x{8CFC}\x{8CB7}\x{6A5F}\x{5236} (In-App Purchase)\x{FF0C}\x{70BA}\x{9818}\x{5148}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{958B}\x{767C}"
-          text run at (0,86) width 432: "\x{5EE0}\x{5546}\x{63D0}\x{4F9B}\x{4E86}\x{4E00}\x{7A2E}\x{65B9}\x{5F0F}\x{8B93}\x{5BA2}\x{6236}\x{76F4}\x{63A5}\x{5F9E}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{7576}\x{4E2D}\x{8CFC}\x{8CB7}\x{5167}\x{5BB9}\x{3001}\x{8A02}\x{95B1}\x{9805}\x{76EE}\x{53CA}\x{6578}\x{4F4D}\x{670D}\x{52D9}\x{3002}"
+          text run at (0,1) width 550: "\x{4ECA}\x{5E74}\x{590F}\x{5929}\x{63A8}\x{51FA}\x{7684} iPhone OS 3.0 \x{70BA} iPhone \x{548C} iPod touch \x{4F7F}\x{7528}\x{8005}\x{63D0}\x{4F9B}\x{4E86} 100 \x{591A}\x{7A2E}\x{5168}\x{65B0}\x{7684}\x{529F}\x{80FD}\x{FF0C}\x{5305}"
+          text run at (0,18) width 550: "\x{62EC}\x{FF1A}\x{526A}\x{8CBC}\x{8207}\x{62F7}\x{8C9D}\x{FF1B}MMS\x{FF1B}\x{65B0}\x{589E}\x{6A6B}\x{5411}\x{6AA2}\x{8996}\x{7684} Mail\x{3001}Text \x{548C} Notes\x{FF1B}\x{7ACB}\x{9AD4}\x{8072} Bluetooth\x{FF1B}\x{6416}\x{4E00}\x{6416}\x{5C31}\x{96A8}\x{6A5F}\x{64AD}"
+          text run at (0,35) width 550: "\x{653E}\x{FF1B}\x{96FB}\x{8996}\x{7BC0}\x{76EE}\x{5206}\x{7D1A}\x{4FDD}\x{8B77}\x{63A7}\x{5236}\x{FF1B}\x{81EA}\x{52D5}\x{767B}\x{5165} Wi-Fi \x{71B1}\x{9EDE}\x{FF1B}\x{4EE5}\x{53CA} Push Notification \x{670D}\x{52D9}\x{901A}\x{77E5}\x{7B49}\x{7B49}\x{3002}\x{9019}\x{4E9B}\x{65B0}\x{589E}"
+          text run at (0,52) width 550: "\x{529F}\x{80FD}\x{53D7}\x{5230}\x{5BA2}\x{6236}\x{7684}\x{5EE3}\x{5927}\x{6B61}\x{8FCE}\x{FF0C}\x{622A}\x{81F3}\x{76EE}\x{524D}\x{70BA}\x{6B62}\x{FF0C}\x{5DF2}\x{7D93}\x{6709}\x{8D85}\x{904E} 20 \x{5104}\x{6B21}\x{7684} Push Notification \x{670D}\x{52D9}\x{901A}\x{77E5}\x{767C}\x{9001}\x{81F3}"
+          text run at (0,69) width 550: "App Store \x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{3002}\x{6B64}\x{5916}\x{FF0C}\x{6700}\x{8FD1}\x{63A8}\x{51FA}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{5167}\x{8CFC}\x{8CB7}\x{6A5F}\x{5236} (In-App Purchase)\x{FF0C}\x{70BA}\x{9818}\x{5148}\x{7684}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}"
+          text run at (0,86) width 466: "\x{958B}\x{767C}\x{5EE0}\x{5546}\x{63D0}\x{4F9B}\x{4E86}\x{4E00}\x{7A2E}\x{65B9}\x{5F0F}\x{8B93}\x{5BA2}\x{6236}\x{76F4}\x{63A5}\x{5F9E}\x{61C9}\x{7528}\x{7A0B}\x{5F0F}\x{7576}\x{4E2D}\x{8CFC}\x{8CB7}\x{5167}\x{5BB9}\x{3001}\x{8A02}\x{95B1}\x{9805}\x{76EE}\x{53CA}\x{6578}\x{4F4D}\x{670D}\x{52D9}\x{3002}"
index 9ec706b..c6b97f2 100644 (file)
Binary files a/LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png and b/LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.png differ
index 5e701e0..695d595 100644 (file)
@@ -8,15 +8,15 @@ layer at (0,0) size 800x600
           text run at (0,0) width 653: "The black text should be identical to, and overlap, the red text, so there should be no red pixels below."
       RenderBlock {DIV} at (0,34) size 784x144
         RenderBlock {DIV} at (0,0) size 784x144 [color=#FF0000]
+          RenderText {#text} at (0,0) size 255x144
+            text run at (0,0) width 255: "v a\x{300} e"
+        RenderBlock {DIV} at (0,0) size 784x144
+          RenderText {#text} at (0,0) size 255x144
+            text run at (0,0) width 255: "v \x{E0} e"
+      RenderBlock {DIV} at (0,178) size 784x144
+        RenderBlock {DIV} at (0,0) size 784x144 [color=#FF0000]
           RenderText {#text} at (0,0) size 292x144
             text run at (0,0) width 292: "v a\x{300} e"
         RenderBlock {DIV} at (0,0) size 784x144
           RenderText {#text} at (0,0) size 292x144
             text run at (0,0) width 292: "v \x{E0} e"
-      RenderBlock {DIV} at (0,178) size 784x144
-        RenderBlock {DIV} at (0,0) size 784x144 [color=#FF0000]
-          RenderText {#text} at (0,0) size 260x144
-            text run at (0,0) width 260: "v a\x{300} e"
-        RenderBlock {DIV} at (0,0) size 784x144
-          RenderText {#text} at (0,0) size 260x144
-            text run at (0,0) width 260: "v \x{E0} e"
diff --git a/LayoutTests/platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt b/LayoutTests/platform/mac/http/tests/cookies/third-party-cookie-relaxing-expected.txt
new file mode 100644 (file)
index 0000000..3e68b48
--- /dev/null
@@ -0,0 +1,47 @@
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 1 document.cookie is: 
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie
+ALERT: XHR response - Set the foo cookie
+ALERT: Test stage 2 document.cookie is: 
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 3 document.cookie is: 
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooAndBarCookie
+ALERT: XHR response - Set the foo and bar cookies
+ALERT: Test stage 4 document.cookie is: 
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 5 document.cookie is: 
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie
+ALERT: XHR response - Set the foo cookie
+ALERT: Test stage 6 document.cookie is: foo=awesomevalue
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 7 document.cookie is: 
+ALERT: 
+
+ALERT: Allowing all cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=deleteCookies
+ALERT: XHR response - Deleted all cookies
+ALERT: Test stage 8 document.cookie is: 
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooCookie
+ALERT: XHR response - Set the foo cookie
+ALERT: Test stage 9 document.cookie is: foo=awesomevalue
+ALERT: Restricting to first party only cookies
+ALERT: http://localhost:8000/cookies/resources/cookie-utility.php?queryfunction=setFooAndBarCookie
+ALERT: XHR response - Set the foo and bar cookies
+ALERT: Test stage 10 document.cookie is: foo=awesomevalue; bar=anotherawesomevalue
+
index 5e22650..47a47cb 100644 (file)
@@ -1 +1,9 @@
+CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-audio-video.html was allowed to display insecure content from http://127.0.0.1:8080/resources/test.mp4.
+
+CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-audio-video.html was allowed to display insecure content from http://127.0.0.1:8080/resources/test.mp4.
+
+CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-audio-video.html was allowed to display insecure content from http://127.0.0.1:8080/resources/test.mp4.
+
+CONSOLE MESSAGE: The page at https://127.0.0.1:8443/security/mixedContent/resources/frame-with-insecure-audio-video.html was allowed to display insecure content from http://127.0.0.1:8080/resources/test.mp4.
+
 This test opens a window that loads insecure HTML5 audio and video. We should trigger a mixed content callback because the main frame in the window is HTTPS but is displaying insecure content.
index 4ff4d55..d77ff3a 100644 (file)
@@ -21,8 +21,8 @@ Test that media containing six audio tracks, with three audio tracks each referr
 RUN(video.src = findMediaFile("video", "../content/audio-tracks-alternate-group-with-fallback"))
 EVENT(canplaythrough)
 EXPECTED (video.audioTracks.length == '3') OK
-TRACK id:3 kind:main language:en
-TRACK id:5 kind:main language:fr
-TRACK id:7 kind:main language:es
+TRACK id:2 kind:main language:en
+TRACK id:4 kind:main language:fr
+TRACK id:6 kind:main language:es
 END OF TEST
 
diff --git a/LayoutTests/platform/mac/media/video-controls-rendering-expected.png b/LayoutTests/platform/mac/media/video-controls-rendering-expected.png
deleted file mode 100644 (file)
index ef35b06..0000000
Binary files a/LayoutTests/platform/mac/media/video-controls-rendering-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/media/video-no-audio-expected.png b/LayoutTests/platform/mac/media/video-no-audio-expected.png
deleted file mode 100644 (file)
index dea2060..0000000
Binary files a/LayoutTests/platform/mac/media/video-no-audio-expected.png and /dev/null differ
diff --git a/LayoutTests/platform/mac/media/video-volume-slider-expected.png b/LayoutTests/platform/mac/media/video-volume-slider-expected.png
deleted file mode 100644 (file)
index de79b72..0000000
Binary files a/LayoutTests/platform/mac/media/video-volume-slider-expected.png and /dev/null differ
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png b/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png
new file mode 100644 (file)
index 0000000..280b1cd
Binary files /dev/null and b/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png differ
diff --git a/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png b/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png
new file mode 100644 (file)
index 0000000..d8c06ae
Binary files /dev/null and b/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png differ
index 6fb07f0..b6186f2 100644 (file)
@@ -25,6 +25,7 @@
 
 Dashboard = {
     Platform: {
+        macOSSierra: { name: "macos-sierra", readableName: "macOS Sierra", order: 8 },
         MacOSXElCapitan: { name: "mac-os-x-elcapitan", readableName: "OS X El Capitan", order: 9 },
         MacOSXYosemite: { name: "mac-os-x-yosemite", readableName: "OS X Yosemite", order: 10 },
         MacOSXMavericks: { name: "mac-os-x-mavericks", readableName: "OS X Mavericks", order: 20 },
index 5a9e8dc..704f058 100644 (file)
@@ -184,6 +184,10 @@ table.queue-grid tr.platform.mac-os-x-elcapitan img.logo {
     content: -webkit-image-set(url(../Images/ElCapitan@2x.png) 2x, url(../Images/ElCapitan.png) 1x);
 }
 
+table.queue-grid tr.platform.macos-sierra img.logo {
+    content: -webkit-image-set(url(../Images/Sierra@2x.png) 2x, url(../Images/Sierra.png) 1x);
+}
+
 table.queue-grid tr.platform.mac-os-x-yosemite img.logo {
     content: -webkit-image-set(url(../Images/Yosemite@2x.png) 2x, url(../Images/Yosemite.png) 1x);
 }
index 98639dd..e593f0b 100644 (file)
@@ -37,7 +37,7 @@ def _should_file_trigger_build(target_platform, file):
     # and start using it for their bots. Someone familiar with each platform
     # will have to figure out what the right set of directories/patterns is for
     # that platform.
-    assert(target_platform in ("mac-yosemite", "mac-elcapitan", "win", "ios-9", "ios-simulator-9"))
+    assert(target_platform in ("mac-yosemite", "mac-elcapitan", "mac-sierra", "win", "ios-9", "ios-simulator-9"))
 
     directories = [
         # Directories that shouldn't trigger builds on any bots.
@@ -58,8 +58,9 @@ def _should_file_trigger_build(target_platform, file):
         ("LayoutTests/platform/ios-simulator-wk2", ["ios"]),
         ("LayoutTests/platform/mac-yosemite", ["mac-yosemite"]),
         ("LayoutTests/platform/mac-elcapitan", ["mac-yosemite", "mac-elcapitan"]),
-        ("LayoutTests/platform/mac-wk2", ["mac-yosemite", "mac-elcapitan"]),
-        ("LayoutTests/platform/mac-wk1", ["mac-yosemite", "mac-elcapitan"]),
+        ("LayoutTests/platform/mac-sierra", ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
+        ("LayoutTests/platform/mac-wk2", ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
+        ("LayoutTests/platform/mac-wk1", ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
         ("LayoutTests/platform/mac", ["mac", "win"]),
         ("LayoutTests/platform/wk2", ["mac", "ios"]),
         ("cairo", ["gtk", "wincairo"]),
index 96f71ea..344e9aa 100644 (file)
@@ -29,37 +29,38 @@ class ShouldBuildTest(unittest.TestCase):
         (["ChangeLog", "Source/WebCore/ChangeLog", "Source/WebKit2/ChangeLog-2011-02-11"], []),
         (["Websites/bugs.webkit.org/foo", "Source/WebCore/bar"], ["*"]),
         (["Websites/bugs.webkit.org/foo"], []),
-        (["Source/JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
-        (["Source/JavaScriptCore/Configurations/Base.xcconfig"], ["mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
+        (["Source/JavaScriptCore/JavaScriptCore.xcodeproj/foo"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "ios-9", "ios-simulator-9"]),
+        (["Source/JavaScriptCore/Configurations/Base.xcconfig"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "ios-9", "ios-simulator-9"]),
         (["Source/JavaScriptCore/JavaScriptCore.vcproj/foo", "Source/WebKit2/win/WebKit2.vcproj", "Source/WebKit/win/WebKit.sln", "Tools/WebKitTestRunner/Configurations/WebKitTestRunnerCommon.vsprops"], ["win"]),
         (["LayoutTests/platform/mac/foo", "Source/WebCore/bar"], ["*"]),
         (["LayoutTests/foo"], ["*"]),
         (["LayoutTests/canvas/philip/tests/size.attributes.parse.exp-expected.txt", "LayoutTests/canvas/philip/tests/size.attributes.parse.exp.html"], ["*"]),
         (["LayoutTests/platform/mac-yosemite/foo"], ["mac-yosemite"]),
         (["LayoutTests/platform/mac-elcapitan/foo"], ["mac-yosemite", "mac-elcapitan"]),
+        (["LayoutTests/platform/mac-sierra/foo"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
         (["LayoutTests/platform/ios-simulator/foo"], ["ios-9", "ios-simulator-9"]),
         (["LayoutTests/platform/ios-simulator-wk1/foo"], ["ios-9", "ios-simulator-9"]),
         (["LayoutTests/platform/ios-simulator-wk2/foo"], ["ios-9", "ios-simulator-9"]),
-        (["LayoutTests/platform/wk2/Skipped"], ["mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
-        (["LayoutTests/platform/mac-wk2/Skipped"], ["mac-yosemite", "mac-elcapitan"]),
-        (["LayoutTests/platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt"], ["mac-yosemite", "mac-elcapitan"]),
-        (["LayoutTests/platform/mac/foo"], ["mac-yosemite", "mac-elcapitan", "win"]),
-        (["LayoutTests/platform/mac-wk2/platform/mac/editing/spelling/autocorrection-contraction-expected.txt"], ["mac-yosemite", "mac-elcapitan"]),
+        (["LayoutTests/platform/wk2/Skipped"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "ios-9", "ios-simulator-9"]),
+        (["LayoutTests/platform/mac-wk2/Skipped"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
+        (["LayoutTests/platform/mac-wk1/compositing/tiling/transform-origin-tiled-expected.txt"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
+        (["LayoutTests/platform/mac/foo"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "win"]),
+        (["LayoutTests/platform/mac-wk2/platform/mac/editing/spelling/autocorrection-contraction-expected.txt"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
         (["LayoutTests/platform/win-xp/foo"], ["win"]),
         (["LayoutTests/platform/win-wk1/foo"], ["win"]),
         (["LayoutTests/platform/win/foo"], ["win"]),
-        (["LayoutTests/platform/spi/cocoa/foo"], ["mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
-        (["LayoutTests/platform/spi/cf/foo"], ["mac-yosemite", "mac-elcapitan", "win", "ios-9", "ios-simulator-9"]),
-        (["Source/WebKit/mac/WebKit.mac.exp"], ["mac-yosemite", "mac-elcapitan"]),
+        (["LayoutTests/platform/spi/cocoa/foo"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "ios-9", "ios-simulator-9"]),
+        (["LayoutTests/platform/spi/cf/foo"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "win", "ios-9", "ios-simulator-9"]),
+        (["Source/WebKit/mac/WebKit.mac.exp"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
         (["Source/WebKit/ios/WebKit.iOS.exp"], ["ios-9", "ios-simulator-9"]),
-        (["Source/Dummy/foo.exp"], ["mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
+        (["Source/Dummy/foo.exp"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "ios-9", "ios-simulator-9"]),
         (["Source/WebCore/ios/foo"], ["ios-9", "ios-simulator-9"]),
-        (["Source/WebCore/mac/foo"], ["mac-yosemite", "mac-elcapitan"]),
+        (["Source/WebCore/mac/foo"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
         (["Source/WebCore/win/foo"], ["win"]),
-        (["Source/WebCore/bridge/objc/objc_class.mm"], ["mac-yosemite", "mac-elcapitan", "ios-9", "ios-simulator-9"]),
+        (["Source/WebCore/bridge/objc/objc_class.mm"], ["mac-yosemite", "mac-elcapitan", "mac-sierra", "ios-9", "ios-simulator-9"]),
         (["Source/WebCore/platform/wx/wxcode/win/foo"], []),
         (["Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm"], ["ios-9", "ios-simulator-9"]),
-        (["Source/WebCore/rendering/RenderThemeMac.mm", "Source/WebCore/rendering/RenderThemeMac.h"], ["mac-yosemite", "mac-elcapitan"]),
+        (["Source/WebCore/rendering/RenderThemeMac.mm", "Source/WebCore/rendering/RenderThemeMac.h"], ["mac-yosemite", "mac-elcapitan", "mac-sierra"]),
         (["Source/WebCore/rendering/RenderThemeIOS.mm", "Source/WebCore/rendering/RenderThemeIOS.h"], ["ios-9", "ios-simulator-9"]),
         (["Tools/BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js"], []),
     ]
@@ -68,7 +69,7 @@ class ShouldBuildTest(unittest.TestCase):
         for files, platforms in self._should_build_tests:
             # FIXME: We should test more platforms here once
             # wkbuild._should_file_trigger_build is implemented for them.
-            for platform in ["mac-yosemite", "mac-elcapitan", "win", "ios-9", "ios-simulator-9"]:
+            for platform in ["mac-yosemite", "mac-elcapitan", "mac-sierra", "win", "ios-9", "ios-simulator-9"]:
                 should_build = platform in platforms or "*" in platforms
                 self.assertEqual(wkbuild.should_build(platform, files), should_build, "%s should%s have built but did%s (files: %s)" % (platform, "" if should_build else "n't", "n't" if should_build else "", str(files)))
 
index 7af6df5..8df5086 100644 (file)
@@ -1,3 +1,28 @@
+2016-06-17  Alexey Proskuryakov  <ap@apple.com>
+
+        Add test expectations for macOS Sierra
+        https://bugs.webkit.org/show_bug.cgi?id=158903
+
+        Reviewed by Alex Christensen.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra.png: Added.
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/Sierra@2x.png: Added.
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:
+        Added dashboard support.
+
+        * BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
+        * BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:
+        Trigger the right build queues on check-in.
+
+        * Scripts/webkitpy/common/system/platforminfo.py:
+        * Scripts/webkitpy/common/system/platforminfo_unittest.py:
+        * Scripts/webkitpy/layout_tests/models/test_expectations.py:
+        * Scripts/webkitpy/port/mac.py:
+        * Scripts/webkitpy/port/mac_unittest.py:
+        * TestResultServer/static-dashboards/flakiness_dashboard.js:
+        Added cases for Sierra, and updated tests for new baseline search paths.
+
 2016-06-19  Alexey Proskuryakov  <ap@apple.com>
 
         Another buid fix for master.cfg.
index 475653d..28a43a5 100644 (file)
@@ -157,6 +157,7 @@ class PlatformInfo(object):
             9: 'mavericks',
             10: 'yosemite',
             11: 'elcapitan',
+            12: 'sierra',
         }
         assert release_version >= min(version_strings.keys())
         return version_strings.get(release_version, 'future')
index 5f69b19..dfaf657 100644 (file)
@@ -138,7 +138,8 @@ class TestPlatformInfo(unittest.TestCase):
         self.assertEqual(self.make_info(fake_sys('darwin'), fake_platform('10.9.0')).os_version, 'mavericks')
         self.assertEqual(self.make_info(fake_sys('darwin'), fake_platform('10.10.0')).os_version, 'yosemite')
         self.assertEqual(self.make_info(fake_sys('darwin'), fake_platform('10.11.0')).os_version, 'elcapitan')
-        self.assertEqual(self.make_info(fake_sys('darwin'), fake_platform('10.12.0')).os_version, 'future')
+        self.assertEqual(self.make_info(fake_sys('darwin'), fake_platform('10.12.0')).os_version, 'sierra')
+        self.assertEqual(self.make_info(fake_sys('darwin'), fake_platform('10.13.0')).os_version, 'future')
 
         self.assertEqual(self.make_info(fake_sys('linux2')).os_version, 'lucid')
 
index 50fe1d1..126d6c5 100644 (file)
@@ -209,7 +209,7 @@ class TestExpectationParser(object):
 
     # FIXME: Update the original modifiers and remove this once the old syntax is gone.
     _configuration_tokens_list = [
-        'Mac', 'SnowLeopard', 'Lion', 'MountainLion', 'Mavericks', 'Yosemite', 'ElCapitan',
+        'Mac', 'SnowLeopard', 'Lion', 'MountainLion', 'Mavericks', 'Yosemite', 'ElCapitan', 'Sierra',
         'Win', 'XP', 'Vista', 'Win7',
         'Linux',
         'Android',
index 42e1117..3f29e2e 100644 (file)
@@ -44,7 +44,7 @@ _log = logging.getLogger(__name__)
 class MacPort(ApplePort):
     port_name = "mac"
 
-    VERSION_FALLBACK_ORDER = ['mac-snowleopard', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan']
+    VERSION_FALLBACK_ORDER = ['mac-snowleopard', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac-sierra']
 
     ARCHITECTURES = ['x86_64', 'x86']
 
@@ -91,9 +91,10 @@ class MacPort(ApplePort):
 
     def configuration_specifier_macros(self):
         return {
-            "elcapitan+": ["elcapitan", "future"],
-            "mavericks+": ["mavericks", "yosemite", "elcapitan", "future"],
-            "yosemite+": ["yosemite", "elcapitan", "future"],
+            "sierra+": ["sierra", "future"],
+            "elcapitan+": ["elcapitan", "sierra", "future"],
+            "mavericks+": ["mavericks", "yosemite", "elcapitan", "sierra", "future"],
+            "yosemite+": ["yosemite", "elcapitan", "sierra", "future"],
         }
 
     def setup_environ_for_server(self, server_name=None):
index b38ec21..88e7fa4 100644 (file)
@@ -85,6 +85,9 @@ class MacTest(port_testcase.PortTestCase):
         self.assert_name('mac', 'elcapitan', 'mac-elcapitan')
         self.assert_name('mac-elcapitan', 'mavericks', 'mac-elcapitan')
         self.assert_name('mac-elcapitan', 'yosemite', 'mac-elcapitan')
+        self.assert_name('mac', 'sierra', 'mac-sierra')
+        self.assert_name('mac-sierra', 'yosemite', 'mac-sierra')
+        self.assert_name('mac-sierra', 'elcapitan', 'mac-sierra')
         self.assert_name('mac', 'future', 'mac-future')
         self.assert_name('mac-future', 'future', 'mac-future')
         self.assertRaises(AssertionError, self.assert_name, 'mac-tiger', 'leopard', 'mac-leopard')
@@ -104,19 +107,21 @@ class MacTest(port_testcase.PortTestCase):
 
     def test_baseline_search_path(self):
         # Note that we don't need total coverage here, just path coverage, since this is all data driven.
-        self._assert_search_path('mac-snowleopard', 'mac-snowleopard', ['mac-snowleopard', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-wk1', 'mac'])
-        self._assert_search_path('mac-lion', 'mac-lion', ['mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-wk1', 'mac'])
-        self._assert_search_path('mac-mountainlion', 'mac-mountainlion', ['mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-wk1', 'mac'])
-        self._assert_search_path('mac-mavericks', 'mac-mavericks', ['mac-mavericks', 'mac-yosemite', 'mac-wk1', 'mac'])
-        self._assert_search_path('mac-yosemite', 'mac-yosemite', ['mac-yosemite', 'mac-wk1', 'mac'])
-        self._assert_search_path('mac-elcapitan', 'mac-wk1', ['mac-wk1', 'mac'])
+        self._assert_search_path('mac-snowleopard', 'mac-snowleopard', ['mac-snowleopard', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac-wk1', 'mac'])
+        self._assert_search_path('mac-lion', 'mac-lion', ['mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac-wk1', 'mac'])
+        self._assert_search_path('mac-mountainlion', 'mac-mountainlion', ['mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac-wk1', 'mac'])
+        self._assert_search_path('mac-mavericks', 'mac-mavericks', ['mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac-wk1', 'mac'])
+        self._assert_search_path('mac-yosemite', 'mac-yosemite', ['mac-yosemite', 'mac-elcapitan', 'mac-wk1', 'mac'])
+        self._assert_search_path('mac-elcapitan', 'mac-elcapitan', ['mac-elcapitan', 'mac-wk1', 'mac'])
+        self._assert_search_path('mac-sierra', 'mac-wk1', ['mac-wk1', 'mac'])
         self._assert_search_path('mac-future', 'mac-wk1', ['mac-wk1', 'mac'])
-        self._assert_search_path('mac-snowleopard', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-snowleopard', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac'], use_webkit2=True)
-        self._assert_search_path('mac-lion', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac'], use_webkit2=True)
-        self._assert_search_path('mac-mountainlion', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac'], use_webkit2=True)
-        self._assert_search_path('mac-mavericks', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-mavericks', 'mac-yosemite', 'mac'], use_webkit2=True)
-        self._assert_search_path('mac-yosemite', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-yosemite', 'mac'], use_webkit2=True)
-        self._assert_search_path('mac-elcapitan', 'mac-wk2', ['mac-wk2', 'wk2', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-snowleopard', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-snowleopard', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-lion', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-lion', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-mountainlion', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-mountainlion', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-mavericks', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-mavericks', 'mac-yosemite', 'mac-elcapitan', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-yosemite', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-yosemite', 'mac-elcapitan', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-elcapitan', 'mac-wk2', ['mac-wk2', 'wk2', 'mac-elcapitan', 'mac'], use_webkit2=True)
+        self._assert_search_path('mac-sierra', 'mac-wk2', ['mac-wk2', 'wk2', 'mac'], use_webkit2=True)
         self._assert_search_path('mac-future', 'mac-wk2', ['mac-wk2', 'wk2', 'mac'], use_webkit2=True)
 
     def test_show_results_html_file(self):
index e76f5ae..fe8078a 100644 (file)
@@ -55,6 +55,12 @@ var PLATFORMS = {
                             'WK2': { fallbackPlatforms: ['APPLE_MAC_ELCAPITAN', 'APPLE_MAC', 'WK2'], expectationsDirectory: 'mac-wk2'}
                         }
                     },
+                    'SIERRA': {
+                        subPlatforms: {
+                            'WK1': { fallbackPlatforms: ['APPLE_MAC_SIERRA', 'APPLE_MAC'] },
+                            'WK2': { fallbackPlatforms: ['APPLE_MAC_SIERRA', 'APPLE_MAC', 'WK2'], expectationsDirectory: 'mac-wk2'}
+                        }
+                    },
                 }
             },
             'WIN': {
@@ -348,6 +354,8 @@ function determineBuilderPlatform(builderNameUpperCase)
     if (string.contains(builderNameUpperCase, 'WIN XP'))
         return 'APPLE_WIN_XP';
 
+    if (string.contains(builderNameUpperCase, 'SIERRA'))
+        return determineWKPlatform(builderNameUpperCase, 'SIERRA');
     if (string.contains(builderNameUpperCase, 'EL CAPITAN'))
         return determineWKPlatform(builderNameUpperCase, 'APPLE_ELCAPITAN');
     if (string.contains(builderNameUpperCase, 'YOSEMITE'))
@@ -698,6 +706,7 @@ function getParsedExpectations(data)
             'Mavericks': 'MAVERICKS',
             'Yosemite': 'YOSEMITE',
             'ElCapitan': 'ELCAPITAN',
+            'Sierra': 'SIERRA',
             'Win7': 'WIN7',
             'XP': 'XP',
             'Vista': 'VISTA',