Timeline
May 20, 2018:
- 11:24 PM Changeset in webkit [232009] by
-
- 2 edits in trunk/Tools
[GTK] MiniBrowser crashes when loading twice quickly
https://bugs.webkit.org/show_bug.cgi?id=185763
Reviewed by Michael Catanzaro.
This is very difficult to reproduce manually, but it happens when running WebDriver tests where loads are very
fast and multiple loads are done quickly. The problem is that we use an idle to reset the progress bar, but we
don't reset it when a new load starts. We always reset the last idle on destroy, but if there's another one
leaked, it will crash when scheduled if the window has already been destroyed.
- MiniBrowser/gtk/BrowserWindow.c:
(webViewLoadProgressChanged): Stop any pending reset task when progress != 1.
- 5:51 PM Changeset in webkit [232008] by
-
- 2 edits in trunk/Source/JavaScriptCore
Revert the B3 compiler pipeline's treatment of taildup
https://bugs.webkit.org/show_bug.cgi?id=185808
Reviewed by Yusuke Suzuki.
While trying to implement path specialization (bug 185060), I reorganized the B3 pass pipeline.
But then path specialization turned out to be a negative result. This reverts the pipeline to the
way it was before that work.
1.5% progression on V8Spider-CompileTime.
- b3/B3Generate.cpp:
(JSC::B3::generateToAir):
- 3:21 PM Changeset in webkit [232007] by
-
- 7 edits in branches/safari-606.1.17-branch/Source
Versioning.
- 3:17 PM Changeset in webkit [232006] by
-
- 1 copy in tags/Safari-606.1.17.10
Tag Safari-606.1.17.10.
- 2:41 PM Changeset in webkit [232005] by
-
- 5 edits141 copies64 adds1 delete in trunk/LayoutTests
Update CSSOM WPT tests.
https://bugs.webkit.org/show_bug.cgi?id=185805
LayoutTests/imported/w3c:
They've been moved under the css/ directory.
This has been done with:
./Tools/Scripts/import-w3c-tests web-platform-tests/css/cssom
rm -rf LayoutTests/imported/w3c/web-platform-tests/cssom
./Tools/Scripts/run-webkit-tests -t Debug LayoutTests/imported/w3c/web-platform-tests/css/cssom/ --reset-results
And ensuring that the same run without --reset-results also succeeded.
I manually removed entries in import-expectations.json which no longer
correspond to an upstream directory.
Reviewed by Frédéric Wang.
- resources/import-expectations.json:
- resources/resource-files.json:
- web-platform-tests/css/cssom/CSS-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSS-expected.txt.
- web-platform-tests/css/cssom/CSS.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSS.html.
- web-platform-tests/css/cssom/CSSKeyframeRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframeRule-expected.txt.
- web-platform-tests/css/cssom/CSSKeyframeRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframeRule.html.
- web-platform-tests/css/cssom/CSSKeyframesRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframesRule-expected.txt.
- web-platform-tests/css/cssom/CSSKeyframesRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSKeyframesRule.html.
- web-platform-tests/css/cssom/CSSNamespaceRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSNamespaceRule-expected.txt.
- web-platform-tests/css/cssom/CSSNamespaceRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSNamespaceRule.html.
- web-platform-tests/css/cssom/CSSRuleList-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSRuleList-expected.txt.
- web-platform-tests/css/cssom/CSSRuleList.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSRuleList.html.
- web-platform-tests/css/cssom/CSSStyleRule-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleRule-expected.txt.
- web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-expected.txt: Added.
- web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-namespace-expected.txt: Added.
- web-platform-tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html: Added.
- web-platform-tests/css/cssom/CSSStyleRule-set-selectorText.html: Added.
- web-platform-tests/css/cssom/CSSStyleRule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleRule.html.
- web-platform-tests/css/cssom/CSSStyleSheet-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleSheet-expected.txt.
- web-platform-tests/css/cssom/CSSStyleSheet.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/CSSStyleSheet.html.
- web-platform-tests/css/cssom/MediaList-expected.txt: Added.
- web-platform-tests/css/cssom/MediaList.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList.html.
- web-platform-tests/css/cssom/MediaList2-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList2-expected.txt.
- web-platform-tests/css/cssom/MediaList2.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/MediaList2.xhtml.
- web-platform-tests/css/cssom/OWNERS: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/OWNERS.
- web-platform-tests/css/cssom/StyleSheetList-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/StyleSheetList-expected.txt.
- web-platform-tests/css/cssom/StyleSheetList.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/StyleSheetList.html.
- web-platform-tests/css/cssom/computed-style-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/computed-style-001-expected.txt.
- web-platform-tests/css/cssom/computed-style-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/computed-style-001.html.
- web-platform-tests/css/cssom/computed-style-002-expected.txt: Added.
- web-platform-tests/css/cssom/computed-style-002.html: Added.
- web-platform-tests/css/cssom/computed-style-003-expected.txt: Added.
- web-platform-tests/css/cssom/computed-style-003.html: Added.
- web-platform-tests/css/cssom/computed-style-004-expected.txt: Added.
- web-platform-tests/css/cssom/computed-style-004.html: Added.
- web-platform-tests/css/cssom/css-style-attr-decl-block-expected.txt: Added.
- web-platform-tests/css/cssom/css-style-attr-decl-block.html: Added.
- web-platform-tests/css/cssom/css-style-attribute-modifications-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-attribute-modifications-expected.txt.
- web-platform-tests/css/cssom/css-style-attribute-modifications.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-attribute-modifications.html.
- web-platform-tests/css/cssom/css-style-declaration-modifications-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-declaration-modifications-expected.txt.
- web-platform-tests/css/cssom/css-style-declaration-modifications.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/css-style-declaration-modifications.html.
- web-platform-tests/css/cssom/css-style-reparse-expected.txt: Added.
- web-platform-tests/css/cssom/css-style-reparse.html: Added.
- web-platform-tests/css/cssom/cssimportrule-expected.txt: Added.
- web-platform-tests/css/cssom/cssimportrule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssimportrule.html.
- web-platform-tests/css/cssom/cssom-cssText-serialize-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssText-serialize-expected.txt.
- web-platform-tests/css/cssom/cssom-cssText-serialize.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssText-serialize.html.
- web-platform-tests/css/cssom/cssom-cssstyledeclaration-set-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssstyledeclaration-set-expected.txt.
- web-platform-tests/css/cssom/cssom-cssstyledeclaration-set.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-cssstyledeclaration-set.html.
- web-platform-tests/css/cssom/cssom-fontfacerule-constructors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-fontfacerule-constructors-expected.txt.
- web-platform-tests/css/cssom/cssom-fontfacerule-constructors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-fontfacerule-constructors.html.
- web-platform-tests/css/cssom/cssom-fontfacerule-expected.txt: Added.
- web-platform-tests/css/cssom/cssom-fontfacerule.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-fontfacerule.html.
- web-platform-tests/css/cssom/cssom-ruleTypeAndOrder-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-ruleTypeAndOrder-expected.txt.
- web-platform-tests/css/cssom/cssom-ruleTypeAndOrder.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-ruleTypeAndOrder.html.
- web-platform-tests/css/cssom/cssom-setProperty-shorthand-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-setProperty-shorthand-expected.txt.
- web-platform-tests/css/cssom/cssom-setProperty-shorthand.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssom-setProperty-shorthand.html.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-csstext-expected.txt.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-final-delimiter-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-final-delimiter.html: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-important-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext-important.html: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-csstext.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-csstext.html.
- web-platform-tests/css/cssom/cssstyledeclaration-mutability-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-mutability-expected.txt.
- web-platform-tests/css/cssom/cssstyledeclaration-mutability.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/cssstyledeclaration-mutability.html.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-001.html: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-002.html: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-003-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-003.html: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-004-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-mutationrecord-004.html: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-setter-order-expected.txt: Added.
- web-platform-tests/css/cssom/cssstyledeclaration-setter-order.html: Added.
- web-platform-tests/css/cssom/escape-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/escape-expected.txt.
- web-platform-tests/css/cssom/escape.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/escape.html.
- web-platform-tests/css/cssom/font-shorthand-serialization-expected.txt: Added.
- web-platform-tests/css/cssom/font-shorthand-serialization.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-dynamic-subdoc-expected.txt: Added.
- web-platform-tests/css/cssom/getComputedStyle-dynamic-subdoc.html: Added.
- web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo-expected.txt.
- web-platform-tests/css/cssom/getComputedStyle-pseudo.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo.html.
- web-platform-tests/css/cssom/historical-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/historical-expected.txt.
- web-platform-tests/css/cssom/historical.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/historical.html.
- web-platform-tests/css/cssom/inline-style-001-expected.txt: Added.
- web-platform-tests/css/cssom/inline-style-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/inline-style-001.html.
- web-platform-tests/css/cssom/insertRule-charset-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-charset-no-index-expected.txt.
- web-platform-tests/css/cssom/insertRule-charset-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-charset-no-index.html.
- web-platform-tests/css/cssom/insertRule-import-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-import-no-index-expected.txt.
- web-platform-tests/css/cssom/insertRule-import-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-import-no-index.html.
- web-platform-tests/css/cssom/insertRule-namespace-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-namespace-no-index-expected.txt.
- web-platform-tests/css/cssom/insertRule-namespace-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-namespace-no-index.html.
- web-platform-tests/css/cssom/insertRule-no-index-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-no-index-expected.txt.
- web-platform-tests/css/cssom/insertRule-no-index.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/insertRule-no-index.html.
- web-platform-tests/css/cssom/insertRule-syntax-error-01-expected.txt: Added.
- web-platform-tests/css/cssom/insertRule-syntax-error-01.html: Added.
- web-platform-tests/css/cssom/interfaces-expected.txt: Added.
- web-platform-tests/css/cssom/interfaces.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/interfaces.html.
- web-platform-tests/css/cssom/medialist-dynamic-001-expected.html: Added.
- web-platform-tests/css/cssom/medialist-dynamic-001.html: Added.
- web-platform-tests/css/cssom/medialist-interfaces-001-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-001-expected.txt.
- web-platform-tests/css/cssom/medialist-interfaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-001.html.
- web-platform-tests/css/cssom/medialist-interfaces-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-002-expected.txt.
- web-platform-tests/css/cssom/medialist-interfaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-002.html.
- web-platform-tests/css/cssom/medialist-interfaces-003-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-003-expected.txt.
- web-platform-tests/css/cssom/medialist-interfaces-003.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-003.html.
- web-platform-tests/css/cssom/medialist-interfaces-004-expected.txt: Added.
- web-platform-tests/css/cssom/medialist-interfaces-004.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/medialist-interfaces-004.html.
- web-platform-tests/css/cssom/overflow-serialization-expected.txt: Added.
- web-platform-tests/css/cssom/overflow-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/overflow-serialization.html.
- web-platform-tests/css/cssom/preferred-stylesheet-order-expected.txt: Added.
- web-platform-tests/css/cssom/preferred-stylesheet-order.html: Added.
- web-platform-tests/css/cssom/preferred-stylesheet-reversed-order-expected.txt: Added.
- web-platform-tests/css/cssom/preferred-stylesheet-reversed-order.html: Added.
- web-platform-tests/css/cssom/selectorSerialize-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorSerialize-expected.txt.
- web-platform-tests/css/cssom/selectorSerialize.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorSerialize.html.
- web-platform-tests/css/cssom/selectorText-modification-restyle-001-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorText-modification-restyle-001-expected.html.
- web-platform-tests/css/cssom/selectorText-modification-restyle-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/selectorText-modification-restyle-001.html.
- web-platform-tests/css/cssom/selectorText-modification-restyle-002-expected.txt: Added.
- web-platform-tests/css/cssom/selectorText-modification-restyle-002.html: Added.
- web-platform-tests/css/cssom/serialization-CSSDeclaration-with-important-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialization-CSSDeclaration-with-important-expected.txt.
- web-platform-tests/css/cssom/serialization-CSSDeclaration-with-important.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialization-CSSDeclaration-with-important.html.
- web-platform-tests/css/cssom/serialize-namespaced-type-selectors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-namespaced-type-selectors-expected.txt.
- web-platform-tests/css/cssom/serialize-namespaced-type-selectors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-namespaced-type-selectors.html.
- web-platform-tests/css/cssom/serialize-values-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-values-expected.txt.
- web-platform-tests/css/cssom/serialize-values.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-values.html.
- web-platform-tests/css/cssom/serialize-variable-reference-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-variable-reference-expected.txt.
- web-platform-tests/css/cssom/serialize-variable-reference.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/serialize-variable-reference.html.
- web-platform-tests/css/cssom/setproperty-null-undefined-expected.txt: Added.
- web-platform-tests/css/cssom/setproperty-null-undefined.html: Added.
- web-platform-tests/css/cssom/shorthand-serialization-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/shorthand-serialization-expected.txt.
- web-platform-tests/css/cssom/shorthand-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/shorthand-serialization.html.
- web-platform-tests/css/cssom/shorthand-values-expected.txt: Added.
- web-platform-tests/css/cssom/shorthand-values.html: Added.
- web-platform-tests/css/cssom/style-sheet-interfaces-001-expected.txt: Added.
- web-platform-tests/css/cssom/style-sheet-interfaces-001.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/style-sheet-interfaces-001.html.
- web-platform-tests/css/cssom/style-sheet-interfaces-002-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/style-sheet-interfaces-002-expected.txt.
- web-platform-tests/css/cssom/style-sheet-interfaces-002.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/style-sheet-interfaces-002.html.
- web-platform-tests/css/cssom/stylesheet-replacedata-dynamic-expected.html: Added.
- web-platform-tests/css/cssom/stylesheet-replacedata-dynamic.html: Added.
- web-platform-tests/css/cssom/stylesheet-same-origin.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/stylesheet-same-origin.css.
- web-platform-tests/css/cssom/stylesheet-same-origin.sub-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/stylesheet-same-origin.sub-expected.txt.
- web-platform-tests/css/cssom/stylesheet-same-origin.sub.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/stylesheet-same-origin.sub.html.
- web-platform-tests/css/cssom/stylesheet-title-expected.txt: Added.
- web-platform-tests/css/cssom/stylesheet-title.html: Added.
- web-platform-tests/css/cssom/support/1x1-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-green.png.
- web-platform-tests/css/cssom/support/1x1-lime.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-lime.png.
- web-platform-tests/css/cssom/support/1x1-maroon.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-maroon.png.
- web-platform-tests/css/cssom/support/1x1-navy.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-navy.png.
- web-platform-tests/css/cssom/support/1x1-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-red.png.
- web-platform-tests/css/cssom/support/1x1-white.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/1x1-white.png.
- web-platform-tests/css/cssom/support/60x60-gg-rr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/60x60-gg-rr.png.
- web-platform-tests/css/cssom/support/60x60-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/60x60-green.png.
- web-platform-tests/css/cssom/support/60x60-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/60x60-red.png.
- web-platform-tests/css/cssom/support/README: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/README.
- web-platform-tests/css/cssom/support/a-green.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/a-green.css.
- web-platform-tests/css/cssom/support/b-green.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/b-green.css.
- web-platform-tests/css/cssom/support/c-red.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/c-red.css.
- web-platform-tests/css/cssom/support/cat.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/cat.png.
- web-platform-tests/css/cssom/support/import-charset.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/import-charset.css.
- web-platform-tests/css/cssom/support/import-green.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/import-green.css.
- web-platform-tests/css/cssom/support/import-red.css: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/import-red.css.
- web-platform-tests/css/cssom/support/pattern-grg-rgr-grg.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-grg-rgr-grg.png.
- web-platform-tests/css/cssom/support/pattern-grg-rrg-rgg.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-grg-rrg-rgg.png.
- web-platform-tests/css/cssom/support/pattern-rgr-grg-rgr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-rgr-grg-rgr.png.
- web-platform-tests/css/cssom/support/pattern-tr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/pattern-tr.png.
- web-platform-tests/css/cssom/support/ruler-h-50%.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-h-50%.png.
- web-platform-tests/css/cssom/support/ruler-h-50px.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-h-50px.png.
- web-platform-tests/css/cssom/support/ruler-v-100px.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-v-100px.png.
- web-platform-tests/css/cssom/support/ruler-v-50px.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/ruler-v-50px.png.
- web-platform-tests/css/cssom/support/square-purple.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/square-purple.png.
- web-platform-tests/css/cssom/support/square-teal.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/square-teal.png.
- web-platform-tests/css/cssom/support/square-white.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/square-white.png.
- web-platform-tests/css/cssom/support/support/README: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/README.
- web-platform-tests/css/cssom/support/support/swatch-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/swatch-green.png.
- web-platform-tests/css/cssom/support/support/swatch-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/swatch-red.png.
- web-platform-tests/css/cssom/support/support/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/support/w3c-import.log.
- web-platform-tests/css/cssom/support/swatch-blue.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-blue.png.
- web-platform-tests/css/cssom/support/swatch-green.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-green.png.
- web-platform-tests/css/cssom/support/swatch-lime.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-lime.png.
- web-platform-tests/css/cssom/support/swatch-orange.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-orange.png.
- web-platform-tests/css/cssom/support/swatch-red.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-red.png.
- web-platform-tests/css/cssom/support/swatch-teal.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-teal.png.
- web-platform-tests/css/cssom/support/swatch-white.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-white.png.
- web-platform-tests/css/cssom/support/swatch-yellow.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/swatch-yellow.png.
- web-platform-tests/css/cssom/support/test-bl.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-bl.png.
- web-platform-tests/css/cssom/support/test-br.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-br.png.
- web-platform-tests/css/cssom/support/test-inner-half-size.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-inner-half-size.png.
- web-platform-tests/css/cssom/support/test-outer.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-outer.png.
- web-platform-tests/css/cssom/support/test-tl.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-tl.png.
- web-platform-tests/css/cssom/support/test-tr.png: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/test-tr.png.
- web-platform-tests/css/cssom/support/w3c-import.log: Added.
- web-platform-tests/css/cssom/support/xmlss-pi.xhtml: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/support/xmlss-pi.xhtml.
- web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-count-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-count-expected.txt.
- web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-count.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-count.html.
- web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-tree-order-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-tree-order-expected.txt.
- web-platform-tests/css/cssom/ttwf-cssom-doc-ext-load-tree-order.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-doc-ext-load-tree-order.html.
- web-platform-tests/css/cssom/ttwf-cssom-document-extension-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-document-extension-expected.txt.
- web-platform-tests/css/cssom/ttwf-cssom-document-extension.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/ttwf-cssom-document-extension.html.
- web-platform-tests/css/cssom/variable-names-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/variable-names-expected.txt.
- web-platform-tests/css/cssom/variable-names.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/cssom/variable-names.html.
- web-platform-tests/css/cssom/w3c-import.log: Added.
- web-platform-tests/cssom/GetBoundingRect-expected.txt: Removed.
- web-platform-tests/cssom/GetBoundingRect.html: Removed.
- web-platform-tests/cssom/MediaList-expected.txt: Removed.
- web-platform-tests/cssom/cssimportrule-expected.txt: Removed.
- web-platform-tests/cssom/cssom-fontfacerule-expected.txt: Removed.
- web-platform-tests/cssom/index-001-expected.txt: Removed.
- web-platform-tests/cssom/index-001.html: Removed.
- web-platform-tests/cssom/index-002-expected.txt: Removed.
- web-platform-tests/cssom/index-002.html: Removed.
- web-platform-tests/cssom/inline-style-001-expected.txt: Removed.
- web-platform-tests/cssom/interfaces-expected.txt: Removed.
- web-platform-tests/cssom/medialist-interfaces-004-expected.txt: Removed.
- web-platform-tests/cssom/overflow-serialization-expected.txt: Removed.
- web-platform-tests/cssom/style-sheet-interfaces-001-expected.txt: Removed.
- web-platform-tests/cssom/support/w3c-import.log: Removed.
- web-platform-tests/cssom/w3c-import.log: Removed.
LayoutTests:
Reviewed by Frédéric Wang.
Update CSSOM WPT tests.
- 2:11 PM Changeset in webkit [232004] by
-
- 1 edit in trunk/Source/JavaScriptCore/bytecode/InstanceOfStatus.cpp
Fix the !ENABLE(DFG_JIT) build.
- bytecode/InstanceOfStatus.cpp:
(JSC::InstanceOfStatus::computeFor):
- 8:35 AM Changeset in webkit [232003] by
-
- 7 edits in branches/safari-606.1.17-branch/Source
Versioning.
- 3:49 AM Changeset in webkit [232002] by
-
- 2 edits in trunk/Source/JavaScriptCore
[DFG] CheckTypeInfoFlags should say
eliminated
if it is removed in constant folding phase
https://bugs.webkit.org/show_bug.cgi?id=185802
Reviewed by Saam Barati.
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
May 19, 2018:
- 4:07 PM Changeset in webkit [232001] by
-
- 4 edits in trunk/Source/WebCore
Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>
Reviewed by Dean Jackson.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaSessionTitle const): Use decodeHostName and
topPrivatelyControlledDomain when possible to make the host name more readable.
- platform/PublicSuffix.h:
- platform/mac/PublicSuffixMac.mm:
(WebCore::decodeHostName): Expose topPrivatelyControlledDomain method to .cpp functions.
- 3:00 PM Changeset in webkit [232000] by
-
- 31 edits6 adds in trunk/Source
DFG should inline InstanceOf ICs
https://bugs.webkit.org/show_bug.cgi?id=185695
Reviewed by Yusuke Suzuki.
Source/JavaScriptCore:
This teaches the DFG how to inline InstanceOf ICs into a MatchStructure node. This can then
be folded to a CheckStructure + JSConstant.
In the process of testing this, I found a bug where LICM was not hoisting things that
depended on ExtraOSREntryLocal because that might return SpecEmpty. I fixed that by teaching
LICM how to materialize CheckNotEmpty on demand whenever HoistingFailed.
This is a ~5% speed-up on boyer.
~2x speed-up on the instanceof-always-hit-one, instanceof-always-hit-two, and
instanceof-sometimes-hit microbenchmarks.
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::appendVariant):
(JSC::GetByIdStatus::filter):
- bytecode/GetByIdStatus.h:
(JSC::GetByIdStatus::operator bool const):
(JSC::GetByIdStatus::operator! const): Deleted.
- bytecode/GetByIdVariant.h:
(JSC::GetByIdVariant::operator bool const):
(JSC::GetByIdVariant::operator! const): Deleted.
- bytecode/ICStatusUtils.h: Added.
(JSC::appendICStatusVariant):
(JSC::filterICStatusVariants):
- bytecode/InstanceOfStatus.cpp: Added.
(JSC::InstanceOfStatus::appendVariant):
(JSC::InstanceOfStatus::computeFor):
(JSC::InstanceOfStatus::computeForStubInfo):
(JSC::InstanceOfStatus::commonPrototype const):
(JSC::InstanceOfStatus::filter):
- bytecode/InstanceOfStatus.h: Added.
(JSC::InstanceOfStatus::InstanceOfStatus):
(JSC::InstanceOfStatus::state const):
(JSC::InstanceOfStatus::isSet const):
(JSC::InstanceOfStatus::operator bool const):
(JSC::InstanceOfStatus::isSimple const):
(JSC::InstanceOfStatus::takesSlowPath const):
(JSC::InstanceOfStatus::numVariants const):
(JSC::InstanceOfStatus::variants const):
(JSC::InstanceOfStatus::at const):
(JSC::InstanceOfStatus::operator[] const):
- bytecode/InstanceOfVariant.cpp: Added.
(JSC::InstanceOfVariant::InstanceOfVariant):
(JSC::InstanceOfVariant::attemptToMerge):
(JSC::InstanceOfVariant::dump const):
(JSC::InstanceOfVariant::dumpInContext const):
- bytecode/InstanceOfVariant.h: Added.
(JSC::InstanceOfVariant::InstanceOfVariant):
(JSC::InstanceOfVariant::operator bool const):
(JSC::InstanceOfVariant::structureSet const):
(JSC::InstanceOfVariant::structureSet):
(JSC::InstanceOfVariant::conditionSet const):
(JSC::InstanceOfVariant::prototype const):
(JSC::InstanceOfVariant::isHit const):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::StructureStubInfo):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
- dfg/DFGGraph.h:
- dfg/DFGLICMPhase.cpp:
(JSC::DFG::LICMPhase::attemptHoist):
- dfg/DFGNode.cpp:
(JSC::DFG::Node::remove):
- dfg/DFGNode.h:
(JSC::DFG::Node::hasMatchStructureData):
(JSC::DFG::Node::matchStructureData):
- dfg/DFGNodeType.h:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileMatchStructure):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileMatchStructure):
Source/WTF:
I found myself needing a way to represent bottom/false/true/top, so I created it.
- WTF.xcodeproj/project.pbxproj:
- wtf/BooleanLattice.h: Added.
(WTF::lubBooleanLattice):
(WTF::printInternal):
- wtf/CMakeLists.txt:
- 1:57 PM Changeset in webkit [231999] by
-
- 2 edits in trunk/Tools
Flaky API test WebKit.WKHTTPCookieStoreWithoutProcessPool: incorrect order of cookies
https://bugs.webkit.org/show_bug.cgi?id=185624
<rdar://problem/39111626>
Reviewed by Chris Dumez.
Modified expectation to make test more robust as cookies can be returned in different orders.
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
- 1:21 PM Changeset in webkit [231998] by
-
- 50 edits6 adds in trunk
[JSC] JSC should have consistent InById IC
https://bugs.webkit.org/show_bug.cgi?id=185682
Reviewed by Filip Pizlo.
JSTests:
- stress/in-by-id-accessors.js: Added.
(shouldBe):
(test):
(protoGetter.proto.get hello):
(protoSetter.proto.set hello):
(i.shouldBe.test.get hello):
(i.shouldBe.test.set hello):
- stress/in-by-id-ai.js: Added.
(shouldBe):
(test):
- stress/in-by-id-custom-accessors.js: Added.
(shouldBe):
(test1):
(test2):
- stress/in-by-id-custom-values.js: Added.
(shouldBe):
(test):
- stress/in-by-id-operation.js: Added.
(shouldBe):
(test):
(selfCache):
- stress/in-by-id-proxy.js: Added.
(shouldBe):
(test):
(handler.has):
Source/JavaScriptCore:
Current our op_in IC is adhoc: It is only emitted in DFG and FTL layers,
when we found that DFG::In's parameter is constant string. We should
align this IC to the other ById ICs to clean up and remove adhoc code
in DFG and FTL.
This patch cleans up our "In" IC by aligning it to the other ById ICs.
We split op_in bytecode to op_in_by_id and op_in_by_val. op_in_by_val
is the same to the original op_in. For op_in_by_id, we use JITInByIdGenerator
to emit InById IC code. In addition, our JITInByIdGenerator and op_in_by_id
has a inline access cache for own property case, which is the same to
JITGetByIdGenerator.
And we split DFG::In to DFG::InById and DFG::InByVal. InByVal is the same
to the original In DFG node. DFG AI attempts to lower InByVal to InById
if AI figured out that the property name is a constant string. And in
InById node, we use JITInByIdGenerator code.
This patch cleans up DFG and FTL's adhoc In IC code.
In a subsequent patch, we should introduce InByIdStatus to optimize
InById in DFG and FTL. We would like to have a new InByIdStatus instead of
reusing GetByIdStatus since GetByIdStatus becomes too complicated, and
AccessCase::Types are different from them (AccessCase::InHit / InMiss).
- bytecode/AccessCase.cpp:
(JSC::AccessCase::fromStructureStubInfo):
(JSC::AccessCase::generateWithGuard):
- bytecode/BytecodeDumper.cpp:
(JSC::BytecodeDumper<Block>::printInByIdCacheStatus):
(JSC::BytecodeDumper<Block>::dumpBytecode):
- bytecode/BytecodeDumper.h:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
- bytecode/InlineAccess.cpp:
(JSC::InlineAccess::generateSelfInAccess):
- bytecode/InlineAccess.h:
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::patchableJump):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitInByVal):
(JSC::BytecodeGenerator::emitInById):
(JSC::BytecodeGenerator::emitIn): Deleted.
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::InNode::emitBytecode):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
- dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addInById):
(JSC::DFG::InRecord::InRecord): Deleted.
(JSC::DFG::JITCompiler::addIn): Deleted.
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToInById):
(JSC::DFG::Node::hasIdentifier):
(JSC::DFG::Node::hasArrayMode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileInById):
(JSC::DFG::SpeculativeJIT::compileInByVal):
(JSC::DFG::SpeculativeJIT::compileIn): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileInByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileInById):
(JSC::FTL::DFG::LowerDFGToB3::compileIn): Deleted.
- jit/ICStats.h:
- jit/JIT.cpp:
(JSC::JIT::JIT):
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
- jit/JIT.h:
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITInByIdGenerator::JITInByIdGenerator):
(JSC::JITInByIdGenerator::generateFastPath):
- jit/JITInlineCacheGenerator.h:
(JSC::JITInByIdGenerator::JITInByIdGenerator):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_in_by_id):
(JSC::JIT::emitSlow_op_in_by_id):
- jit/Repatch.cpp:
(JSC::tryCacheInByID):
(JSC::repatchInByID):
(JSC::resetInByID):
(JSC::tryCacheIn): Deleted.
(JSC::repatchIn): Deleted.
(JSC::resetIn): Deleted.
- jit/Repatch.h:
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter64.asm:
- parser/NodeConstructors.h:
(JSC::InNode::InNode):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opInByVal):
(JSC::CommonSlowPaths::opIn): Deleted.
- 9:30 AM WebKitGTK/2.20.x edited by
- (diff)
- 8:12 AM Changeset in webkit [231997] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r231996.
https://bugs.webkit.org/show_bug.cgi?id=185799
Broke the GTK build (Requested by eric_carlson on #webkit).
Reverted changeset:
"Improve NowPlaying "title""
https://bugs.webkit.org/show_bug.cgi?id=185680
https://trac.webkit.org/changeset/231996
May 18, 2018:
- 9:22 PM Changeset in webkit [231996] by
-
- 4 edits in trunk/Source/WebCore
Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>
Reviewed by Dean Jackson.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaSessionTitle const): Use decodeHostName and
topPrivatelyControlledDomain when possible to make the host name more readable.
- platform/PublicSuffix.h:
- platform/mac/PublicSuffixMac.mm:
(WebCore::decodeHostName): Expose topPrivatelyControlledDomain method to .cpp functions.
- 9:05 PM Changeset in webkit [231995] by
-
- 5 edits in trunk
Cannot unset transition with important
https://bugs.webkit.org/show_bug.cgi?id=177684
Patch by Rob Buis <rbuis@igalia.com> on 2018-05-18
Reviewed by Chris Dumez.
LayoutTests/imported/w3c:
Import manually the updated test and result.
- web-platform-tests/cssom/cssom-setProperty-shorthand-expected.txt:
- web-platform-tests/cssom/cssom-setProperty-shorthand.html:
Source/WebCore:
Make removeProperty remove the property regardless
if it was set using !important [1].
The new behavior is consistent with Firefox, Chrome and Edge.
[1] https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-removeproperty
Test: web-platform-tests/cssom/cssom-setProperty-shorthand.html
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::removePropertiesInSet):
- 6:08 PM Changeset in webkit [231994] by
-
- 1 copy in tags/Safari-605.3.3
Tag Safari-605.3.3.
- 5:08 PM Changeset in webkit [231993] by
-
- 14 edits in trunk
Unreviewed, rolling out r231982.
https://bugs.webkit.org/show_bug.cgi?id=185793
Caused layout test failures (Requested by realdawei on
#webkit).
Reverted changeset:
"Complete fix for enabling modern EME by default"
https://bugs.webkit.org/show_bug.cgi?id=185770
https://trac.webkit.org/changeset/231982
- 4:32 PM Changeset in webkit [231992] by
-
- 2 edits in trunk/Tools
Handle failure to extend sandbox gracefully
https://bugs.webkit.org/show_bug.cgi?id=185779
<rdar://problem/40316349>
Unreviewed, fix test results.
- TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
(TEST_F):
- 4:17 PM Changeset in webkit [231991] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Add missing nullability annotations to _WKAutomationSessionDelegate
https://bugs.webkit.org/show_bug.cgi?id=185791
<rdar://problem/40279891>
Reviewed by Tim Horton.
- UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h: If there is no dialog shown,
then the delegate methods to return the dialog text may return a nil NSString.
- 4:16 PM Changeset in webkit [231990] by
-
- 7 edits in trunk
op_in should mark if it sees out of bounds accesses
https://bugs.webkit.org/show_bug.cgi?id=185792
Reviewed by Filip Pizlo.
JSTests:
- stress/has-indexed-property-array-storage-ftl.js:
(test2):
- stress/has-indexed-property-slow-put-array-storage-ftl.js:
(test2):
Source/JavaScriptCore:
This would used to cause us to OSR loop since we would always speculate
we were in bounds in HasIndexedProperty.
- bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::observeIndexedRead):
- bytecode/ArrayProfile.h:
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::opIn):
- 4:07 PM Changeset in webkit [231989] by
-
- 1 copy in tags/Safari-606.1.17.9
Tag Safari-606.1.17.9.
- 4:02 PM Changeset in webkit [231988] by
-
- 8 edits3 adds in trunk
NetworkLoadChecker should cancel its content extension retrieval task when being destroyed
https://bugs.webkit.org/show_bug.cgi?id=185661
<rdar://problem/39985509>
Reviewed by Chris Dumez.
Source/WebKit:
Make sure that the Content Extension retrieval callback checks that NetworkLoadChecker is alive.
This allows stopping NetworkLoadChecker be ref counted.
This in turns allows NetworkResourceLoader to delete its NetworkLoadChecker when being deleted as well.
By doing so, we simplify the memory management of NetworkResourceLoader and NetworkLoadChecker.
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::checkRequest):
(WebKit::NetworkLoadChecker::processContentExtensionRulesForLoad):
- NetworkProcess/NetworkLoadChecker.h:
(WebKit::NetworkLoadChecker::weakPtrFactory):
- NetworkProcess/NetworkResourceLoader.cpp:
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::PingLoad):
- NetworkProcess/PingLoad.h:
LayoutTests:
- http/tests/contentextensions/crash-xhr-expected.txt: Added.
- http/tests/contentextensions/crash-xhr.html: Added.
- http/tests/contentextensions/crash-xhr.html.json: Added.
- 3:57 PM Changeset in webkit [231987] by
-
- 16 edits in branches/safari-606.1.17-branch/Source
Cherry-pick r231963. rdar://problem/40004666
Avoid keeping the frame alive when ref'ing a WindowProxy
https://bugs.webkit.org/show_bug.cgi?id=185737
<rdar://problem/40004666>
Reviewed by Sam Weinig.
Source/WebCore:
Avoid keeping the frame alive when ref'ing a WindowProxy by making WindowProxy
manage its own refcount (instead of proxying refcounting to the Frame). As a
result, a WindowProxy can now be detached from its Frame. When detached, it
return null when asked for a JSWindowProxy.
It is important to not extend the lifetime of the Frame because we want script
to stop running when the Page gets destroyed.
- bindings/js/JSWindowProxy.cpp: (WebCore::toJS): (WebCore::toJSWindowProxy):
- bindings/js/JSWindowProxy.h: (WebCore::toJSWindowProxy):
- bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::loadModuleScriptInWorld): (WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld): (WebCore::ScriptController::evaluateModule): (WebCore::ScriptController::setupModuleScriptHandlers): (WebCore::ScriptController::jsWindowProxy): (WebCore::ScriptController::windowScriptNPObject): (WebCore::ScriptController::executeIfJavaScriptURL):
- bindings/js/ScriptController.h: (WebCore::ScriptController::globalObject):
- bindings/js/ScriptControllerMac.mm: (WebCore::ScriptController::windowScriptObject):
- bindings/js/ScriptState.cpp: (WebCore::mainWorldExecState):
- bindings/js/WindowProxy.cpp: (WebCore::WindowProxy::WindowProxy): (WebCore::WindowProxy::~WindowProxy): (WebCore::WindowProxy::detachFromFrame): (WebCore::WindowProxy::createJSWindowProxy): (WebCore::WindowProxy::globalObject): (WebCore::WindowProxy::createJSWindowProxyWithInitializedScript): (WebCore::WindowProxy::setDOMWindow): (WebCore::WindowProxy::window const): (WebCore::WindowProxy::ref): Deleted. (WebCore::WindowProxy::deref): Deleted.
- bindings/js/WindowProxy.h: (WebCore::WindowProxy::create): (WebCore::WindowProxy::frame const): (WebCore::WindowProxy::jsWindowProxy):
- dom/DocumentTouch.cpp: (WebCore::DocumentTouch::createTouch):
- page/AbstractFrame.cpp: (WebCore::AbstractFrame::AbstractFrame): (WebCore::AbstractFrame::~AbstractFrame):
- page/AbstractFrame.h:
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::windowScriptNPObject):
Source/WebKitLegacy/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:57 PM Changeset in webkit [231986] by
-
- 41 edits2 copies16 adds in branches/safari-606.1.17-branch
Cherry-pick r231961. rdar://problem/40271131
JSC should have InstanceOf inline caching
https://bugs.webkit.org/show_bug.cgi?id=185652
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/instanceof-always-hit-one.js: Added.
- microbenchmarks/instanceof-always-hit-two.js: Added.
- microbenchmarks/instanceof-dynamic.js: Added.
- microbenchmarks/instanceof-sometimes-hit.js: Added.
- stress/instanceof-dynamic-proxy-check-structure.js: Added.
- stress/instanceof-dynamic-proxy-loop.js: Added.
- stress/instanceof-dynamic-proxy.js: Added.
- stress/instanceof-hit-one-object-then-another.js: Added.
- stress/instanceof-hit-two-objects-then-another.js: Added.
- stress/instanceof-prototype-change.js: Added.
- stress/instanceof-prototype-change-to-hit.js: Added.
- stress/instanceof-prototype-change-to-null.js: Added.
- stress/instanceof-prototype-change-watchpointable.js: Added.
Source/JavaScriptCore:
This adds a polymorphic inline cache for instanceof. It caches hits and misses. It uses the
existing PolymorphicAccess IC machinery along with all of its heuristics. If we ever generate
too many cases, we emit the generic instanceof implementation instead.
All of the JIT tiers use the same InstanceOf IC. It uses the existing JITInlineCacheGenerator
abstraction.
This is a ~40% speed-up on instanceof microbenchmarks. It's a *tiny* (~1%) speed-up on
Octane/boyer. I think I can make that speed-up bigger by inlining the inline cache.
- API/tests/testapi.mm: (testObjectiveCAPIMain):
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- b3/B3Effects.h: (JSC::B3::Effects::forReadOnlyCall):
- bytecode/AccessCase.cpp: (JSC::AccessCase::guardedByStructureCheck const): (JSC::AccessCase::canReplace const): (JSC::AccessCase::visitWeak const): (JSC::AccessCase::generateWithGuard): (JSC::AccessCase::generateImpl):
- bytecode/AccessCase.h:
- bytecode/InstanceOfAccessCase.cpp: Added. (JSC::InstanceOfAccessCase::create): (JSC::InstanceOfAccessCase::dumpImpl const): (JSC::InstanceOfAccessCase::clone const): (JSC::InstanceOfAccessCase::~InstanceOfAccessCase): (JSC::InstanceOfAccessCase::InstanceOfAccessCase):
- bytecode/InstanceOfAccessCase.h: Added. (JSC::InstanceOfAccessCase::prototype const):
- bytecode/ObjectPropertyCondition.h: (JSC::ObjectPropertyCondition::hasPrototypeWithoutBarrier): (JSC::ObjectPropertyCondition::hasPrototype):
- bytecode/ObjectPropertyConditionSet.cpp: (JSC::generateConditionsForInstanceOf):
- bytecode/ObjectPropertyConditionSet.h:
- bytecode/PolymorphicAccess.cpp: (JSC::PolymorphicAccess::addCases): (JSC::PolymorphicAccess::regenerate): (WTF::printInternal):
- bytecode/PropertyCondition.cpp: (JSC::PropertyCondition::dumpInContext const): (JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const): (JSC::PropertyCondition::validityRequiresImpurePropertyWatchpoint const): (WTF::printInternal):
- bytecode/PropertyCondition.h: (JSC::PropertyCondition::absenceWithoutBarrier): (JSC::PropertyCondition::absenceOfSetEffectWithoutBarrier): (JSC::PropertyCondition::hasPrototypeWithoutBarrier): (JSC::PropertyCondition::hasPrototype): (JSC::PropertyCondition::hasPrototype const): (JSC::PropertyCondition::prototype const): (JSC::PropertyCondition::hash const): (JSC::PropertyCondition::operator== const):
- bytecode/StructureStubInfo.cpp: (JSC::StructureStubInfo::StructureStubInfo): (JSC::StructureStubInfo::reset):
- bytecode/StructureStubInfo.h: (JSC::StructureStubInfo::considerCaching):
- dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGInlineCacheWrapper.h:
- dfg/DFGInlineCacheWrapperInlines.h: (JSC::DFG::InlineCacheWrapper<GeneratorType>::finalize):
- dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::link):
- dfg/DFGJITCompiler.h: (JSC::DFG::JITCompiler::addInstanceOf):
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::usedRegisters): (JSC::DFG::SpeculativeJIT::compileInstanceOfForCells): (JSC::DFG::SpeculativeJIT::compileInstanceOf): (JSC::DFG::SpeculativeJIT::compileInstanceOfForObject): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::cachedGetById): (JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty): (JSC::FTL::DFG::LowerDFGToB3::compilePutById): (JSC::FTL::DFG::LowerDFGToB3::compileNumberIsInteger): (JSC::FTL::DFG::LowerDFGToB3::compileIn): (JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf): (JSC::FTL::DFG::LowerDFGToB3::getById): (JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis):
- jit/ICStats.h:
- jit/JIT.cpp: (JSC::JIT::privateCompileSlowCases): (JSC::JIT::link):
- jit/JIT.h:
- jit/JITInlineCacheGenerator.cpp: (JSC::JITInlineCacheGenerator::JITInlineCacheGenerator): (JSC::JITInlineCacheGenerator::finalize): (JSC::JITByIdGenerator::JITByIdGenerator): (JSC::JITByIdGenerator::finalize): (JSC::JITInstanceOfGenerator::JITInstanceOfGenerator): (JSC::JITInstanceOfGenerator::generateFastPath): (JSC::JITInstanceOfGenerator::finalize):
- jit/JITInlineCacheGenerator.h: (JSC::JITInlineCacheGenerator::reportSlowPathCall): (JSC::JITInlineCacheGenerator::slowPathBegin const): (JSC::JITInstanceOfGenerator::JITInstanceOfGenerator): (JSC::finalizeInlineCaches): (JSC::JITByIdGenerator::reportSlowPathCall): Deleted. (JSC::JITByIdGenerator::slowPathBegin const): Deleted.
- jit/JITOpcodes.cpp: (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp: (JSC::JIT::privateCompileGetByValWithCachedId): (JSC::JIT::privateCompilePutByValWithCachedId):
- jit/RegisterSet.cpp: (JSC::RegisterSet::stubUnavailableRegisters):
- jit/Repatch.cpp: (JSC::tryCacheIn): (JSC::tryCacheInstanceOf): (JSC::repatchInstanceOf): (JSC::resetPatchableJump): (JSC::resetIn): (JSC::resetInstanceOf):
- jit/Repatch.h:
- runtime/Options.h:
- runtime/Structure.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231961 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:56 PM Changeset in webkit [231985] by
-
- 21 edits in branches/safari-606.1.17-branch/Source/JavaScriptCore
Cherry-pick r231905. rdar://problem/40271131
[JSC] Use AssemblyHelpers' type checking functions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=185730
Reviewed by Saam Barati.
Let's use AssemblyHelpers' type checking functions as much as possible. This hides the complex
bit and register operations for type tagging of JSValue. It is really useful when we would like
to tweak type tagging representation since the code is collected into AssemblyHelpers. And
the named function is more readable than some branching operations.
We also remove unnecessary branching functions in JIT / JSInterfaceJIT. Some of them are duplicate
to AssemblyHelpers' one.
We add several new type checking functions to AssemblyHelpers. Moreover, we add branchIfXXX(GPRReg)
functions even for 32bit environment. In 32bit environment, this function takes tag register. This
semantics is aligned to the existing branchIfCell / branchIfNotCell.
- bytecode/AccessCase.cpp: (JSC::AccessCase::generateWithGuard):
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileValueToInt32): (JSC::DFG::SpeculativeJIT::compileDoubleRep): (JSC::DFG::SpeculativeJIT::compileInstanceOfForObject): (JSC::DFG::SpeculativeJIT::compileSpread): (JSC::DFG::SpeculativeJIT::speculateCellTypeWithoutTypeFiltering): (JSC::DFG::SpeculativeJIT::speculateCellType): (JSC::DFG::SpeculativeJIT::speculateNumber): (JSC::DFG::SpeculativeJIT::speculateMisc): (JSC::DFG::SpeculativeJIT::compileExtractValueFromWeakMapGet): (JSC::DFG::SpeculativeJIT::compileCreateThis): (JSC::DFG::SpeculativeJIT::compileGetPrototypeOf): (JSC::DFG::SpeculativeJIT::compileHasIndexedProperty):
- dfg/DFGSpeculativeJIT32_64.cpp: (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): (JSC::DFG::SpeculativeJIT::fillSpeculateBoolean): (JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq): (JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq): (JSC::DFG::SpeculativeJIT::emitCall): (JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal): (JSC::DFG::SpeculativeJIT::compile): (JSC::DFG::SpeculativeJIT::convertAnyInt):
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty):
- jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::branchIfInt32): (JSC::AssemblyHelpers::branchIfNotInt32): (JSC::AssemblyHelpers::branchIfNumber): (JSC::AssemblyHelpers::branchIfNotNumber): (JSC::AssemblyHelpers::branchIfBoolean): (JSC::AssemblyHelpers::branchIfNotBoolean): (JSC::AssemblyHelpers::branchIfEmpty): (JSC::AssemblyHelpers::branchIfNotEmpty): (JSC::AssemblyHelpers::branchIfUndefined): (JSC::AssemblyHelpers::branchIfNotUndefined): (JSC::AssemblyHelpers::branchIfNull): (JSC::AssemblyHelpers::branchIfNotNull):
- jit/JIT.h:
- jit/JITArithmetic.cpp: (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_compareAndJumpSlow):
- jit/JITArithmetic32_64.cpp: (JSC::JIT::emit_compareAndJump): (JSC::JIT::emit_op_unsigned): (JSC::JIT::emit_op_inc): (JSC::JIT::emit_op_dec): (JSC::JIT::emitBinaryDoubleOp): (JSC::JIT::emit_op_mod):
- jit/JITCall.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileOpCall):
- jit/JITCall32_64.cpp: (JSC::JIT::compileCallEval): (JSC::JIT::compileOpCall):
- jit/JITInlines.h: (JSC::JIT::emitJumpSlowCaseIfNotJSCell): (JSC::JIT::emitJumpIfBothJSCells): (JSC::JIT::emitJumpSlowCaseIfJSCell): (JSC::JIT::emitJumpIfNotInt): (JSC::JIT::emitJumpSlowCaseIfNotInt): (JSC::JIT::emitJumpSlowCaseIfNotNumber): (JSC::JIT::emitJumpIfCellObject): Deleted. (JSC::JIT::emitJumpIfCellNotObject): Deleted. (JSC::JIT::emitJumpIfJSCell): Deleted. (JSC::JIT::emitJumpIfInt): Deleted.
- jit/JITOpcodes.cpp: (JSC::JIT::emit_op_instanceof): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::compileOpStrictEq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emitNewFuncExprCommon): (JSC::JIT::emit_op_profile_type):
- jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_instanceof): (JSC::JIT::emit_op_is_undefined): (JSC::JIT::emit_op_is_cell_with_type): (JSC::JIT::emit_op_is_object): (JSC::JIT::emit_op_to_primitive): (JSC::JIT::emit_op_not): (JSC::JIT::emit_op_jeq_null): (JSC::JIT::emit_op_jneq_null): (JSC::JIT::emit_op_jneq_ptr): (JSC::JIT::emit_op_eq): (JSC::JIT::emit_op_jeq): (JSC::JIT::emit_op_neq): (JSC::JIT::emit_op_jneq): (JSC::JIT::compileOpStrictEq): (JSC::JIT::compileOpStrictEqJump): (JSC::JIT::emit_op_eq_null): (JSC::JIT::emit_op_neq_null): (JSC::JIT::emit_op_to_number): (JSC::JIT::emit_op_to_string): (JSC::JIT::emit_op_to_object): (JSC::JIT::emit_op_create_this): (JSC::JIT::emit_op_to_this): (JSC::JIT::emit_op_check_tdz): (JSC::JIT::emit_op_profile_type):
- jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope): (JSC::JIT::emitWriteBarrier): (JSC::JIT::emitIntTypedArrayPutByVal): (JSC::JIT::emitFloatTypedArrayPutByVal):
- jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_get_by_val): (JSC::JIT::emitContiguousLoad): (JSC::JIT::emitArrayStorageLoad): (JSC::JIT::emitGetByValWithCachedId): (JSC::JIT::emitGenericContiguousPutByVal): (JSC::JIT::emitPutByValWithCachedId): (JSC::JIT::emit_op_get_from_scope): (JSC::JIT::emit_op_put_to_scope):
- jit/JSInterfaceJIT.h: (JSC::JSInterfaceJIT::emitLoadJSCell): (JSC::JSInterfaceJIT::emitLoadInt32): (JSC::JSInterfaceJIT::emitLoadDouble): (JSC::JSInterfaceJIT::emitJumpIfNumber): Deleted. (JSC::JSInterfaceJIT::emitJumpIfNotNumber): Deleted. (JSC::JSInterfaceJIT::emitJumpIfNotType): Deleted.
- jit/Repatch.cpp: (JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp: (JSC::virtualThunkFor): (JSC::absThunkGenerator):
- tools/JSDollarVM.cpp: (WTF::DOMJITNode::checkSubClassSnippet): (WTF::DOMJITFunctionObject::checkSubClassSnippet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231905 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:28 PM Changeset in webkit [231984] by
-
- 2 edits in trunk/Source/WebKit
WebProcess fails to launch
https://bugs.webkit.org/show_bug.cgi?id=185140
Reviewed by Geoffrey Garen.
If the NSApplication runloop is not used in the WebContent process, launchServicesCheckIn() needs to be called
in order for enableSandboxStyleFileQuarantine() to succeed. Determine at runtime if launchServicesCheckIn()
should be called by checking if the NSApplication event loop is running.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeProcess):
- 2:46 PM Changeset in webkit [231983] by
-
- 3 edits1 add in trunk
Add missing exception check.
https://bugs.webkit.org/show_bug.cgi?id=185786
<rdar://problem/35686560>
Reviewed by Michael Saboff.
JSTests:
- stress/regress-185786.js: Added.
Source/JavaScriptCore:
- runtime/JSPropertyNameEnumerator.h:
(JSC::propertyNameEnumerator):
- 2:29 PM Changeset in webkit [231982] by
-
- 14 edits in trunk
Complete fix for enabling modern EME by default
https://bugs.webkit.org/show_bug.cgi?id=185770
<rdar://problem/40368220>
Reviewed by Eric Carlson.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
- platform/mac-wk1/fast/dom/navigator-detached-no-crash-expected.txt:
- 2:05 PM Changeset in webkit [231981] by
-
- 6 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: put
hasVisualEffect
behind an experimental setting
https://bugs.webkit.org/show_bug.cgi?id=185758
Reviewed by Matt Baker.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Models/RecordingAction.js:
(WI.RecordingAction.prototype.process):
- UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement.prototype.onattach):
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- 1:20 PM Changeset in webkit [231980] by
-
- 11 edits in trunk/Source
Convert ProcessPrivilege assertions to regular debug-only assertions
https://bugs.webkit.org/show_bug.cgi?id=185775
<rdar://problem/40372286>
Reviewed by Geoffrey Garen.
In Bug 184322 I added a number of RELEASE_ASSERT checks that certain
UI-only calls were not being made in the WebContent process.
Measurements have shown that these RELEASE_ASSERTs have regressed performance
by around 1% on some benchmarks, so we should convert them to normal asserts.
This patch changes the RELEASE_ASSERTs into ASSERTs.
Source/WebCore:
- platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::setDragImage):
- platform/mac/PlatformScreenMac.mm:
(WebCore::displayID):
(WebCore::firstScreen):
(WebCore::window):
(WebCore::screen):
(WebCore::getScreenProperties):
(WebCore::screenIsMonochrome):
Source/WebKit:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::pluginFocusOrWindowFocusChanged):
(WebKit::WebViewImpl::validateUserInterfaceItem):
(WebKit::WebViewImpl::startSpeaking):
(WebKit::WebViewImpl::stopSpeaking):
(WebKit::applicationFlagsForDrag):
(WebKit::WebViewImpl::doneWithKeyEvent):
- UIProcess/Gamepad/mac/UIGamepadProviderMac.mm:
(WebKit::UIGamepadProvider::platformWebPageProxyForGamepadInput):
- UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
(WebKit::PluginProcessProxy::enterFullscreen):
(WebKit::PluginProcessProxy::beginModal):
(WebKit::PluginProcessProxy::endModal):
- UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
(WebKit::DisplayLink::~DisplayLink):
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::getIsSpeaking):
(WebKit::WebPageProxy::speak):
(WebKit::WebPageProxy::stopSpeaking):
(WebKit::WebPageProxy::startDisplayLink):
- UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu):
- 1:13 PM Changeset in webkit [231979] by
-
- 13 edits1 add in trunk
Handle failure to extend sandbox gracefully
https://bugs.webkit.org/show_bug.cgi?id=185779
<rdar://problem/40316349>
Reviewed by Brent Fulgham.
Source/WebCore:
Test: TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::deny): Include the error string in the promise rejection.
- Modules/mediastream/UserMediaRequest.h:
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _denyNextUserMediaRequest]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasGranted): Don't append
the request to m_grantedRequests if it failed.
(WebKit::UserMediaPermissionRequestManagerProxy::grantAccess): Deny request if willCreateMediaStream
fails.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::willCreateMediaStream): Don't try to extend sandbox if
we fail to allocate all necessary handles.
- UIProcess/UserMediaProcessManager.h:
(WebKit::UserMediaProcessManager::denyNextUserMediaRequest): New, for testing.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm: Added.
(-[SimulateFailedSandboxMessageHandler userContentController:didReceiveScriptMessage:]):
(-[SimulateFailedSandboxUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(-[SimulateFailedSandboxUIDelegate _webView:checkUserMediaPermissionForURL:mainFrameURL:frameIdentifier:decisionHandler:]):
(MediaCaptureSimulateFailedSandbox::SetUp):
(MediaCaptureSimulateFailedSandbox::loadTestAndWaitForMessage):
(TEST_F):
- TestWebKitAPI/Tests/WebKitCocoa/disableGetUserMedia.html:
- 12:33 PM Changeset in webkit [231978] by
-
- 2 edits in trunk/Tools
"debug-safari --ios-simulator" creates lldb target to launch Mac Safari
https://bugs.webkit.org/show_bug.cgi?id=185774
Reviewed by Andy Estes.
For now, the script debug-safari is not supported for WebKit for iOS. To
fix this we differentiate between the Apple Mac port and Apple embedded
ports.
- Scripts/webkitdirs.pm:
(safariPath): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
(isAppleMacWebKit): Added.
(isAppleCocoaWebKit): Write in terms of isAppleMacWebKit() and isEmbeddedWebKit().
(launcherName): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
(mobileSafariBundle): Substitute isIOSWebKit() for isAppleCocoaWebKit().
(debugSafari): Substitute isAppleMacWebKit() for isAppleCocoaWebKit().
(runSafari): Ditto.
(runMiniBrowser): Ditto.
(debugMiniBrowser): Ditto.
(runWebKitTestRunner): Ditto.
(debugWebKitTestRunner): Ditto.
- 12:01 PM Changeset in webkit [231977] by
-
- 249 edits8 adds in trunk
[Web Animations] Turn Web Animations with CSS integration on for test runners
https://bugs.webkit.org/show_bug.cgi?id=184819
<rdar://problem/39597337>
Unreviewed. Rolling out the patch for this bug, it caused some flaky timeouts for animation suspension tests.
LayoutTests/imported/mozilla:
- css-animations/test_animation-cancel.html:
- css-animations/test_animation-computed-timing.html:
- css-animations/test_animation-currenttime.html:
- css-animations/test_animation-finish.html:
- css-animations/test_animation-finished.html:
- css-animations/test_animation-id.html:
- css-animations/test_animation-pausing.html:
- css-animations/test_animation-playstate.html:
- css-animations/test_animation-ready.html:
- css-animations/test_animation-reverse.html:
- css-animations/test_animation-starttime.html:
- css-animations/test_animations-dynamic-changes.html:
- css-animations/test_cssanimation-animationname.html:
- css-animations/test_document-get-animations.html:
- css-animations/test_effect-target.html:
- css-animations/test_element-get-animations.html:
- css-animations/test_event-dispatch.html:
- css-animations/test_event-order.html:
- css-animations/test_keyframeeffect-getkeyframes.html:
- css-animations/test_pseudoElement-get-animations.html:
- css-animations/test_setting-effect.html:
- css-transitions/test_animation-cancel.html:
- css-transitions/test_animation-computed-timing.html:
- css-transitions/test_animation-currenttime.html:
- css-transitions/test_animation-finished.html:
- css-transitions/test_animation-pausing.html:
- css-transitions/test_animation-ready.html:
- css-transitions/test_animation-starttime.html:
- css-transitions/test_csstransition-transitionproperty.html:
- css-transitions/test_document-get-animations.html:
- css-transitions/test_effect-target.html:
- css-transitions/test_element-get-animations.html:
- css-transitions/test_event-dispatch.html:
- css-transitions/test_keyframeeffect-getkeyframes.html:
- css-transitions/test_pseudoElement-get-animations.html:
- css-transitions/test_setting-effect.html:
LayoutTests/imported/w3c:
- web-platform-tests/css-timing-1/frames-timing-functions-output.html:
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/ready.html:
- web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html:
- web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html:
Source/WebCore:
Tests: animations/animation-internals-api-multiple-keyframes.html
animations/animation-internals-api.html
transitions/transition-drt-api-delay.html
transitions/transition-drt-api.html
- dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::clearHostElement):
- page/FrameView.cpp:
(WebCore::FrameView::didDestroyRenderTree):
- page/RuntimeEnabledFeatures.h:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderers):
Source/WebKit:
- Shared/WebPreferences.yaml:
Tools:
- DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
(shouldOverrideAndDisableWebAnimationsCSSIntegrationPreference): Deleted.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::TestOptions):
(WTR::isLegacyAnimationEngineTestPath): Deleted.
- WebKitTestRunner/TestOptions.h:
LayoutTests:
- TestExpectations:
- animations/3d/matrix-transform-type-animation.html:
- animations/3d/replace-filling-transform.html:
- animations/3d/transform-origin-vs-functions.html:
- animations/3d/transform-perspective.html:
- animations/additive-transform-animations.html:
- animations/animation-border-overflow.html:
- animations/animation-callback-timestamp.html:
- animations/animation-controller-drt-api.html:
- animations/animation-direction-alternate-reverse-expected.txt:
- animations/animation-direction-alternate-reverse.html:
- animations/animation-direction-reverse-fill-mode-hardware.html:
- animations/animation-direction-reverse-hardware-opacity.html:
- animations/animation-direction-reverse-hardware.html:
- animations/animation-direction-reverse-non-hardware.html:
- animations/animation-direction-reverse-timing-functions-hardware.html:
- animations/animation-direction-reverse-timing-functions.html:
- animations/animation-direction.html:
- animations/animation-followed-by-transition.html:
- animations/animation-hit-test-transform.html:
- animations/animation-hit-test.html:
- animations/animation-internals-api-expected.txt: Added.
- animations/animation-internals-api-multiple-keyframes-expected.txt: Added.
- animations/animation-internals-api-multiple-keyframes.html: Added.
- animations/animation-internals-api.html: Added.
- animations/animation-offscreen-to-onscreen.html:
- animations/big-rotation-expected.txt:
- animations/big-rotation.html:
- animations/change-completed-animation-transform.html:
- animations/change-keyframes.html:
- animations/combo-transform-rotate+scale.html:
- animations/cross-fade-background-image.html:
- animations/cross-fade-border-image-source.html:
- animations/cross-fade-list-style-image.html:
- animations/cross-fade-webkit-mask-box-image.html:
- animations/duplicate-keys-expected.html:
- animations/duplicate-keys.html:
- animations/duplicated-keyframes-name.html:
- animations/fill-forwards-end-state.html:
- animations/fill-mode-forwards-zero-duration-expected.txt:
- animations/fill-mode-forwards-zero-duration.html:
- animations/font-variations/font-stretch.html:
- animations/font-variations/font-style.html:
- animations/font-variations/font-variation-settings-order.html:
- animations/font-variations/font-variation-settings-unlike.html:
- animations/font-variations/font-variation-settings.html:
- animations/font-variations/font-weight.html:
- animations/generic-from-to.html:
- animations/import.html:
- animations/keyframe-multiple-timing-functions-transform.html:
- animations/keyframe-timing-functions-transform.html:
- animations/keyframe-timing-functions.html:
- animations/keyframe-timing-functions2.html:
- animations/keyframes-comma-separated.html:
- animations/keyframes-dynamic.html:
- animations/keyframes-infinite-iterations.html:
- animations/keyframes-invalid-keys.html:
- animations/keyframes-out-of-order.html:
- animations/keyframes.html:
- animations/lineheight-animation.html:
- animations/longhand-timing-function.html:
- animations/matrix-anim.html:
- animations/missing-from-to-transforms.html:
- animations/missing-from-to.html:
- animations/missing-keyframe-properties-repeating.html:
- animations/missing-keyframe-properties-timing-function.html:
- animations/missing-keyframe-properties.html:
- animations/missing-values-first-keyframe.html:
- animations/missing-values-last-keyframe.html:
- animations/multiple-animations-timing-function.html:
- animations/multiple-animations.html:
- animations/multiple-keyframes.html:
- animations/negative-delay.html:
- animations/pause-crash.html:
- animations/play-state-start-paused.html:
- animations/simultaneous-start-left.html:
- animations/simultaneous-start-transform.html:
- animations/spring-function.html:
- animations/stacking-context-unchanged-while-running.html:
- animations/timing-functions.html:
- animations/transition-and-animation-1.html:
- animations/transition-and-animation-2.html:
- animations/transition-and-animation-3.html:
- animations/unanimated-style.html:
- animations/unprefixed-keyframes.html:
- animations/width-using-ems.html:
- compositing/animation/animated-composited-inside-hidden.html:
- compositing/animation/computed-style-during-delay.html:
- compositing/animation/layer-for-filling-animation.html:
- compositing/backing/backface-visibility-flip.html:
- compositing/contents-scale/animating.html:
- compositing/layer-creation/animation-overlap-with-children.html:
- compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html:
- compositing/layer-creation/multiple-keyframes-animation-overlap.html:
- compositing/layer-creation/overlap-animation-clipping.html:
- compositing/layer-creation/overlap-animation-container.html:
- compositing/layer-creation/overlap-animation.html:
- compositing/layer-creation/scale-rotation-animation-overlap.html:
- compositing/layer-creation/translate-animation-overlap.html:
- compositing/layer-creation/translate-scale-animation-overlap.html:
- compositing/overflow/overflow-positioning.html:
- compositing/reflections/animation-inside-reflection.html:
- compositing/reflections/nested-reflection-animated.html:
- compositing/reflections/nested-reflection-transition.html:
- compositing/transitions/scale-transition-no-start.html:
- compositing/transitions/singular-scale-transition.html:
- compositing/visible-rect/animated.html:
- css3/calc/transitions-dependent.html:
- css3/calc/transitions.html:
- css3/filters/backdrop/animation.html:
- css3/filters/composited-during-animation.html:
- css3/filters/filter-animation-from-none-hw.html:
- css3/filters/filter-animation-from-none-multi-hw.html:
- css3/filters/filter-animation-from-none-multi.html:
- css3/filters/filter-animation-from-none.html:
- css3/filters/filter-animation-hw.html:
- css3/filters/filter-animation-multi-hw.html:
- css3/filters/filter-animation-multi.html:
- css3/filters/filter-animation.html:
- css3/masking/clip-path-animation.html:
- fast/animation/css-animation-resuming-when-visible-with-style-change.html:
- fast/animation/css-animation-resuming-when-visible.html:
- fast/animation/css-animation-throttling-lowPowerMode.html:
- fast/css-generated-content/pseudo-animation.html:
- fast/css-generated-content/pseudo-transition.html:
- fast/filter-image/filter-image-animation.html:
- fast/shapes/shape-outside-floats/shape-outside-animation.html:
- fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
- fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
- imported/blink/transitions/unprefixed-transform.html:
- platform/ios/TestExpectations:
- platform/win/TestExpectations:
- transitions/background-position-transitions.html:
- transitions/background-transitions.html:
- transitions/blendmode-transitions.html:
- transitions/border-radius-transition.html:
- transitions/clip-path-path-transitions.html:
- transitions/clip-path-transitions.html:
- transitions/clip-transition.html:
- transitions/color-transition-all.html:
- transitions/color-transition-premultiplied.html:
- transitions/color-transition-rounding.html:
- transitions/cross-fade-background-image.html:
- transitions/cross-fade-border-image.html:
- transitions/cubic-bezier-overflow-color.html:
- transitions/cubic-bezier-overflow-length.html:
- transitions/cubic-bezier-overflow-shadow.html:
- transitions/cubic-bezier-overflow-svg-length.html:
- transitions/cubic-bezier-overflow-transform.html:
- transitions/default-timing-function.html:
- transitions/delay.html:
- transitions/flex-transitions.html:
- transitions/font-family-during-transition.html:
- transitions/frames-timing-function.html:
- transitions/interrupted-all-transition.html:
- transitions/longhand-vs-shorthand-initial.html:
- transitions/mask-transitions.html:
- transitions/min-max-width-height-transitions.html:
- transitions/mismatched-shadow-styles.html:
- transitions/mismatched-shadow-transitions.html:
- transitions/mixed-type.html:
- transitions/move-after-transition.html:
- transitions/multiple-background-size-transitions.html:
- transitions/multiple-background-transitions.html:
- transitions/multiple-mask-transitions.html:
- transitions/multiple-shadow-transitions.html:
- transitions/negative-delay.html:
- transitions/opacity-transition-zindex.html:
- transitions/remove-transition-style.html:
- transitions/shape-outside-transitions.html:
- transitions/shorthand-border-transitions.html:
- transitions/shorthand-transitions.html:
- transitions/steps-timing-function.html:
- transitions/svg-layout-transition.html:
- transitions/svg-text-shadow-transition.html:
- transitions/svg-transitions.html:
- transitions/text-indent-transition.html:
- transitions/transform-op-list-match.html:
- transitions/transform-op-list-no-match.html:
- transitions/transition-drt-api-delay-expected.txt: Added.
- transitions/transition-drt-api-delay.html: Added.
- transitions/transition-drt-api-expected.txt: Added.
- transitions/transition-drt-api.html: Added.
- transitions/transition-end-event-rendering.html:
- transitions/transition-hit-test-transform.html:
- transitions/transition-hit-test.html:
- transitions/transition-in-delay-phase.html:
- transitions/transition-on-element-with-content.html:
- transitions/transition-shorthand-delay.html:
- transitions/transition-timing-function.html:
- transitions/transition-to-from-auto.html:
- transitions/transition-to-from-undefined.html:
- transitions/visited-link-color.html:
- transitions/zero-duration-in-list.html:
- transitions/zero-duration-with-non-zero-delay-end.html:
- transitions/zero-duration-with-non-zero-delay-start.html:
- webanimations/css-animations.html:
- webanimations/css-transitions.html:
- 11:55 AM Changeset in webkit [231976] by
-
- 4 edits in trunk/Source/JavaScriptCore
Unreviewed, fix exception checking, part 2
https://bugs.webkit.org/show_bug.cgi?id=185350
- dfg/DFGOperations.cpp:
(JSC::DFG::putByValInternal):
- jit/JITOperations.cpp:
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::putDirectAccessorWithReify):
- 11:45 AM Changeset in webkit [231975] by
-
- 1 copy in releases/WPE WebKit/webkit-2.20.0
WPE WebKit 2.20.0
- 11:42 AM Changeset in webkit [231974] by
-
- 4 edits in releases/WebKitGTK/webkit-2.20
Unreviewed. Update OptionsWPE.cmake and NEWS for 2.20.0 release.
- 11:42 AM Changeset in webkit [231973] by
-
- 9 edits in releases/WebKitGTK/webkit-2.20
Merged r231843 - [CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsJSCOnly.cmake:
- Source/cmake/OptionsWPE.cmake:
Enable THREADS_PREFER_PTHREAD_FLAG. This uses -pthread instead of
-lpthread, fixing the 64-bit RISC-V build of the GTK+ port due to
missing atomic primitives.
- Source/cmake/WebKitCompilerFlags.cmake:
Move the test to detect whether we need to link against libatomic
to a common CMake file so it can be used from both JavaScriptCore
and WebKit.
Source/JavaScriptCore:
We were linking JavaScriptCore against libatomic in MIPS because
in that architecture atomic_fetch_add_8() is not a compiler
intrinsic and is provided by that library instead. However other
architectures (e.g armel) are in the same situation, so we need a
generic test.
That test already exists in WebKit/CMakeLists.txt, so we just have
to move it to a common file (WebKitCompilerFlags.cmake) and use
its result (ATOMIC_INT64_REQUIRES_LIBATOMIC) here.
- CMakeLists.txt:
Source/WebKit:
Move the test to determine whether we need to link against
libatomic to the common file WebKitCompilerFlags.cmake so it can
also be used for JavaScriptCore.
- CMakeLists.txt:
- 11:42 AM Changeset in webkit [231972] by
-
- 2 edits1 delete in releases/WebKitGTK/webkit-2.20/Source/WTF
Merged r230254 - [WTF] Remove Atomics.cpp
https://bugs.webkit.org/show_bug.cgi?id=184300
Reviewed by Konstantin Tokarev.
This Atomics.cpp is a workaround for GCC which version is < 4.8.
Our compiler requirement is now 5.0.0. This workaround is no
longer necessary.
- wtf/Atomics.cpp: Removed.
- wtf/CMakeLists.txt:
- 11:42 AM Changeset in webkit [231971] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merged r231801 - [WPE] Build failure with RPi userland drivers and gstreamer-gl
https://bugs.webkit.org/show_bug.cgi?id=185639
Reviewed by Philippe Normand.
When building for the RPi with userland drivers (dispmanx) override the
value of GST_GL_HAVE_GLSYNC to 1 to avoid that the gstreamer-gl headers
try to redefine the GLsync type that is already defined in libepoxy.
Defining gl2_h_ is also needed to avoid other conflicting type
definitions that happen between libepoxy and RPi GLES2 userland
headers when the gstreamer-gl headers are included.
The issue doesn't happen with 1.14.0, so a check for that is added
as well.
No new tests, no behavior change. It is a build fix.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
- 11:42 AM Changeset in webkit [231970] by
-
- 2 edits in releases/WebKitGTK/webkit-2.20/Source/WebCore
Merged r231804 - Add missing header to fix build.
https://bugs.webkit.org/show_bug.cgi?id=185378
Patch by Thomas Klausner <tk@giga.or.at> on 2018-05-15
Reviewed by Michael Catanzaro.
- platform/network/soup/SoupNetworkSession.h:
- 11:42 AM Changeset in webkit [231969] by
-
- 10 edits2 adds in releases/WebKitGTK/webkit-2.20
Merge r231917 - [WPE] Implement and enable FULLSCREEN_API
https://bugs.webkit.org/show_bug.cgi?id=185676
Reviewed by Žan Doberšek.
.:
Remove the CMake option to disable this option for WPE.
This feature gets enabled now via Source/cmake/WebKitFeatures.cmake
- Source/cmake/OptionsWPE.cmake:
Source/WebKit:
Do the initial implementation of FULLSCREEN_API for WPE and
enable the CMake option by default.
Most of the layout tests (55 of 58) are passing and the feature
seems to work fine on different websites that use it.
- UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
- UIProcess/API/wpe/PageClientImpl.h:
- UIProcess/API/wpe/WPEView.h:
(WKWPE::View::isFullScreen):
(WKWPE::View::setFullScreen):
Tools:
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewFullScreen):
LayoutTests:
Enable all the 58 fullscreen related tests.
Are all passing but 3.
- platform/wpe/TestExpectations:
- platform/wpe/fullscreen/full-screen-placeholder-expected.txt: Added. Copied baseline from WebKitGTK+ port.
- 11:28 AM Changeset in webkit [231968] by
-
- 5 edits in trunk
[Curl] Bug fix on suspend/resume behavior.
https://bugs.webkit.org/show_bug.cgi?id=183089
The flag was not set correctly. Also wrong method was called.
Patch by Basuke Suzuki <Basuke Suzuki> on 2018-05-18
Reviewed by Youenn Fablet.
Source/WebCore:
Enable loader tests to cover this case.
- platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::cancel): Remove unnecessary cleanup. Use runXXX method.
(WebCore::CurlRequest::suspend): Added cancel check.
(WebCore::CurlRequest::resume): Ditto.
(WebCore::CurlRequest::callClient): Use runXXX method. Change to move semantics.
(WebCore::runOnMainThread): Added.
(WebCore::CurlRequest::runOnWorkerThreadIfRequired): Added.
(WebCore::CurlRequest::setupTransfer): Bug fix. Call setRequestPaused directly.
(WebCore::CurlRequest::didReceiveData): Add state flag update.
(WebCore::CurlRequest::invokeDidReceiveResponseForFile): Use runXXX to simplify.
(WebCore::CurlRequest::completeDidReceiveResponse): Ditto.
(WebCore::CurlRequest::setRequestPaused): Protect state change by mutex.
(WebCore::CurlRequest::setCallbackPaused): Ditto.
(WebCore::CurlRequest::invokeCancel): Added.
(WebCore::CurlRequest::pausedStatusChanged): Use runXXX to simplify.
(WebCore::CurlRequest::updateHandlePauseState): Accessor for m_isHandlePaused.
(WebCore::CurlRequest::isHandlePaused const): Ditto.
- platform/network/curl/CurlRequest.h: Add mutex and paused state.
(WebCore::CurlRequest::shouldBePaused const): Rename from isPaused.
(WebCore::CurlRequest::isPaused const): Deleted.
LayoutTests:
- platform/wincairo/TestExpectations: Enable loader/ tests for WinCairo.
- 11:23 AM Changeset in webkit [231967] by
-
- 3 edits2 adds in trunk
[Extra zoom mode] Clearing text fields should dispatch input events of type "deleteContent"
https://bugs.webkit.org/show_bug.cgi?id=185769
<rdar://problem/40368261>
Reviewed by Tim Horton.
Source/WebKit:
When setting the text of the currently focused element to the empty string, just delete the text instead of
pretending to insert an empty string. This mimics deleting content using the delete key on macOS, and fires an
input event with inputType "deleteContent" instead of "insertText".
Test: fast/forms/extrazoom/delete-content-in-text-field.html
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setTextAsync):
LayoutTests:
Adds a new test to inspect the input events dispatched as a result of inserting and deleting text in a form
control. The inputTypes should be "insertText" and "deleteContent", respectively; the data values should be the
inserted string and null, respectively.
- fast/forms/extrazoom/delete-content-in-text-field-expected.txt: Added.
- fast/forms/extrazoom/delete-content-in-text-field.html: Added.
- 11:17 AM Changeset in webkit [231966] by
-
- 13 edits in trunk/Source/WebKit
Renamed "trackNetworkActivity" to "tracksResourceLoadMilestones"
https://bugs.webkit.org/show_bug.cgi?id=185523
<rdar://problem/40136361>
Reviewed by Geoffrey Garen.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::networkActivityTrackingEnabled):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::tracksResourceLoadMilestones const):
(WebKit::NetworkProcess::trackNetworkActivity const): Deleted.
- NetworkProcess/NetworkProcessCreationParameters.cpp:
(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- UIProcess/API/APIProcessPoolConfiguration.cpp:
(API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/C/WKContextConfigurationRef.cpp:
(WKContextConfigurationTracksResourceLoadMilestones):
(WKContextConfigurationSetTracksResourceLoadMilestones):
(WKContextConfigurationTrackNetworkActivity): Deleted.
(WKContextConfigurationSetTrackNetworkActivity): Deleted.
- UIProcess/API/C/WKContextConfigurationRef.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
(-[_WKProcessPoolConfiguration tracksResourceLoadMilestones]):
(-[_WKProcessPoolConfiguration setTracksResourceLoadMilestones:]):
(-[_WKProcessPoolConfiguration trackNetworkActivity]): Deleted.
(-[_WKProcessPoolConfiguration setTrackNetworkActivity:]): Deleted.
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
- 11:08 AM WebKitGTK/2.20.x edited by
- (diff)
- 11:04 AM WebKitGTK/2.20.x edited by
- (diff)
- 11:02 AM WebKitGTK/2.20.x edited by
- (diff)
- 11:01 AM WebKitGTK/2.20.x edited by
- (diff)
- 10:58 AM Changeset in webkit [231965] by
-
- 2 edits in trunk/LayoutTests
Layout Test http/wpt/service-workers/header-filtering.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184469
<rdar://problem/39428226>
Unreviewed.
- platform/mac-wk2/TestExpectations: Removed flaky expectation that was added back inadvertently.
- 10:47 AM WebKitGTK/2.20.x edited by
- (diff)
- 10:36 AM Changeset in webkit [231964] by
-
- 3 edits in trunk/Tools
[Win][MiniBrowser] Create MainWindow even in transparent mode
https://bugs.webkit.org/show_bug.cgi?id=185597
Reviewed by Per Arne Vollan.
The current implementations doesn't create the MainWindow in
transparent mode. The screenshot is in Bug 58300.
There were three problems:
- Can't control the WebView. ie. going backward and forward.
- Can't quit the program.
- It makes implementation complicated.
- MiniBrowser/win/Common.cpp (resizeSubViews): Resize sub views
even in the transparent mode.
- MiniBrowser/win/WinMain.cpp:
(wWinMain): Create the main window even in the transparent mode.
- 10:34 AM Changeset in webkit [231963] by
-
- 16 edits in trunk/Source
Avoid keeping the frame alive when ref'ing a WindowProxy
https://bugs.webkit.org/show_bug.cgi?id=185737
<rdar://problem/40004666>
Reviewed by Sam Weinig.
Source/WebCore:
Avoid keeping the frame alive when ref'ing a WindowProxy by making WindowProxy
manage its own refcount (instead of proxying refcounting to the Frame). As a
result, a WindowProxy can now be detached from its Frame. When detached, it
return null when asked for a JSWindowProxy.
It is important to not extend the lifetime of the Frame because we want script
to stop running when the Page gets destroyed.
- bindings/js/JSWindowProxy.cpp:
(WebCore::toJS):
(WebCore::toJSWindowProxy):
- bindings/js/JSWindowProxy.h:
(WebCore::toJSWindowProxy):
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::loadModuleScriptInWorld):
(WebCore::ScriptController::linkAndEvaluateModuleScriptInWorld):
(WebCore::ScriptController::evaluateModule):
(WebCore::ScriptController::setupModuleScriptHandlers):
(WebCore::ScriptController::jsWindowProxy):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::executeIfJavaScriptURL):
- bindings/js/ScriptController.h:
(WebCore::ScriptController::globalObject):
- bindings/js/ScriptControllerMac.mm:
(WebCore::ScriptController::windowScriptObject):
- bindings/js/ScriptState.cpp:
(WebCore::mainWorldExecState):
- bindings/js/WindowProxy.cpp:
(WebCore::WindowProxy::WindowProxy):
(WebCore::WindowProxy::~WindowProxy):
(WebCore::WindowProxy::detachFromFrame):
(WebCore::WindowProxy::createJSWindowProxy):
(WebCore::WindowProxy::globalObject):
(WebCore::WindowProxy::createJSWindowProxyWithInitializedScript):
(WebCore::WindowProxy::setDOMWindow):
(WebCore::WindowProxy::window const):
(WebCore::WindowProxy::ref): Deleted.
(WebCore::WindowProxy::deref): Deleted.
- bindings/js/WindowProxy.h:
(WebCore::WindowProxy::create):
(WebCore::WindowProxy::frame const):
(WebCore::WindowProxy::jsWindowProxy):
- dom/DocumentTouch.cpp:
(WebCore::DocumentTouch::createTouch):
- page/AbstractFrame.cpp:
(WebCore::AbstractFrame::AbstractFrame):
(WebCore::AbstractFrame::~AbstractFrame):
- page/AbstractFrame.h:
Source/WebKit:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowScriptNPObject):
Source/WebKitLegacy/mac:
- Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
- 10:31 AM Changeset in webkit [231962] by
-
- 3 edits2 adds in trunk
[iOS] Password fields obscure the text with rectangles instead of circles
https://bugs.webkit.org/show_bug.cgi?id=185760
<rdar://problem/38644697>
Reviewed by Zalan Bujtas.
Source/WebCore:
Password fields are obscured by drawing U+25CF BLACK CIRCLE. On iOS, we have custom handling
for this character. However, this custom handling is unnecessary and isn't present on macOS.
Instead, we should simply unify the password obscuring codepath between iOS and macOS.
Test: fast/text/black-circle.html
- platform/graphics/ios/FontCacheIOS.mm:
(WebCore::requiresCustomFallbackFont):
(WebCore::FontCache::getCustomFallbackFont):
LayoutTests:
- fast/text/black-circle-expected.html: Added.
- fast/text/black-circle.html: Added.
- 10:29 AM Changeset in webkit [231961] by
-
- 41 edits18 adds in trunk
JSC should have InstanceOf inline caching
https://bugs.webkit.org/show_bug.cgi?id=185652
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/instanceof-always-hit-one.js: Added.
- microbenchmarks/instanceof-always-hit-two.js: Added.
- microbenchmarks/instanceof-dynamic.js: Added.
- microbenchmarks/instanceof-sometimes-hit.js: Added.
- stress/instanceof-dynamic-proxy-check-structure.js: Added.
- stress/instanceof-dynamic-proxy-loop.js: Added.
- stress/instanceof-dynamic-proxy.js: Added.
- stress/instanceof-hit-one-object-then-another.js: Added.
- stress/instanceof-hit-two-objects-then-another.js: Added.
- stress/instanceof-prototype-change.js: Added.
- stress/instanceof-prototype-change-to-hit.js: Added.
- stress/instanceof-prototype-change-to-null.js: Added.
- stress/instanceof-prototype-change-watchpointable.js: Added.
Source/JavaScriptCore:
This adds a polymorphic inline cache for instanceof. It caches hits and misses. It uses the
existing PolymorphicAccess IC machinery along with all of its heuristics. If we ever generate
too many cases, we emit the generic instanceof implementation instead.
All of the JIT tiers use the same InstanceOf IC. It uses the existing JITInlineCacheGenerator
abstraction.
This is a ~40% speed-up on instanceof microbenchmarks. It's a *tiny* (~1%) speed-up on
Octane/boyer. I think I can make that speed-up bigger by inlining the inline cache.
- API/tests/testapi.mm:
(testObjectiveCAPIMain):
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- b3/B3Effects.h:
(JSC::B3::Effects::forReadOnlyCall):
- bytecode/AccessCase.cpp:
(JSC::AccessCase::guardedByStructureCheck const):
(JSC::AccessCase::canReplace const):
(JSC::AccessCase::visitWeak const):
(JSC::AccessCase::generateWithGuard):
(JSC::AccessCase::generateImpl):
- bytecode/AccessCase.h:
- bytecode/InstanceOfAccessCase.cpp: Added.
(JSC::InstanceOfAccessCase::create):
(JSC::InstanceOfAccessCase::dumpImpl const):
(JSC::InstanceOfAccessCase::clone const):
(JSC::InstanceOfAccessCase::~InstanceOfAccessCase):
(JSC::InstanceOfAccessCase::InstanceOfAccessCase):
- bytecode/InstanceOfAccessCase.h: Added.
(JSC::InstanceOfAccessCase::prototype const):
- bytecode/ObjectPropertyCondition.h:
(JSC::ObjectPropertyCondition::hasPrototypeWithoutBarrier):
(JSC::ObjectPropertyCondition::hasPrototype):
- bytecode/ObjectPropertyConditionSet.cpp:
(JSC::generateConditionsForInstanceOf):
- bytecode/ObjectPropertyConditionSet.h:
- bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::addCases):
(JSC::PolymorphicAccess::regenerate):
(WTF::printInternal):
- bytecode/PropertyCondition.cpp:
(JSC::PropertyCondition::dumpInContext const):
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):
(JSC::PropertyCondition::validityRequiresImpurePropertyWatchpoint const):
(WTF::printInternal):
- bytecode/PropertyCondition.h:
(JSC::PropertyCondition::absenceWithoutBarrier):
(JSC::PropertyCondition::absenceOfSetEffectWithoutBarrier):
(JSC::PropertyCondition::hasPrototypeWithoutBarrier):
(JSC::PropertyCondition::hasPrototype):
(JSC::PropertyCondition::hasPrototype const):
(JSC::PropertyCondition::prototype const):
(JSC::PropertyCondition::hash const):
(JSC::PropertyCondition::operator== const):
- bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::StructureStubInfo):
(JSC::StructureStubInfo::reset):
- bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::considerCaching):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGInlineCacheWrapper.h:
- dfg/DFGInlineCacheWrapperInlines.h:
(JSC::DFG::InlineCacheWrapper<GeneratorType>::finalize):
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
- dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addInstanceOf):
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::usedRegisters):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForCells):
(JSC::DFG::SpeculativeJIT::compileInstanceOf):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject): Deleted.
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedGetByIdWithThis):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty):
(JSC::FTL::DFG::LowerDFGToB3::compilePutById):
(JSC::FTL::DFG::LowerDFGToB3::compileNumberIsInteger):
(JSC::FTL::DFG::LowerDFGToB3::compileIn):
(JSC::FTL::DFG::LowerDFGToB3::compileInstanceOf):
(JSC::FTL::DFG::LowerDFGToB3::getById):
(JSC::FTL::DFG::LowerDFGToB3::getByIdWithThis):
- jit/ICStats.h:
- jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
(JSC::JIT::link):
- jit/JIT.h:
- jit/JITInlineCacheGenerator.cpp:
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITInlineCacheGenerator::finalize):
(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITByIdGenerator::finalize):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
(JSC::JITInstanceOfGenerator::generateFastPath):
(JSC::JITInstanceOfGenerator::finalize):
- jit/JITInlineCacheGenerator.h:
(JSC::JITInlineCacheGenerator::reportSlowPathCall):
(JSC::JITInlineCacheGenerator::slowPathBegin const):
(JSC::JITInstanceOfGenerator::JITInstanceOfGenerator):
(JSC::finalizeInlineCaches):
(JSC::JITByIdGenerator::reportSlowPathCall): Deleted.
(JSC::JITByIdGenerator::slowPathBegin const): Deleted.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emitSlow_op_instanceof):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByValWithCachedId):
(JSC::JIT::privateCompilePutByValWithCachedId):
- jit/RegisterSet.cpp:
(JSC::RegisterSet::stubUnavailableRegisters):
- jit/Repatch.cpp:
(JSC::tryCacheIn):
(JSC::tryCacheInstanceOf):
(JSC::repatchInstanceOf):
(JSC::resetPatchableJump):
(JSC::resetIn):
(JSC::resetInstanceOf):
- jit/Repatch.h:
- runtime/Options.h:
- runtime/Structure.h:
- 10:13 AM Changeset in webkit [231960] by
-
- 1 edit in trunk/Source/WebCore/platform/audio/ios/MediaSessionManagerIOS.mm
Fix the ENABLE(EXTRA_ZOOM_MODE) build.
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::configureWireLessTargetMonitoring):
- 10:03 AM Changeset in webkit [231959] by
-
- 7 edits3 deletes in trunk
Unreviewed, rolling out r231935.
Caused an accessibility test to fail
Reverted changeset:
"RenderLayer::scrollRectToVisible() should not propagate a
subframe's scroll to its cross-origin parent"
https://bugs.webkit.org/show_bug.cgi?id=185664
https://trac.webkit.org/changeset/231935
- 9:32 AM Changeset in webkit [231958] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Implement height computation for non-replaced floating elements.
https://bugs.webkit.org/show_bug.cgi?id=185767
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
(WebCore::Layout::FormattingContext::computeFloatingNonReplacedHeight const):
(WebCore::Layout::FormattingContext::contentHeightForFormattingContextRoot const):
- layout/FormattingContext.h:
- 9:15 AM Changeset in webkit [231957] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, fix exception checking
https://bugs.webkit.org/show_bug.cgi?id=185350
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::putDirectWithReify):
(JSC::CommonSlowPaths::putDirectAccessorWithReify):
- 9:08 AM Changeset in webkit [231956] by
-
- 3 edits in trunk/Source/WebKit
-Wmemset-elt-size warning in LibWebRTCSocket constructor
https://bugs.webkit.org/show_bug.cgi?id=185555
<rdar://problem/40217250>
Reviewed by Darin Adler.
GetOption implementation was broken in that it was not initializing properly its array of options.
This patch fixes it by using an array of optional<int> which are initialized by default.
When no value is set, we return the error code -1.
In theory, we should go to NetworkProcess to get the actual value.
Since GetOption is not used in practice, we just do this best effort implementation of storing previously set values.
- WebProcess/Network/webrtc/LibWebRTCSocket.cpp:
(WebKit::LibWebRTCSocket::LibWebRTCSocket):
(WebKit::LibWebRTCSocket::GetOption):
- WebProcess/Network/webrtc/LibWebRTCSocket.h:
- 8:22 AM Changeset in webkit [231955] by
-
- 25 edits12 adds in trunk
Make all SVG shape interfaces inherit from SVGGeometryElement
https://bugs.webkit.org/show_bug.cgi?id=185600
Reviewed by Antti Koivisto.
Source/WebCore:
Make all SVG shape interfaces inherit from SVGGeometryElement
as defined by SVG2:
https://svgwg.org/svg2-draft/shapes.html#DOMInterfaces
Tests: svg/dom/SVGGeometry-circle.xhtml
svg/dom/SVGGeometry-ellipse.xhtml
svg/dom/SVGGeometry-line.xhtml
svg/dom/SVGGeometry-polygon.xhtml
svg/dom/SVGGeometry-polyline.xhtml
svg/dom/SVGGeometry-rect.xhtml
- rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::getTotalLength const): Added shape
independent implementation for all methods defined
by SVGGeometryElement interface. Calculations are
based on the Path object created and referenced by
RenderSVGShape.
(WebCore::RenderSVGShape::getPointAtLength const):
- rendering/svg/RenderSVGShape.h:
- svg/SVGCircleElement.cpp:
Repeating pattern: Change inheritance from
SVGGraphicsElement to SVGGeometryElement.
(WebCore::SVGCircleElement::SVGCircleElement):
- svg/SVGCircleElement.h:
- svg/SVGCircleElement.idl:
- svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::SVGEllipseElement):
- svg/SVGEllipseElement.h:
- svg/SVGEllipseElement.idl:
- svg/SVGGeometryElement.cpp:
(WebCore::SVGGeometryElement::getTotalLength const):
(WebCore::SVGGeometryElement::getPointAtLength const):
- svg/SVGGeometryElement.h:
- svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::SVGLineElement):
- svg/SVGLineElement.h:
- svg/SVGLineElement.idl:
- svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::SVGPolyElement):
- svg/SVGPolyElement.h:
- svg/SVGPolygonElement.idl:
- svg/SVGPolylineElement.idl:
- svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::SVGRectElement):
- svg/SVGRectElement.h:
- svg/SVGRectElement.idl:
LayoutTests:
Update test for inheritance of SVG shape interfaces (more passes).
Add individual tests for SVGGeometryElement interfaces for each
SVG shape. There already are more detailed tests for the methods
and the SVGPathElement interface.
- svg/dom/SVGGeometry-circle-expected.txt: Added.
- svg/dom/SVGGeometry-circle.xhtml: Added.
- svg/dom/SVGGeometry-ellipse-expected.txt: Added.
- svg/dom/SVGGeometry-ellipse.xhtml: Added.
- svg/dom/SVGGeometry-line-expected.txt: Added.
- svg/dom/SVGGeometry-line.xhtml: Added.
- svg/dom/SVGGeometry-polygon-expected.txt: Added.
- svg/dom/SVGGeometry-polygon.xhtml: Added.
- svg/dom/SVGGeometry-polyline-expected.txt: Added.
- svg/dom/SVGGeometry-polyline.xhtml: Added.
- svg/dom/SVGGeometry-rect-expected.txt: Added.
- svg/dom/SVGGeometry-rect.xhtml: Added.
- svg/dom/svg2-inheritance-expected.txt:
- 8:09 AM Changeset in webkit [231954] by
-
- 15 edits in branches/safari-605-branch
Cherry-pick r229503. rdar://problem/39841080
[macOS] Copying a table from the Numbers app and pasting into iCloud Numbers fails
https://bugs.webkit.org/show_bug.cgi?id=183485
<rdar://problem/38041984>
Reviewed by Ryosuke Niwa.
Source/WebCore:
After r222656, WebKit now treats raw image data on the pasteboard as files for the purposes of computing
DataTransfer.files and DataTransfer.types. However, this is combined with existing policies that suppress
DataTransfer.getData and DataTransfer.setData when the pasteboard contains files (generalized to copy/paste in
r222688). This means we now don't allow web pages to access "text/plain" in the case where the user copies part
of a table from the native Numbers app since Numbers additionally writes a snapshot of the table to the platform
pasteboard.
This restriction on getData/setData was intended to prevent web pages from extracting users' file paths when
pasting or dropping, so it doesn't make sense to enforce this restriction even when there is only in-memory
image data on the pasteboard. To fix this bug, we make Pasteboard::fileContentState() differentiate between
cases where there are (real) files on the pasteboard, and cases where we've fallen back to treating image data
as files.
Rebaselined existing LayoutTests to match new behavior.
Also covered by 4 new API tests:
- PasteMixedContent.ImageDataAndPlainText
- PasteMixedContent.ImageDataAndPlainTextAndURL
- PasteMixedContent.ImageDataAndPlainTextAndURLAndHTML
- UIPasteboardTests.DataTransferGetDataWhenPastingImageAndText
- dom/DataTransfer.cpp: (WebCore::DataTransfer::shouldSuppressGetAndSetDataToAvoidExposingFilePaths const):
If custom pasteboard data is enabled, suppress getData and setData if and only if we might actually expose file
paths (see Pasteboard::fileContentState).
(WebCore::DataTransfer::types const):
Only allow "text/html" or "text/uri-list" in the case where there are actual files in the pasteboard. If there's
only image data, add all of the DOM-safe types back into the list of types.
- platform/Pasteboard.h:
- platform/StaticPasteboard.h:
Add an enum type to represent the result of Pasteboard::fileContentState.
- NoFileOrImageData indicates that there was nothing on the pasteboard that could be considered a file
from the point of view of the page.
- InMemoryImage indicates that there are no files on the pasteboard, but there is image data that we consider
to be files, exposed via DataTransfer API.
- MayContainFilePaths indicates that there might be file paths on the pasteboard. This means that the source
has either written file paths to the pasteboard (for example, through NSFilenamesPboardType) or the source
has written image data along with a URL type of some sort that does not match one of the allowed URL schemes
that are safe to expose (currently, these are http-family, data, or blob).
- platform/cocoa/PasteboardCocoa.mm: (WebCore::Pasteboard::fileContentState):
Refactor to return one of the three enum types described above.
(WebCore::Pasteboard::containsFiles): Deleted.
- platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::fileContentState): (WebCore::Pasteboard::containsFiles): Deleted.
- platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::fileContentState): (WebCore::Pasteboard::containsFiles): Deleted.
- platform/wpe/PasteboardWPE.cpp: (WebCore::Pasteboard::fileContentState): (WebCore::Pasteboard::containsFiles): Deleted.
Adjust for Pasteboard::fileContentState() tweaks.
Tools:
Add new API tests to cover scenarios in which we paste image data alongside text data.
- TestWebKitAPI/Tests/WebKitCocoa/PasteMixedContent.mm: (TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (TestWebKitAPI::TEST):
LayoutTests:
Rebaseline some pasteboard-related layout tests, in which we now expose text/plain alongside files that were
written to the DataTransfer by the page itself.
- editing/pasteboard/data-transfer-item-list-add-file-multiple-times-expected.txt:
- editing/pasteboard/data-transfer-item-list-add-file-on-copy-expected.txt:
- editing/pasteboard/data-transfer-item-list-add-file-on-drag-expected.txt:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:31 AM Changeset in webkit [231953] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Implement height computation for replaced elements.
https://bugs.webkit.org/show_bug.cgi?id=185756
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeFloatingHeight const):
(WebCore::Layout::FormattingContext::computeReplacedHeight const):
(WebCore::Layout::FormattingContext::computeReplacedWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedHeight const):
- layout/FormattingContext.h:
- 7:30 AM Changeset in webkit [231952] by
-
- 3 edits in trunk/Source/WebCore
[LFC] Implement width computation for non-replaced floating elements.
https://bugs.webkit.org/show_bug.cgi?id=185759
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeFloatingNonReplacedWidth const):
- layout/FormattingContext.h:
- 7:15 AM Changeset in webkit [231951] by
-
- 2 edits in trunk/LayoutTests
The test fast/images/animated-image-mp4-crash.html is failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=185765
Unreviewed test gardening.
- platform/win/TestExpectations:
- 7:08 AM Changeset in webkit [231950] by
-
- 7 edits2 adds in trunk
[modern-media-controls] AirPlaySupport should be disabled by default
https://bugs.webkit.org/show_bug.cgi?id=185658
<rdar://problem/40272213>
Reviewed by Simon Fraser.
Source/WebCore:
We now only enable AirplaySupport if the controls are visible to the user _and_ media has played.
Test: media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play.html
- Modules/modern-media-controls/media/airplay-support.js:
(AirplaySupport.prototype.enable):
(AirplaySupport.prototype.controlsUserVisibilityDidChange):
(AirplaySupport.prototype._shouldBeEnabled):
(AirplaySupport):
LayoutTests:
Add a new test that checks that we create an AirplaySupport object only after media has started playing.
We also modify a couple of existing tests so they are no longer flaky, as a first pass of this patch
revealed some flakiness.
- media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play-expected.txt: Added.
- media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play.html: Added.
- media/modern-media-controls/scrubber-support/scrubber-support-drag-expected.txt:
- media/modern-media-controls/scrubber-support/scrubber-support-drag.html:
- media/modern-media-controls/volume-support/volume-support-click-expected.txt:
- media/modern-media-controls/volume-support/volume-support-click.html:
- 1:11 AM Changeset in webkit [231949] by
-
- 5 edits in trunk/Source/WebCore
Stop softlinking QuickLook when loading from client-registered schemes
https://bugs.webkit.org/show_bug.cgi?id=185716
<rdar://problem/40303227>
Reviewed by Dan Bernstein.
No new tests, just a performance improvement.
- dom/Document.cpp:
- platform/SchemeRegistry.cpp:
- platform/ios/QuickLook.h:
- platform/ios/QuickLook.mm:
(WebCore::isQuickLookPreviewURL):
(WebCore::QLPreviewProtocol): Deleted.
Hard-code the QuickLook preview URL scheme, instead of loading the QuickLook
framework to retrieve it. It will never change, and just in case it does,
add an ASSERT (which does load QuickLook) so that we'll find out.
- 1:06 AM Changeset in webkit [231948] by
-
- 249 edits8 deletes in trunk
[Web Animations] Turn Web Animations with CSS integration on for test runners
https://bugs.webkit.org/show_bug.cgi?id=184819
<rdar://problem/39597337>
Reviewed by Jon Lee.
LayoutTests/imported/mozilla:
Since Web Animations with CSS integration is on by default on test runners, we no longer need
the special HTML comment to turn the flag on for select tests.
- css-animations/test_animation-cancel.html:
- css-animations/test_animation-computed-timing.html:
- css-animations/test_animation-currenttime.html:
- css-animations/test_animation-finish.html:
- css-animations/test_animation-finished.html:
- css-animations/test_animation-id.html:
- css-animations/test_animation-pausing.html:
- css-animations/test_animation-playstate.html:
- css-animations/test_animation-ready.html:
- css-animations/test_animation-reverse.html:
- css-animations/test_animation-starttime.html:
- css-animations/test_animations-dynamic-changes.html:
- css-animations/test_cssanimation-animationname.html:
- css-animations/test_document-get-animations.html:
- css-animations/test_effect-target.html:
- css-animations/test_element-get-animations.html:
- css-animations/test_event-dispatch.html:
- css-animations/test_event-order.html:
- css-animations/test_keyframeeffect-getkeyframes.html:
- css-animations/test_pseudoElement-get-animations.html:
- css-animations/test_setting-effect.html:
- css-transitions/test_animation-cancel.html:
- css-transitions/test_animation-computed-timing.html:
- css-transitions/test_animation-currenttime.html:
- css-transitions/test_animation-finished.html:
- css-transitions/test_animation-pausing.html:
- css-transitions/test_animation-ready.html:
- css-transitions/test_animation-starttime.html:
- css-transitions/test_csstransition-transitionproperty.html:
- css-transitions/test_document-get-animations.html:
- css-transitions/test_effect-target.html:
- css-transitions/test_element-get-animations.html:
- css-transitions/test_event-dispatch.html:
- css-transitions/test_keyframeeffect-getkeyframes.html:
- css-transitions/test_pseudoElement-get-animations.html:
- css-transitions/test_setting-effect.html:
LayoutTests/imported/w3c:
Since Web Animations with CSS integration is on by default on test runners, we no longer need
the special HTML comment to turn the flag on for select tests.
- web-platform-tests/css-timing-1/frames-timing-functions-output.html:
- web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:
- web-platform-tests/web-animations/interfaces/Animation/ready.html:
- web-platform-tests/web-animations/timing-model/animations/playing-an-animation.html:
- web-platform-tests/web-animations/timing-model/animations/reversing-an-animation.html:
Source/WebCore:
We ensure we always call into both CSSAnimationController::cancelAnimations() and
AnimationTimeline::cancelDeclarativeAnimationsForElement() since we want teardown of animations
to be performed no matter which animation code path is used. What that in mind, we don't
conditionalize the CSSAnimationController-related ASSERT() in FrameView::didDestroyRenderTree().
- dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
- dom/PseudoElement.cpp:
(WebCore::PseudoElement::clearHostElement):
- page/FrameView.cpp:
(WebCore::FrameView::didDestroyRenderTree):
- page/RuntimeEnabledFeatures.h:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::tearDownRenderers):
Source/WebKit:
- Shared/WebPreferences.yaml: Leave Web Animations off by default, it's up to clients
to turn it on.
Tools:
Make the test runners turn both the main Web Animations flag and the Web Animations CSS
integration flag on.
We also remove the ability to toggle the Web Animations CSS integration flag using an HTML
comment directly at the top of the file since test runners now set the flag on by default
and a dedicated directory exists for tests that need to run with this flag off.
- DumpRenderTree/TestOptions.cpp:
(TestOptions::TestOptions):
- DumpRenderTree/TestOptions.h:
- DumpRenderTree/mac/DumpRenderTree.mm:
(shouldOverrideAndDisableWebAnimationsCSSIntegrationPreference):
(runTest):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::updateTestOptionsFromTestHeader):
- WebKitTestRunner/TestOptions.cpp:
(WTR::isLegacyAnimationEngineTestPath):
(WTR::TestOptions::TestOptions):
- WebKitTestRunner/TestOptions.h:
LayoutTests:
Since Web Animations with CSS integration is on by default on test runners, we no longer need
the special HTML comment to turn the flag on for select tests.
- TestExpectations:
- animations/3d/matrix-transform-type-animation.html:
- animations/3d/replace-filling-transform.html:
- animations/3d/transform-origin-vs-functions.html:
- animations/3d/transform-perspective.html:
- animations/additive-transform-animations.html:
- animations/animation-border-overflow.html:
- animations/animation-callback-timestamp.html:
- animations/animation-controller-drt-api.html:
- animations/animation-direction-alternate-reverse-expected.txt:
- animations/animation-direction-alternate-reverse.html:
- animations/animation-direction-reverse-fill-mode-hardware.html:
- animations/animation-direction-reverse-hardware-opacity.html:
- animations/animation-direction-reverse-hardware.html:
- animations/animation-direction-reverse-non-hardware.html:
- animations/animation-direction-reverse-timing-functions-hardware.html:
- animations/animation-direction-reverse-timing-functions.html:
- animations/animation-direction.html:
- animations/animation-followed-by-transition.html:
- animations/animation-hit-test-transform.html:
- animations/animation-hit-test.html:
- animations/animation-internals-api-expected.txt: Removed.
- animations/animation-internals-api-multiple-keyframes-expected.txt: Removed.
- animations/animation-internals-api-multiple-keyframes.html: Removed.
- animations/animation-internals-api.html: Removed.
- animations/animation-offscreen-to-onscreen.html:
- animations/big-rotation-expected.txt:
- animations/big-rotation.html:
- animations/change-completed-animation-transform.html:
- animations/change-keyframes.html:
- animations/combo-transform-rotate+scale.html:
- animations/cross-fade-background-image.html:
- animations/cross-fade-border-image-source.html:
- animations/cross-fade-list-style-image.html:
- animations/cross-fade-webkit-mask-box-image.html:
- animations/duplicate-keys-expected.html:
- animations/duplicate-keys.html:
- animations/duplicated-keyframes-name.html:
- animations/fill-forwards-end-state.html:
- animations/fill-mode-forwards-zero-duration-expected.txt:
- animations/fill-mode-forwards-zero-duration.html:
- animations/font-variations/font-stretch.html:
- animations/font-variations/font-style.html:
- animations/font-variations/font-variation-settings-order.html:
- animations/font-variations/font-variation-settings-unlike.html:
- animations/font-variations/font-variation-settings.html:
- animations/font-variations/font-weight.html:
- animations/generic-from-to.html:
- animations/import.html:
- animations/keyframe-multiple-timing-functions-transform.html:
- animations/keyframe-timing-functions-transform.html:
- animations/keyframe-timing-functions.html:
- animations/keyframe-timing-functions2.html:
- animations/keyframes-comma-separated.html:
- animations/keyframes-dynamic.html:
- animations/keyframes-infinite-iterations.html:
- animations/keyframes-invalid-keys.html:
- animations/keyframes-out-of-order.html:
- animations/keyframes.html:
- animations/lineheight-animation.html:
- animations/longhand-timing-function.html:
- animations/matrix-anim.html:
- animations/missing-from-to-transforms.html:
- animations/missing-from-to.html:
- animations/missing-keyframe-properties-repeating.html:
- animations/missing-keyframe-properties-timing-function.html:
- animations/missing-keyframe-properties.html:
- animations/missing-values-first-keyframe.html:
- animations/missing-values-last-keyframe.html:
- animations/multiple-animations-timing-function.html:
- animations/multiple-animations.html:
- animations/multiple-keyframes.html:
- animations/negative-delay.html:
- animations/pause-crash.html:
- animations/play-state-start-paused.html:
- animations/simultaneous-start-left.html:
- animations/simultaneous-start-transform.html:
- animations/spring-function.html:
- animations/stacking-context-unchanged-while-running.html:
- animations/timing-functions.html:
- animations/transition-and-animation-1.html:
- animations/transition-and-animation-2.html:
- animations/transition-and-animation-3.html:
- animations/unanimated-style.html:
- animations/unprefixed-keyframes.html:
- animations/width-using-ems.html:
- compositing/animation/animated-composited-inside-hidden.html:
- compositing/animation/computed-style-during-delay.html:
- compositing/animation/layer-for-filling-animation.html:
- compositing/backing/backface-visibility-flip.html:
- compositing/contents-scale/animating.html:
- compositing/layer-creation/animation-overlap-with-children.html:
- compositing/layer-creation/mismatched-rotated-transform-animation-overlap.html:
- compositing/layer-creation/multiple-keyframes-animation-overlap.html:
- compositing/layer-creation/overlap-animation-clipping.html:
- compositing/layer-creation/overlap-animation-container.html:
- compositing/layer-creation/overlap-animation.html:
- compositing/layer-creation/scale-rotation-animation-overlap.html:
- compositing/layer-creation/translate-animation-overlap.html:
- compositing/layer-creation/translate-scale-animation-overlap.html:
- compositing/overflow/overflow-positioning.html:
- compositing/reflections/animation-inside-reflection.html:
- compositing/reflections/nested-reflection-animated.html:
- compositing/reflections/nested-reflection-transition.html:
- compositing/transitions/scale-transition-no-start.html:
- compositing/transitions/singular-scale-transition.html:
- compositing/visible-rect/animated.html:
- css3/calc/transitions-dependent.html:
- css3/calc/transitions.html:
- css3/filters/backdrop/animation.html:
- css3/filters/composited-during-animation.html:
- css3/filters/filter-animation-from-none-hw.html:
- css3/filters/filter-animation-from-none-multi-hw.html:
- css3/filters/filter-animation-from-none-multi.html:
- css3/filters/filter-animation-from-none.html:
- css3/filters/filter-animation-hw.html:
- css3/filters/filter-animation-multi-hw.html:
- css3/filters/filter-animation-multi.html:
- css3/filters/filter-animation.html:
- css3/masking/clip-path-animation.html:
- fast/animation/css-animation-resuming-when-visible-with-style-change.html:
- fast/animation/css-animation-resuming-when-visible.html:
- fast/animation/css-animation-throttling-lowPowerMode.html:
- fast/css-generated-content/pseudo-animation.html:
- fast/css-generated-content/pseudo-transition.html:
- fast/filter-image/filter-image-animation.html:
- fast/shapes/shape-outside-floats/shape-outside-animation.html:
- fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html:
- fast/shapes/shape-outside-floats/shape-outside-shape-margin-animation.html:
- imported/blink/transitions/unprefixed-transform.html:
- platform/ios/TestExpectations:
- platform/win/TestExpectations:
- transitions/background-position-transitions.html:
- transitions/background-transitions.html:
- transitions/blendmode-transitions.html:
- transitions/border-radius-transition.html:
- transitions/clip-path-path-transitions.html:
- transitions/clip-path-transitions.html:
- transitions/clip-transition.html:
- transitions/color-transition-all.html:
- transitions/color-transition-premultiplied.html:
- transitions/color-transition-rounding.html:
- transitions/cross-fade-background-image.html:
- transitions/cross-fade-border-image.html:
- transitions/cubic-bezier-overflow-color.html:
- transitions/cubic-bezier-overflow-length.html:
- transitions/cubic-bezier-overflow-shadow.html:
- transitions/cubic-bezier-overflow-svg-length.html:
- transitions/cubic-bezier-overflow-transform.html:
- transitions/default-timing-function.html:
- transitions/delay.html:
- transitions/flex-transitions.html:
- transitions/font-family-during-transition.html:
- transitions/frames-timing-function.html:
- transitions/interrupted-all-transition.html:
- transitions/longhand-vs-shorthand-initial.html:
- transitions/mask-transitions.html:
- transitions/min-max-width-height-transitions.html:
- transitions/mismatched-shadow-styles.html:
- transitions/mismatched-shadow-transitions.html:
- transitions/mixed-type.html:
- transitions/move-after-transition.html:
- transitions/multiple-background-size-transitions.html:
- transitions/multiple-background-transitions.html:
- transitions/multiple-mask-transitions.html:
- transitions/multiple-shadow-transitions.html:
- transitions/negative-delay.html:
- transitions/opacity-transition-zindex.html:
- transitions/remove-transition-style.html:
- transitions/shape-outside-transitions.html:
- transitions/shorthand-border-transitions.html:
- transitions/shorthand-transitions.html:
- transitions/steps-timing-function.html:
- transitions/svg-layout-transition.html:
- transitions/svg-text-shadow-transition.html:
- transitions/svg-transitions.html:
- transitions/text-indent-transition.html:
- transitions/transform-op-list-match.html:
- transitions/transform-op-list-no-match.html:
- transitions/transition-drt-api-delay-expected.txt: Removed.
- transitions/transition-drt-api-delay.html: Removed.
- transitions/transition-drt-api-expected.txt: Removed.
- transitions/transition-drt-api.html: Removed.
- transitions/transition-end-event-rendering.html:
- transitions/transition-hit-test-transform.html:
- transitions/transition-hit-test.html:
- transitions/transition-in-delay-phase.html:
- transitions/transition-on-element-with-content.html:
- transitions/transition-shorthand-delay.html:
- transitions/transition-timing-function.html:
- transitions/transition-to-from-auto.html:
- transitions/transition-to-from-undefined.html:
- transitions/visited-link-color.html:
- transitions/zero-duration-in-list.html:
- transitions/zero-duration-with-non-zero-delay-end.html:
- transitions/zero-duration-with-non-zero-delay-start.html:
- webanimations/css-animations.html:
- webanimations/css-transitions.html:
- 12:41 AM Changeset in webkit [231947] by
-
- 2 edits2 deletes in trunk/Source/WebKit
[Curl] Remove unused SystemProxyWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=185224
Reviewed by Antti Koivisto.
SystemProxyWin is not used at the moment. Remove it.
- NetworkProcess/win/SystemProxyWin.cpp: Removed.
- NetworkProcess/win/SystemProxyWin.h: Removed.
- PlatformWin.cmake: Removed SystemProxyWin.cpp.
May 17, 2018:
- 10:51 PM Changeset in webkit [231946] by
-
- 2 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231922. rdar://problem/40220659
Correct default for StorageAccess API
https://bugs.webkit.org/show_bug.cgi?id=185748
<rdar://problem/40220659>
Reviewed by Dean Jackson.
Flip the default state to 'true' so that the new "sticky" state
for Storage Access API and attributing user interaction for
Storage Access API use is applied by default.
- Shared/WebPreferences.yaml:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231922 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:51 PM Changeset in webkit [231945] by
-
- 4 edits4 adds in branches/safari-606.1.17-branch
Cherry-pick r231910. rdar://problem/39105791
Storage Access API: Allow documents that have been granted storage access to also do a popup
https://bugs.webkit.org/show_bug.cgi?id=185615
<rdar://problem/39105791>
Reviewed by Chris Dumez.
Source/WebCore:
- dom/Document.cpp: (WebCore::Document::consumeTemporaryUserGesture): Added. Clear the document's active one-time user activity (for window opening) state. (WebCore::Document::enableTemporaryUserGesture): Added. Establish a new active one-time user activity (for window opening) state. (WebCore::Document::requestStorageAccess): If the user approves Storage Access, establish a new UserInteraction scope, then resolve the promise. Also post a task to clear the one-time user gesture state.
LayoutTests:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window-expected.txt: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window.html: Added.
- http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: Added.
- http/tests/storageAccess/resources/request-storage-access-second-window.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231910 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:51 PM Changeset in webkit [231944] by
-
- 5 edits1 add in branches/safari-606.1.17-branch
Cherry-pick r231591. rdar://problem/39290394
[Cocoa] Some fields are not identified as [WKWebProcessPlugInNodeHandle isTextField]
https://bugs.webkit.org/show_bug.cgi?id=185260
<rdar://problem/39290394>
Source/WebKit:
INPUT element are not considered to be text fields when
calling -[WKWebProcessPlugInNodeHandle isTextField]
when they are of type number.
Patch by Richard Houle <rhoule@apple.com> on 2018-05-09
Reviewed by Tim Horton.
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: (WebKit::InjectedBundleNodeHandle::isTextField const):
Tools:
Patch by Richard Houle <rhoule@apple.com> on 2018-05-09
Reviewed by Tim Horton.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsTextField.mm: Added. (-[InjectedBundleNodeHandleIsTextField isTextFieldForHTMLInputType:document:jsContext:]): (-[InjectedBundleNodeHandleIsTextField webProcessPlugIn:didCreateBrowserContextController:]):
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm: (-[InjectedBundleNodeHandleIsTextFieldDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231591 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:39 PM Changeset in webkit [231943] by
-
- 13 edits2 adds in branches/safari-606.1.17-branch
Cherry-pick r231937. rdar://problem/40265269
AX: [macOS] Expose the primary screen height through AX API
https://bugs.webkit.org/show_bug.cgi?id=185742
Reviewed by Chris Fleizach.
Source/WebCore:
Added a new attribute to expose the primary screen size on both
WebAccessibilityObjectWrapper and WKAccessibilityWebPageObject.
Test: accessibility/mac/primary-screen-height.html
- WebCore.xcodeproj/project.pbxproj:
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm: (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]): (-[WebAccessibilityObjectWrapper primaryScreenHeight]): (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- platform/PlatformScreen.h:
- platform/mac/PlatformScreenMac.mm: (WebCore::screenRectForPrimaryScreen):
Source/WebKit:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm: (-[WKAccessibilityWebPageObject accessibilityAttributeNames]): (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
Tools:
- DumpRenderTree/mac/AccessibilityUIElementMac.mm: (attributesOfElement):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm: (WTR::attributesOfElement):
LayoutTests:
- accessibility/mac/primary-screen-height-expected.txt: Added.
- accessibility/mac/primary-screen-height.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:38 PM Changeset in webkit [231942] by
-
- 2 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231863. rdar://problem/40136681
[Wi-Fi Assertions] Adopt WiFiAssertionHolderAdditions
https://bugs.webkit.org/show_bug.cgi?id=185685
<rdar://problem/40136681>
Reviewed by Sam Weinig.
- NetworkProcess/cocoa/WiFiAssertionHolder.cpp: (WebKit::WiFiAssertionHolder::WiFiAssertionHolder): (WebKit::WiFiAssertionHolder::~WiFiAssertionHolder): (WebKit::ensureWiFiManagerClient): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231863 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:39 PM Changeset in webkit [231941] by
-
- 7 edits in branches/safari-606.1.17-branch/Source
Versioning.
- 8:29 PM Changeset in webkit [231940] by
-
- 3 edits in trunk/Source/WebCore
Lazily create WebCore::Timer for WebCore::Image
<https://webkit.org/b/185752>
Reviewed by Simon Fraser.
Not every image is an animated image, so lazily creating
m_animationStartTimer saves 64 bytes per instance of
WebCore::Image.
- platform/graphics/Image.cpp:
(WebCore::Image::Image): Remove default initializer for
m_animationStartTimer.
(WebCore::Image::startAnimationAsynchronously): Initialize
m_animationStartTimer if it's not already created.
- platform/graphics/Image.h:
(WebCore::Image::animationPending const): Update to check if
m_animationStartTimer has been set before dereferencing it.
(WebCore::Image::m_animationStartTimer): Change type to
std::unique_ptr<Timer>.
- 7:59 PM Changeset in webkit [231939] by
-
- 12 edits1 add in trunk
We don't throw SyntaxErrors for runtime generated regular expressions with errors
https://bugs.webkit.org/show_bug.cgi?id=185755
Reviewed by Keith Miller.
JSTests:
New regression test.
- stress/regexp-with-runtime-syntax-errors.js: Added.
(testThrowsSyntaxtError):
(fromExecWithBadUnicodeEscape):
(fromTestWithBadUnicodeProperty):
(fromSplitWithBadUnicodeIdentity):
(fromMatchWithBadUnicodeBackReference):
(fromReplaceWithBadUnicodeEscape):
(fromSearchWithBadUnicodeEscape):
Source/JavaScriptCore:
Added a new helper that creates the correct exception to throw for each type of error when
compiling a RegExp. Using that new helper, added missing checks for RegExp for the cases
where we create a new RegExp from an existing one. Also refactored other places that we
throw SyntaxErrors after a failed RegExp compile to use the new helper.
- runtime/RegExp.h:
- runtime/RegExpConstructor.cpp:
(JSC::regExpCreate):
(JSC::constructRegExp):
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
- yarr/YarrErrorCode.cpp:
(JSC::Yarr::errorToThrow):
- yarr/YarrErrorCode.h:
LayoutTests:
Updated test and results from reporting a SyntaxError to an Out of memory error.
- js/script-tests/stack-overflow-regexp.js:
(shouldThrow.recursiveCall):
(shouldThrow):
(recursiveCall):
- js/stack-overflow-regexp-expected.txt:
- 6:41 PM Changeset in webkit [231938] by
-
- 2 edits in trunk/Source/JavaScriptCore
Remove shrinkFootprint test from apitests since it's flaky
https://bugs.webkit.org/show_bug.cgi?id=185754
Reviewed by Mark Lam.
This test is flaky as it keeps failing on certain people's machines.
Having a test about OS footprint seems like it'll forever be doomed
to being flaky.
- API/tests/testapi.mm:
(testObjectiveCAPIMain):
- 6:27 PM Changeset in webkit [231937] by
-
- 13 edits2 adds in trunk
AX: [macOS] Expose the primary screen height through AX API
https://bugs.webkit.org/show_bug.cgi?id=185742
Reviewed by Chris Fleizach.
Source/WebCore:
Added a new attribute to expose the primary screen size on both
WebAccessibilityObjectWrapper and WKAccessibilityWebPageObject.
Test: accessibility/mac/primary-screen-height.html
- WebCore.xcodeproj/project.pbxproj:
- accessibility/mac/WebAccessibilityObjectWrapperMac.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper primaryScreenHeight]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- platform/PlatformScreen.h:
- platform/mac/PlatformScreenMac.mm:
(WebCore::screenRectForPrimaryScreen):
Source/WebKit:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeNames]):
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
Tools:
- DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(attributesOfElement):
- WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::attributesOfElement):
LayoutTests:
- accessibility/mac/primary-screen-height-expected.txt: Added.
- accessibility/mac/primary-screen-height.html: Added.
- 6:19 PM Changeset in webkit [231936] by
-
- 1 copy in tags/Safari-606.1.17.8
Tag Safari-606.1.17.8.
- 5:52 PM Changeset in webkit [231935] by
-
- 7 edits3 adds in trunk
RenderLayer::scrollRectToVisible() should not propagate a subframe's scroll to its cross-origin parent
https://bugs.webkit.org/show_bug.cgi?id=185664
<rdar://problem/36185260>
Reviewed by Simon Fraser.
Source/WebCore:
RenderLayer::scrollRectToVisible() should not propagate a subframe's scroll to its
cross-origin parent. There was logic in FrameLoader::scrollToFragmentWithParentBoundary()
to temporarily set the 'safeToPropagateScrollToParent' flag to false on the cross-origin
ancestor frame during the call to FrameView::scrollToFragment(). This would correctly
prevent RenderLayer::scrollRectToVisible() to propagate the scroll to the cross-origin
ancestor frame when scrollRectToVisible() is called synchronously. However,
scrollRectToVisible() can get called asynchronously in case of a dirty layout, as part
of the post layout tasks.
To address the issue, we get rid of the safeToPropagateScrollToParent flag on FrameView
and instead update FrameView::safeToPropagateScrollToParent() to do the cross-origin
check. FrameView::safeToPropagateScrollToParent() is called by RenderLayer::scrollRectToVisible()
and this is a lot more robust than relying on a flag which gets temporarily set.
Test: http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent.html
- dom/Document.cpp:
- dom/Document.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
- page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::safeToPropagateScrollToParent const):
- page/FrameView.h:
LayoutTests:
Add layout test coverage.
- http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent-expected.txt: Added.
- http/tests/navigation/fragment-navigation-cross-origin-subframe-no-scrolling-parent.html: Added.
- http/tests/navigation/resources/clear-fragment.html: Added.
- 5:17 PM Changeset in webkit [231934] by
-
- 7 edits3 adds in branches/safari-605-branch
Cherry-pick r231871. rdar://problem/40346090
DFG models InstanceOf incorrectly
https://bugs.webkit.org/show_bug.cgi?id=185694
Reviewed by Keith Miller.
JSTests:
- stress/instanceof-proxy-check-structure.js: Added. (Foo): (Bar): (doBadThings): (getPrototypeOf): (foo): (i.new.Bar): (new.Bar):
- stress/instanceof-proxy-loop.js: Added. (Foo): (Bar): (doBadThings): (getPrototypeOf): (foo):
- stress/instanceof-proxy.js: Added. (Foo): (Bar): (doBadThings): (getPrototypeOf): (foo):
Source/JavaScriptCore:
Proxies mean that InstanceOf can have effects. Exceptions mean that it's illegal to DCE it or
hoist it.
- dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h: (JSC::DFG::clobberize):
- dfg/DFGHeapLocation.cpp: (WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNodeType.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:17 PM Changeset in webkit [231933] by
-
- 4 edits in branches/safari-605-branch
Cherry-pick r230533. rdar://problem/40345980
IDN spoofing with Hebrew combining characters
https://bugs.webkit.org/show_bug.cgi?id=184472
<rdar://problem/39148687>
Reviewed by Brent Fulgham.
Source/WebCore:
Covered by new API tests.
- platform/mac/WebCoreNSURLExtras.mm: (WebCore::isLookalikeCharacter): Punycode-encode hosts with Hebrew combining marks that look like dots and Vav with a combining dot above like we do with dotless i and j.
Tools:
- TestWebKitAPI/Tests/WebCore/cocoa/URLExtras.mm: (TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230533 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:04 PM Changeset in webkit [231932] by
-
- 2 edits in trunk/Source/WebCore
[Curl] Enable HTTP/2 Multiplexing
https://bugs.webkit.org/show_bug.cgi?id=185746
Reviewed by Youenn Fablet.
Covered by existing tests.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlMultiHandle::CurlMultiHandle):
- 4:58 PM Changeset in webkit [231931] by
-
- 33 edits in trunk/Source/WebKit
Use CompletionHandlers for DelayedReplies
https://bugs.webkit.org/show_bug.cgi?id=182269
Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-17
Reviewed by Youenn Fablet.
DelayedReplies should be a noncopyable, non-refcountable type. They should be
called once and only once. This is what CompletionHandlers are for.
No change in behavior. Just cleaner code.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
- NetworkProcess/NetworkResourceLoader.h:
- Platform/IPC/HandleMessage.h:
(IPC::callMemberFunctionImpl):
(IPC::callMemberFunction):
(IPC::handleMessageDelayed):
- PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::setInitializationReply):
(WebKit::PluginControllerProxy::takeInitializationReply):
- PluginProcess/PluginControllerProxy.h:
- PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::destroyPlugin):
(WebKit::WebProcessConnection::createPlugin):
(WebKit::WebProcessConnection::createPluginAsynchronously):
- PluginProcess/WebProcessConnection.h:
- Scripts/webkit/LegacyMessageReceiver-expected.cpp:
(Messages::WebPage::GetPluginProcessConnection::send):
(Messages::WebPage::TestMultipleAttributes::send):
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send): Deleted.
- Scripts/webkit/LegacyMessages-expected.h:
- Scripts/webkit/MessageReceiver-expected.cpp:
(Messages::WebPage::GetPluginProcessConnection::send):
(Messages::WebPage::TestMultipleAttributes::send):
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send): Deleted.
- Scripts/webkit/Messages-expected.h:
- Scripts/webkit/messages.py:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::networkProcessFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Plugins/PluginProcessManager.cpp:
(WebKit::PluginProcessManager::getPluginProcessConnection):
- UIProcess/Plugins/PluginProcessManager.h:
- UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didCreateWebProcessConnection):
- UIProcess/Plugins/PluginProcessProxy.h:
- UIProcess/Storage/StorageProcessProxy.cpp:
(WebKit::StorageProcessProxy::getStorageProcessConnection):
(WebKit::StorageProcessProxy::didClose):
(WebKit::StorageProcessProxy::didCreateStorageToWebProcessConnection):
- UIProcess/Storage/StorageProcessProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::getToolbarsAreVisible):
(WebKit::WebPageProxy::getMenuBarIsVisible):
(WebKit::WebPageProxy::getStatusBarIsVisible):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::getStorageProcessConnection):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getStorageProcessConnection):
- UIProcess/WebProcessProxy.h:
- WebProcess/Storage/WebSWContextManagerConnection.cpp:
(WebKit::WebSWContextManagerConnection::syncTerminateWorker):
- WebProcess/Storage/WebSWContextManagerConnection.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::computePagesForPrintingAndDrawToPDF):
- 4:20 PM Changeset in webkit [231930] by
-
- 2 edits in trunk/Source/JavaScriptCore
defaultConstructorSourceCode needs to makeSource every time it's called
https://bugs.webkit.org/show_bug.cgi?id=185753
Rubber-stamped by Mark Lam.
The bug here is multiple VMs can be running concurrently to one another
in the same process. They may each ref/deref something that isn't ThreadSafeRefCounted
if we copy a static SourceCode. instead, we create a new one each time
this function is called.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::defaultConstructorSourceCode):
- 4:03 PM Changeset in webkit [231929] by
-
- 2 edits in trunk/Source/WebCore
Remove unnecessary exit fullscreen call on application resume
https://bugs.webkit.org/show_bug.cgi?id=185747
rdar://problem/40345725
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-05-17
Reviewed by Jer Noble.
No new tests because no behavior change.
Auto-PiP doesn't automatically return to fullscreen on app resume,
so we don't need to keep this vestigial code for handling a corner case of that feature.
Also, this can cause an unnecessary exit fullscreen that could cause debug asserts.
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::applicationDidBecomeActive):
- 3:42 PM Changeset in webkit [231928] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 3:34 PM Changeset in webkit [231927] by
-
- 1 copy in tags/Safari-605.3.2
Tag Safari-605.3.2.
- 3:20 PM Changeset in webkit [231926] by
-
- 3 edits in trunk/Source/WebKit
CRASH in -[WKFullScreenViewController _manager]
https://bugs.webkit.org/show_bug.cgi?id=185745
<rdar://problem/39195241>
Reviewed by Eric Carlson.
Protect against WKFullScreenViewController outliving WKWebView by making its
_webView property weak. Additionally, add a sanity-check RetainPtr where _webView
is referenced multiple times within a function.
- UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController initWithWebView:]):
(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController _completedExitFullScreen]):
(-[WKFullScreenWindowController close]):
(-[WKFullScreenWindowController webViewDidRemoveFromSuperviewWhileInFullscreen]):
(-[WKFullScreenWindowController _exitFullscreenImmediately]):
(-[WKFullScreenWindowController _isSecure]):
(-[WKFullScreenWindowController _serverTrust]):
(-[WKFullScreenWindowController _updateLocationInfo]):
(-[WKFullScreenWindowController _manager]):
(-[WKFullScreenWindowController _startToDismissFullscreenChanged:]):
- 3:17 PM Changeset in webkit [231925] by
-
- 6 edits1 delete in trunk/Tools
Unreviewed, rolling out r231912.
https://bugs.webkit.org/show_bug.cgi?id=185750
It is prompting the user when there is no WPT changes
(Requested by bmac on #webkit).
Reverted changeset:
"Export changes to web-platform-test as part of the webkit-
patch upload workflow"
https://bugs.webkit.org/show_bug.cgi?id=184914
https://trac.webkit.org/changeset/231912
- 3:16 PM Changeset in webkit [231924] by
-
- 2 edits in trunk/Source/WebCore
Fullscreen to PiP results in exit fullscreen call failure
https://bugs.webkit.org/show_bug.cgi?id=185699
rdar://problem/40310291
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-05-17
Reviewed by Eric Carlson.
No new tests because no behavior change.
Prevent multiple exit fullscreen calls when transitioning from fullscreen to picture-in-picture.
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerViewControllerDelegate playerViewControllerShouldAutomaticallyDismissAtPictureInPictureStart:]):
Implement this to prevent AVKit from automatically initiating exit fullscreen on pip.
(VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
Set the return to fullscreen flag here, since this is where exit fullscreen happens.
(VideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
Don't exit fullscreen here since it is already initiated in didStartPictureInPicture.
- 3:15 PM Changeset in webkit [231923] by
-
- 3 edits2 deletes in trunk
Unreviewed, rolling out r231899.
Caused flakiness in two existing modern-media-controls tests.
Reverted changeset:
"[modern-media-controls] AirPlaySupport should be disabled by
default"
https://bugs.webkit.org/show_bug.cgi?id=185658
https://trac.webkit.org/changeset/231899
- 3:12 PM Changeset in webkit [231922] by
-
- 2 edits in trunk/Source/WebKit
Correct default for StorageAccess API
https://bugs.webkit.org/show_bug.cgi?id=185748
<rdar://problem/40220659>
Reviewed by Dean Jackson.
Flip the default state to 'true' so that the new "sticky" state
for Storage Access API and attributing user interaction for
Storage Access API use is applied by default.
- Shared/WebPreferences.yaml:
- 2:48 PM Changeset in webkit [231921] by
-
- 2 edits in trunk/Source/WebCore
[iOS] Update AirPlay route monitoring
https://bugs.webkit.org/show_bug.cgi?id=185706
<rdar://problem/40230677>
Unreviewed, fix extra zoom mode build after r231913.
- platform/audio/ios/MediaSessionManagerIOS.mm:
(-[WebMediaSessionHelper dealloc]):
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]):
- 2:41 PM WebKitGTK/2.20.x edited by
- (diff)
- 2:02 PM Changeset in webkit [231920] by
-
- 4 edits3 adds in trunk
CRASH in ImageDecoderAVFObjC::sampleAtIndex()
https://bugs.webkit.org/show_bug.cgi?id=185734
<rdar://problem/40295094>
Reviewed by Eric Carlson.
Source/WebCore:
Test: fast/images/animated-image-mp4-crash.html
Test the correct size value before iterating over the SampleMap in presentationOrder()
- Modules/mediasource/SampleMap.h:
(WebCore::PresentationOrderSampleMap::size const):
- platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
(WebCore::ImageDecoderAVFObjC::sampleAtIndex const):
LayoutTests:
- fast/images/animated-image-mp4-crash-expected.txt: Added.
- fast/images/animated-image-mp4-crash.html: Added.
- fast/images/resources/two-samples-with-same-pts.mp4: Added.
- 1:52 PM Changeset in webkit [231919] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: expand $INC to find webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=185739
Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-17
Reviewed by Michael Saboff.
- Scripts/test262/Runner.pm:
(getBuildPath):
- 1:40 PM Changeset in webkit [231918] by
-
- 5 edits2 adds in trunk/LayoutTests
REGRESSION (r229831?): Layout Test http/tests/appcache/interrupted-update.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184061
<rdar://problem/38975570>
Reviewed by Alexey Proskuryakov.
Test is flaky as it sometimes reload twice.
Make sure it reloads only once by not relying on localStorage.
Make sure the appcache has not enough time to finish before reloading is done.
This is done by adding more entries to the appcache.
Add a test that sets an item in local storage, reloads and verifies the item is there.
- TestExpectations:
- http/tests/appcache/interrupted-update.html:
- http/tests/appcache/resources/interrupted-update.manifest:
- http/tests/storage/setItem-and-reload-expected.txt: Added.
- http/tests/storage/setItem-and-reload.html: Added.
- 12:30 PM Changeset in webkit [231917] by
-
- 10 edits2 adds in trunk
[WPE] Implement and enable FULLSCREEN_API
https://bugs.webkit.org/show_bug.cgi?id=185676
Reviewed by Žan Doberšek.
.:
Remove the CMake option to disable this option for WPE.
This feature gets enabled now via Source/cmake/WebKitFeatures.cmake
- Source/cmake/OptionsWPE.cmake:
Source/WebKit:
Do the initial implementation of FULLSCREEN_API for WPE and
enable the CMake option by default.
Most of the layout tests (55 of 58) are passing and the feature
seems to work fine on different websites that use it.
- UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
- UIProcess/API/wpe/PageClientImpl.h:
- UIProcess/API/wpe/WPEView.h:
(WKWPE::View::isFullScreen):
(WKWPE::View::setFullScreen):
Tools:
- TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewFullScreen):
LayoutTests:
Enable all the 58 fullscreen related tests.
Are all passing but 3.
- platform/wpe/TestExpectations:
- platform/wpe/fullscreen/full-screen-placeholder-expected.txt: Added. Copied baseline from WebKitGTK+ port.
- 12:26 PM Changeset in webkit [231916] by
-
- 10 edits1 copy1 add1 delete in trunk/Source
Convert CertificateInfo into Credential in UI Process instead of Networking Process
https://bugs.webkit.org/show_bug.cgi?id=185662
<rdar://problem/40275561>
Reviewed by Alex Christensen.
Source/WebKit:
Right now we convert CertificateInfo into Credential in the very last stage of client certificate authentication process
when it reaches Networking Process. This patch moves that conversion earlier in UI Process such that we don't have to
pass both Credential and CertificateInfo to Networking Process.
CertificateInfo is only used in macOS for C API specifically. WK2 includes macOS/iOS relies on NSURLCredential/WebCore::Credential
solely. WK2 has already exercised the ability of using WebCore::Credential to do client certficate authentication. This patch therefore
takes advantage of that. It converts CertficateInfo objects into Credential objects right after WebCredential is initialized, and then merge
any code paths that utilizes CertficateInfo into ones that uses WebCore::Credential.
Covered by existing tests.
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::useCredentialForSingleChallenge):
(WebKit::AuthenticationManager::tryUseCertificateInfoForChallenge): Deleted.
- Shared/Authentication/AuthenticationManager.h:
- Shared/Authentication/AuthenticationManager.messages.in:
- UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
(WebKit::AuthenticationChallengeProxy::useCredential):
- UIProcess/Authentication/WebCredential.cpp:
(WebKit::WebCredential::WebCredential):
(WebKit::WebCredential::certificateInfo): Deleted.
- UIProcess/Authentication/WebCredential.h:
(WebKit::WebCredential::create):
- UIProcess/Authentication/mac/WebCredentialMac.mm: Renamed from Source/WebKit/Shared/Authentication/mac/AuthenticationManager.mac.mm.
(WebKit::leafCertificate):
(WebKit::chain):
(WebKit::WebCredential::WebCredential):
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
Remove marco HAVE_SEC_IDENTITY since it is no longer useful.
- wtf/Platform.h:
- 12:20 PM Changeset in webkit [231915] by
-
- 4 edits1 add in trunk
[Extra zoom mode] Disabled adaptations are not reset upon mainframe navigation
https://bugs.webkit.org/show_bug.cgi?id=185735
<rdar://problem/40335311>
Reviewed by Tim Horton.
Source/WebCore:
When performing mainframe navigation, we currently don't update the Page's ViewportConfiguration's disabled
adaptations. This causes disabled adaptations from the previous main document to persist. To fix this, propagate
the new document's disabled adaptations to the client when it becomes the main document in the page.
Test: fast/viewport/extrazoom/viewport-adaptations-after-navigation.html
- dom/Document.cpp:
(WebCore::Document::didBecomeCurrentDocumentInFrame):
(WebCore::Document::processDisabledAdaptations):
(WebCore::Document::dispatchDisabledAdaptationsDidChangeForMainFrame):
- dom/Document.h:
LayoutTests:
Adds a new layout test that disables extra zoom mode adaptations, navigates to a new document, and checks that
the innerWidth and innerHeight are reset to their expected (default) values.
- fast/viewport/extrazoom/viewport-adaptations-after-navigation.html: Added.
- 11:47 AM Changeset in webkit [231914] by
-
- 2 edits in trunk/Source/WebKit
Ensure valid rects for fullsceen animation.
https://bugs.webkit.org/show_bug.cgi?id=185736
rdar://problem/40320174
Patch by Jeremy Jones <jeremyj@apple.com> on 2018-05-17
Reviewed by Jer Noble.
Protect against zero width and height since those can make for NANs in the animation transforms.
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
- 11:44 AM Changeset in webkit [231913] by
-
- 3 edits in trunk/Source/WebCore
[iOS] Update AirPlay route monitoring
https://bugs.webkit.org/show_bug.cgi?id=185706
<rdar://problem/40230677>
Reviewed by Jer Noble.
Use an AVRouteDetector instead of an MPVolumeView and an MPAVRoutingController for AirPlay
route detection and availability monitoring.
No new tests, tested manually.
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::hasWirelessPlaybackTargets): No need to update m_hasPlaybackTargets
manually, it is always updated by the session manager when route availability changes.
- platform/audio/ios/MediaSessionManagerIOS.mm:
(-[WebMediaSessionHelper dealloc]): Pull the logic from safelyTearDown inline.
(-[WebMediaSessionHelper hasWirelessTargetsAvailable]): Use the AVRouteDetector.
(-[WebMediaSessionHelper startMonitoringAirPlayRoutes]): Ditto. Simplify logic, there is no
need to dispatch twice.
(-[WebMediaSessionHelper stopMonitoringAirPlayRoutes]): Don't release the route detector
completely, just disable route detection, because AVRouteDetector is a lightweight object so
it is not worth the overhead of dealloc/realloc to disable/enable route detection.
(-[WebMediaSessionHelper interruption:]): Use callOnWebThreadOrDispatchAsyncOnMainThread
instead of WebThreadRun so it works correctly in WK2 as well as in WK1.
(-[WebMediaSessionHelper applicationWillEnterForeground:]): Ditto.
(-[WebMediaSessionHelper applicationDidBecomeActive:]): Ditto.
(-[WebMediaSessionHelper applicationWillResignActive:]): Ditto.
(-[WebMediaSessionHelper wirelessRoutesAvailableDidChange:]): Ditto.
(-[WebMediaSessionHelper applicationDidEnterBackground:]): Ditto.
(safelyTearDown): Deleted.
- 11:29 AM Changeset in webkit [231912] by
-
- 6 edits1 add in trunk/Tools
Export changes to web-platform-test as part of the webkit-patch upload workflow
https://bugs.webkit.org/show_bug.cgi?id=184914
Patch by Brendan McLoughlin <brendan@bocoup.com> on 2018-05-17
Reviewed by Youenn Fablet.
- Scripts/webkitpy/tool/commands/upload.py:
(Upload):
(CreateBug.execute):
(WPTChangeExport):
- Scripts/webkitpy/tool/steps/init.py:
- Scripts/webkitpy/tool/steps/wptchangeexport.py: Added.
(WPTChangeExport):
(WPTChangeExport.options):
(WPTChangeExport.run):
- Scripts/webkitpy/w3c/common.py:
- Scripts/webkitpy/w3c/test_exporter.py:
(WebPlatformTestExporter):
(WebPlatformTestExporter.init):
(WebPlatformTestExporter.username):
(WebPlatformTestExporter.token):
(WebPlatformTestExporter._github):
(WebPlatformTestExporter._wpt_fork_branch_github_url):
(WebPlatformTestExporter._wpt_fork_remote):
(WebPlatformTestExporter._wpt_fork_push_url):
(WebPlatformTestExporter._git):
(WebPlatformTestExporter._branch_name):
(WebPlatformTestExporter._public_branch_name):
(WebPlatformTestExporter.has_wpt_changes):
(WebPlatformTestExporter._create_patch):
(WebPlatformTestExporter.create_git_patch):
(WebPlatformTestExporter._prompt_for_token):
(WebPlatformTestExporter._prompt_for_username):
(WebPlatformTestExporter._ensure_username_and_token):
(WebPlatformTestExporter._validate_and_save_token):
(WebPlatformTestExporter.push_to_wpt_fork):
(WebPlatformTestExporter.make_pull_request):
(WebPlatformTestExporter.delete_local_branch):
(parse_args):
(TestExporter): Deleted.
(TestExporter.init): Deleted.
(TestExporter._ensure_wpt_repository): Deleted.
(TestExporter._fetch_wpt_repository): Deleted.
(TestExporter._ensure_new_branch_name): Deleted.
(TestExporter.download_and_commit_patch): Deleted.
(TestExporter.clean): Deleted.
(TestExporter.create_branch_with_patch): Deleted.
(TestExporter.push_to_wpt_fork): Deleted.
(TestExporter.make_pull_request): Deleted.
(TestExporter.create_wpt_pull_request): Deleted.
(TestExporter.delete_local_branch): Deleted.
(TestExporter.create_git_patch): Deleted.
(TestExporter.create_upload_remote_if_needed): Deleted.
(TestExporter.do_export): Deleted.
- Scripts/webkitpy/w3c/test_exporter_unittest.py:
(TestExporterTest.test_export):
(TestExporterTest.test_export_with_specific_branch):
(TestExporterTest):
(TestExporterTest.test_export_interactive_mode):
(TestExporterTest.test_export_invalid_token):
(TestExporterTest.test_export_wrong_token):
- 11:23 AM Changeset in webkit [231911] by
-
- 4 edits10 adds in trunk
Cross-Origin-Options: deny/allow-postmessage should prevent getting navigated by cross-origin scripts
https://bugs.webkit.org/show_bug.cgi?id=185681
<rdar://problem/40296313>
Reviewed by Geoffrey Garen.
Source/WebCore:
Update our canNavigate() implementation [1] to take into account the Cross-Origin-Options header.
If the window being navigated or the window trigerring the navigation have a Cross-Origin-Options
header value different than 'allow', then the attempt to navigate will be blocked.
Note that it was already not possible to navigate via setting window.location since trying to set
it would throw a SecurityError with 'Cross-Origin-Options: deny/allow-postmessage'. However, it was
possible to trigger a "targeted" navigation via <a target="foo"> or open(url, "foo").
[1] https://html.spec.whatwg.org/#allowed-to-navigate
Tests: http/wpt/cross-origin-options/navigation-from-opener-via-open-target.html
http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target.html
- dom/Document.cpp:
(WebCore::Document::canNavigate):
LayoutTests:
Add layout test coverage.
- http/wpt/cross-origin-options/navigation-from-opener-via-open-target-expected.txt: Added.
- http/wpt/cross-origin-options/navigation-from-opener-via-open-target.html: Added.
- http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target-expected.txt: Added.
- http/wpt/cross-origin-options/navigation-from-subframe-via-anchor-target.html: Added.
- http/wpt/cross-origin-options/resources/destination.html: Added.
- http/wpt/cross-origin-options/resources/navigate-parent-via-anchor.html: Added.
- http/wpt/cross-origin-options/resources/navigation-from-subframe-frame.py: Added.
(main):
- http/wpt/cross-origin-options/resources/utils.js:
- 11:16 AM Changeset in webkit [231910] by
-
- 4 edits4 adds in trunk
Storage Access API: Allow documents that have been granted storage access to also do a popup
https://bugs.webkit.org/show_bug.cgi?id=185615
<rdar://problem/39105791>
Reviewed by Chris Dumez.
Source/WebCore:
- dom/Document.cpp:
(WebCore::Document::consumeTemporaryUserGesture): Added. Clear the document's active one-time user
activity (for window opening) state.
(WebCore::Document::enableTemporaryUserGesture): Added. Establish a new active one-time user
activity (for window opening) state.
(WebCore::Document::requestStorageAccess): If the user approves Storage Access, establish a new
UserInteraction scope, then resolve the promise. Also post a task to clear the one-time user
gesture state.
LayoutTests:
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window-expected.txt: Added.
- http/tests/storageAccess/request-and-grant-storage-access-cross-origin-non-sandboxed-iframe-pop-window.html: Added.
- http/tests/storageAccess/resources/request-storage-access-iframe-and-pop-window.html: Added.
- http/tests/storageAccess/resources/request-storage-access-second-window.html: Added.
- 10:54 AM Changeset in webkit [231909] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Introduce DisplayBox::Style
https://bugs.webkit.org/show_bug.cgi?id=185733
Reviewed by Antti Koivisto.
This is the collection of computed style data needed to paint/hittest the display boxtree.
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::createDisplayBox):
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Box):
(WebCore::Display::Box::Style::Style):
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::contentBox const):
- layout/displaytree/DisplayBox.h:
- 10:07 AM Changeset in webkit [231908] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: look for jsc in path if cannot call webkit-build-directory
https://bugs.webkit.org/show_bug.cgi?id=185650
Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-17
Reviewed by Michael Saboff.
First, use jsc from CLI arg, then try to use webkit-build-directory,
if that doesn't work, look for jsc in the $PATH
- Scripts/test262/Runner.pm:
(processCLI):
(getBuildPath):
(runTest):
- 9:37 AM Changeset in webkit [231907] by
-
- 2 edits in trunk
Update touch event tracking type on every touch
https://bugs.webkit.org/show_bug.cgi?id=184250
Patch by Tadeu Zagallo <Tadeu Zagallo>
Reviewed by Geoffrey Garen.
Fixed up some ChangeLog typos.
- 9:34 AM Changeset in webkit [231906] by
-
- 9 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231770. rdar://problem/39915196
[Wi-Fi Assertions] Allow clients to specify a context identifier
https://bugs.webkit.org/show_bug.cgi?id=185620
<rdar://problem/39915196>
Reviewed by Brady Eidson.
Added an SPI on _WKProcessPoolConfiguration that allows clients to specify a
context identifier.
- NetworkProcess/NetworkProcessCreationParameters.cpp: (WebKit::NetworkProcessCreationParameters::encode const): (WebKit::NetworkProcessCreationParameters::decode):
- NetworkProcess/NetworkProcessCreationParameters.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm: (WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
- UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy):
- UIProcess/API/APIProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm: (-[_WKProcessPoolConfiguration wirelessContextIdentifier]): (-[_WKProcessPoolConfiguration setWirelessContextIdentifier:]):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeNetworkProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:18 AM Changeset in webkit [231905] by
-
- 21 edits in trunk/Source/JavaScriptCore
[JSC] Use AssemblyHelpers' type checking functions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=185730
Reviewed by Saam Barati.
Let's use AssemblyHelpers' type checking functions as much as possible. This hides the complex
bit and register operations for type tagging of JSValue. It is really useful when we would like
to tweak type tagging representation since the code is collected into AssemblyHelpers. And
the named function is more readable than some branching operations.
We also remove unnecessary branching functions in JIT / JSInterfaceJIT. Some of them are duplicate
to AssemblyHelpers' one.
We add several new type checking functions to AssemblyHelpers. Moreover, we add branchIfXXX(GPRReg)
functions even for 32bit environment. In 32bit environment, this function takes tag register. This
semantics is aligned to the existing branchIfCell / branchIfNotCell.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateWithGuard):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueToInt32):
(JSC::DFG::SpeculativeJIT::compileDoubleRep):
(JSC::DFG::SpeculativeJIT::compileInstanceOfForObject):
(JSC::DFG::SpeculativeJIT::compileSpread):
(JSC::DFG::SpeculativeJIT::speculateCellTypeWithoutTypeFiltering):
(JSC::DFG::SpeculativeJIT::speculateCellType):
(JSC::DFG::SpeculativeJIT::speculateNumber):
(JSC::DFG::SpeculativeJIT::speculateMisc):
(JSC::DFG::SpeculativeJIT::compileExtractValueFromWeakMapGet):
(JSC::DFG::SpeculativeJIT::compileCreateThis):
(JSC::DFG::SpeculativeJIT::compileGetPrototypeOf):
(JSC::DFG::SpeculativeJIT::compileHasIndexedProperty):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::convertAnyInt):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileAssertNotEmpty):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfInt32):
(JSC::AssemblyHelpers::branchIfNotInt32):
(JSC::AssemblyHelpers::branchIfNumber):
(JSC::AssemblyHelpers::branchIfNotNumber):
(JSC::AssemblyHelpers::branchIfBoolean):
(JSC::AssemblyHelpers::branchIfNotBoolean):
(JSC::AssemblyHelpers::branchIfEmpty):
(JSC::AssemblyHelpers::branchIfNotEmpty):
(JSC::AssemblyHelpers::branchIfUndefined):
(JSC::AssemblyHelpers::branchIfNotUndefined):
(JSC::AssemblyHelpers::branchIfNull):
(JSC::AssemblyHelpers::branchIfNotNull):
- jit/JIT.h:
- jit/JITArithmetic.cpp:
(JSC::JIT::emit_compareAndJump):
(JSC::JIT::emit_compareAndJumpSlow):
- jit/JITArithmetic32_64.cpp:
(JSC::JIT::emit_compareAndJump):
(JSC::JIT::emit_op_unsigned):
(JSC::JIT::emit_op_inc):
(JSC::JIT::emit_op_dec):
(JSC::JIT::emitBinaryDoubleOp):
(JSC::JIT::emit_op_mod):
- jit/JITCall.cpp:
(JSC::JIT::compileCallEval):
(JSC::JIT::compileOpCall):
- jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEval):
(JSC::JIT::compileOpCall):
- jit/JITInlines.h:
(JSC::JIT::emitJumpSlowCaseIfNotJSCell):
(JSC::JIT::emitJumpIfBothJSCells):
(JSC::JIT::emitJumpSlowCaseIfJSCell):
(JSC::JIT::emitJumpIfNotInt):
(JSC::JIT::emitJumpSlowCaseIfNotInt):
(JSC::JIT::emitJumpSlowCaseIfNotNumber):
(JSC::JIT::emitJumpIfCellObject): Deleted.
(JSC::JIT::emitJumpIfCellNotObject): Deleted.
(JSC::JIT::emitJumpIfJSCell): Deleted.
(JSC::JIT::emitJumpIfInt): Deleted.
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::compileOpStrictEqJump):
(JSC::JIT::emit_op_to_number):
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emit_op_check_tdz):
(JSC::JIT::emitNewFuncExprCommon):
(JSC::JIT::emit_op_profile_type):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_instanceof):
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_is_cell_with_type):
(JSC::JIT::emit_op_is_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_not):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_jneq_ptr):
(JSC::JIT::emit_op_eq):
(JSC::JIT::emit_op_jeq):
(JSC::JIT::emit_op_neq):
(JSC::JIT::emit_op_jneq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::compileOpStrictEqJump):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
(JSC::JIT::emit_op_to_number):
(JSC::JIT::emit_op_to_string):
(JSC::JIT::emit_op_to_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emit_op_to_this):
(JSC::JIT::emit_op_check_tdz):
(JSC::JIT::emit_op_profile_type):
- jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emitWriteBarrier):
(JSC::JIT::emitIntTypedArrayPutByVal):
(JSC::JIT::emitFloatTypedArrayPutByVal):
- jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitContiguousLoad):
(JSC::JIT::emitArrayStorageLoad):
(JSC::JIT::emitGetByValWithCachedId):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitPutByValWithCachedId):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):
- jit/JSInterfaceJIT.h:
(JSC::JSInterfaceJIT::emitLoadJSCell):
(JSC::JSInterfaceJIT::emitLoadInt32):
(JSC::JSInterfaceJIT::emitLoadDouble):
(JSC::JSInterfaceJIT::emitJumpIfNumber): Deleted.
(JSC::JSInterfaceJIT::emitJumpIfNotNumber): Deleted.
(JSC::JSInterfaceJIT::emitJumpIfNotType): Deleted.
- jit/Repatch.cpp:
(JSC::linkPolymorphicCall):
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::absThunkGenerator):
- tools/JSDollarVM.cpp:
(WTF::DOMJITNode::checkSubClassSnippet):
(WTF::DOMJITFunctionObject::checkSubClassSnippet):
- 9:16 AM Changeset in webkit [231904] by
-
- 3 edits in trunk/Source/JavaScriptCore
Unreviewed. Fix the build after my attempted build fix broke the build.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::defaultConstructorSourceCode):
(JSC::BuiltinExecutables::createDefaultConstructor):
- builtins/BuiltinExecutables.h:
- 9:12 AM Changeset in webkit [231903] by
-
- 2 edits in trunk/Source/WebKit
Turn Modern EME API on by default and remove it as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=185693
<rdar://problem/39954396>
Reviewed by Eric Carlson.
- Shared/WebPreferences.yaml:
- 9:08 AM Changeset in webkit [231902] by
-
- 13 edits in trunk/Source/JavaScriptCore
[JSC] Remove reifyPropertyNameIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=185350
Reviewed by Saam Barati.
reifyPropertyNameIfNeeded is in the middle of putDirectInternal, which is super critical path.
This is a virtual call, and it is only used by JSFunction right now. Since this causes too much
cost, we should remove this from the critical path.
This patch removes this function call from the critical path. And in our slow paths, we call
helper functions which calls reifyLazyPropertyIfNeeded if the given value is a JSFunction.
While putDirect is a bit raw API, our slow paths just call it. This helper wraps this calls
and care the edge cases. The other callsites of putDirect should know the type of the given
object and the name of the property (And avoid these edge cases).
This improves SixSpeed/object-assign.es6 by ~4% on MacBook Pro. And this patch does not cause
regressions of the existing tests.
baseline patched
Kraken:
json-parse-financial 35.522+-0.069 34.708+-0.097 definitely 1.0234x faster
SixSpeed:
object-assign.es6 145.8779+-0.2838 140.1019+-0.8007 definitely 1.0412x faster
- dfg/DFGOperations.cpp:
(JSC::DFG::putByValInternal):
(JSC::DFG::putByValCellInternal):
- jit/JITOperations.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- runtime/ClassInfo.h:
- runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::putDirectWithReify):
(JSC::CommonSlowPaths::putDirectAccessorWithReify):
- runtime/JSCell.cpp:
(JSC::JSCell::reifyPropertyNameIfNeeded): Deleted.
- runtime/JSCell.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::reifyPropertyNameIfNeeded): Deleted.
- runtime/JSFunction.h:
- runtime/JSObject.cpp:
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::putDirectNonIndexAccessor):
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):
- 9:03 AM Changeset in webkit [231901] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. Try to fix windows build.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::defaultConstructorSourceCode):
- 8:52 AM Changeset in webkit [231900] by
-
- 2 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231893. rdar://problem/40247351
Safari optimized flow should be releasing viewer to prevent memory growth with subsequent launches/closes
https://bugs.webkit.org/show_bug.cgi?id=185722
<rdar://problem/40247351>
Reviewed by Antoine Quint.
I made a rookie mistake in the original patch: I was holding a strong
reference to "self" in a block, which was causing a retain cycle.
Replace that with a WeakObjCPtr.
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: (-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231893 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:34 AM Changeset in webkit [231899] by
-
- 3 edits2 adds in trunk
[modern-media-controls] AirPlaySupport should be disabled by default
https://bugs.webkit.org/show_bug.cgi?id=185658
<rdar://problem/40272213>
Patch by Antoine Quint <Antoine Quint> on 2018-05-17
Reviewed by Simon Fraser.
Source/WebCore:
We now only enable AirplaySupport if the controls are visible to the user _and_ media has played.
Test: media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play.html
- Modules/modern-media-controls/media/airplay-support.js:
(AirplaySupport.prototype.enable):
(AirplaySupport.prototype.controlsUserVisibilityDidChange):
(AirplaySupport.prototype._shouldBeEnabled):
(AirplaySupport):
LayoutTests:
Add a new test that checks that we create an AirplaySupport object only after media has started playing.
- media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play-expected.txt: Added.
- media/modern-media-controls/airplay-support/airplay-support-disable-event-listeners-until-play.html: Added.
- 8:27 AM Changeset in webkit [231898] by
-
- 1 edit2 deletes in trunk/LayoutTests
Remove cssom-remove-shorthand-property.html test
https://bugs.webkit.org/show_bug.cgi?id=185727
Patch by Rob Buis <rbuis@igalia.com> on 2018-05-17
Reviewed by Frédéric Wang.
Exact same test is contained in WPT:
cssom/cssom-setProperty-shorthand.html
- fast/css/cssom-remove-shorthand-property-expected.txt: Removed.
- fast/css/cssom-remove-shorthand-property.html: Removed.
- 8:24 AM Changeset in webkit [231897] by
-
- 5 edits in trunk/Source/WebCore
[LFC] Replace ASSERT_NOT_REACHED with ASSERT_NOT_IMPLEMENTED_YET where applicable.
https://bugs.webkit.org/show_bug.cgi?id=185728
Reviewed by Antti Koivisto.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const): leftover from previous patch.
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedHeight const):
(WebCore::Layout::FormattingContext::computeReplacedWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedWidth const):
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::styleChanged):
(WebCore::Layout::LayoutContext::formattingContext):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeInFlowNonReplacedWidth const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
(WebCore::Layout::BlockFormattingContext::computeInFlowNonReplacedHeight const):
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::createSubTree):
- 7:29 AM Changeset in webkit [231896] by
-
- 3 edits in trunk/Source/WTF
Add ASSERT_NOT_IMPLEMENTED_YET() macro
https://bugs.webkit.org/show_bug.cgi?id=185713
Reviewed by Antti Koivisto.
To mark unimplemented code paths.
- wtf/Assertions.cpp:
- wtf/Assertions.h:
- 7:11 AM Changeset in webkit [231895] by
-
- 7 edits2 adds in trunk/Source/WebCore
[LFC] Move replaced logic from Layout::Box to Layout::Replaced class
https://bugs.webkit.org/show_bug.cgi?id=185711
Reviewed by Antti Koivisto.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowWidth const):
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowHeight const):
(WebCore::Layout::FormattingContext::computeInFlowReplacedWidth const):
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
(WebCore::Layout::BlockFormattingContext::computeInFlowHeight const):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::isReplaced const): Deleted.
(WebCore::Layout::Box::hasIntrinsicWidth const): Deleted.
(WebCore::Layout::Box::hasIntrinsicHeight const): Deleted.
(WebCore::Layout::Box::hasIntrinsicRatio const): Deleted.
(WebCore::Layout::Box::intrinsicWidth const): Deleted.
(WebCore::Layout::Box::intrinsicHeight const): Deleted.
(WebCore::Layout::Box::intrinsicRatio const): Deleted.
- layout/layouttree/LayoutBox.h:
(WebCore::Layout::Box::replaced const):
- 7:07 AM Changeset in webkit [231894] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Implement width computation for replaced out if flow elements.
https://bugs.webkit.org/show_bug.cgi?id=185701
Reviewed by Antti Koivisto.
The used value of 'width' is determined as for inline replaced elements.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedHeight const):
(WebCore::Layout::FormattingContext::computeOutOfFlowNonReplacedWidth const):
(WebCore::Layout::FormattingContext::computeOutOfFlowReplacedWidth const):
- layout/FormattingContext.h:
- 4:30 AM Changeset in webkit [231893] by
-
- 2 edits in trunk/Source/WebKit
Safari optimized flow should be releasing viewer to prevent memory growth with subsequent launches/closes
https://bugs.webkit.org/show_bug.cgi?id=185722
<rdar://problem/40247351>
Reviewed by Antoine Quint.
I made a rookie mistake in the original patch: I was holding a strong
reference to "self" in a block, which was causing a retain cycle.
Replace that with a WeakObjCPtr.
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm:
(-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]):
- 3:17 AM Changeset in webkit [231892] by
-
- 8 edits2 deletes in trunk/LayoutTests
[GTK][WPE] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=185718
Unreviewed test gardening.
- accessibility/gtk/spans-expected.txt: rebaseline for r231717.
- accessibility/gtk/spans-paragraphs-and-divs-expected.txt: rebaseline for r231717.
- js/script-tests/intl-numberformat-format-to-parts.js: skip (bug 185714).
- js/script-tests/intl-pluralrules.js: skip (bug 185714).
- platform/gtk/TestExpectations: skip new Intl tests (bug 185714).
- platform/gtk/editing/deleting/delete-emoji-1-expected.txt: rebaseline for r231630.
- platform/gtk/editing/deleting/delete-emoji-expected.txt: rebaseline for r231630.
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any-expected.txt: Removed (platform-neutral expectation file applies since r231000).
- platform/gtk/imported/w3c/web-platform-tests/fetch/api/basic/scheme-about.any.worker-expected.txt: Removed (platform-neutral expectation file applies since r231000).
- 2:44 AM WebKitGTK/Gardening/Calendar edited by
- Update calendar; +log (diff)
- 1:16 AM Changeset in webkit [231891] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer]: Consider GstStream(Collection) as if if was not a GInitiallyUnowned
https://bugs.webkit.org/show_bug.cgi?id=185657
Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-05-17
Reviewed by Philippe Normand.
Starting with GStreamer 1.14[1] the reference is sunk at object creation time, making it a normal
GObject in practice, in our GRefPtr template implementation we should just consider GstStream
as if it was a normal GObject and not care about its floating reference state as
the ref is never sunk by anyone before 1.14 though that floating ref is considered
as a hard reference by the GstStreamCollection (leading to assertions/)
The exact same issue happens with GstStreamCollection, so fix it at the same time.
Also do not adoptRef() on the result of gst_stream_collection_get_stream() as this function
is transfer-none.
[1] commit f119e93b47efb06ffc68c01d3e094d5346c30041
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF::refGPtr<GstStream>):
(WTF::refGPtr<GstStreamCollection>):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
May 16, 2018:
- 11:54 PM Changeset in webkit [231890] by
-
- 12 edits1 add1 delete in trunk/LayoutTests
[WinCairo] Unreviewed gardening after WinCairoRequirements update.
- platform/wincairo/TestExpectations:
- platform/wincairo/editing/deleting/delete-emoji-1-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-2-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-3-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-4-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-5-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-6-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-7-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-8-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-9-expected.txt:
- platform/wincairo/editing/deleting/delete-emoji-expected.txt:
- platform/wincairo/editing/deleting/regional-indicators-expected.txt: Removed.
- platform/wincairo/editing/style/create-block-for-style-006-expected.png: Added.
- 10:21 PM Changeset in webkit [231889] by
-
- 6 edits in trunk/Source/JavaScriptCore
UnlinkedFunctionExecutable doesn't need a parent source override field since it's only used for default class constructors
https://bugs.webkit.org/show_bug.cgi?id=185637
Reviewed by Keith Miller.
We had this general mechanism for overriding an UnlinkedFunctionExecutable's parent
source code. However, we were only using this for default class constructors. There
are only two types of default class constructors. This patch makes it so that
we just store this information inside of a single bit, and ask for the source
code as needed instead of holding it in a nullable field that is 24 bytes in size.
This brings UnlinkedFunctionExecutable's size down from 184 bytes to 160 bytes.
This has the consequence of making it allocated out of a 160 byte size class
instead of a 224 byte size class. This should bring down its memory footprint
by ~40%.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::defaultConstructorSourceCode):
(JSC::BuiltinExecutables::createDefaultConstructor):
(JSC::BuiltinExecutables::createExecutable):
- builtins/BuiltinExecutables.h:
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::link):
- bytecode/UnlinkedFunctionExecutable.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getUnlinkedGlobalFunctionExecutable):
- 10:21 PM Changeset in webkit [231888] by
-
- 2 edits in trunk/Source/JavaScriptCore
VM::shrinkFootprint should call collectNow(Sync) instead of collectSync so it also eagerly sweeps
https://bugs.webkit.org/show_bug.cgi?id=185707
Reviewed by Mark Lam.
- runtime/VM.cpp:
(JSC::VM::shrinkFootprint):
- 10:11 PM Changeset in webkit [231887] by
-
- 18 edits2 adds in branches/safari-606.1.17-branch/Source/JavaScriptCore
Cherry-pick r231719. rdar://problem/40054982
Unreviewed, rolling out r231316 and r231332.
https://bugs.webkit.org/show_bug.cgi?id=185564
Appears to be a Speedometer2/MotionMark regression (Requested
by keith_miller on #webkit).
Reverted changesets:
"Remove the prototype caching for get_by_id in the LLInt"
https://bugs.webkit.org/show_bug.cgi?id=185226
https://trac.webkit.org/changeset/231316
"Unreviewed, fix 32-bit profile offset for change in bytecode"
https://trac.webkit.org/changeset/231332
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:27 PM Changeset in webkit [231886] by
-
- 9 edits6 adds in trunk
[ESNext][BigInt] Implement support for "/" operation
https://bugs.webkit.org/show_bug.cgi?id=183996
Reviewed by Yusuke Suzuki.
JSTests:
- bigIntTests.yaml:
- stress/big-int-div-jit.js: Added.
- stress/big-int-div-memory-stress.js: Added.
- stress/big-int-div-to-primitive-precedence.js: Added.
- stress/big-int-div-to-primitive.js: Added.
- stress/big-int-div-type-error.js: Added.
- stress/big-int-div-wrapped-value.js: Added.
- stress/big-int-division.js: Added.
Source/JavaScriptCore:
This patch is introducing the support for BigInt into divide
operation int LLInt and JIT layers.
- dfg/DFGOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::divide):
(JSC::JSBigInt::copy):
(JSC::JSBigInt::unaryMinus):
(JSC::JSBigInt::absoluteCompare):
(JSC::JSBigInt::absoluteDivLarge):
(JSC::JSBigInt::productGreaterThan):
(JSC::JSBigInt::inplaceAdd):
(JSC::JSBigInt::inplaceSub):
(JSC::JSBigInt::inplaceRightShift):
(JSC::JSBigInt::specialLeftShift):
(JSC::JSBigInt::digit):
(JSC::JSBigInt::setDigit):
- runtime/JSBigInt.h:
- 8:58 PM Changeset in webkit [231885] by
-
- 2 edits in branches/safari-606.1.17-branch/Source/WebCore
Cherry-pick r231784. rdar://problem/39999778
Unreviewed, fix the iOS build after r231779
Also address a minor in-person review comment by returning "extrazoom" instead of the empty string.
- page/DisabledAdaptations.cpp: (WebCore::extraZoomModeAdaptationName):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231784 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:53 PM Changeset in webkit [231884] by
-
- 33 edits2 copies1 add1 delete in branches/safari-606.1.17-branch
Cherry-pick r231779. rdar://problem/39999778
[Extra zoom mode] Google search results are excessively zoomed in
https://bugs.webkit.org/show_bug.cgi?id=185347
<rdar://problem/39999778>
Reviewed by Tim Horton.
Source/WebCore:
It turns out that basing minimum layout size and shrink-to-fit behaviors off of the
shrink-to-fit
viewport
argument poses compatibility risks with web pages that already specifyshrink-to-fit
to opt out of default
viewport shrinking behaviors in 1/3 multitasking mode on iPad.
One way to resolve this is to introduce a new viewport meta content attribute to disable viewport heuristics in
extra zoom mode. However, combined shrink-to-fit and minimum device width behaviors are difficult to describe
using a single backwards-compatible viewport meta content attribute, and the need to suppress the default
behavior ofshrink-to-fit=no
if such an attribute is not disabled further muddles our viewport story.
After some internal deliberation, we’ve decided to experiment with a new meta tag named "disabled-adaptations".
The content of this meta tag is a comma-separated list of adaptation names; if an adaptation name matches a
known adaptation type (for instance, extra zoom mode), we disable the class of behaviors used to adapt web
content. The first and only known adaptation type is extra zoom mode, which affectsshrink-to-fit
and layout
size adjustments.
See per-method changes below for more details.
Test: fast/viewport/extrazoom/viewport-disable-extra-zoom-adaptations.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp: (WebCore::Document::processDisabledAdaptations):
- dom/Document.h: (WebCore::Document::disabledAdaptations const):
Add disabled adaptations to Document. Changes to disabled adaptations are not propagated if the parsed disabled
adaptation types don't change; upon changing adaptation types, notify the client to adjust for the new disabled
adaptations (currently, this only affects the viewport configuration).
- dom/ViewportArguments.h:
- html/HTMLMetaElement.cpp: (WebCore::HTMLMetaElement::process):
- html/parser/HTMLPreloadScanner.cpp: (WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): (WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
- loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad):
Restore the set of disabled adaptations when restoring a page from the cache.
- page/Chrome.cpp: (WebCore::Chrome::dispatchDisabledAdaptationsDidChange const):
- page/Chrome.h:
- page/ChromeClient.h:
Add plumbing for changes to the set of disabled adaptations.
- page/DisabledAdaptations.cpp: Added. (WebCore::extraZoomModeAdaptationName):
- page/DisabledAdaptations.h: Added.
Introduce a header containing a new enum for the extra zoom mode adaptation, as well as a helper function to
return the extra zoom mode adaptation name.
- page/Page.cpp: (WebCore::Page::disabledAdaptations const):
Returns the mainframe's set of adaptations to disable.
- page/Page.h:
- page/RemoteFrame.h:
- page/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setDisabledAdaptationsMetaTagEnabled): (WebCore::RuntimeEnabledFeatures::disabledAdaptationsMetaTagEnabled const):
Add a new runtime feature to gate handling the "disabled-adaptations" meta tag.
- page/ViewportConfiguration.cpp: (WebCore::shouldOverrideShrinkToFitArgument): (WebCore::needsUpdateAfterChangingDisabledAdaptations): (WebCore::ViewportConfiguration::setDisabledAdaptations): (WebCore::ViewportConfiguration::shouldOverrideDeviceWidthAndShrinkToFit const):
Consult whether or not extra zoom mode adaptations are disabled, instead of the shrink-to-fit attribute value.
(WebCore::ViewportConfiguration::updateConfiguration):
- page/ViewportConfiguration.h:
Add an OptionSet of disabled adaptation types to ViewportConfiguration. Updates to the adaptation type are
propagated to the ViewportConfiguration from Document, through the ChromeClient and the client layer (refer to
changes in WebKit). Once the OptionSet is changed, we recompute the viewport configuration only if needed by the
platform.
(WebCore::ViewportConfiguration::viewLayoutSize const):
(WebCore::ViewportConfiguration::disabledAdaptations const):
- page/WindowFeatures.cpp: (WebCore::parseDisabledAdaptations):
- page/WindowFeatures.h:
Add a new helper to parse the meta content of a "disabled-adaptations" tag as an OptionSet of disabled
adaptation types. The string is parsed by first splitting on the comma character, and then iterating over lower
case, whitespace-stripped tokens to look for known adaptation names. So far, only extra zoom mode is supported.
- testing/Internals.cpp: (WebCore::Internals::extraZoomModeAdaptationName const):
- testing/Internals.h:
- testing/Internals.idl:
Expose the extra zoom mode adaptation name to the DOM, only when running layout tests.
Source/WebKit:
Adds a new experimental feature for the "disabled-adaptations" meta tag, and adds plumbing in WebKit to
propagate disabled adaptation changes to the ViewportConfiguration. The experimental feature is on by default in
extra zoom mode.
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::dispatchDisabledAdaptationsDidChange const):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::disabledAdaptationsDidChange):
- WebProcess/WebPage/WebPage.h:
Source/WebKitLegacy/ios:
Adds a WebKitLegacy method stub for disabled adaptation plumbing.
- WebCoreSupport/WebChromeClientIOS.h:
- WebCoreSupport/WebChromeClientIOS.mm: (WebChromeClientIOS::dispatchDisabledAdaptationsDidChange const):
LayoutTests:
Refactor an existing layout test to exercise disabled adaptations in extra zoom mode.
- fast/viewport/extrazoom/viewport-change-min-device-width.html: Removed.
- fast/viewport/extrazoom/viewport-disable-extra-zoom-adaptations.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:54 PM Changeset in webkit [231883] by
-
- 2 edits in trunk
[WinCairo] Update WinCairoRequirements
https://bugs.webkit.org/show_bug.cgi?id=185700
Reviewed by Per Arne Vollan.
- Source/cmake/OptionsWinCairo.cmake:
- 6:49 PM Changeset in webkit [231882] by
-
- 11 edits2 adds in trunk
Constant fold CheckTypeInfoFlags on ImplementsDefaultHasInstance
https://bugs.webkit.org/show_bug.cgi?id=185670
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/constant-fold-check-type-info-flags.js: Added.
- stress/dont-constant-fold-check-type-info-on-bound-function.js: Added.
Source/JavaScriptCore:
This patch makes it so that we constant fold CheckTypeInfoFlags for
ImplementsDefaultHasInstance inside of AI/constant folding. We constant
fold in three ways:
- When the incoming value is a constant, we just look at its inline type
flags. Since those flags never change after an object is created, this
is sound.
- Based on the incoming value having a finite structure set. We just iterate
all structures and ensure they have the bit set.
- Based on speculated type. To do this, I split up SpecFunction into two
subheaps where one is for functions that have the bit set, and one for
functions that don't have the bit set. The latter is currently only comprised
of JSBoundFunctions. To constant fold, we check that the incoming
value only has the SpecFunction type with ImplementsDefaultHasInstance set.
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfo):
- bytecode/SpeculatedType.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckTypeInfoFlags):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- runtime/JSFunction.cpp:
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::assertTypeInfoFlagInvariants):
- runtime/JSFunction.h:
(JSC::JSFunction::assertTypeInfoFlagInvariants):
- runtime/JSFunctionInlines.h:
(JSC::JSFunction::JSFunction):
- 6:37 PM Changeset in webkit [231881] by
-
- 13 edits in trunk/Source
Web Inspector: create a navigation item for toggling the overlay rulers/guides
https://bugs.webkit.org/show_bug.cgi?id=185644
Reviewed by Matt Baker.
Source/JavaScriptCore:
- inspector/protocol/OverlayTypes.json:
- inspector/protocol/Page.json:
Source/WebCore:
This patch is purely a visual change for WebInspector, and doesn't affect anything else.
- inspector/agents/InspectorPageAgent.h:
- inspector/agents/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setShowRulers): Added.
- inspector/InspectorOverlay.h:
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::shouldShowOverlay):
(WebCore::InspectorOverlay::update):
(WebCore::InspectorOverlay::setShowRulers): Added.
(WebCore::InspectorOverlay::drawRulers): Added.
(WebCore::InspectorOverlay::reset):
- inspector/InspectorOverlayPage.js:
(drawNodeHighlight):
(drawQuadHighlight):
(drawRulers): Added.
(_drawBounds): Added.
(reset):
(_drawRulers): Deleted.
Source/WebInspectorUI:
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Setting.js:
- UserInterface/Views/DOMTreeContentView.js:
(WI.DOMTreeContentView):
(WI.DOMTreeContentView.prototype.get navigationItems):
(WI.DOMTreeContentView.prototype.closed):
(WI.DOMTreeContentView.prototype._showRulersChanged): Added.
(WI.DOMTreeContentView.prototype._toggleShowRulers): Added.
- 5:33 PM Changeset in webkit [231880] by
-
- 5 edits in trunk/LayoutTests
LayoutTest storage/indexeddb/dont-wedge-private.html is a flaky failure
<rdar://problem/38975304> and https://bugs.webkit.org/show_bug.cgi?id=184058
Reviewed by Andy Estes.
Make the asynchronous IDB part of this test take way, way longer to always give the location change a chance to happen.
- TestExpectations:
- storage/indexeddb/dont-wedge-expected.txt:
- storage/indexeddb/dont-wedge-private-expected.txt:
- storage/indexeddb/resources/dont-wedge.js:
(openDatabase1.request.onupgradeneeded.openOnUpgradeNeeded1.putter):
(openDatabase1.request.onupgradeneeded):
- 5:28 PM Changeset in webkit [231879] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r229093)[macOS] Allow network-outbound for syslog use
https://bugs.webkit.org/show_bug.cgi?id=185703
<rdar://problem/39778918>
Reviewed by Eric Carlson.
In r229093 I removed the 'network-outbound' permission for syslog use.
Further testing has shown that this is still needed for subsystem
logging in our bundle loading code.
This patch re-enabled network-outbound for syslog.
- WebProcess/com.apple.WebProcess.sb.in:
- 4:38 PM Changeset in webkit [231878] by
-
- 9 edits6 deletes in trunk
Unreviewed, rolling out r231845.
https://bugs.webkit.org/show_bug.cgi?id=185702
it is breaking Apple High Sierra 32-bit JSC bot (Requested by
caiolima on #webkit).
Reverted changeset:
"[ESNext][BigInt] Implement support for "/" operation"
https://bugs.webkit.org/show_bug.cgi?id=183996
https://trac.webkit.org/changeset/231845
- 4:31 PM Changeset in webkit [231877] by
-
- 2 edits1 add in trunk/LayoutTests
[WinCairo] Unreviewed gardening before WinCairoRequirements update.
- platform/wincairo/TestExpectations:
- platform/wincairo/fast/dom/adopt-node-crash-2-expected.txt: Added.
- 4:03 PM Changeset in webkit [231876] by
-
- 2 edits in trunk/Source/WebCore
[GTK] SoupNetworkSession.h:68:62: error: unknown type name 'URL'
https://bugs.webkit.org/show_bug.cgi?id=185378
Unreviewed, just replace unneeded #include with a forward declaration
- platform/network/soup/SoupNetworkSession.h:
- 3:18 PM Changeset in webkit [231875] by
-
- 2 edits in trunk/LayoutTests
Mark imported/mozilla/css-transitions/test_event-dispatch.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=183843
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 3:15 PM Changeset in webkit [231874] by
-
- 2 edits in trunk/Tools
Test262-Runner: Adds a --timeout option
https://bugs.webkit.org/show_bug.cgi?id=185696
Patch by Leo Balter <Leo Balter> on 2018-05-16
Reviewed by Michael Saboff.
The timeout option is used to set a timeout execution in ms for each test run in JSC.
The passed value - if defined - will be used as the value for the JSC --watchdog arg.
- Scripts/test262/Runner.pm:
(processCLI):
(runTest):
- 2:46 PM Changeset in webkit [231873] by
-
- 2 edits in trunk/Tools
Test262-Runner: Set timer for each test run
https://bugs.webkit.org/show_bug.cgi?id=185692
Patch by Leo Balter <Leo Balter> on 2018-05-16
Reviewed by Michael Saboff.
Sets a high resolution timer for each execution call of JSC, reporting
the time in the results report to allow identifying slow tests.
- Scripts/test262/Runner.pm:
(main):
(processFile):
(runTest):
(processResult):
- 2:23 PM Changeset in webkit [231872] by
-
- 2 edits in trunk/Source/WebCore
CRASH: Exception thrown from -[AVContentKeySession processContentKeyRequestWithIdentifier:initializationData:options:] after -expire called
https://bugs.webkit.org/show_bug.cgi?id=185690
<rdar://problem/38297768>
Reviewed by Eric Carlson.
Reject all calls to update() after close() has been called on the session.
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::update):
- 2:02 PM Changeset in webkit [231871] by
-
- 7 edits3 adds in trunk
DFG models InstanceOf incorrectly
https://bugs.webkit.org/show_bug.cgi?id=185694
Reviewed by Keith Miller.
JSTests:
- stress/instanceof-proxy-check-structure.js: Added.
(Foo):
(Bar):
(doBadThings):
(getPrototypeOf):
(foo):
(i.new.Bar):
(new.Bar):
- stress/instanceof-proxy-loop.js: Added.
(Foo):
(Bar):
(doBadThings):
(getPrototypeOf):
(foo):
- stress/instanceof-proxy.js: Added.
(Foo):
(Bar):
(doBadThings):
(getPrototypeOf):
(foo):
Source/JavaScriptCore:
Proxies mean that InstanceOf can have effects. Exceptions mean that it's illegal to DCE it or
hoist it.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGHeapLocation.h:
- dfg/DFGNodeType.h:
- 1:55 PM Changeset in webkit [231870] by
-
- 1 copy in tags/Safari-606.1.17.7
Tag Safari-606.1.17.7.
- 1:53 PM Changeset in webkit [231869] by
-
- 7 edits in branches/safari-606.1.17-branch/Source
Versioning.
- 1:46 PM Changeset in webkit [231868] by
-
- 9 copies1 add in releases/Apple/Safari Technology Preview 56
Added a tag for Safari Technology Preview release 56.
- 1:38 PM Changeset in webkit [231867] by
-
- 27 edits3 adds in trunk
Add support for Intl NumberFormat formatToParts
https://bugs.webkit.org/show_bug.cgi?id=185375
Patch by Andy VanWagoner <andy@vanwagoner.family> on 2018-05-16
Reviewed by Yusuke Suzuki.
.:
Add flag for NumberFormat formatToParts.
- Source/cmake/OptionsJSCOnly.cmake:
- Source/cmake/WebKitFeatures.cmake:
Source/JavaScriptCore:
Add flag for NumberFormat formatToParts. Implement formatToParts using
unum_formatDoubleForFields. Because the fields are nested and come back
in no guaranteed order, the simple algorithm to convert them to the
desired format is roughly O(n2). However, even with Number.MAX_VALUE
it appears to perform well enough for the initial implementation. Another
issue has been created to improve this algorithm.
This requires ICU v59+ for unum_formatDoubleForFields, so it is disabled
on macOS, since only v57 is available.
- Configurations/FeatureDefines.xcconfig:
- runtime/IntlNumberFormat.cpp:
(JSC::IntlNumberFormat::UFieldPositionIteratorDeleter::operator() const):
(JSC::IntlNumberFormat::partTypeString):
(JSC::IntlNumberFormat::formatToParts):
- runtime/IntlNumberFormat.h:
- runtime/IntlNumberFormatPrototype.cpp:
(JSC::IntlNumberFormatPrototype::create):
(JSC::IntlNumberFormatPrototype::finishCreation):
(JSC::IntlNumberFormatPrototypeFuncFormatToParts):
- runtime/IntlNumberFormatPrototype.h:
- runtime/Options.h:
Source/WebCore:
Test: js/intl-numberformat-format-to-parts.html
Add flag & tests for NumberFormat formatToParts.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
Add flag for NumberFormat formatToParts.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
Add flag for NumberFormat formatToParts.
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
Add flag for NumberFormat formatToParts.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
Add flag for NumberFormat formatToParts.
- wtf/FeatureDefines.h:
Tools:
Add flag for NumberFormat formatToParts.
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
Add tests for NumberFormat formatToParts. Tests are expected to fail on
macOS until ICU is updated to v59 or newer.
- js/intl-numberformat-format-to-parts-expected.txt: Added.
- js/intl-numberformat-format-to-parts.html: Added.
- js/script-tests/intl-numberformat-format-to-parts.js: Added.
- platform/ios-simulator/TestExpectations:
- platform/mac/TestExpectations:
- platform/win/TestExpectations:
- 1:36 PM Changeset in webkit [231866] by
-
- 13 edits4 adds in trunk
Improve NowPlaying "title"
https://bugs.webkit.org/show_bug.cgi?id=185680
<rdar://problem/40296700>
Reviewed by Jer Noble.
Source/WebCore:
We send NowPlaying the element's title attribute if not empty, else the element's current url.
Title should be preferred because it is the most specific, but we should use the document
title if non-empty next, and if falling back to the element's url use just the domain instead
of the full url because it isn't likely to be useful to the user given the small amount of
space control center uses to display the title. Further, don't use any title at all when
in private browsing mode.
Tests: http/tests/media/now-playing-info-private-browsing.html
http/tests/media/now-playing-info.html
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Update NowPlaying when the title attribute changes.
(WebCore::HTMLMediaElement::finishSeek): Update NowPlaying when a seek completes.
(WebCore::HTMLMediaElement::mediaSessionTitle const): Update logic.
(WebCore::HTMLMediaElement::mediaSessionUniqueIdentifier const): Use the hash of the current
url as the unique identifier.
- html/HTMLMediaElement.h:
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::uniqueIdentifier const): New.
(WebCore::PlatformMediaSessionClient::mediaSessionUniqueIdentifier const): Ditto.
- platform/audio/PlatformMediaSession.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Update m_lastUpdatedNowPlayingInfoUniqueIdentifier.
- platform/audio/mac/MediaSessionManagerMac.mm:
(WebCore::MediaSessionManagerMac::updateNowPlayingInfo): Update.
- testing/Internals.cpp:
(WebCore::Internals::nowPlayingState const): Expose NowPlaying state.
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- http/tests/media/now-playing-info-expected.txt: Added.
- http/tests/media/now-playing-info-private-browsing-expected.txt: Added.
- http/tests/media/now-playing-info-private-browsing.html: Added.
- http/tests/media/now-playing-info.html: Added.
- platform/gtk/TestExpectations:
- 1:24 PM Changeset in webkit [231865] by
-
- 2 edits in trunk/LayoutTests
Layout Test webrtc/addICECandidate-closed.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=185384
<rdar://problem/40035167>
Reviewed by Eric Carlson.
- webrtc/addICECandidate-closed.html:
Handle sometimes rejected promise to remove a line
in the -expected.txt file that is sometimes added.
- 12:46 PM Changeset in webkit [231864] by
-
- 2 edits in trunk/Source/WTF
Unreviewed, follow-up after r231762
https://bugs.webkit.org/show_bug.cgi?id=185589
Addresses darin's suggestions to improve timeClip.
- wtf/DateMath.cpp:
(WTF::timeClip):
- 12:39 PM Changeset in webkit [231863] by
-
- 2 edits in trunk/Source/WebKit
[Wi-Fi Assertions] Adopt WiFiAssertionHolderAdditions
https://bugs.webkit.org/show_bug.cgi?id=185685
<rdar://problem/40136681>
Reviewed by Sam Weinig.
- NetworkProcess/cocoa/WiFiAssertionHolder.cpp:
(WebKit::WiFiAssertionHolder::WiFiAssertionHolder):
(WebKit::WiFiAssertionHolder::~WiFiAssertionHolder):
(WebKit::ensureWiFiManagerClient): Deleted.
- 12:34 PM Changeset in webkit [231862] by
-
- 2 edits in trunk/Source/WebCore
Attempt to fix the WinCairo build following r231859
(https://bugs.webkit.org/show_bug.cgi?id=185654)
Instantiate Cookie as a struct and set applicable fields.
- platform/network/curl/CookieJarDB.cpp:
(WebCore::CookieJarDB::searchCookies):
- 12:11 PM Changeset in webkit [231861] by
-
- 5 edits in trunk/LayoutTests
REGRESSION (r229735): LayoutTest http/wpt/service-workers/third-party-registration.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=183860
<rdar://problem/38975251>
Reviewed by Geoffrey Garen.
Make test more robust by introducing a timeout and better failure reporting.
Mark test as Pass/Fail to start gathering results on test stability.
- http/wpt/service-workers/resources/third-party-registration-frame.html:
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 12:06 PM Changeset in webkit [231860] by
-
- 2 edits in trunk/LayoutTests
Mark LayoutTest animations/needs-layout.html as Flaky on macOS debug.
https://bugs.webkit.org/show_bug.cgi?id=185659
Unreviewed test gardening.
Patch by David Fenton <david_fenton@apple.com> on 2018-05-16
- platform/mac/TestExpectations:
- 11:54 AM Changeset in webkit [231859] by
-
- 5 edits in trunk/Source/WebCore
Cleanup platform Cookie
https://bugs.webkit.org/show_bug.cgi?id=185654
Reviewed by Per Arne Vollan.
Remove unnecessary constructor and use =default for default constructor.
Simplify Cookie::decode() by having it decode directly into a stack-allocated
cookie. Remove some unnecessary local variables. Fix style nits.
- platform/Cookie.h:
(WebCore::Cookie::Cookie):
(WebCore::Cookie::isNull const):
(WebCore::Cookie::encode const):
(WebCore::Cookie::decode):
- platform/network/cf/CookieJarCFNet.cpp:
(WebCore::getRawCookies):
- platform/network/cocoa/CookieCocoa.mm:
(WebCore::cookieCreated):
(WebCore::Cookie::Cookie):
(WebCore::Cookie::operator== const):
(WebCore::Cookie::hash const):
- platform/network/soup/CookieJarSoup.cpp:
(WebCore::getRawCookies):
- 11:47 AM Changeset in webkit [231858] by
-
- 3 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231825. rdar://problem/40278181
Launch System Preview as the download starts, rather than waiting for a response
https://bugs.webkit.org/show_bug.cgi?id=185669
<rdar://problem/40278181>
Reviewed by Tim Horton.
We were waiting for the RequestResponse to get a MIME-type before
launching the system preview. This causes an annoying delay.
Instead, assume that the system preview is one of the handled
mime types and launch the viewer immediately. If it gets something it
didn't expect, it will show an error.
- UIProcess/Cocoa/DownloadClient.mm: (WebKit::DownloadClient::didStart): (WebKit::DownloadClient::didReceiveResponse):
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: (-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]): (WebKit::SystemPreviewController::start): Small cleanup to ensure we don't try to present twice (this shouldn't happen).
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231825 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [231857] by
-
- 4 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231824. rdar://problem/40278181
Post-review cleanup for 185459
https://bugs.webkit.org/show_bug.cgi?id=185665
<rdar://problem/40276689>
Reviewed by Tim Horton.
Jon made some comments in 185459 that I'm addressing here.
- UIProcess/Cocoa/DownloadClient.h:
- UIProcess/Cocoa/DownloadClient.mm: Guard the activity token for iOS in a way that means it will still work ok on macOS. (WebKit::DownloadClient::didStart): (WebKit::DownloadClient::processDidCrash): (WebKit::DownloadClient::didFinish): (WebKit::DownloadClient::didFail): (WebKit::DownloadClient::didCancel): (WebKit::DownloadClient::takeActivityToken): (WebKit::DownloadClient::releaseActivityTokenIfNecessary): (WebKit::DownloadClient::releaseActivityToken): Deleted.
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: Add an early return. (-[_WKPreviewControllerDataSource previewController:previewItemAtIndex:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231824 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [231856] by
-
- 2 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231814. rdar://problem/40267224
Provide UIView and UIImage for zoom transition
https://bugs.webkit.org/show_bug.cgi?id=185655
<rdar://problem/40267224>
Reviewed by Antoine Quint.
Provide a UIView* for the frameForPreviewItem to use as a source view.
Also implement the transitionImageForPreviewItem delegate, even though
we're returning nil.
- UIProcess/Cocoa/SystemPreviewControllerCocoa.mm: (-[_WKPreviewControllerDelegate previewController:frameForPreviewItem:inSourceView:]): (-[_WKPreviewControllerDelegate previewController:transitionImageForPreviewItem:contentRect:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231814 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:47 AM Changeset in webkit [231855] by
-
- 2 edits in branches/safari-606.1.17-branch/Source/WebKit
Cherry-pick r231783. rdar://problem/40230277
Use the system font by default in extra zoom mode
https://bugs.webkit.org/show_bug.cgi?id=185638
<rdar://problem/40230277>
Reviewed by Wenson Hsieh.
- Shared/WebPreferencesDefaultValues.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@231783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:12 AM Changeset in webkit [231854] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Fixup after r231849: Do not mark Mac API methods as deprecated
https://bugs.webkit.org/show_bug.cgi?id=185684
Patch by Chris Nardi <cnardi@chromium.org> on 2018-05-16
Reviewed by Darin Adler.
Do not mark API methods for Document#selectedStylesheetSet/preferredStylesheetSet as deprecated
as the entire class is already marked as deprecated, so it is unnecessary.
- DOM/DOMDocument.h:
- 10:54 AM Changeset in webkit [231853] by
-
- 2 edits in trunk/Source/WebKit
[Win] Implement WebPage::handleEditingKeyboardEvent
https://bugs.webkit.org/show_bug.cgi?id=185327
Reviewed by Alexey Proskuryakov.
- WebProcess/WebPage/win/WebPageWin.cpp:
(WebKit::WebPage::handleEditingKeyboardEvent): Copied from WebKitLegacy.
- 10:50 AM Changeset in webkit [231852] by
-
- 15 edits in trunk
[Win] Use C++17 in MSVC
https://bugs.webkit.org/show_bug.cgi?id=185232
Reviewed by Alex Christensen.
.:
Use /std:c++17 option.
- Source/cmake/OptionsMSVC.cmake:
Source/ThirdParty:
Use std::tuple instead of std::tr1::tuple since std::tr1::tuple is removed in C++17 MSVC.
In a subsequent patch, we will upgrade gtest too.
- gtest/include/gtest/internal/gtest-param-util-generated.h:
(testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tuple<T1, T2> > const):
(testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tuple<T1, T2, T3> > const):
(testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4> > const):
(testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5> > const):
(testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tuple<T1, T2, T3, T4, T5, T6> > const):
(testing::internal::CartesianProductHolder7:: const):
(testing::internal::CartesianProductHolder8:: const):
(testing::internal::CartesianProductHolder9:: const):
(testing::internal::CartesianProductHolder10:: const):
(testing::internal::CartesianProductHolder2::operator ParamGenerator< ::std::tr1::tuple<T1, T2> > const): Deleted.
(testing::internal::CartesianProductHolder3::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3> > const): Deleted.
(testing::internal::CartesianProductHolder4::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4> > const): Deleted.
(testing::internal::CartesianProductHolder5::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5> > const): Deleted.
(testing::internal::CartesianProductHolder6::operator ParamGenerator< ::std::tr1::tuple<T1, T2, T3, T4, T5, T6> > const): Deleted.
- gtest/include/gtest/internal/gtest-tuple.h:
Source/WebCore:
Workaround for MSVC + /std:c++17.
- Modules/geolocation/Coordinates.h:
(WebCore::Coordinates::isolatedCopy const):
Source/WTF:
Disable some WebKit defined C++17 features for MSVC.
- wtf/StdLibExtras.h:
Tools:
Do not use
using namespace std;
. In C++17, we have std::byte. This "byte"
conflicts with ::byte defined in Windows' header.
- DumpRenderTree/TestNetscapePlugIn/win/WindowedPluginTest.cpp:
(WindowedPluginTest::WindowedPluginTest):
- DumpRenderTree/win/AccessibilityControllerWin.cpp:
(logEventProc):
(stringEvent):
(AccessibilityController::winNotificationReceived):
- DumpRenderTree/win/TextInputController.cpp:
(markedRangeCallback):
(firstRectForCharacterRangeCallback):
(selectedRangeCallback):
- DumpRenderTree/win/TextInputController.h:
- DumpRenderTree/win/TextInputControllerWin.cpp:
(TextInputController::markedRange):
(TextInputController::firstRectForCharacterRange):
(TextInputController::selectedRange):
- 10:25 AM Changeset in webkit [231851] by
-
- 2 edits in trunk/LayoutTests
[Web Animations] Turn Web Animations with CSS integration on for test runners
https://bugs.webkit.org/show_bug.cgi?id=184819
Unreviewed. Another attempt to make this test more robust.
- transitions/interrupted-transition-hardware.html:
- 10:19 AM Changeset in webkit [231850] by
-
- 8 edits in trunk
Session cookies aren't reliably set when using default WKWebSiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=185624
<rdar://problem/39111626>
Patch by Sihui Liu <sihui_liu@apple.com> on 2018-05-16
Reviewed by Geoffrey Garen.
Source/WebKit:
Session cookies of default session were set in UI Process when there was no process pool,
but they were not synced (or synced slowly to) Network Process. To make these cookies visible
as soon as they were set through API, we could manually set those cookies in Network Process
during its initilization.
- NetworkProcess/mac/RemoteNetworkingContext.mm:
(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):
- UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::setCookie):
(API::HTTPCookieStore::deleteCookie):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::clearPendingCookies):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
Modified and enabled WebKit.WKHTTPCookieStoreWithoutProcessPool.
- TestWebKitAPI/Tests/WebKitCocoa/WKHTTPCookieStore.mm:
(-[CookieUIDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
- 9:20 AM Changeset in webkit [231849] by
-
- 24 edits2 deletes in trunk
Remove Document#selectedStylesheetSet/preferredStylesheetSet
https://bugs.webkit.org/show_bug.cgi?id=185381
Patch by Chris Nardi <cnardi@chromium.org> on 2018-05-16
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Refresh historical CSSOM test from upstream to test this change.
- web-platform-tests/cssom/historical-expected.txt:
- web-platform-tests/cssom/historical.html:
Source/WebCore:
Document#selectedStylesheetSet/preferredStylesheetSet are non-standard methods that
are only implemented WebKit. Blink removed these methods in https://crbug.com/690609.
The standard versions of these methods are are no longer in the spec. Remove them
entirely from our implementation.
Updated existing tests and imported/w3c/web-platform-tests/cssom/historical.html.
- dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
- dom/Document.h:
- dom/Document.idl:
- style/StyleScope.cpp:
(WebCore::Style::Scope::collectActiveStyleSheets):
- style/StyleScope.h:
(WebCore::Style::Scope::preferredStylesheetSetName const):
Source/WebKit:
Make API methods for Document#selectedStylesheetSet/preferredStylesheetSet do nothing.
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocument.h:
- WebProcess/InjectedBundle/API/gtk/DOM/WebKitDOMDocumentGtk.cpp:
(webkit_dom_document_set_property):
(webkit_dom_document_get_property):
(webkit_dom_document_get_preferred_stylesheet_set):
(webkit_dom_document_get_selected_stylesheet_set):
(webkit_dom_document_set_selected_stylesheet_set):
Source/WebKitLegacy/mac:
Mark API methods for Document#selectedStylesheetSet/preferredStylesheetSet as deprecated
and make them do nothing.
- DOM/DOMDocument.h:
- DOM/DOMDocument.mm:
(-[DOMDocument preferredStylesheetSet]):
(-[DOMDocument selectedStylesheetSet]):
(-[DOMDocument setSelectedStylesheetSet:]):
LayoutTests:
Update tests to remove selectedStylesheetSet/preferredStylesheetSet.
- fast/css/link-disabled-attr-expected.txt:
- fast/css/link-disabled-attr.html:
- fast/dom/assign-to-prototype-accessor-on-prototype-should-throw-expected.txt:
- fast/dom/assign-to-prototype-accessor-on-prototype-should-throw.html:
- fast/dom/document-attribute-js-null-expected.txt:
- fast/dom/document-attribute-js-null.html:
- fast/shadow-dom/link-element-in-shadow-tree-expected.txt:
- fast/shadow-dom/link-element-in-shadow-tree.html:
- fast/shadow-dom/selected-stylesheet-in-shadow-tree-expected.txt: Removed.
- fast/shadow-dom/selected-stylesheet-in-shadow-tree.html: Removed.
- 9:11 AM Changeset in webkit [231848] by
-
- 2 edits in trunk/Tools
test262/Runner.pm: save to supplied expectation file if supplied
https://bugs.webkit.org/show_bug.cgi?id=185660
Patch by Valerie R Young <valerie@bocoup.com> on 2018-05-16
Reviewed by Michael Saboff.
- Scripts/test262/Runner.pm:
(processCLI):
(main):
- 7:51 AM Changeset in webkit [231847] by
-
- 6 edits in trunk/Source/WebCore
[LFC] Implement width computation for replaced inflow elements.
https://bugs.webkit.org/show_bug.cgi?id=185672
Reviewed by Antti Koivisto.
Replaced width for block, inline and float elements compute the same way.
- layout/FormattingContext.cpp:
(WebCore::Layout::FormattingContext::computeWidth const):
(WebCore::Layout::FormattingContext::computeFloatingWidth const):
(WebCore::Layout::FormattingContext::computeInFlowReplacedWidth const):
- layout/FormattingContext.h:
- layout/blockformatting/BlockFormattingContext.cpp:
(WebCore::Layout::BlockFormattingContext::computeInFlowWidth const):
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::hasIntrinsicWidth const):
(WebCore::Layout::Box::hasIntrinsicHeight const):
(WebCore::Layout::Box::hasIntrinsicRatio const):
(WebCore::Layout::Box::intrinsicWidth const):
(WebCore::Layout::Box::intrinsicHeight const):
(WebCore::Layout::Box::intrinsicRatio const):
- layout/layouttree/LayoutBox.h:
- 7:49 AM Changeset in webkit [231846] by
-
- 4 edits in trunk/Source/WebCore
[LFC] Make Display::Box box sizing aware
https://bugs.webkit.org/show_bug.cgi?id=185649
Reviewed by Antti Koivisto.
Display::Box::width() == Display::Box::contentBox().width() <= box-sizing: content-box; (initial and default value)
Display::Box::width() == Display::Box::borderBox().width() <= box-sizing: border-box;
- layout/LayoutContext.cpp:
(WebCore::Layout::LayoutContext::createDisplayBox):
- layout/displaytree/DisplayBox.cpp:
(WebCore::Display::Box::Box):
(WebCore::Display::Box::marginBox const):
(WebCore::Display::Box::borderBox const):
(WebCore::Display::Box::paddingBox const):
(WebCore::Display::Box::contentBox const):
- layout/displaytree/DisplayBox.h:
- 7:41 AM WebKitGTK/2.20.x edited by
- (diff)
- 7:26 AM Changeset in webkit [231845] by
-
- 9 edits6 adds in trunk
[ESNext][BigInt] Implement support for "/" operation
https://bugs.webkit.org/show_bug.cgi?id=183996
Reviewed by Yusuke Suzuki.
JSTests:
- bigIntTests.yaml:
- stress/big-int-div-jit.js: Added.
- stress/big-int-div-memory-stress.js: Added.
- stress/big-int-div-to-primitive-precedence.js: Added.
- stress/big-int-div-to-primitive.js: Added.
- stress/big-int-div-type-error.js: Added.
- stress/big-int-div-wrapped-value.js: Added.
- stress/big-int-division.js: Added.
Source/JavaScriptCore:
This patch is introducing the support for BigInt into divide
operation int LLInt and JIT layers.
- dfg/DFGOperations.cpp:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::divide):
(JSC::JSBigInt::copy):
(JSC::JSBigInt::unaryMinus):
(JSC::JSBigInt::absoluteCompare):
(JSC::JSBigInt::absoluteDivLarge):
(JSC::JSBigInt::productGreaterThan):
(JSC::JSBigInt::inplaceAdd):
(JSC::JSBigInt::inplaceSub):
(JSC::JSBigInt::inplaceRightShift):
(JSC::JSBigInt::specialLeftShift):
(JSC::JSBigInt::digit):
(JSC::JSBigInt::setDigit):
- runtime/JSBigInt.h:
- 7:11 AM Changeset in webkit [231844] by
-
- 2 edits in trunk/LayoutTests
Mark animations/keyframes-dynamic.html and related tests as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=185678
Unreviewed test gardening.
- platform/win/TestExpectations:
- 6:33 AM Changeset in webkit [231843] by
-
- 9 edits in trunk
[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64-bit atomic operations
https://bugs.webkit.org/show_bug.cgi?id=182622
Reviewed by Michael Catanzaro.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsJSCOnly.cmake:
- Source/cmake/OptionsWPE.cmake:
Enable THREADS_PREFER_PTHREAD_FLAG. This uses -pthread instead of
-lpthread, fixing the 64-bit RISC-V build of the GTK+ port due to
missing atomic primitives.
- Source/cmake/WebKitCompilerFlags.cmake:
Move the test to detect whether we need to link against libatomic
to a common CMake file so it can be used from both JavaScriptCore
and WebKit.
Source/JavaScriptCore:
We were linking JavaScriptCore against libatomic in MIPS because
in that architecture atomic_fetch_add_8() is not a compiler
intrinsic and is provided by that library instead. However other
architectures (e.g armel) are in the same situation, so we need a
generic test.
That test already exists in WebKit/CMakeLists.txt, so we just have
to move it to a common file (WebKitCompilerFlags.cmake) and use
its result (ATOMIC_INT64_REQUIRES_LIBATOMIC) here.
- CMakeLists.txt:
Source/WebKit:
Move the test to determine whether we need to link against
libatomic to the common file WebKitCompilerFlags.cmake so it can
also be used for JavaScriptCore.
- CMakeLists.txt:
- 6:09 AM Changeset in webkit [231842] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r230574): Interrupted hardware transitions don't behave correctly
https://bugs.webkit.org/show_bug.cgi?id=185299
Unreviewed. Attempt to make this test more robust.
- transitions/interrupted-transition-hardware.html:
- 1:38 AM Changeset in webkit [231841] by
-
- 2 edits16 deletes in trunk/WebDriverTests
Unreviewed. Remove W3C deleted files after r231727.
In r231727 W3C WebDriver tests were updated, but only new and modified files, not the deleted (or renamed)
ones. Remove the deleted files and update the test expectations to use the new names.
- TestExpectations.json: Update expectations after test renames in r231727.
- imported/w3c/tools/wptrunner/wptrunner/executors/testharness_marionette.js: Removed.
- imported/w3c/tools/wptrunner/wptrunner/executors/testharness_marionette_resume.js: Removed.
- imported/w3c/webdriver/tests/contexts/json_serialize_windowproxy.py: Removed.
- imported/w3c/webdriver/tests/contexts/maximize_window.py: Removed.
- imported/w3c/webdriver/tests/contexts/resizing_and_positioning.py: Removed.
- imported/w3c/webdriver/tests/cookies/add_cookie.py: Removed.
- imported/w3c/webdriver/tests/cookies/delete_cookie.py: Removed.
- imported/w3c/webdriver/tests/cookies/get_named_cookie.py: Removed.
- imported/w3c/webdriver/tests/document_handling/page_source.py: Removed.
- imported/w3c/webdriver/tests/element_retrieval/init.py: Removed.
- imported/w3c/webdriver/tests/element_retrieval/find_element.py: Removed.
- imported/w3c/webdriver/tests/element_retrieval/find_element_from_element.py: Removed.
- imported/w3c/webdriver/tests/element_retrieval/find_elements.py: Removed.
- imported/w3c/webdriver/tests/element_retrieval/find_elements_from_element.py: Removed.
- imported/w3c/webdriver/tests/element_retrieval/get_active_element.py: Removed.
- imported/w3c/webdriver/tests/fullscreen_window.py: Removed.
- imported/w3c/webdriver/tests/get_window_rect.py: Removed.
- imported/w3c/webdriver/tests/interaction/element_clear.py: Removed.
- imported/w3c/webdriver/tests/interaction/send_keys_content_editable.py: Removed.
- imported/w3c/webdriver/tests/minimize_window.py: Removed.
- imported/w3c/webdriver/tests/navigation/current_url.py: Removed.
- imported/w3c/webdriver/tests/navigation/get_title.py: Removed.
- imported/w3c/webdriver/tests/sessions/get_timeouts.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/conftest.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/create_alwaysMatch.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/create_firstMatch.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/default_values.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/invalid_capabilities.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/merge.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/response.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/support/init.py: Removed.
- imported/w3c/webdriver/tests/sessions/new_session/support/create.py: Removed.
- imported/w3c/webdriver/tests/sessions/status.py: Removed.
- imported/w3c/webdriver/tests/set_window_rect.py: Removed.
- imported/w3c/webdriver/tests/state/init.py: Removed.
- imported/w3c/webdriver/tests/state/get_element_attribute.py: Removed.
- imported/w3c/webdriver/tests/state/get_element_property.py: Removed.
- imported/w3c/webdriver/tests/state/get_element_tag_name.py: Removed.
- imported/w3c/webdriver/tests/state/is_element_selected.py: Removed.
- imported/w3c/webdriver/tests/state/text/init.py: Removed.
- imported/w3c/webdriver/tests/state/text/get_text.py: Removed.
- imported/w3c/webdriver/tests/switch_to_parent_frame.py: Removed.
- imported/w3c/webdriver/tests/user_prompts/accept_alert.py: Removed.
- imported/w3c/webdriver/tests/user_prompts/dismiss_alert.py: Removed.
- imported/w3c/webdriver/tests/user_prompts/get_alert_text.py: Removed.
- imported/w3c/webdriver/tests/user_prompts/send_alert_text.py: Removed.
- 1:27 AM Changeset in webkit [231840] by
-
- 4 edits2 adds in trunk
REGRESSION (r230574): Interrupted hardware transitions don't behave correctly
https://bugs.webkit.org/show_bug.cgi?id=185299
<rdar://problem/39630230>
Reviewed by Simon Fraser.
Source/WebCore:
In r230574, the fix for webkit.org/b/184518, we changed the processing order in GraphicsLayerCA::updateAnimations() to first
process m_uncomittedAnimations and then m_animationsToProcess, so we are guaranteed animations exist before we attempt to pause
or seek them. This broke interrupting and resuming hardware animations (such as an interrupted CSS Transition or an animation
running in a non-visible tab) since a pause operation recorded _before_ an animation was added would be paused anyway since
the animation was now first added, and then paused. The fix is simply to clear any pending AnimationProcessingAction for a
newly-uncommitted animation.
Test: transitions/interrupted-transition-hardware.html
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
- platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation):
LayoutTests:
Add a new test where we interrupt a transition and check that upon returning to the original value,
an animated value is still used and not the initial value. This test fails prior to this patch.
- transitions/interrupted-transition-hardware-expected.html: Added.
- transitions/interrupted-transition-hardware.html: Added.
- 12:05 AM Changeset in webkit [231839] by
-
- 52 edits in trunk/Source
[JSC] Check TypeInfo first before calling getCallData when we would like to check whether given object is a function
https://bugs.webkit.org/show_bug.cgi?id=185601
Reviewed by Saam Barati.
Source/JavaScriptCore:
Rename TypeOfShouldCallGetCallData to OverridesGetCallData. And check OverridesGetCallData
before calling getCallData when we would like to check whether a given object is callable
since getCallData is a virtual call. When we call the object anyway, directly calling getCallData
is fine. But if we would like to check whether the object is callable, we can have non
callable objects frequently. In that case, we should not call getCallData if we can avoid it.
To do this cleanly, we refactor JSValue::{isFunction,isCallable}. We add JSCell::{isFunction,isCallable}
and JSValue ones call into these functions. Inside JSCell::{isFunction,isCallable}, we perform
OverridesGetCallData checking before calling getCallData.
We found that this virtual call exists in JSON.stringify's critial path. Checking
OverridesGetCallData improves Kraken/json-stringify-tinderbox by 2-4%.
baseline patched
json-stringify-tinderbox 38.807+-0.350 37.216+-0.337 definitely 1.0427x faster
In addition to that, we also add OverridesGetCallData flag to JSFunction while we keep JSFunctionType checking fast path
since major cases are covered by this fast JSFunctionType checking.
- API/JSCallbackObject.h:
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGOperations.cpp:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileIsObjectOrNull):
(JSC::DFG::SpeculativeJIT::compileIsFunction):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::isExoticForTypeof):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::emitTypeOf):
- runtime/ExceptionHelpers.cpp:
(JSC::createError):
(JSC::createInvalidFunctionApplyParameterError):
- runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
- runtime/InternalFunction.h:
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::isFunction const):
(JSC::JSValue::isCallable const):
- runtime/JSCell.h:
- runtime/JSCellInlines.h:
(JSC::JSCell::isFunction):
ALWAYS_INLINE works well for my environment.
(JSC::JSCell::isCallable):
- runtime/JSFunction.h:
- runtime/JSONObject.cpp:
(JSC::Stringifier::toJSON):
(JSC::Stringifier::toJSONImpl):
(JSC::Stringifier::appendStringifiedValue):
- runtime/JSObjectInlines.h:
(JSC::createListFromArrayLike):
- runtime/JSTypeInfo.h:
(JSC::TypeInfo::overridesGetCallData const):
(JSC::TypeInfo::typeOfShouldCallGetCallData const): Deleted.
- runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC::jsIsObjectTypeOrNull):
- runtime/ProxyObject.h:
- runtime/RuntimeType.cpp:
(JSC::runtimeTypeForValue):
- runtime/RuntimeType.h:
- runtime/Structure.cpp:
(JSC::Structure::Structure):
- runtime/TypeProfilerLog.cpp:
(JSC::TypeProfilerLog::TypeProfilerLog):
(JSC::TypeProfilerLog::processLogEntries):
- runtime/TypeProfilerLog.h:
- runtime/VM.cpp:
(JSC::VM::enableTypeProfiler):
- tools/JSDollarVM.cpp:
(JSC::functionFindTypeForExpression):
(JSC::functionReturnTypeFor):
(JSC::functionHasBasicBlockExecuted):
(JSC::functionBasicBlockExecutionCount):
- wasm/js/JSWebAssemblyHelpers.h:
(JSC::getWasmBufferFromValue):
- wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::create):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::callWebAssemblyFunction):
- wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
- wasm/js/WebAssemblyPrototype.cpp:
(JSC::webAssemblyInstantiateFunc):
(JSC::webAssemblyInstantiateStreamingInternal):
- wasm/js/WebAssemblyWrapperFunction.cpp:
(JSC::WebAssemblyWrapperFunction::finishCreation):
Source/WebCore:
No behavior change.
- Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected):
- bindings/js/JSCustomElementRegistryCustom.cpp:
(WebCore::getCustomElementCallback):
- bindings/js/JSDOMConstructorBase.h:
- bindings/js/JSDOMConvertCallbacks.h:
(WebCore::Converter<IDLCallbackFunction<T>>::convert):
- bindings/js/JSDOMPromise.cpp:
(WebCore::DOMPromise::whenSettled):
- bindings/js/ReadableStream.cpp:
(WebCore::ReadableStream::pipeTo):
(WebCore::ReadableStream::tee):
- bindings/js/ReadableStreamDefaultController.cpp:
(WebCore::ReadableStreamDefaultController::invoke):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateOverloadDispatcher):
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/JS/JSTestPluginInterface.h:
- bridge/objc/objc_runtime.h:
- bridge/runtime_method.h:
- bridge/runtime_object.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::ensureMediaControlsInjectedScript):
- testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
(WebCore::Internals::cloneArrayBuffer):
Source/WebKit:
- WebProcess/Plugins/Netscape/JSNPObject.h: