Timeline



Sep 24, 2018:

11:36 PM Changeset in webkit [236455] by mmaxfield@apple.com
  • 14 edits
    1 copy in trunk/Tools

[WHLSL] Not all functions should be able to run in all shader stages
https://bugs.webkit.org/show_bug.cgi?id=189121

Reviewed by Filip Pizlo.

ddx() and ddy() can only run in fragment shaders, and the barrier functions can only run in compute shaders.
ddx_coarse() & friends are currently implemented as just calling ddx(), so we only need to modify those functions
if/when we make them native.

The texture sampling functions that use implicit derivatives can run in any shader stage - they just use a LOD of

  1. Therefore, those functions are unchanged.
  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Intrinsics.js:
  • WebGPUShadingLanguageRI/LateChecker.js:

(LateChecker.prototype._checkShaderType):

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):
(NativeFunc.prototype.get stage):
(NativeFunc.prototype.toDeclString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseFuncDecl):
(parseNativeFunc):
(parseNative):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):

  • WebGPUShadingLanguageRI/SPIRV.html:
  • WebGPUShadingLanguageRI/StandardLibrary.js:

(let.standardLibrary):

  • WebGPUShadingLanguageRI/StatementCloner.js:

(StatementCloner.prototype.visitNativeFunc):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(tests.shaderStages):

  • WebGPUShadingLanguageRI/WSyntaxError.js:

(WSyntaxError.prototype.toString):
(WSyntaxError):

  • WebGPUShadingLanguageRI/index.html:
10:12 PM Changeset in webkit [236454] by Dewei Zhu
  • 8 edits in trunk/Websites/perf.webkit.org

Apache can return a corrupt manifest file while ManifestGenerator::store is running
https://bugs.webkit.org/show_bug.cgi?id=189822

Reviewed by Ryosuke Niwa.

Updating a file on performance dashboard should be transactional between php and apache.
Otherwise, partial content may be served.

  • public/api/measurement-set.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'.
  • public/api/runs.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'.
  • public/include/db.php: Make creating file transactionaly by taking advantage of

'move/rename' operation is atomic in OS.
Added logic to avoid overwriting file if all content except specified filed are identical.

  • public/include/json-header.php: Added a helper function that added 'status' but does not

convert content to json.

  • public/include/manifest-generator.php: Adapted invocation of 'generate_json_date_with_elapsed_time_if_needed'.
  • public/shared/statistics.js: Removed unnecessary logging.

(Statistics.new.sampleMeanAndVarianceFromMultipleSamples):

  • server-tests/api-manifest-tests.js: Updated one unit test.
9:21 PM Changeset in webkit [236453] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Mark two tests as flakey.

  • platform/mac/TestExpectations:
9:15 PM Changeset in webkit [236452] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk/Tools

[WHLSL] Implement trap statements in Metal code generation
https://bugs.webkit.org/show_bug.cgi?id=189615

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-24
Reviewed by Myles C. Maxfield.

Each function called by an entry point now receives an additional
boolean pointer parameter, which is set to false if the function traps.
After each function call (to a non-native function) this trap parameter
is checked. The behavior of the interpreter has also been updated so
that a function entry point catches the trap and instead returns zero,
matching the behavior of compiled code.

  • WebGPUShadingLanguageRI/Evaluator.js: Adds a new flag to allow the

test suite to check for traps and also returns zero from entry points
whose invocation trapped.

  • WebGPUShadingLanguageRI/Metal/MSLBackend.js: Pass program to function

declarations.

  • WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Update dependencies.
  • WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Add program

property.

  • WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Ditto.
  • WebGPUShadingLanguageRI/Metal/MSLInsertTrapParameter.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Conforms to the

new trapping behavior.

  • WebGPUShadingLanguageRI/Test.js: Update tests that trap.
8:33 PM Changeset in webkit [236451] by commit-queue@webkit.org
  • 1 edit
    2 deletes in trunk/Source/JavaScriptCore

Remove AUTHORS and THANKS files which are stale
https://bugs.webkit.org/show_bug.cgi?id=189941

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-09-24
Reviewed by Darin Adler.

Included mentions below so their names are still in ChangeLogs.

  • AUTHORS: Removed.

Harri Porten (porten@kde.org) and Peter Kelly (pmk@post.com).
These authors remain mentioned in copyrights in source files.

  • THANKS: Removed.

Richard Moore <rich@kde.org> - for filling the Math object with some life
Daegeun Lee <realking@mizi.com> - for pointing out some bugs and providing much code for the String and Date object.
Marco Pinelli <pinmc@libero.it> - for his patches
Christian Kirsch <ck@held.mind.de> - for his contribution to the Date object

8:05 PM Changeset in webkit [236450] by Fujii Hironori
  • 36 edits in trunk/Source

Rename WTF_COMPILER_GCC_OR_CLANG to WTF_COMPILER_GCC_COMPATIBLE
https://bugs.webkit.org/show_bug.cgi?id=189733

Reviewed by Michael Catanzaro.

Source/bmalloc:

  • bmalloc/BCompiler.h:

Source/JavaScriptCore:

  • assembler/ARM64Assembler.h:
  • assembler/ARMAssembler.h:

(JSC::ARMAssembler::cacheFlush):

  • assembler/MacroAssemblerARM.cpp:

(JSC::isVFPPresent):

  • assembler/MacroAssemblerARM64.cpp:
  • assembler/MacroAssemblerARMv7.cpp:
  • assembler/MacroAssemblerMIPS.cpp:
  • assembler/MacroAssemblerX86Common.cpp:
  • heap/HeapCell.cpp:
  • heap/HeapCell.h:
  • jit/HostCallReturnValue.h:
  • jit/JIT.h:
  • jit/JITOperations.cpp:
  • jit/ThunkGenerators.cpp:
  • runtime/ArrayConventions.cpp:

(JSC::clearArrayMemset):

  • runtime/JSBigInt.cpp:

(JSC::JSBigInt::digitDiv):

Source/WebCore:

No new tests (No behavior change).

  • platform/graphics/cpu/arm/filters/FELightingNEON.cpp:
  • platform/graphics/cpu/arm/filters/FELightingNEON.h:
  • platform/graphics/filters/FELighting.cpp:

(WebCore::FELighting::platformApply):

  • platform/graphics/filters/FELighting.h:

Source/WTF:

Clang for Windows build enables WTF_COMPILER_CLANG and
WTF_COMPILER_MSVC, but disables WTF_COMPILER_GCC_OR_CLANG. It is
strange WTF_COMPILER_GCC_OR_CLANG is not enabled even though
WTF_COMPILER_CLANG is enabled. However, Clang for Windows imitates
MSVC, and codes for COMPILER(GCC_OR_CLANG) are for non MSVC. At
least at the moment, it is not feasible to define
WTF_COMPILER_GCC_OR_CLANG for Clang for Windows.

To solve the issue, this change renames WTF_COMPILER_GCC_OR_CLANG
to WTF_COMPILER_GCC_COMPATIBLE.

As an exception, I'd like to use IGNORE_WARNINGS_* macros even in
Clang for Windows builds.

  • wtf/Assertions.cpp: Replaced COMPILER(GCC_OR_CLANG) with COMPILER(GCC_COMPATIBLE).
  • wtf/Assertions.h: Ditto.
  • wtf/Atomics.h: Ditto.
  • wtf/CheckedArithmetic.h: Ditto.
  • wtf/FastMalloc.h: Ditto.
  • wtf/MathExtras.h: Ditto.
  • wtf/Platform.h: Ditto.
  • wtf/StdLibExtras.h: Ditto.
  • wtf/Vector.h: Ditto.
  • wtf/text/ASCIIFastPath.h: Ditto.
wtf/Compiler.h: Ditto. Replaced "COMPILER(GCC_OR_CLANG)" with "COMPILER(GCC)
COMPILER(CLANG)" of IGNORE_WARNINGS_* macros.
6:16 PM Changeset in webkit [236449] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

[WHLSL] It shouldn’t be possible to use ternary expressions as l-values
https://bugs.webkit.org/show_bug.cgi?id=189290

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-24
Reviewed by Myles C. Maxfield.

It is no longer possible for a ternary expression to be treated as an
l-value. This patch adds several test cases to verify that this is the
case.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitTernaryExpression): No longer check isLValue.

  • WebGPUShadingLanguageRI/NormalUsePropertyResolver:

(NormalUsePropertyResolver.visitTernaryExpression): Deleted.

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitTernaryExpression): No longer copy isLValue.

  • WebGPUShadingLanguageRI/TernaryExpression.js:

(TernaryExpression):
(TernaryExpression.prototype.get elseExpression):
(TernaryExpression.prototype.get isLValue): Deleted.
(TernaryExpression.prototype.set isLValue): Deleted.

  • WebGPUShadingLanguageRI/Test.js:

(tests.ternaryExpression): Add checks for failure if a failure is used
as an l-value.
(ternaryExpressionIsLValue.node.TernaryExpressionVisitor.prototype.visitTernaryExpression): Deleted.
(ternaryExpressionIsLValue.node.TernaryExpressionVisitor): Deleted.
(tests.ternaryExpressionIsLValue): Deleted.

6:13 PM Changeset in webkit [236448] by wilander@apple.com
  • 10 edits
    2 adds in trunk

Cap lifetime of persistent cookies created client-side through document.cookie
https://bugs.webkit.org/show_bug.cgi?id=189933
<rdar://problem/44741888>

Reviewed by Chris Dumez.

Source/WebCore:

Test: http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html

As pointed out in https://github.com/mikewest/http-state-tokens:

1) Cookies are available to JavaScript by default via document.cookie, which
enables a smooth upgrade from one-time XSS to theft of persistent credentials
and also makes cookies available to Spectre-like attacks on memory.

2) Though the HttpOnly attribute was introduced well over a decade ago, only
~8.31% of Set-Cookie operations use it today (stats from Chrome). We need
developer incentives to put proper protections in place.

3) The median (uncompressed) Cookie request header is 409 bytes, while the 90th
percentile is 1,589 bytes, the 95th 2,549 bytes, the 99th 4,601 bytes, and
~0.1% of Cookie headers are over 10kB (stats from Chrome). This is bad for load
performance.

In addition to this, third-party scripts running in first-party contexts can
read user data through document.cookie and even store cross-site tracking data
in them.

Authentication cookies should be HttpOnly and thus not be affected by
restrictions to document.cookie. Cookies that persist for a long time should
be Secure, HttpOnly, and SameSite to provide good security and privacy.

By capping the lifetime of persistent cookies set through document.cookie we
embark on a journey towards better cookie management on the web.

  • platform/network/cocoa/NetworkStorageSessionCocoa.mm:

(WebCore::filterCookies):

Now caps the life time of persistent cookies to one week (seven days).

  • testing/Internals.cpp:

(WebCore::Internals::getCookies const):

New test function to get to cookie meta data such as expiry.

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Skipped the new test by default since the behavior change is for
Cocoa platforms only.

  • http/tests/cookies/capped-lifetime-for-cookie-set-in-js-expected.txt: Added.
  • http/tests/cookies/capped-lifetime-for-cookie-set-in-js.html: Added.
  • http/tests/cookies/resources/cookie-utilities.js:
  • platform/ios/TestExpectations:

Marked the new test as [ Pass ].

  • platform/mac-wk2/TestExpectations:

Marked the new test as [ Pass ].

5:40 PM Changeset in webkit [236447] by Simon Fraser
  • 17 edits
    2 adds
    30 deletes in trunk

LayoutTests/imported/w3c:
Remove filterRes parameter from SVG filters
https://bugs.webkit.org/show_bug.cgi?id=129565
<rdar://problem/44714340>

Reviewed by Dean Jackson.

Remove support for the "filterRes" attribute on SVG filters. It's marked as
deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
and no longer supported by Chrome or Firefox.

  • web-platform-tests/html/syntax/parsing/html5lib_tests11-expected.txt: Rebaseline

Source/WebCore:
Remove filterRes parameter from SVG filters
https://bugs.webkit.org/show_bug.cgi?id=129565
<rdar://problem/44714340>

Reviewed by Dean Jackson.

Remove support for the "filterRes" attribute on SVG filters. It's marked as
deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
and no longer supported by Chrome or Firefox.

Removed existing filterRes tests, added new test checking that it has no effect.

Tests: svg/filters/filterRes-is-noop.svg

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::applyResource):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::animatableAttributeForName):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::registerAttributes):
(WebCore::SVGFilterElement::parseAttribute):
(WebCore::SVGFilterElement::filterResXIdentifier): Deleted.
(WebCore::SVGFilterElement::filterResYIdentifier): Deleted.
(WebCore::SVGFilterElement::setFilterRes): Deleted.

  • svg/SVGFilterElement.h:
  • svg/SVGFilterElement.idl:
  • svg/svgattrs.in:

LayoutTests:
Remove filterRes parameter from filters
https://bugs.webkit.org/show_bug.cgi?id=129565
<rdar://problem/44714340>

Reviewed by Dean Jackson.

Remove support for the "filterRes" attribute on SVG filters. It's marked as
deprecated in https://drafts.fxtf.org/filter-effects/#element-attrdef-filter-filterres
and no longer supported by Chrome or Firefox.

Removed existing filterRes tests, added new test checking that it has no effect.

  • html5lib/resources/tests11.dat: Edited to remove filterRes. This seems to have been superseded by

imported/w3c/web-platform-tests/html/syntax/parsing/html5lib_tests11.html

  • platform/gtk/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
  • platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
  • platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
  • platform/gtk/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
  • platform/gtk/svg/filters/filterRes-expected.png: Removed.
  • platform/gtk/svg/filters/filterRes1-expected.png: Removed.
  • platform/gtk/svg/filters/filterRes3-expected.png: Removed.
  • platform/mac/svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt: Removed.
  • platform/mac/svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr-expected.png: Removed.
  • platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.png: Removed.
  • platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.png: Removed.
  • platform/mac/svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.png: Removed.
  • platform/mac/svg/filters/filterRes-expected.png: Removed.
  • platform/mac/svg/filters/filterRes1-expected.png: Removed.
  • platform/mac/svg/filters/filterRes2-expected.png: Removed.
  • platform/mac/svg/filters/filterRes3-expected.png: Removed.
  • svg/W3C-SVG-1.1-SE/svgdom-over-01-f-expected.txt:
  • svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg:
  • svg/dom/SVGAnimatedInteger-expected.txt:
  • svg/dom/SVGAnimatedInteger.html: Change to use feConvolveMatrix orderX.
  • svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call-expected.txt: Removed.
  • svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html: Removed.
  • svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop-expected.txt: Removed.
  • svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html: Removed.
  • svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop-expected.txt: Removed.
  • svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html: Removed.
  • svg/filters/filterRes-is-noop-expected.svg: Added.
  • svg/filters/filterRes-is-noop.svg: Added.
  • svg/filters/filterRes.svg: Removed.
  • svg/filters/filterRes1-expected.txt: Removed.
  • svg/filters/filterRes1.svg: Removed.
  • svg/filters/filterRes2-expected.png: Removed.
  • svg/filters/filterRes2-expected.txt: Removed.
  • svg/filters/filterRes2.svg: Removed.
  • svg/filters/filterRes3-expected.txt: Removed.
  • svg/filters/filterRes3.svg: Removed.
5:28 PM Changeset in webkit [236446] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Don't cause a crash even when some IDL attribute is missing CEReactions
https://bugs.webkit.org/show_bug.cgi?id=189937

Reviewed by Simon Fraser.

Replaced release assertions in ElementQueue::add and ElementQueue::invokeAll by debug assertions
since a missing CEReactions resulting in a crash is a terrible user experience.

Also made the iteration in invokeAll safe when more elements were added to m_elements.

No new tests since we would still hit debug assertions, and this behavior should only come up
when some IDL attribute is erroneously missing CEReactions.

  • dom/CustomElementReactionQueue.cpp:

(WebCore::CustomElementReactionQueue::ElementQueue::add):
(WebCore::CustomElementReactionQueue::ElementQueue::invokeAll):

5:17 PM Changeset in webkit [236445] by Wenson Hsieh
  • 18 edits
    6 adds in trunk/Source

Refactor Editor::fontAttributesForSelectionStart to be platform-agnostic
https://bugs.webkit.org/show_bug.cgi?id=189918
Work towards <rdar://problem/44648705>

Reviewed by Tim Horton.

Source/WebCore:

Refactors the functionality in Editor::fontAttributesForSelectionStart to not be Cocoa-only. Rename this to
fontAttributesAtSelectionStart (to be consistent with EditingStyle::styleAtSelectionStart) and move it from
EditorCocoa.mm to Editor.cpp; instead of creating and populating an NSDictionary with font attribute
information, create and populate a new FontAttributes struct that contains the same information. Cocoa clients
in WebKitLegacy may then create an NSDictionary as needed from the FontAttributes.

  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/Editor.cpp:

(WebCore::Editor::platformFontAttributesAtSelectionStart const):

Add a hook to allow platforms to supply additional information in FontAttributes. On Cocoa, this adds a UIFont
or NSFont to FontAttributes; otherwise, this is a no-op.

(WebCore::Editor::fontAttributesAtSelectionStart const):

  • editing/Editor.h:
  • editing/FontAttributeChanges.cpp:

(WebCore::cssValueListForShadow):

  • editing/FontAttributeChanges.h:

(): Deleted.
(WebCore::FontShadow::encode const): Deleted.
(WebCore::FontShadow::decode): Deleted.

  • editing/FontAttributes.h: Added.

Introduce a new struct that contains font attribute information. May be converted into an NSDictionary for use
by Cocoa clients in WebKitLegacy and WebKit. In a future patch, this will become serializable over IPC for use
in WebKit2.

  • editing/FontShadow.h: Added.

Move FontShadow out into a separate header file, included in FontAttributeChanges.h and FontAttributes.h.

(WebCore::FontShadow::encode const):
(WebCore::FontShadow::decode):

  • editing/cocoa/EditorCocoa.mm:

Add a helper function to convert a WebCore::Color to either UIColor on iOS or NSColor when AppKit is being
used.

(WebCore::Editor::platformFontAttributesAtSelectionStart const):
(WebCore::Editor::getTextDecorationAttributesRespectingTypingStyle const): Deleted.

Remove a helper function that was only used to compute text decoration attributes in
fontAttributesForSelectionStart.

(WebCore::Editor::fontAttributesForSelectionStart const): Deleted.

  • editing/cocoa/FontAttributesCocoa.mm: Added.

(WebCore::FontAttributes::createDictionary const):

  • editing/cocoa/FontShadowCocoa.mm: Added.

(WebCore::FontShadow::createShadow const):

  • editing/cocoa/HTMLConverter.mm:

(_webKitBundle):
(HTMLConverter::_colorForElement):
(_platformColor): Deleted.

Adopt platformColor().

  • platform/graphics/cocoa/ColorCocoa.h: Added.
  • platform/graphics/cocoa/ColorCocoa.mm: Added.

(WebCore::platformColor):

  • platform/graphics/metal/GPURenderPassDescriptorMetal.mm:

Build fix due to changes in unified sources.

  • platform/mac/WebCoreNSFontManagerExtras.mm:

(WebCore::computedFontAttributeChanges):

  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

More build fixes due to changes in unified sources.

Source/WebCore/PAL:

Add +_disambiguated_due_to_CIImage_colorWithCGColor: as a UIColor SPI definition. Also, import
UIColor_Private.h directly when the Apple internal SDK is used.

  • pal/spi/ios/UIKitSPI.h:

Source/WebKitLegacy/mac:

Replace call sites of fontAttributesForSelectionStart() to fontAttributesAtSelectionStart().createDictionary().

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
(-[WebHTMLView _updateFontPanel]):

  • WebView/WebView.mm:

(-[WebView typingAttributes]):

5:05 PM Changeset in webkit [236444] by commit-queue@webkit.org
  • 4 edits
    39 adds in trunk/LayoutTests

Import WPT tests for css custom properties api
https://bugs.webkit.org/show_bug.cgi?id=189764

Patch by Justin Michaud <Justin Michaud> on 2018-09-24
Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-properties-values-api/META.yml: Added.
  • web-platform-tests/css/css-properties-values-api/idlharness-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/idlharness.html: Added.
  • web-platform-tests/css/css-properties-values-api/property-cascade-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/property-cascade.html: Added.
  • web-platform-tests/css/css-properties-values-api/register-property-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing.html: Added.
  • web-platform-tests/css/css-properties-values-api/register-property.html: Added.
  • web-platform-tests/css/css-properties-values-api/registered-properties-inheritance-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/registered-properties-inheritance.html: Added.
  • web-platform-tests/css/css-properties-values-api/registered-property-computation-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/registered-property-computation.html: Added.
  • web-platform-tests/css/css-properties-values-api/registered-property-cssom-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/registered-property-cssom.html: Added.
  • web-platform-tests/css/css-properties-values-api/registered-property-initial-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/registered-property-initial.html: Added.
  • web-platform-tests/css/css-properties-values-api/support/alt/alt.css: Added.

(#target):

  • web-platform-tests/css/css-properties-values-api/support/alt/alt.js: Added.

(reg_url):

  • web-platform-tests/css/css-properties-values-api/support/alt/w3c-import.log: Added.
  • web-platform-tests/css/css-properties-values-api/support/main/main.css: Added.

(#target):

  • web-platform-tests/css/css-properties-values-api/support/main/main.js: Added.

(reg_url):

  • web-platform-tests/css/css-properties-values-api/support/main/main.utf16be.css: Added.
  • web-platform-tests/css/css-properties-values-api/support/main/w3c-import.log: Added.
  • web-platform-tests/css/css-properties-values-api/typedom.tentative-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/typedom.tentative.html: Added.
  • web-platform-tests/css/css-properties-values-api/unit-cycles-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/unit-cycles.html: Added.
  • web-platform-tests/css/css-properties-values-api/url-resolution-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/url-resolution.html: Added.
  • web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-cycles.html: Added.
  • web-platform-tests/css/css-properties-values-api/var-reference-registered-properties-expected.txt: Added.
  • web-platform-tests/css/css-properties-values-api/var-reference-registered-properties.html: Added.
  • web-platform-tests/css/css-properties-values-api/w3c-import.log: Added.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
4:48 PM Changeset in webkit [236443] by jer.noble@apple.com
  • 5 edits in trunk

SharedBuffer should have an equality test
https://bugs.webkit.org/show_bug.cgi?id=189919

Reviewed by Alex Christensen.

Source/WebCore:

Test: TestWebKitAPI SharedBuffer.isEqualTo.

  • platform/SharedBuffer.cpp:
  • platform/SharedBuffer.h:

(WebCore::operator==):
(WebCore::operator!=):

Tools:

  • TestWebKitAPI/Tests/WebCore/SharedBuffer.cpp:

(TestWebKitAPI::TEST_F):

4:38 PM Changeset in webkit [236442] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Skipped accessibility/mac/focus-setting-selection-syncronizing-not-clearing.html on High Sierra+.
https://bugs.webkit.org/show_bug.cgi?id=189094

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:11 PM Changeset in webkit [236441] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Build fix.
https://bugs.webkit.org/show_bug.cgi?id=189929

  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h:
4:11 PM Changeset in webkit [236440] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

imported/w3c/web-platform-tests/shadow-dom/slotchange.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=167652

Reviewed by Saam Barati.

Source/WebCore:

The bug appears to be caused by the JS wrappers of slot elements getting prematurely collected.
Deployed GCReachableRef introduced in r236376 to fix the bug.

Test: fast/shadow-dom/signal-slot-list-retains-js-wrappers.html

  • dom/MutationObserver.cpp:

(WebCore::signalSlotList):
(WebCore::MutationObserver::enqueueSlotChangeEvent):
(WebCore::MutationObserver::notifyMutationObservers):

LayoutTests:

Added a regression test for signaling a lot of slot elements.

  • fast/shadow-dom/signal-slot-list-retains-js-wrappers-expected.txt: Added.
  • fast/shadow-dom/signal-slot-list-retains-js-wrappers.html: Added.
4:10 PM Changeset in webkit [236439] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

Release assert when using paper-textarea due to autocorrect IDL attribute missing CEReactions
https://bugs.webkit.org/show_bug.cgi?id=174629
<rdar://problem/33407620>

Reviewed by Simon Fraser.

Source/WebCore:

The bug was caused by autocorrect and autocapitalize IDL attributes missing CEReactions.

Test: fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html

  • html/HTMLElement.idl:

LayoutTests:

Added a regression test for mutating autocorrect and autocapitalize IDL attributes during connected callback.

  • fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash-expected.txt: Added.
  • fast/custom-elements/autocorrect-autocapitalize-idl-attributes-crash.html: Added.
4:08 PM Changeset in webkit [236438] by achristensen@apple.com
  • 5 edits in trunk

Prepare to replace WKBundleFileHandleCreateWithPath with a version that takes a WKBundlePageRef
https://bugs.webkit.org/show_bug.cgi?id=189929

Reviewed by Andy Estes.

Source/WebKit:

This will be needed for rdar://problem/24576194

  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.cpp:

(WKBundleFileHandleCreateWithPathForPage):

  • WebProcess/InjectedBundle/API/c/WKBundleFileHandleRef.h:

Tools:

  • TestWebKitAPI/Tests/WebKit/WKBundleFileHandle_Bundle.cpp:
4:05 PM Changeset in webkit [236437] by sbarati@apple.com
  • 3 edits
    2 adds in trunk

Array.prototype.indexOf fast path needs to ensure the length is still valid after performing effects
https://bugs.webkit.org/show_bug.cgi?id=189922
<rdar://problem/44651275>

Reviewed by Mark Lam.

JSTests:

  • stress/array-indexof-fast-path-effects.js: Added.
  • stress/array-indexof-cached-length.js: Added.

Source/JavaScriptCore:

The implementation was first getting the length to iterate up to,
then getting the starting index. However, getting the starting
index may perform effects. e.g, it could change the length of the
array. This changes it so we verify the length is still valid.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncIndexOf):

4:04 PM Changeset in webkit [236436] by achristensen@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit

Begin deprecating C API
https://bugs.webkit.org/show_bug.cgi?id=189810

Reviewed by Andy Estes.

  • Shared/API/c/WKDeprecated.h: Added.
  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(setUpPagePolicyClient):
(-[WKBrowsingContextController setPolicyDelegate:]):

  • WebKit.xcodeproj/project.pbxproj:
4:04 PM Changeset in webkit [236435] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WHLSL] Casting user-created types to themselves should always work
https://bugs.webkit.org/show_bug.cgi?id=189113

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-24
Reviewed by Myles C. Maxfield.

Casting user-defined types to themselves worked already, but we didn't
test it anywhere.

  • WebGPUShadingLanguageRI/Test.js:

(tests.selfCasts):

3:59 PM Changeset in webkit [236434] by Tadeu Zagallo
  • 3 edits in trunk/Source/JavaScriptCore

offlineasm: fix macro scoping
https://bugs.webkit.org/show_bug.cgi?id=189902

Reviewed by Mark Lam.

In the code below, the reference to f in g, which should refer to
the outer macro definition will instead refer to the f argument of the
anonymous macro passed to g. That leads to this code failing to
compile (f expected 0 args but got 1).

`
macro f(x)

move x, t0

end

macro g(fn)

fn(macro () f(42) end)

end

g(macro(f) f() end)
`

  • offlineasm/ast.rb:
  • offlineasm/transform.rb:
3:55 PM Changeset in webkit [236433] by Chris Dumez
  • 4 edits in trunk

No-op document.open() calls should not have any side effects
https://bugs.webkit.org/show_bug.cgi?id=189373
<rdar://problem/44282702>

Reviewed by Geoffrey Garen.

LayoutTests/imported/w3c:

Rebaseline WPT test now that it is passing.

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt:

Source/WebCore:

Update document.open() implementation to match the specification [1] more closely.
In particular, URLs updates should happen much later, at step 11. They were happening
too early and would cause side effects when returning early.

[1] https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#document-open-steps

No new tests, rebaselined existing test.

  • dom/Document.cpp:

(WebCore::Document::open):

3:47 PM Changeset in webkit [236432] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

Include more headers in IOSurface.mm, PixelBufferResizer.{h, mm}
https://bugs.webkit.org/show_bug.cgi?id=189928

Reviewed by Andy Estes.

Make building IOSurface.mm and PixelBufferResizer.mm deterministic regardless of
which bundle of unified sources they are built in.

  • platform/graphics/cocoa/IOSurface.mm: Include headers HostWindow.h and PlatformScreen.h

since we make use of functionality from these headers.

  • platform/graphics/cv/PixelBufferResizer.h: Include header IntSize.h since

we need the size of an IntSize for m_size.

  • platform/graphics/cv/PixelBufferResizer.mm: Include header Logging.h since

this file makes use of logging facilities. Also substitute #import for #include
while I am here since this file is an Objective-C++ file.

3:40 PM Changeset in webkit [236431] by Basuke Suzuki
  • 2 edits
    11 adds in trunk/LayoutTests

[Curl] Enable http/tests/misc tests.
https://bugs.webkit.org/show_bug.cgi?id=189931

Unreviewed test gardening.

  • platform/wincairo/TestExpectations:
  • platform/wincairo/http/tests/misc/acid2-expected.txt: Added.
  • platform/wincairo/http/tests/misc/acid2-pixel-expected.txt: Added.
  • platform/wincairo/http/tests/misc/error404-expected.txt: Added.
  • platform/wincairo/http/tests/misc/favicon-as-image-expected.txt: Added.
  • platform/wincairo/http/tests/misc/frame-access-during-load-expected.txt: Added.
  • platform/wincairo/http/tests/misc/generated-content-inside-table-expected.txt: Added.
  • platform/wincairo/http/tests/misc/iframe404-expected.txt: Added.
  • platform/wincairo/http/tests/misc/object-embedding-svg-delayed-size-negotiation-2-expected.txt: Added.
  • platform/wincairo/http/tests/misc/object-embedding-svg-delayed-size-negotiation-expected.png: Added.
  • platform/wincairo/http/tests/misc/slow-loading-image-in-pattern-expected.txt: Added.
3:03 PM Changeset in webkit [236430] by Tadeu Zagallo
  • 4 edits in trunk/Source/JavaScriptCore

Add forEach method for iterating CodeBlock's ValueProfiles
https://bugs.webkit.org/show_bug.cgi?id=189897

Reviewed by Mark Lam.

Add method to abstract how we find ValueProfiles in a CodeBlock in
preparation for https://bugs.webkit.org/show_bug.cgi?id=189785, when
ValueProfiles will be stored in the MetadataTable.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllValueProfilePredictions):
(JSC::CodeBlock::shouldOptimizeNow):
(JSC::CodeBlock::dumpValueProfiles):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::forEachValueProfile):
(JSC::CodeBlock::numberOfArgumentValueProfiles):
(JSC::CodeBlock::valueProfileForArgument):
(JSC::CodeBlock::numberOfValueProfiles):
(JSC::CodeBlock::valueProfile):
(JSC::CodeBlock::totalNumberOfValueProfiles): Deleted.
(JSC::CodeBlock::getFromAllValueProfiles): Deleted.

  • tools/HeapVerifier.cpp:

(JSC::HeapVerifier::validateJSCell):

2:48 PM Changeset in webkit [236429] by aestes@apple.com
  • 25 edits
    2 deletes in trunk/Source/WebCore

[Payment Request] Events cleanup
https://bugs.webkit.org/show_bug.cgi?id=189925

Reviewed by Simon Fraser.

  1. Constructed MerchantValidationEvents (and ApplePayValidateMerchantEvents) with rvalue

references to validationURLs.

  1. Instead of MerchantValidationEvent and PaymentRequestUpdateEvent having a

RefPtr<PaymentRequest>, downcasted their target to a PaymentRequest. Trusted versions of
these events are always dispatched to a PaymentRequest object.

  1. Defined MerchantValidationEventInit in MerchantValidationEvent.idl instead of having a

separate .idl and .h for this dictionary.

No new tests. No change in behavior.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/applepay/ApplePaySession.cpp:

(WebCore::ApplePaySession::validateMerchant):

  • Modules/applepay/ApplePaySession.h:
  • Modules/applepay/ApplePayValidateMerchantEvent.cpp:

(WebCore::ApplePayValidateMerchantEvent::ApplePayValidateMerchantEvent):

  • Modules/applepay/ApplePayValidateMerchantEvent.h:

(WebCore::ApplePayValidateMerchantEvent::create):

  • Modules/applepay/PaymentCoordinator.cpp:

(WebCore::PaymentCoordinator::validateMerchant):

  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentSession.h:
  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::ApplePayPaymentHandler::validateMerchant):

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
  • Modules/paymentrequest/MerchantValidationEvent.cpp:

(WebCore::MerchantValidationEvent::create):
(WebCore::MerchantValidationEvent::MerchantValidationEvent):
(WebCore::MerchantValidationEvent::complete):

  • Modules/paymentrequest/MerchantValidationEvent.h:
  • Modules/paymentrequest/MerchantValidationEvent.idl:
  • Modules/paymentrequest/MerchantValidationEventInit.h: Removed.
  • Modules/paymentrequest/MerchantValidationEventInit.idl: Removed.
  • Modules/paymentrequest/PaymentMethodChangeEvent.cpp:

(WebCore::PaymentMethodChangeEvent::PaymentMethodChangeEvent):

  • Modules/paymentrequest/PaymentMethodChangeEvent.h:
  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::PaymentRequest::shippingAddressChanged):
(WebCore::PaymentRequest::shippingOptionChanged):
(WebCore::PaymentRequest::paymentMethodChanged):

  • Modules/paymentrequest/PaymentRequest.h:

(isType):

  • Modules/paymentrequest/PaymentRequestUpdateEvent.cpp:

(WebCore::PaymentRequestUpdateEvent::PaymentRequestUpdateEvent):
(WebCore::PaymentRequestUpdateEvent::updateWith):

  • Modules/paymentrequest/PaymentRequestUpdateEvent.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::isPaymentRequest const):

  • dom/EventTarget.h:
1:49 PM Changeset in webkit [236428] by Simon Fraser
  • 11 edits
    4 copies
    3 adds in trunk/LayoutTests

Update some test results under compositing/overflow
https://bugs.webkit.org/show_bug.cgi?id=189857

Reviewed by Tim Horton.

Unskip some tests under compositing/overflow, and land new macOS and iOS expectations.

  • compositing/overflow/overflow-auto-with-touch-expected.txt:
  • compositing/overflow/overflow-overlay-with-touch-expected.txt:
  • compositing/overflow/scrolling-content-clip-to-viewport-expected.txt:
  • compositing/overflow/scrolling-without-painting-expected.txt:
  • compositing/overflow/textarea-scroll-touch-expected.txt:
  • compositing/overflow/updating-scrolling-content-expected.txt:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios/TestExpectations:
  • platform/ios/compositing/overflow/nested-scrolling-expected.txt:
  • platform/ios/compositing/overflow/overflow-auto-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt.
  • platform/ios/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-auto-with-touch-expected.txt.
  • platform/ios/compositing/overflow/overflow-overlay-with-touch-expected.txt: Copied from LayoutTests/compositing/overflow/overflow-overlay-with-touch-expected.txt.
  • platform/ios/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt.
  • platform/ios/compositing/overflow/scrolling-without-painting-expected.txt: Copied from LayoutTests/compositing/overflow/scrolling-without-painting-expected.txt.
  • platform/ios/compositing/overflow/textarea-scroll-touch-expected.txt: Copied from LayoutTests/compositing/overflow/textarea-scroll-touch-expected.txt.
  • platform/ios/compositing/overflow/updating-scrolling-content-expected.txt: Copied from LayoutTests/compositing/overflow/updating-scrolling-content-expected.txt.
  • platform/mac/TestExpectations:
  • platform/mac/compositing/overflow/composited-scrolling-paint-phases-expected.txt:
1:47 PM Changeset in webkit [236427] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

Separate Mac and iOS implementation of windowsKeyCodeForCharCode()
https://bugs.webkit.org/show_bug.cgi?id=189898

Reviewed by Tim Horton.

Extract the Mac and iOS implementations into a windowsKeyCodeForCharCode() defined in file
KeyEventMac.mm and file KeyEventIOS, respectively.

Mac and iOS have significant differences in how they represent function keys. It is not worthwhile
to share windowsKeyCodeForCharCode() between them given these differences. On Mac function keys
are represented by a char code in the range 0xF700-0xF8FF. On iOS these keys may not have a unique
char code (e.g. F1 = 0x10 = F10) and must be identified either by special string (e.g. UIKeyInputUpArrow)
or key code.

  • platform/cocoa/KeyEventCocoa.mm:

(WebCore::windowsKeyCodeForCharCode): Deleted.

  • platform/ios/KeyEventIOS.mm:

(WebCore::windowsKeyCodeForCharCode): Added. Remove the handling of NS*FunctionKey char codes
as function keys are not represented using them as of iOS 12.

  • platform/mac/KeyEventMac.mm:

(WebCore::windowsKeyCodeForCharCode): Added.

1:40 PM Changeset in webkit [236426] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Continued test gardening of media-fragment/ tests for ios 12
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed test gardening

  • platform/ios/TestExpectations:
1:31 PM Changeset in webkit [236425] by Chris Dumez
  • 10 edits in trunk/Source/WebKit

Unreviewed, rolling out r236368.

Caused WebKit.NetworkProcessCrashWithPendingConnection API
test to crash (Bug 189926)

Reverted changeset:

"Extending the lifetime of a NetworkProcessProxy /
StorageProcessProxy may cause it to have a stale
WebProcessPool pointer"
https://bugs.webkit.org/show_bug.cgi?id=189851
https://trac.webkit.org/changeset/236368

1:19 PM Changeset in webkit [236424] by Simon Fraser
  • 28 edits
    7 deletes in trunk

Remove the old "AcceleratedCompositingForOverflowScroll" code
https://bugs.webkit.org/show_bug.cgi?id=189870

Reviewed by Zalan Bujtas.

The "AcceleratedCompositingForOverflowScroll" code was added to allow overflow:scroll to use
composited scrolling if an overflow:scroll could be made a stacking context without affecting
z-order. We need overflow:scroll to be accelerated always, so a different approach is needed.
Remove this old code (unused by any platform?) to make working on new code easier.
Source/WebCore:

  • page/Settings.yaml:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::setHasVisibleContent):
(WebCore::RenderLayer::updateDescendantDependentFlags):
(WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
(WebCore::RenderLayer::stackingContext const):
(WebCore::compositingContainer):
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::hasAcceleratedTouchScrolling const):
(WebCore::RenderLayer::usesAcceleratedScrolling const):
(WebCore::adjustedScrollDelta):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):
(WebCore::RenderLayer::enclosingFragmentedFlowAncestor const):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::acceleratedCompositingForOverflowScrollEnabled const): Deleted.
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrder): Deleted.
(WebCore::RenderLayer::updateDescendantsAreContiguousInStackingOrderRecursive): Deleted.
(WebCore::RenderLayer::positionNewlyCreatedOverflowControls): Deleted.
(WebCore::RenderLayer::canBeStackingContainer const): Deleted.
(WebCore::RenderLayer::stackingContainer const): Deleted.
(WebCore::RenderLayer::needsCompositedScrolling const): Deleted.
(WebCore::RenderLayer::updateNeedsCompositedScrolling): Deleted.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::clearZOrderLists):
(WebCore::RenderLayer::updateZOrderLists):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterLayout):
(WebCore::RenderLayerBacking::computeParentGraphicsLayerRect const):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer const):
(WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer const):
(WebCore::RenderLayerBacking::requiresScrollCornerLayer const):
(WebCore::RenderLayerBacking::compositingOpacity const):
(WebCore::traverseVisibleNonCompositedDescendantLayers):
(WebCore::RenderLayerBacking::hasUnpositionedOverflowControlsLayers const): Deleted.

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayersAfterFlush):
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush):
(WebCore::styleChangeRequiresLayerRebuild):
(WebCore::RenderLayerCompositor::enclosingNonStackingClippingLayer const):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingLayer const):
(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):
(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::requiresCompositingForBackfaceVisibility const):
(WebCore::RenderLayerCompositor::isViewportConstrainedFixedOrStickyLayer const):
(WebCore::RenderLayerCompositor::requiresCompositingForPosition const):
(WebCore::RenderLayerCompositor::requiresCompositingForOverflowScrolling const):
(WebCore::RenderLayerCompositor::requiresCompositingForScrolling const): Deleted.

  • rendering/RenderLayerCompositor.h:

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAcceleratedCompositingForOverflowScrollEnabled): Deleted.
(WKPreferencesGetAcceleratedCompositingForOverflowScrollEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

LayoutTests:

Keep some of the tests; they will be useful later.

  • compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed.
  • compositing/overflow/automatically-opt-into-composited-scrolling.html: Removed.
  • compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html:
  • compositing/overflow/composited-scrolling-creates-a-stacking-container.html: Removed.
  • compositing/overflow/composited-scrolling-paint-phases.html:
  • compositing/overflow/do-not-paint-outline-into-composited-scrolling-contents.html:
  • compositing/overflow/dynamic-composited-scrolling-status.html:
  • compositing/overflow/iframe-inside-overflow-clipping.html:
  • compositing/overflow/nested-scrolling.html:
  • compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html:
  • compositing/overflow/paint-neg-z-order-descendants-into-scrolling-contents-layer.html:
  • compositing/overflow/scrolling-content-clip-to-viewport.html:
  • compositing/overflow/scrolling-without-painting.html:
  • compositing/overflow/textarea-scroll-touch.html:
  • compositing/overflow/updating-scrolling-content.html:
  • compositing/rtl/rtl-overflow-scrolling.html:
  • platform/gtk/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Removed.
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-wk1/TestExpectations:
  • platform/ios/compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Removed.
  • platform/ios/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Removed.
  • platform/mac/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Removed.
1:15 PM Changeset in webkit [236423] by youenn@apple.com
  • 11 edits in trunk/Source

Enable conversion of libwebrtc internal frames as CVPixelBuffer
https://bugs.webkit.org/show_bug.cgi?id=189892

Reviewed by Eric Carlson.

Source/ThirdParty/libwebrtc:

Renamed encoder/decoder factory creation routine.
Make pixelBufferFromFrame take a function to create a CVPixelBuffer
if the frame does not wrap one.
Initialize the CVPixelBuffer with libwebrtc internal frame.

  • Configurations/libwebrtc.iOS.exp:
  • Configurations/libwebrtc.iOSsim.exp:
  • Configurations/libwebrtc.mac.exp:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.h:
  • Source/webrtc/sdk/WebKit/WebKitUtilities.mm:

(webrtc::createWebKitEncoderFactory):
(webrtc::createWebKitDecoderFactory):
(webrtc::CopyVideoFrameToPixelBuffer):
(webrtc::pixelBufferFromFrame):
(webrtc::createVideoToolboxEncoderFactory): Deleted.
(webrtc::createVideoToolboxDecoderFactory): Deleted.

Source/WebCore:

Make sure to handle the case of libwebrtc frames that are not backed by CVPixelBuffer.
No observable change of behavior.

  • platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:

(WebCore::LibWebRTCProviderCocoa::createDecoderFactory):
(WebCore::LibWebRTCProviderCocoa::createEncoderFactory):
Update according renamed methods.

  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.h:
  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

(WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame):
In case of libwebrtc frame that are not backed by CVPixelBuffer, we create
a CVPixelBuffer from a pixel buffer pool.
This CVPixelBuffer is then filled as part of webrtc::pixelBufferFromFrame.

  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:

(WebCore::RealtimeOutgoingVideoSourceCocoa::convertToYUV):
Make sure to use preferred pixel buffer format.

1:12 PM Changeset in webkit [236422] by eric.carlson@apple.com
  • 8 edits in trunk/Source/WebCore

[MediaStream] Add mock window capture source
https://bugs.webkit.org/show_bug.cgi?id=189843
<rdar://problem/44687445>

Reviewed by Youenn Fablet.

No new tests, the API is disabled and it isn't possible to test yet.

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::processNewFrame): Remove an extra blank line.

  • platform/mock/MockMediaDevice.h:

(WebCore::MockDisplayProperties::encode const): Get rid of defaultFrameRate, add type.
(WebCore::MockDisplayProperties::decode): Ditto.
(WebCore::MockMediaDevice::type const):

  • platform/mock/MockRealtimeMediaSourceCenter.cpp:

(WebCore::defaultDevices): Add mock window devices.
(WebCore::MockRealtimeMediaSourceCenter::audioDevices): Cleanup.
(WebCore::MockRealtimeMediaSourceCenter::videoDevices): Cleanup.
(WebCore::MockRealtimeMediaSourceCenter::displayDevices): New.

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Set default size on displays.
(WebCore::MockRealtimeVideoSource::supportsSizeAndFrameRate): Call RealtimeVideoSource for
mock camera, base class for device.
(WebCore::MockRealtimeVideoSource::setSizeAndFrameRate): Ditto.
(WebCore::MockRealtimeVideoSource::generatePresets): ASSERT if called as a camera.
(WebCore::MockRealtimeVideoSource::capabilities): updateCapabilities is only appropriate for cameras.
(WebCore::MockRealtimeVideoSource::settings): Camera and Device are different surface types.
(WebCore::MockRealtimeVideoSource::drawText): Render name, not ID.
(WebCore::MockRealtimeVideoSource::mockDisplayType const):

  • platform/mock/MockRealtimeVideoSource.h:

(WebCore::MockRealtimeVideoSource::mockDisplay const):
(WebCore::MockRealtimeVideoSource::mockScreen const):
(WebCore::MockRealtimeVideoSource::mockWindow const):

1:12 PM Changeset in webkit [236421] by sbarati@apple.com
  • 3 edits
    1 add in trunk

ArgumentsEliminationPhase should snip basic blocks after proven OSR exits
https://bugs.webkit.org/show_bug.cgi?id=189682
<rdar://problem/43557315>

Reviewed by Mark Lam.

JSTests:

  • stress/arguments-elimination-will-generate-edge-without-result.js: Added.

(foo):

Source/JavaScriptCore:

Otherwise, if we have code like this:
`
a: Arguments
b: GetButterfly(@a)
c: ForceExit
d: GetArrayLength(@a, @b)
`
it will get transformed into this invalid DFG IR:
`
a: PhantomArguments
b: Check(@a)
c: ForceExit
d: GetArrayLength(@a, @b)
`

And we will fail DFG validation since @b does not have a result.

The fix is to just remove all nodes after the ForceExit and plant an
Unreachable after it. So the above code program will now turn into this:
`
a: PhantomArguments
b: Check(@a)
c: ForceExit
e: Unreachable
`

  • dfg/DFGArgumentsEliminationPhase.cpp:
12:44 PM Changeset in webkit [236420] by Chris Dumez
  • 4 edits
    2 adds in trunk

Do not do early processing of incoming sync IPC unless we're waiting for a sync IPC reply
https://bugs.webkit.org/show_bug.cgi?id=186941

Reviewed by Alex Christensen.

Source/WebKit:

The comment was claiming we were processing incoming sync messages while waiting for a
sync IPC reply to prevent deadlocks. However, the code was failing to check if we were
waiting for a sync IPC reply. As a result, incoming sync IPC messages would get processed
early no matter what, jumping the line. This was the source of the flakiness in the blob
tests since the IPC to register the blob in the network process was async and the follow-up
IPC to ask the network process for the blob size was sync. The sync message to get the blob
size would jump the line and get processed before the async message to register the blob.
As a result, the network process would not know about the blob yet and return size 0. Of
course, this could happen if the network process was sending sync IPC at the time. However,
the network process never sends any sync IPC and therefore, should never process incoming
IPC messages out of order.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::processIncomingMessage):

LayoutTests:

Add layout test coverage.

  • http/tests/misc/blob-size-expected.txt: Added.
  • http/tests/misc/blob-size.html: Added.
12:42 PM Changeset in webkit [236419] by Chris Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed, skip imported/w3c/web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html

This newly imported test flakily times out.

12:20 PM Changeset in webkit [236418] by zandobersek@gmail.com
  • 2 edits
    64 adds in trunk/LayoutTests

Unreviewed WPE gardening. Managing failing WebGL tests in the 2.0.0
version of the Khronos conformance suite.

  • platform/wpe/TestExpectations: Skip the GLSL test cases of which one

is DoS-ing AMD GPUs on Linux. This needs more research to isolate the
culprit and properly fix the underlying problem.

  • platform/wpe/webgl/2.0.0/: 44 test baselines added.
12:13 PM Changeset in webkit [236417] by dbates@webkit.org
  • 12 edits in trunk

[iOS] Key code is 0 for many hardware keyboard keys
https://bugs.webkit.org/show_bug.cgi?id=189604

Reviewed by Wenson Hsieh.

Source/WebCore:

Based off a patch by Jeremy Jones.

Add iOS-specific implementation of windowsKeyCodeForKeyCode() to map an iOS virtual key code to
the corresponding Windows virtual key code. Only hardware keyboard-generated events have a
virtual key code. For software-generated keyboard events we do what we do now and compute the
Windows virtual key code from the character string associated with the event.

When a WebEvent is instantiated with a non-zero iOS virtual key code (keyCode) we now always
convert it to its corresponding Windows virtual key code without considering the specified
charactersIgnoringModifiers character string. Currently we prefer computing the key code from
charactersIgnoringModifiers regardless of whether a non-zero iOS virtual key code was given.
However this causes special keys, including function keys (e.g. F10) to be misidentified because
keyboard layouts in iOS (at least iOS 12) map such special keys to ASCII control characters (e.g.
F10 maps to ASCII control character "data link escape" = 0x10) as opposed to special 16-bit
integral constants as we do on Mac (e.g. F10 maps to NSF10FunctionKey = 0xF70D on Mac). I will
look to fix up the computation of a Windows virtual key code from a char code on iOS in a
subsequent commit(s). For now, computing the Windows virtual key code directly from the iOS
virtual key code specified to the WebEvent constructor avoids the misidentification using
an ANSI US keyboard layout.

  • platform/cocoa/KeyEventCocoa.mm:

(WebCore::windowsKeyCodeForKeyCode): Deleted; moved to KeyEventMac.mm as this mapping is specific to Mac.

  • platform/ios/KeyEventIOS.mm:

(WebCore::windowsKeyCodeForKeyCode): Added.

  • platform/ios/WebEvent.mm:

(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:keyCode:isTabKey:characterSet:]): Address the NOTE comment and compute the Windows virtual key code from
the iOS virtual key code when we have one. Also inline the value of an unncessary local variable.
(-[WebEvent initWithKeyEventType:timeStamp:characters:charactersIgnoringModifiers:modifiers:isRepeating:withFlags:withInputManagerHint:keyCode:isTabKey:]): Ditto.

  • platform/mac/KeyEventMac.mm:

(WebCore::windowsKeyCodeForKeyCode): Moved from KeyEventCocoa.mm. Updated code to make use of WTF_ARRAY_LENGTH() instead
of hardcoding the upper bound of the lookup table.

Source/WebKit:

For a hardware keyboard-generated event (an event with a non-nill event._hidEvent) pass
the key code for the event. Otherwise, do what we do now and pass 0 as the event is likely
a software keyboard-generated event.

  • Platform/spi/ios/UIKitSPI.h: Add some more SPI.
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView handleKeyEvent:]):

LayoutTests:

Update existing test and test result and add a new test to ensure we dispatch DOM keydown
and DOM keyup events dispatched for special keys.

  • fast/events/ios/keydown-keyup-in-non-editable-content-expected.txt: Update expected result.
  • fast/events/ios/keydown-keyup-in-non-editable-content.html: Remove logic to test arrow keys

as these are tested in test keydown-keyup-special-keys-in-non-editable-element.html. Also
update manual instructions to use <kbd> to format keyboard keys.

  • fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt:
11:20 AM Changeset in webkit [236416] by Simon Fraser
  • 5 edits
    2 adds in trunk

feMorphology filter in CSS doesn't update when element moves
https://bugs.webkit.org/show_bug.cgi?id=189895

Reviewed by Dean Jackson.

Source/WebCore:

SourceAlpha needs to be invalidated from clearIntermediateResults(),
so get it from the SVGFilterBuilder (which always creates one) and store in
a member variable.

Test: css3/filters/invalidate-sourceAlpha.html

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::clearIntermediateResults):

  • rendering/CSSFilter.h:
  • svg/graphics/filters/SVGFilterBuilder.h:

LayoutTests:

Test that moves a box inside a filtered div. Masking is necessary to work
around bugs in feMorphology invalidation (webkit.org/b/189896).

  • css3/filters/invalidate-sourceAlpha-expected.html: Added.
  • css3/filters/invalidate-sourceAlpha.html: Added.
11:20 AM Changeset in webkit [236415] by Simon Fraser
  • 4 edits
    2 adds in trunk

CSS reference filter with feDisplacementMap shows buffer corruption on Retina displays
https://bugs.webkit.org/show_bug.cgi?id=188486
<rdar://problem/43189750>

Reviewed by Dean Jackson.
Source/WebCore:

The paintSize needs to be scaled by filterScale on Retina displays.

Test: css3/filters/hidpi-feDisplacementMap.html

  • platform/graphics/filters/FEDisplacementMap.cpp:

(WebCore::FEDisplacementMap::platformApplySoftware):

  • platform/graphics/filters/FEDisplacementMap.h:

LayoutTests:

  • css3/filters/hidpi-feDisplacementMap-expected.html: Added.
  • css3/filters/hidpi-feDisplacementMap.html: Added.
11:19 AM Changeset in webkit [236414] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Unreviewed build fix for Jhbuild-using ports.

  • gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch:

Adjust the patch so it applies cleanly on the 1.14.3 version of the
gst-plugins-good package.

11:10 AM Changeset in webkit [236413] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

ReferenceFilterOperation doesn't need to store the FilterEffect
https://bugs.webkit.org/show_bug.cgi?id=189904

Reviewed by Dean Jackson.

ReferenceFilterOperation doesn't do anything with m_filterEffect so don't store it.

  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::ReferenceFilterOperation::setFilterEffect): Deleted.

  • platform/graphics/filters/FilterOperation.h:

(WebCore::ReferenceFilterOperation::filterEffect const): Deleted.

  • rendering/CSSFilter.cpp:

(WebCore::CSSFilter::build):

11:00 AM Changeset in webkit [236412] by Simon Fraser
  • 3 edits
    2 adds in trunk

Garbled rendering of image when applied feConvolveMatrix to it, on Retina display
https://bugs.webkit.org/show_bug.cgi?id=189748
<rdar://problem/44621494>

Reviewed by Jon Lee.
Source/WebCore:

feConvolveMatrix needs to scale the paintSize by the filter scale (2x on Retina displays),
otherwise parts of the output buffer are uninitialized and the result is incorrect.

Test: css3/filters/hidpi-feConvolveMatrix.html

  • platform/graphics/filters/FEConvolveMatrix.cpp:

(WebCore::FEConvolveMatrix::platformApplySoftware):

LayoutTests:

  • css3/filters/hidpi-feConvolveMatrix-expected.html: Added.
  • css3/filters/hidpi-feConvolveMatrix.html: Added.
10:37 AM Changeset in webkit [236411] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Inspector: topContentInset is not accounted for when inspecting a WKWebView and docked to side
https://bugs.webkit.org/show_bug.cgi?id=189859

Reviewed by Joseph Pecoraro.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
Add special cases for inspecting a WKWebView. We already special-case for WKView.

10:35 AM Changeset in webkit [236410] by dino@apple.com
  • 4 edits
    3 adds in trunk

Ensure PointerEvent is not visible when disabled
https://bugs.webkit.org/show_bug.cgi?id=189889
<rdar://problem/44708253>

Reviewed by Eric Carlson.

Source/WebCore:

Test: pointerevents/disabled.html

  • bindings/js/WebCoreBuiltinNames.h: Now that it is enabled at runtime, it needs

a built-in name.

  • dom/PointerEvent.idl: Add EnabledAtRuntime.

LayoutTests:

A test that explicitly disables PointerEvents and checks
that the interface is not visible.

  • pointerevents/disabled-expected.html: Added.
  • pointerevents/disabled.html: Added.
10:26 AM Changeset in webkit [236409] by aboya@igalia.com
  • 4 edits in trunk/Source/WebCore

[MSE][GStreamer] Pull demuxed samples in batches
https://bugs.webkit.org/show_bug.cgi?id=189871

Reviewed by Xabier Rodriguez-Calvar.

After this patch, only the notifications of "new samples available"
(appsink-new-sample bus messages) travel from the streaming thread to
the main thread through the bus and the main thread is the responsible
of pulling as many samples as it can from appsink. Before, the samples
were pulled from appsink in the non-main thread and traveled to the
main thread through the bus one by one.

This reduces drastically the amount of context switches and waiting
time in the streaming thread, resulting in a noticeable performance
improvement.

This fixes stutter while loading YouTube videos.

  • platform/graphics/gstreamer/MediaSampleGStreamer.cpp:

(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::~AppendPipeline):
(WebCore::AppendPipeline::clearPlayerPrivate):
(WebCore::AppendPipeline::handleApplicationMessage):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::AppendPipeline::consumeAppSinkAvailableSamples):
(WebCore::AppendPipeline::resetPipeline):
(WebCore::AppendPipeline::handleNewAppsinkSample):

  • platform/graphics/gstreamer/mse/AppendPipeline.h:
10:19 AM Changeset in webkit [236408] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS ] Layout Tests in media/media-fragments/ are flaky - Remved Debug only as tests are flakey on Release.
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed Test Gardening

  • platform/ios/TestExpectations:
10:16 AM Changeset in webkit [236407] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS ] Layout Tests in media/media-fragments/ are flaky
https://bugs.webkit.org/show_bug.cgi?id=187557

Unreviewed Test Gardening

  • platform/ios/TestExpectations:
10:13 AM Changeset in webkit [236406] by Ryan Haddad
  • 2 edits in trunk/Tools

Update flakiness dashboard configuration for iOS 12 queues
https://bugs.webkit.org/show_bug.cgi?id=189688

Reviewed by Alexey Proskuryakov.

  • TestResultServer/static-dashboards/builders.jsonp:
9:55 AM Changeset in webkit [236405] by Chris Dumez
  • 4 edits
    344 adds in trunk/LayoutTests

Import html/webappapis/dynamic-markup-insertion WPT tests
https://bugs.webkit.org/show_bug.cgi?id=189863

Reviewed by Youenn Fablet.

  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/document.close-01.xhtml: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/closing-the-input-stream/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/001-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/001.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/002-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/002.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/003-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/003.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/004-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/004.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/005-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/005.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/005.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/006-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/006.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/006.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/007-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/007.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/007.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008-1.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/008.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/009-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/009.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010-1.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/010.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011-1.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/011.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/012-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/012.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/012.js: Added.

(t.step):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/013-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/013.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/013.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/014-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/014.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/015-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/015.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/016-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/016.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/017-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/017.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/018-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/018.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/019-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/019.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/020-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/020.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/021-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/021.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/022-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/022.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/023-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/023.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/024-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/024.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/025-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/025.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/026-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/026.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/027-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/027.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/028-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/028.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/029-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/029.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/030-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/030.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/031-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/031.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/032-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/032.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/033-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/033.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/034-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/034.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/035-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/035.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/036-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/036.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/037-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/037.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/038-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/038.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/039-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/039.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/040-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/040.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/041-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/041.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/042-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/042.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/043-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/043.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/044-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/044.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/045-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/045.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/046-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/046.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/047-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/047.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/048-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/048.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/049-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/049.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/050-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/050.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/051-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/051.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/contentType.window.js: Added.

(string_appeared_here.forEach.val.async_test.t.frame.onload.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-01.xhtml: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-02-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/document.write-02.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/empty.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_001-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_001.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_002-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_002.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_003-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_003.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_004-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_004.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_005-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_006-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_006.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_007-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_007.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_008-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_008.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_009-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_009.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_010-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/iframe_010.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-2.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/nested-document-write-external.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/original-id.json: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_001-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_001.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_002-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_002.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_003-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_003.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_004-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_004.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_005-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_005.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_006-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_006.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_007-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_007.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_008-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_008.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_009-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_009.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_010-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_010.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_011-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_011.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_012-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_012.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_013-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/script_013.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/write-active-document-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-write/write-active-document.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-01.xhtml: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-02.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/document.writeln-03.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/original-id.json: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/document-writeln/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/002.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/004.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/006.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/011.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/012.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/013.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/014.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/015.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-1.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/016.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-immediate.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-header.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-header.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-header.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-meta.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-meta.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-refresh-multisecond-meta.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-while-navigating.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-while-navigating.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort-while-navigating.window.js: Added.

(async_test.t.frame.onload.t.step_func):
(async_test.t.t.step_timeout):
(async_test.t.t.step_timeout.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort.sub.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort.sub.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/abort.sub.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/aborted-parser.window.js: Added.

(async_test.t.window.handlers.afterOpen.t.step_func_done):
(async_test.t.window.handlers.afterOpenAsync.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/active.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/active.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/active.window.js: Added.

(assertOpenIsEffective):
(async_test.t.frame.onload.t.step_func):
(async_test.t.xhr.onload.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-origin.sub.window.js: Added.

(setEntryToTopLevel):
(async_test.t.t.add_cleanup):
(async_test.t.iframe.onload.t.step_func_done):
(async_test.t.window.onCustomElementReady.t.step_func):
(async_test.t.self.testSynchronousScript.t.step_func):
(string_appeared_here.async_test.t.t.add_cleanup):
(string_appeared_here.async_test.t.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-exception-vs-return-xml.window.js: Added.

(async_test.t.t.add_cleanup):
(async_test.t.self.testSynchronousScript.t.step_func_done):
(string_appeared_here.async_test.t.t.add_cleanup):
(string_appeared_here.async_test.t.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-ignore-opens-during-unload.window.js: Added.

(string_appeared_here.async_test.t.iframe.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-same-origin-domain.sub.window.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-synchronous-script.window.js: Added.

(async_test.t.self.testSynchronousScript.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/bailout-side-effects-xml.window.js: Added.

(async_test.t.iframe.onload.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/beforeunload.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/custom-element.window.js: Added.

(CustomElement):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-01.xhtml: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-02.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/document.open-03.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/encoding.window.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/event-listeners.window.js: Added.

(async_test.t.frame.onload.t.step_func):
(test.t.const.winListener.t.step_func):
(test.t.t.add_cleanup):
(test.t.const.bodyListener.t.step_func):
(async_test.t.xhr.onload.t.step_func_done):
(test.t.t.step_func):
(test.t.thrower.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history-state.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history-state.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history-state.window.js: Added.

(async_test.t.iframe.onload.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/history.window.js: Added.

(window.onFrameLoaded.t.step_func):
(window.onDocumentOpen.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/ignore-opens-during-unload.window.js: Added.

(async_test.t.iframe.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-events.window.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/mutation-observer.window.js: Added.

(async_test.t.t.add_cleanup):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/no-new-global.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/no-new-global.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/no-new-global.window.js: Added.

(async_test.t.frame.onload.t.step_func_done):
(testIdentity):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-basic.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/origin-check-in-document-open-same-origin-domain.sub.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/quirks.window.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/readiness.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/readiness.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/readiness.window.js: Added.

(async_test.t.t.add_cleanup):
(async_test.t.frame.onload.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/reload.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/reload.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/reload.window.js: Added.

(window.name.string_appeared_here.async_test.t.t.add_cleanup):
(window.name.string_appeared_here.async_test.t.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-async-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/aborted-parser-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-custom-element-with-domain-frame.sub.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-synchronous-script-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-synchronous-script-with-domain-frame.sub.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-xml-with-domain-frame.sub.xhtml: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/bailout-order-xml-with-synchronous-script-frame.xhtml: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/document-open-side-effects.js: Added.

(assertDocumentIsReadyForSideEffectsTest):
(assertOpenHasNoSideEffects):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/dummy.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/encoding-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/global-variables-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/history-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/http-refresh.py: Added.

(main):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/meta-refresh.py: Added.

(main):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/page-with-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/set-document-domain.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/slow-png.py: Added.

(main):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/url-frame.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/resources/w3c-import.log: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/tasks.window.js: Added.

(taskTest):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext-subframe.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument-plaintext.window.js: Added.

(string_appeared_here.forEach.type.async_test.t.frame.onload.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/type-argument.window.js: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/unload.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/unload.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/unload.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url-fragment.window.js: Added.

(async_test.t.t.add_cleanup):
(async_test.t.self.onhashchange.t.step_func_done):
(async_test.t.const.frame.document.body.appendChild.document.createElement.string_appeared_here.t.add_cleanup):
(async_test.t.window.testDone.t.step_func_done):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window-expected.txt: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window.html: Added.
  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/url.window.js: Added.

(async_test.t.frame.onload.t.step_func):

  • web-platform-tests/html/webappapis/dynamic-markup-insertion/opening-the-input-stream/w3c-import.log: Added.
9:49 AM Changeset in webkit [236404] by aestes@apple.com
  • 2 edits in trunk/LayoutTests

Try to make payment-response-reference-cycle-leak.https.html not be flaky.

Unreviewed.

  • http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html:

Doubled the number of repetitions (from 40 to 80).

9:39 AM Changeset in webkit [236403] by pvollan@apple.com
  • 15 edits in trunk

[WebVTT] Change name of WebVTT region attribute 'height' to 'lines'.
https://bugs.webkit.org/show_bug.cgi?id=189862

Reviewed by Eric Carlson.

Source/WebCore:

The WebVTT region attribute 'height' has been renamed to 'lines', see https://w3c.github.io/webvtt/#region-settings.

No new tests, covered by existing tests.

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::setLines):
(WebCore::VTTRegion::updateParametersFromRegion):
(WebCore::VTTRegion::scanSettingName):
(WebCore::VTTRegion::parseSettingValue):
(WebCore::VTTRegion::prepareRegionDisplayTree):
(WebCore::VTTRegion::setHeight): Deleted.

  • html/track/VTTRegion.h:
  • html/track/VTTRegion.idl:

LayoutTests:

  • media/track/captions-webvtt/captions-regions.vtt:
  • media/track/captions-webvtt/header-regions.vtt:
  • media/track/regions-webvtt/vtt-region-constructor-expected.txt:
  • media/track/regions-webvtt/vtt-region-constructor.html:
  • media/track/regions-webvtt/vtt-region-display-expected.txt:
  • media/track/regions-webvtt/vtt-region-display.html:
  • media/track/regions-webvtt/vtt-region-list-expected.txt:
  • media/track/regions-webvtt/vtt-region-list.html:
  • media/track/regions-webvtt/vtt-region-parser-expected.txt:
  • media/track/regions-webvtt/vtt-region-parser.html:
8:58 AM Changeset in webkit [236402] by yoav@yoav.ws
  • 21 edits
    2 copies
    62 adds
    2 deletes in trunk/LayoutTests

Import WPT resource-timing tests
https://bugs.webkit.org/show_bug.cgi?id=189903

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/resource-timing/META.yml: Added.
  • web-platform-tests/resource-timing/OWNERS: Removed.
  • web-platform-tests/resource-timing/clear_resource_timing_functionality.html: Added.
  • web-platform-tests/resource-timing/clear_resource_timing_functionality-expected.txt: Added.
  • web-platform-tests/resource-timing/idlharness.any.html: Added.
  • web-platform-tests/resource-timing/idlharness.any-expected.txt: Added.
  • web-platform-tests/resource-timing/idlharness.any.js: Added.

(idl_array.catch):

  • web-platform-tests/resource-timing/idlharness.any.worker.html: Added.
  • web-platform-tests/resource-timing/idlharness.any.worker-expected.txt: Added.
  • web-platform-tests/resource-timing/idlharness.html: Removed.
  • web-platform-tests/resource-timing/resource-timing-tojson.html: Added.
  • web-platform-tests/resource-timing/resource-timing-tojson-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_TAO_cross_origin_redirect_chain.html: Added.
  • web-platform-tests/resource-timing/resource_TAO_cross_origin_redirect_chain-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_TAO_match_origin.htm:
  • web-platform-tests/resource-timing/resource_TAO_match_origin-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_TAO_match_wildcard.htm:
  • web-platform-tests/resource-timing/resource_TAO_match_wildcard-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_TAO_multi.htm:
  • web-platform-tests/resource-timing/resource_TAO_multi-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_TAO_multi_wildcard.html: Copied from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource_TAO_multi.htm.
  • web-platform-tests/resource-timing/resource_TAO_multi_wildcard-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_TAO_null.htm:
  • web-platform-tests/resource-timing/resource_TAO_null-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_TAO_origin_uppercase.htm:
  • web-platform-tests/resource-timing/resource_TAO_origin_uppercase-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_TAO_space.htm:
  • web-platform-tests/resource-timing/resource_TAO_space-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_TAO_wildcard.htm:
  • web-platform-tests/resource-timing/resource_TAO_wildcard-expected.txt: Changed.
  • web-platform-tests/resource-timing/resource_dedicated_worker.html: Added.
  • web-platform-tests/resource-timing/resource_dedicated_worker-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_ignore_data_url.html: Added.
  • web-platform-tests/resource-timing/resource_ignore_data_url-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_ignore_failures.html: Added.
  • web-platform-tests/resource-timing/resource_ignore_failures-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_initiator_types.html: Added.
  • web-platform-tests/resource-timing/resource_initiator_types-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_memory_cached.sub.html: Added.
  • web-platform-tests/resource-timing/resource_memory_cached.sub-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_redirects.html: Added.
  • web-platform-tests/resource-timing/resource_redirects-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_reparenting.html: Added.
  • web-platform-tests/resource-timing/resource_reparenting-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_script_types.html: Added.
  • web-platform-tests/resource-timing/resource_script_types-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_subframe_self_navigation.html: Added.
  • web-platform-tests/resource-timing/resource_subframe_self_navigation-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing.worker.html: Added.
  • web-platform-tests/resource-timing/resource_timing.worker-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing.worker.js: Added.

(check):
(async_test.t.then):

  • web-platform-tests/resource-timing/resource_timing_TAO_cross_origin_redirect.html: Added.
  • web-platform-tests/resource-timing/resource_timing_TAO_cross_origin_redirect-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_buffer_full_eventually.html: Added.
  • web-platform-tests/resource-timing/resource_timing_buffer_full_eventually-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries.html: Added.
  • web-platform-tests/resource-timing/resource_timing_buffer_full_when_populate_entries-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html: Added.
  • web-platform-tests/resource-timing/resource_timing_buffer_full_when_shrink_buffer_size-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_cross_origin_redirect.html: Added.
  • web-platform-tests/resource-timing/resource_timing_cross_origin_redirect-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_cross_origin_redirect_chain.html: Added.
  • web-platform-tests/resource-timing/resource_timing_cross_origin_redirect_chain-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_same_origin_redirect.html: Added.
  • web-platform-tests/resource-timing/resource_timing_same_origin_redirect-expected.txt: Added.
  • web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback.html: Added.
  • web-platform-tests/resource-timing/resource_timing_store_and_clear_during_callback-expected.txt: Added.
  • web-platform-tests/resource-timing/resources/TAOResponse.py:

(main):

  • web-platform-tests/resource-timing/resources/all_resource_types.htm: Added.
  • web-platform-tests/resource-timing/resources/blank_page_green.htm: Added.
  • web-platform-tests/resource-timing/resources/empty.js: Added.
  • web-platform-tests/resource-timing/resources/empty.py: Added.

(main):

  • web-platform-tests/resource-timing/resources/empty_script.js: Added.
  • web-platform-tests/resource-timing/resources/eventsource.py: Added.

(main):

  • web-platform-tests/resource-timing/resources/green_frame.htm: Added.
  • web-platform-tests/resource-timing/resources/iframe_TAO_multi_wildcard.html: Added.
  • web-platform-tests/resource-timing/resources/multi_redirect.py: Added.

(main):

  • web-platform-tests/resource-timing/resources/nested.css: Added.

(@import "resource_timing_test0.css?id=n1";):
(ol):

  • web-platform-tests/resource-timing/resources/notify_parent.html: Added.
  • web-platform-tests/resource-timing/resources/self_navigation.html: Added.
  • web-platform-tests/resource-timing/resources/w3c-import.log:
  • web-platform-tests/resource-timing/resources/worker_with_images.js: Added.

(checkDone):
(makeRequest.xhr.onreadystatechange):
(makeRequest):

  • web-platform-tests/resource-timing/w3c-import.log:

LayoutTests:

  • TestExpectations:: Added a few failing tests.
  • platform/mac/TestExpectations:: Added a timeout test.
8:53 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
8:47 AM Changeset in webkit [236401] by magomez@igalia.com
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] Compositing indicators are not working
https://bugs.webkit.org/show_bug.cgi?id=189915

Reviewed by Žan Doberšek.

Pass the debugBorder and repaintCount parameters to the TextureMapperLayer when required.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateSceneState):

8:39 AM WebKitGTK/2.22.x edited by Michael Catanzaro
(diff)
8:28 AM Changeset in webkit [236400] by aboya@igalia.com
  • 2 edits in trunk/Tools

[GStreamer] Unreviewed build fix.

A GStreamer patch was not applying cleanly on 1.14.3.

  • gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch:
6:31 AM Changeset in webkit [236399] by aboya@igalia.com
  • 5 edits
    1 add in trunk

[MSE][GStreamer] Use no-more-pads event for noticing initialization segments
https://bugs.webkit.org/show_bug.cgi?id=189868

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Fixes the following YTTV 2018 tests:
62.VideoDimensionVP9
63.PlaybackStateVP9

This removes the hack that was making supporting multiple tracks in
the same file in MSE impossible.

For WebM, this GStreamer patch is required:
https://bugzilla.gnome.org/show_bug.cgi?id=797187
"matroskademux: Emit no-more-pads after parsing Tracks"

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleApplicationMessage):
(WebCore::AppendPipeline::demuxerNoMorePads):
(WebCore::AppendPipeline::appsinkCapsChanged):
(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):
(WebCore::AppendPipeline::appendPipelineDemuxerNoMorePadsFromAnyThread):
(WebCore::appendPipelineDemuxerNoMorePads):

  • platform/graphics/gstreamer/mse/AppendPipeline.h:

Tools:

Added patch from https://bugzilla.gnome.org/show_bug.cgi?id=797187

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/gst-plugins-good-0010-matroskademux-Emit-no-more-pads-after-parsing-Tracks.patch: Added.
5:34 AM Changeset in webkit [236398] by aboya@igalia.com
  • 2 edits
    3 adds in trunk/Tools

[MSE][GStreamer] Add patch to jhbuild: matroskademux: Allow Matroska headers to be read more than once
https://bugs.webkit.org/show_bug.cgi?id=185731

Reviewed by Xabier Rodriguez-Calvar.

Upstream bug in GStreamer: https://bugzilla.gnome.org/show_bug.cgi?id=793333

This fixes YTTV 35. AppendMultipleInitOpusAudio (and any other use
case where two WebM initialization segments are appended on a row).

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/gst-plugins-good-0007-matroskademux-Allow-Matroska-headers-to-be-read-more.patch: Added.
  • gstreamer/patches/gst-plugins-good-0008-matroskademux-Refactor-track-parsing-out-from-adding.patch: Added.
  • gstreamer/patches/gst-plugins-good-0009-matroskademux-Parse-successive-Tracks-elements.patch: Added.
4:16 AM Changeset in webkit [236397] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[WPE][GTK][WebRTC] Fix leaks in the libwebrtc Decoder and Encoder
https://bugs.webkit.org/show_bug.cgi?id=189835

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-24
Reviewed by Philippe Normand.

  • Rework memory management to avoid leaking encoded frames (basically use the same strategy as other libwebrtc encoder implementation).
  • Plug a GstCaps leak.
  • platform/mediastream/gstreamer/GStreamerVideoCapturer.cpp:
  • platform/mediastream/libwebrtc/GStreamerVideoDecoderFactory.cpp:
  • platform/mediastream/libwebrtc/GStreamerVideoEncoderFactory.cpp:

(WebCore::GStreamerVideoEncoder::InitEncode):
(WebCore::GStreamerVideoEncoder::newSampleCallback):
(WebCore::GStreamerVideoEncoder::Fragmentize):
(WebCore::GStreamerVideoEncoder::SetRestrictionCaps):

3:20 AM Changeset in webkit [236396] by Philippe Normand
  • 5 edits in trunk/Source/WebCore

[GStreamer] Utilities cleanups
https://bugs.webkit.org/show_bug.cgi?id=189699
<rdar://problem/44634143>

Reviewed by Xabier Rodriguez-Calvar.

The GstMappedBuffer now has a move constructor so that it can be easily
reused in the webaudiosrc element. The now-unused corresponding
buffer-mapping utilities are removed from the code-base.

The HTTP source element used to handle a GstBuffer in its private
structure but this is no longer required since data is now pushed
in chunks, see bug #182829.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcLoop):

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::createGstBuffer): Deleted.
(WebCore::createGstBufferForData): Deleted.
(WebCore::getGstBufferDataPointer): Deleted.
(WebCore::mapGstBuffer): Deleted.
(WebCore::unmapGstBuffer): Deleted.

  • platform/graphics/gstreamer/GStreamerCommon.h:

(WebCore::GstMappedBuffer::create): New method returning a
reference to a newly created GstMappedBuffer instance.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStop): Remove reference to unused GstBuffer.
(CachedResourceStreamingClient::dataReceived): Ditto.

3:16 AM Changeset in webkit [236395] by eocanha@igalia.com
  • 2 edits in trunk/Source/WebCore

[MSE][GStreamer] Don't update duration when it was not previously NaN
https://bugs.webkit.org/show_bug.cgi?id=189869

Reviewed by Xabier Rodriguez-Calvar.

This is what the spec mandates. The spec doesn't say anything about
updating duration when it had been previously set, even if the new
init segment says that the duration is growing.

This fixes MSE YTTV 2018 69.MediaSourceDurationVP9.

  • platform/graphics/gstreamer/mse/AppendPipeline.cpp:

(WebCore::AppendPipeline::connectDemuxerSrcPadToAppsink):

Sep 23, 2018:

6:20 PM Changeset in webkit [236394] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.2.102

Tag Safari-606.2.102.

1:52 PM Changeset in webkit [236393] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add missing includes in TextCodecReplacement.cpp
https://bugs.webkit.org/show_bug.cgi?id=189894

Patch by Frederic Wang <fwang@igalia.com> on 2018-09-23
Reviewed by Darin Adler.

No new tests, behavior unchanged.

  • platform/text/TextCodecReplacement.cpp: Add missing headers.
1:39 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)

Sep 22, 2018:

9:49 PM Changeset in webkit [236392] by dino@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed - Skip pointer events tests on legacy WebKit.

  • platform/ios-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
9:22 PM Changeset in webkit [236391] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebCore

[ARM] Building FELightingNEON.cpp fails due to missing lightVector member
https://bugs.webkit.org/show_bug.cgi?id=189890

Reviewed by Darin Adler.

No new tests needed.

  • platform/graphics/cpu/arm/filters/FELightingNEON.h:

(WebCore::FELighting::platformApplyNeon): Adapt to new layout of "struct PaintingData" after r225122.

4:49 PM Changeset in webkit [236390] by mmaxfield@apple.com
  • 12 edits
    2 copies in trunk/Tools

[WHSL] Need grammar to specify kernel group size
https://bugs.webkit.org/show_bug.cgi?id=189108

Reviewed by Dean Jackson.

In HLSL, compute functions are annotated with their workgroup size.
For example,

[numthreads(3, 4, 5)] compute void foo(...) { ... }

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Func.js:

(Func):
(Func.prototype.get attributeBlock):

  • WebGPUShadingLanguageRI/FuncAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.

(FuncAttribute):

  • WebGPUShadingLanguageRI/FuncDef.js:

(FuncDef):

  • WebGPUShadingLanguageRI/FuncNumThreadsAttribute.js: Copied from Tools/WebGPUShadingLanguageRI/FuncDef.js.

(FuncNumThreadsAttribute):
(FuncNumThreadsAttribute.prototype.get x):
(FuncNumThreadsAttribute.prototype.get y):
(FuncNumThreadsAttribute.prototype.get z):

  • WebGPUShadingLanguageRI/LateChecker.js:

(LateChecker.prototype._checkShaderType):

  • WebGPUShadingLanguageRI/Parse.js:

(parseAttributeBlock):
(parseFuncDecl):
(parseFuncDef):
(parseNativeFunc):

  • WebGPUShadingLanguageRI/SPIRV.html:
  • WebGPUShadingLanguageRI/StatementCloner.js:

(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitFuncNumThreadsAttribute):
(StatementCloner):

  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(tests.numThreads):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitFunc):
(Visitor.prototype.visitFuncNumThreadsAttribute):
(Visitor):

  • WebGPUShadingLanguageRI/index.html:
4:42 PM Changeset in webkit [236389] by youenn@apple.com
  • 3 edits in trunk/LayoutTests

Tests checking document GC in case of ActiveDOMObjects are flaky
https://bugs.webkit.org/show_bug.cgi?id=189413
<rdar://problem/44243231>

Reviewed by Eric Carlson.

Media controls prevent in some cases to collect the document.
Remove the controls to remove a source of flakiness for this test.

  • http/tests/media/clearkey/resources/mywebkitmediasessionframe.htm:
  • platform/mac/TestExpectations:
4:34 PM Changeset in webkit [236388] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

Native functions which accept pointers need to do null checks
https://bugs.webkit.org/show_bug.cgi?id=189883

Reviewed by Dean Jackson.

Simply guard all the places where we write through an author-provided pointer.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics.):

  • WebGPUShadingLanguageRI/Test.js:

(tests.textureDimensionsNull):

4:22 PM Changeset in webkit [236387] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

[WHLSL] Implement atomic operations and barriers
https://bugs.webkit.org/show_bug.cgi?id=189025

Reviewed by Dean Jackson.

In the interpreter, atomic operations don't need to be atomic.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics.):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(let.standardLibrary):

  • WebGPUShadingLanguageRI/Test.js:

(tests.atomics):

5:54 AM Changeset in webkit [236386] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[Cairo] Null-check cairo_pattern_t gradient objects
https://bugs.webkit.org/show_bug.cgi?id=189820

Reviewed by Alex Christensen.

Cairo-specific implementation of Gradient::createPlatformGradient() can
now return a nullptr value when a conic gradient is described by the
Gradient object. Cairo doesn't have a way to create cairo_pattern_t
objects for such gradients.

Null-checks are now done on return values of createPlatformGradient(),
in order to avoid proceeding to paint a null cairo_pattern_t object.

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::Gradient::fill):

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:

(WebCore::GraphicsContextImplCairo::fillRect):

5:43 AM Changeset in webkit [236385] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE] Be very permissive in the MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=189800

This is just a test tool and we should make
it just work, security and privacy is not really
a primary focus here.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-22
Reviewed by Žan Doberšek.

  • MiniBrowser/wpe/main.cpp:

(decidePermissionRequest):
(main):

1:13 AM Changeset in webkit [236384] by rniwa@webkit.org
  • 6 edits
    4 adds in trunk

Cannot start a drag inside a shadow tree when an inclusive-ancestor of its shadow host is a draggable element
https://bugs.webkit.org/show_bug.cgi?id=136836

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug by simply generalizing the existing code path existed for video / input type=color.

Tests: fast/shadow-dom/dragging-element-inside-shadow-tree.html

fast/shadow-dom/dragging-element-with-shadow-tree.html

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

LayoutTests:

Added regression tests for dragging a element with a shadow tree, which is fixed in this bug
as well as dragging an element inside a shadow tree, which was already functional but had no tests.

  • TestExpectations:
  • fast/shadow-dom/dragging-element-inside-shadow-tree-expected.txt: Added.
  • fast/shadow-dom/dragging-element-inside-shadow-tree.html: Added.
  • fast/shadow-dom/dragging-element-with-shadow-tree-expected.txt: Added.
  • fast/shadow-dom/dragging-element-with-shadow-tree.html: Added.
  • platform/ios/TestExpectations: Don't mark the entirety of fast/shadow-dom as PASS.
  • platform/mac-wk1/TestExpectations:
12:56 AM Changeset in webkit [236383] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

FontDataCache should use Ref<Font> instead of a RefPtr<Font>
https://bugs.webkit.org/show_bug.cgi?id=189861

Reviewed by Antti Koivisto.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::fontForPlatformData):
(WebCore::FontCache::purgeInactiveFontData):

12:28 AM Changeset in webkit [236382] by sbarati@apple.com
  • 5 edits
    1 add in trunk

The sampling should not use Strong<CodeBlock> in its machineLocation field
https://bugs.webkit.org/show_bug.cgi?id=189319

Reviewed by Filip Pizlo.

JSTests:

  • stress/sampling-profiler-richards.js: Added.

Source/JavaScriptCore:

The sampling profiler has a CLI mode where we gather information about inline
call frames. That data structure was using a Strong<CodeBlock>. We were
constructing this Strong<CodeBlock> during GC concurrently to processing all
the Strong handles. This is a bug since we end up corrupting that data
structure. This patch fixes this by just making this data structure use the
sampling profiler's mechanism for holding onto and properly visiting heap pointers.

  • inspector/agents/InspectorScriptProfilerAgent.cpp:

(Inspector::InspectorScriptProfilerAgent::trackingComplete):

  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::processUnverifiedStackTraces):

(JSC::SamplingProfiler::reportTopFunctions):
(JSC::SamplingProfiler::reportTopBytecodes):
These CLI helpers needed a DeferGC otherwise we may end up deadlocking when we
cause a GC to happen while already holding the sampling profiler's
lock.

Sep 21, 2018:

10:26 PM Changeset in webkit [236381] by yusukesuzuki@slowstart.org
  • 59 edits
    1 delete in trunk

[JSC] Enable LLInt ASM interpreter on X64 and ARM64 in non JIT configuration
https://bugs.webkit.org/show_bug.cgi?id=189778

Reviewed by Keith Miller.

.:

ENABLE_SAMPLING_PROFILER does not depend on ENABLE_JIT now since it can be
used with LLInt ASM interpreter.

  • Source/cmake/WebKitFeatures.cmake:

Source/JavaScriptCore:

LLInt ASM interpreter is 2x and 15% faster than CLoop interpreter on
Linux and macOS respectively. We would like to enable it for non JIT
configurations in X86_64 and ARM64.

This patch enables LLInt for non JIT builds in X86_64 and ARM64 architectures.
Previously, we switch LLInt ASM interpreter and CLoop by using ENABLE(JIT)
configuration. But it is wrong in the new scenario since we have a build
configuration that uses LLInt ASM interpreter and JIT is disabled. We introduce
ENABLE(C_LOOP) option, which represents that we use CLoop. And we replace
ENABLE(JIT) with ENABLE(C_LOOP) if the previous ENABLE(JIT) is essentially just
related to LLInt ASM interpreter and not related to JIT.

We also replace some ENABLE(JIT) configurations with ENABLE(ASSEMBLER).
ENABLE(ASSEMBLER) is now enabled even if we disable JIT since MacroAssembler
has machine register information that is used in LLInt ASM interpreter.

  • API/tests/PingPongStackOverflowTest.cpp:

(testPingPongStackOverflow):

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MaxFrameExtentForSlowPathCall.h:
  • bytecode/CallReturnOffsetToBytecodeOffset.h: Removed. It is no longer used.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finishCreation):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::calleeSaveRegisters const):
(JSC::CodeBlock::numberOfLLIntBaselineCalleeSaveRegisters):
(JSC::CodeBlock::llintBaselineCalleeSaveSpaceAsVirtualRegisters):
(JSC::CodeBlock::calleeSaveSpaceAsVirtualRegisters):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • heap/Heap.cpp:

(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::stopThePeriphery):

  • interpreter/CLoopStack.cpp:
  • interpreter/CLoopStack.h:
  • interpreter/CLoopStackInlines.h:
  • interpreter/EntryFrame.h:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::Interpreter):
(JSC::UnwindFunctor::copyCalleeSavesToEntryFrameCalleeSavesBuffer const):

  • interpreter/Interpreter.h:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::calleeSaveRegisters):

  • interpreter/VMEntryRecord.h:
  • jit/ExecutableAllocator.h:
  • jit/FPRInfo.h:

(WTF::printInternal):

  • jit/GPRInfo.cpp:
  • jit/GPRInfo.h:

(WTF::printInternal):

  • jit/HostCallReturnValue.cpp:

(JSC::getHostCallReturnValueWithExecState): Moved. They are used in LLInt ASM interpreter too.

  • jit/HostCallReturnValue.h:
  • jit/JITOperations.cpp:

(JSC::getHostCallReturnValueWithExecState): Deleted.

  • jit/JITOperationsMSVC64.cpp:
  • jit/Reg.cpp:
  • jit/Reg.h:
  • jit/RegisterAtOffset.cpp:
  • jit/RegisterAtOffset.h:
  • jit/RegisterAtOffsetList.cpp:
  • jit/RegisterAtOffsetList.h:
  • jit/RegisterMap.h:
  • jit/RegisterSet.cpp:
  • jit/RegisterSet.h:
  • jit/TempRegisterSet.cpp:
  • jit/TempRegisterSet.h:
  • llint/LLIntCLoop.cpp:
  • llint/LLIntCLoop.h:
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize):
(JSC::LLInt::Data::performAssertions):

  • llint/LLIntData.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntOpcode.h:
  • llint/LLIntPCRanges.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LLIntThunks.cpp:
  • llint/LowLevelInterpreter.cpp:
  • llint/LowLevelInterpreter.h:
  • runtime/JSCJSValue.h:
  • runtime/MachineContext.h:
  • runtime/SamplingProfiler.cpp:

(JSC::SamplingProfiler::processUnverifiedStackTraces): Enable SamplingProfiler
for LLInt ASM interpreter with non JIT configuration.

  • runtime/TestRunnerUtils.cpp:

(JSC::optimizeNextInvocation):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::getHostFunction):
(JSC::VM::updateSoftReservedZoneSize):
(JSC::sanitizeStackForVM):
(JSC::VM::committedStackByteCount):

  • runtime/VM.h:
  • runtime/VMInlines.h:

(JSC::VM::ensureStackCapacityFor):
(JSC::VM::isSafeToRecurseSoft const):

Source/WTF:

This patch adds ENABLE(C_LOOP) which indicates we use CLoop as the interpreter.
Previously, we used !ENABLE(JIT) for this configuration. But now, we have
a build configuration that has LLInt ASM interpreter (not CLoop) and !ENABLE(JIT).

We enable LLInt ASM interpreter for non JIT environment in X86_64 and ARM64 architectures.
And we enable ENABLE(ASSEMBLER) for non JIT environment since it offers machine register
information which is used for LLInt and SamplingProfiler.

  • wtf/Platform.h:
7:03 PM Changeset in webkit [236380] by Devin Rousso
  • 2 edits in trunk/LayoutTests

Web Inspector: REGRESSION(r236336): computed CSSProperty doesn't have a value for _text
https://bugs.webkit.org/show_bug.cgi?id=189864

Reviewed by Joseph Pecoraro.

  • inspector/css/pseudo-element-matches-for-pseudo-element-node.html:

CSS.types.CSSComputedStyleProperty doesn't include a text value, which was used to print

each property's text. Modify the test to generate it's own text via name and value.

6:03 PM Changeset in webkit [236379] by commit-queue@webkit.org
  • 20 edits
    4 adds in trunk

Implement initialValue support for CSS Custom Properties and Values API
https://bugs.webkit.org/show_bug.cgi?id=189819

Patch by Justin Michaud <Justin Michaud> on 2018-09-21
Reviewed by Simon Fraser.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::customPropertyValue):

  • css/CSSCustomPropertyValue.cpp:

(WebCore::CSSCustomPropertyValue::resolveVariableReferences const):

  • css/CSSCustomPropertyValue.h:
  • css/CSSRegisteredCustomProperty.h:
  • css/CSSVariableData.cpp:

(WebCore::CSSVariableData::resolveVariableFallback const):
(WebCore::CSSVariableData::resolveVariableReference const):
(WebCore::CSSVariableData::resolveVariableReferences const):
(WebCore::CSSVariableData::resolveTokenRange const):

  • css/CSSVariableData.h:
  • css/DOMCSSRegisterCustomProperty.cpp:

(WebCore::DOMCSSRegisterCustomProperty::registerProperty):

  • css/DOMCSSRegisterCustomProperty.h:
  • css/DOMCSSRegisterCustomProperty.idl:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::resolvedVariableValue):
(WebCore::StyleResolver::applyCascadedProperties):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseValueWithVariableReferences):

  • css/parser/CSSParser.h:
  • dom/Document.h:

(WebCore::Document::getCSSRegisteredCustomPropertySet const):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::checkVariablesInCustomProperties):

  • rendering/style/RenderStyle.h:

LayoutTests:

  • css-custom-properties-api/initialValue-expected.html: Added.
  • css-custom-properties-api/initialValue.html: Added.
  • css-custom-properties-api/initialValueJS-expected.txt: Added.
  • css-custom-properties-api/initialValueJS.html: Added.
  • css-custom-properties-api/registerProperty-expected.txt:
  • css-custom-properties-api/registerProperty.html:
  • platform/win/TestExpectations:
5:51 PM Changeset in webkit [236378] by dino@apple.com
  • 13 edits
    38 adds in trunk

Add PointerEvent, plus feature flag, plus Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=189867
<rdar://problem/44697384>

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Import the Web Platform Tests for Pointer Events.

  • resources/import-expectations.json:
  • web-platform-tests/pointerevents/META.yml: Added.
  • web-platform-tests/pointerevents/README.md: Added.
  • web-platform-tests/pointerevents/extension/idlharness.window-expected.txt: Added.
  • web-platform-tests/pointerevents/extension/idlharness.window.html: Added.
  • web-platform-tests/pointerevents/extension/idlharness.window.js: Added.
  • web-platform-tests/pointerevents/extension/pointerevent_constructor-expected.txt: Added.
  • web-platform-tests/pointerevents/extension/pointerevent_constructor.html: Added.
  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification-expected.txt: Added.
  • web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification.html: Added.
  • web-platform-tests/pointerevents/extension/w3c-import.log: Added.
  • web-platform-tests/pointerevents/idlharness.window-expected.txt: Added.
  • web-platform-tests/pointerevents/idlharness.window.html: Added.
  • web-platform-tests/pointerevents/idlharness.window.js: Added.
  • web-platform-tests/pointerevents/pointerevent_constructor-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_constructor.html: Added.
  • web-platform-tests/pointerevents/pointerevent_on_event_handlers-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_on_event_handlers.html: Added.
  • web-platform-tests/pointerevents/pointerevent_styles.css: Added.
  • web-platform-tests/pointerevents/pointerevent_support.js: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-illegal-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-verification-expected.txt: Added.
  • web-platform-tests/pointerevents/pointerevent_touch-action-verification.html: Added.
  • web-platform-tests/pointerevents/pointerlock/resources/pointerevent_movementxy-iframe.html: Added.
  • web-platform-tests/pointerevents/pointerlock/resources/w3c-import.log: Added.
  • web-platform-tests/pointerevents/resources/pointerevent_attributes_hoverable_pointers-iframe.html: Added.
  • web-platform-tests/pointerevents/resources/pointerevent_fractional_coordinates-iframe.html: Added.
  • web-platform-tests/pointerevents/resources/pointerevent_pointerId_scope-iframe.html: Added.
  • web-platform-tests/pointerevents/resources/w3c-import.log: Added.
  • web-platform-tests/pointerevents/w3c-import.log: Added.

Source/WebCore:

Add the PointerEvent interface.

Tests: imported/w3c/web-platform-tests/pointerevents/extension/idlharness.window.html

imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_constructor.html
imported/w3c/web-platform-tests/pointerevents/extension/pointerevent_touch-action-verification.html
imported/w3c/web-platform-tests/pointerevents/idlharness.window.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_constructor.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_on_event_handlers.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-illegal.html
imported/w3c/web-platform-tests/pointerevents/pointerevent_touch-action-verification.html

  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:

Add the new files.

  • dom/Event.h:

(WebCore::Event::isPointerEvent const): New virtual identification method.

  • dom/EventNames.in: Add PointerEvent so the InterfaceType code is generated.
  • dom/PointerEvent.cpp: The PointerEvent interface, as specified by W3C.

(WebCore::PointerEvent::PointerEvent):
(WebCore::PointerEvent::eventInterface const):

  • dom/PointerEvent.h: Added.
  • dom/PointerEvent.idl: Added.
  • page/RuntimeEnabledFeatures.h: Clean up the ordering of the features, so there aren't

confusing blank lines interspersed with #if USE macros.
(WebCore::RuntimeEnabledFeatures::setPointerEventsEnabled): Add a new flag for Pointer Events.
(WebCore::RuntimeEnabledFeatures::pointerEventsEnabled const):

Source/WebKit:

Add PointerEvents as an experimental feature.

  • Shared/WebPreferences.yaml:
5:18 PM Changeset in webkit [236377] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[macOS EWS] Layout test accessibility/smart-invert-reference.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189818

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Mark test as flaky.
5:17 PM Changeset in webkit [236376] by rniwa@webkit.org
  • 7 edits
    4 adds in trunk

Custom elements in a reaction queue can lose its JS wrapper and become HTMLUnknownElement
https://bugs.webkit.org/show_bug.cgi?id=184307

Reviewed by Keith Miller.

Source/WebCore:

The bug was caused by the custom elements reaction queue not reporting its content to GC during marking.

When there is no JS reference to the JS wrappers of those custom element, and if those custom elements
are disconnected, GC would happily collect those the wrappers. Unfortunately, the same bug exists for
any asynchronous events and other WebCore code which keeps elements alive for a later use but doesn't
report them to GC (e.g. during visitChildren).

This patch, therefore, introduces a generic mechanism to keep these elements' wrappers alive. Namely,
we introduce GCReachableRef, a new smart pointer type for Node's subclasses, which keeps element as well
as its wrappers alive. GCReachableRef works by adding its Node to a global hash counted set when it's
created and making JSNodeOwner::isReachableFromOpaqueRoots return true when the node is in the set.

Test: fast/custom-elements/custom-elements-reaction-queue-retains-js-wrapper.html

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):

  • dom/CustomElementReactionQueue.cpp:

(WebCore::CustomElementReactionQueue::ElementQueue::invokeAll): Don't swap the vector of elements in
in the queue. Assuming each DOM API has an appropriate CustomElementsReactionStack, we should never
append a new element to this queue while invoking custom element reactions.

  • dom/CustomElementReactionQueue.h:
  • dom/GCReachableRef.cpp: Added.
  • dom/GCReachableRef.h: Added.

(WebCore::GCReachableRefMap::contains): Added.
(WebCore::GCReachableRefMap::add): Added.
(WebCore::GCReachableRefMap::remove): Added.
(WebCore::GCReachableRef::GCReachableRef): Added. We need isNull() check since WTFMove may have been
called on the source GCReachableRef.
(WebCore::GCReachableRef::~GCReachableRef): Ditto.
(WebCore::GCReachableRef::operator-> const): Added.
(WebCore::GCReachableRef::get const): Added.
(WebCore::GCReachableRef::operator T& const): Added.
(WebCore::GCReachableRef::operator! const): Added.
(WebCore::GCReachableRef::isNull const): Added. Returns true if WTFMove had been called on Ref.

LayoutTests:

Added a test for enqueuing a lot of custom elements into the reaction queue via innerHTML setter.
WebKit should retain the JS wrappers of all custom elements.

  • fast/custom-elements/custom-elements-reaction-queue-retains-js-wrapper-expected.txt: Added.
  • fast/custom-elements/custom-elements-reaction-queue-retains-js-wrapper.html: Added.
5:14 PM Changeset in webkit [236375] by BJ Burg
  • 2 edits in trunk/Source/WebKit

Web Inspector: dock buttons disappear if Web Inspector goes fullscreen
https://bugs.webkit.org/show_bug.cgi?id=189865
<rdar://problem/42600534>

Reviewed by Matt Baker.

When a fullscreen Safari tab has a docked Inspector, and the "detach" button
is clicked, Inspector goes into its own fullscreen window. In that window,
there are no buttons for docking to side or bottom.

It turns out that we always send setDockingUnavailable(true) if the inspector
window is fullscreen. This eventually causes the inspector to reflect that
by hiding the docking-related buttons.

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCanAttach):
This early exit does not seem to serve any purpose, so remove it.

4:42 PM Changeset in webkit [236374] by bshafiei@apple.com
  • 7 edits in tags/Safari-607.1.7.2/Source

Versioning.

4:39 PM Changeset in webkit [236373] by bshafiei@apple.com
  • 1 copy in tags/Safari-607.1.7.2

Tag Safari-607.1.7.2.

4:38 PM Changeset in webkit [236372] by keith_miller@apple.com
  • 21 edits
    1 add in trunk/Source

Add Promise SPI
https://bugs.webkit.org/show_bug.cgi?id=189809

Reviewed by Saam Barati.

Source/JavaScriptCore:

The Patch adds new SPI to create promises. It's mostly SPI because
I want to see how internal users react to it before we make it
public.

This patch adds a couple of new Obj-C SPI methods. The first
creates a new promise using the same API that JS does where the
user provides an executor callback. If an exception is raised
in/to that callback the promise is automagically rejected. The
other methods create a pre-resolved or rejected promise as this
appears to be a common way to initialize a promise.

I was also considering adding a second version of executor API
where it would catch specific Obj-C exceptions. This would work by
taking a Class paramter and checking isKindOfClass: on the
exception. I decided against this as nothing else in our API
handles Obj-C exceptions. I'm pretty sure the VM will end up in a
corrupt state if an Obj-C exception unwinds through JS frames.

This patch adds a new C function that will create a "deferred"
promise. A deferred promise is a style of creating promise/futures
where the resolve and reject functions are passed as outputs of a
function. I went with this style for the C SPI because we don't have
any concept of forwarding exceptions in the C API.

In order to make the C API work I refactored a bit of the promise code
so that we can call a static method on JSDeferredPromise and just get
the components without allocating an extra cell wrapper.

  • API/JSContext.mm:

(+[JSContext currentCallee]):

  • API/JSObjectRef.cpp:

(JSObjectMakeDeferredPromise):

  • API/JSObjectRefPrivate.h:
  • API/JSValue.mm:

(+[JSValue valueWithNewPromiseInContext:fromExecutor:]):
(+[JSValue valueWithNewPromiseResolvedWithResult:inContext:]):
(+[JSValue valueWithNewPromiseRejectedWithReason:inContext:]):

  • API/JSValuePrivate.h: Added.
  • API/JSVirtualMachine.mm:
  • API/JSVirtualMachinePrivate.h:
  • API/tests/testapi.c:

(main):

  • API/tests/testapi.cpp:

(APIContext::operator JSC::ExecState*):
(TestAPI::failed const):
(TestAPI::check):
(TestAPI::basicSymbol):
(TestAPI::symbolsTypeof):
(TestAPI::symbolsGetPropertyForKey):
(TestAPI::symbolsSetPropertyForKey):
(TestAPI::symbolsHasPropertyForKey):
(TestAPI::symbolsDeletePropertyForKey):
(TestAPI::promiseResolveTrue):
(TestAPI::promiseRejectTrue):
(testCAPIViaCpp):
(TestAPI::run): Deleted.

  • API/tests/testapi.mm:

(testObjectiveCAPIMain):
(promiseWithExecutor):
(promiseRejectOnJSException):
(promiseCreateResolved):
(promiseCreateRejected):
(parallelPromiseResolveTest):
(testObjectiveCAPI):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/JSInternalPromiseDeferred.cpp:

(JSC::JSInternalPromiseDeferred::create):

  • runtime/JSPromise.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSPromiseDeferred.cpp:

(JSC::JSPromiseDeferred::createDeferredData):
(JSC::JSPromiseDeferred::create):
(JSC::JSPromiseDeferred::finishCreation):
(JSC::newPromiseCapability): Deleted.

  • runtime/JSPromiseDeferred.h:

(JSC::JSPromiseDeferred::promise const):
(JSC::JSPromiseDeferred::resolve const):
(JSC::JSPromiseDeferred::reject const):

Source/WTF:

Fix issue where creating a JSContextRef off the main thread before
creating initializing the main thread would cause an assertion
failure.

  • wtf/MainThread.cpp:

(WTF::isMainThreadIfInitialized):

  • wtf/MainThread.h:
  • wtf/mac/MainThreadMac.mm:

(WTF::isMainThreadIfInitialized):

  • wtf/text/cf/StringImplCF.cpp:

(WTF::StringImpl::createCFString):

4:22 PM Changeset in webkit [236371] by Ryan Haddad
  • 21 edits
    1 delete in trunk/Source

Unreviewed, rolling out r236359.

Broke the Windows build.

Reverted changeset:

"Add Promise SPI"
https://bugs.webkit.org/show_bug.cgi?id=189809
https://trac.webkit.org/changeset/236359

4:18 PM Changeset in webkit [236370] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed, speed up storage/websql/transaction-database-expand-quota.html

This test was so slow that is sometimes timed out on the debug bots.

  • storage/websql/transaction-database-expand-quota-expected.txt:
  • storage/websql/transaction-database-expand-quota.html:
4:18 PM Changeset in webkit [236369] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

JSRopeString::resolveRope() wrongly assumes that tryGetValue() passes it a valid ExecState.
https://bugs.webkit.org/show_bug.cgi?id=189855
<rdar://problem/44680181>

Reviewed by Filip Pizlo.

tryGetValue() always passes a nullptr to JSRopeString::resolveRope() for the
ExecState* argument. This is intentional so that resolveRope() does not throw
in the event of an OutOfMemory error. Hence, JSRopeString::resolveRope() should
get the VM from the cell instead of via the ExecState.

Also removed an obsolete and unused field in JSString.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRope const):
(JSC::JSRopeString::outOfMemory const):

  • runtime/JSString.h:

(JSC::JSString::tryGetValue const):

4:18 PM Changeset in webkit [236368] by Chris Dumez
  • 10 edits in trunk/Source/WebKit

Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer
https://bugs.webkit.org/show_bug.cgi?id=189851

Reviewed by Alex Christensen.

Extending the lifetime of a NetworkProcessProxy / StorageProcessProxy may cause it to have a stale WebProcessPool pointer:

  • NetworkProcessProxy::m_processPool
  • StorageProcessProxy::m_processPool

Those data members are C++ references because it is expected that the WebProcessPool owns the NetworkProcessProxy and
StorageProcessProxy. However, since NetworkProcessProxy / StorageProcessProxy are refcounted, it has happened that code
extends the lifetime of those past their process pool, leading to stale prrocess pool usage. The fix for these crashes
so far as been to ref the WebProcessPool instead of the NetworkProcessProxy / StorageProcessProxy. However, given how
error-prone this is, this patch updates NetworkProcessProxy / StorageProcessProxy so that they forward their refcounting
to the WebProcessPool.

  • UIProcess/ChildProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::ref):
(WebKit::NetworkProcessProxy::deref):
(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::NetworkProcessProxy::create): Deleted.

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::ref):
(WebKit::StorageProcessProxy::deref):
(WebKit::StorageProcessProxy::create): Deleted.

  • UIProcess/Storage/StorageProcessProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::ensureStorageProcessAndWebsiteDataStore):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.h:
4:06 PM Changeset in webkit [236367] by commit-queue@webkit.org
  • 2 edits
    7 adds in trunk/LayoutTests/imported/w3c

Import WPT content hint tests
https://bugs.webkit.org/show_bug.cgi?id=189854

Patch by YUHAN WU <yuhan_wu@apple.com> on 2018-09-21
Reviewed by Youenn Fablet.

  • resources/import-expectations.json:
  • web-platform-tests/mst-content-hint/META.yml: Added.
  • web-platform-tests/mst-content-hint/MediaStreamTrack-contentHint-expected.txt: Added.
  • web-platform-tests/mst-content-hint/MediaStreamTrack-contentHint.html: Added.
  • web-platform-tests/mst-content-hint/idlharness.window.html: Added.
  • web-platform-tests/mst-content-hint/idlharness.window.js: Added.
  • web-platform-tests/mst-content-hint/w3c-import.log: Added.
3:56 PM Changeset in webkit [236366] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Unreviewed Sierra Build Fix; ensure AVVideoPerformanceMetrics are defined on Sierra.

  • pal/spi/mac/AVFoundationSPI.h:
3:50 PM Changeset in webkit [236365] by achristensen@apple.com
  • 16 edits in trunk/Source

Use a Variant for FormDataElement
https://bugs.webkit.org/show_bug.cgi?id=189777

Reviewed by Chris Dumez.

Source/WebCore:

  • platform/network/FormData.cpp:

(WebCore::FormData::FormData):
(WebCore::FormDataElement::lengthInBytes const):
(WebCore::FormDataElement::isolatedCopy const):
(WebCore::FormData::appendData):
(WebCore::FormData::flatten const):
(WebCore::FormData::resolveBlobReferences):
(WebCore::FormData::generateFiles):
(WebCore::FormData::hasGeneratedFiles const):
(WebCore::FormData::hasOwnedGeneratedFiles const):
(WebCore::FormData::removeGeneratedFilesIfNeeded):
(WebCore::FormData::asSharedBuffer const):
(WebCore::FormData::asBlobURL const):
(WebCore::FormData::expandDataStore): Deleted.

  • platform/network/FormData.h:

(WebCore::FormDataElement::FormDataElement):
(WebCore::FormDataElement::encode const):
(WebCore::FormDataElement::decode):
(WebCore::FormDataElement::EncodedFileData::isolatedCopy const):
(WebCore::FormDataElement::EncodedFileData::operator== const):
(WebCore::FormDataElement::EncodedFileData::encode const):
(WebCore::FormDataElement::EncodedFileData::decode):
(WebCore::FormDataElement::EncodedBlobData::operator== const):
(WebCore::FormDataElement::EncodedBlobData::encode const):
(WebCore::FormDataElement::EncodedBlobData::decode):
(WebCore::FormDataElement::operator== const):
(WebCore::FormDataElement::operator!= const):

  • platform/network/cf/FormDataStreamCFNet.cpp:

(WebCore::advanceCurrentStream):
(WebCore::createHTTPBodyCFReadStream):
(WebCore::setHTTPBody):

  • platform/network/curl/CurlFormDataStream.cpp:

(WebCore::CurlFormDataStream::computeContentLength):
(WebCore::CurlFormDataStream::read):
(WebCore::CurlFormDataStream::readFromFile):
(WebCore::CurlFormDataStream::readFromData):

  • platform/network/curl/CurlFormDataStream.h:

Source/WebKit:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • NetworkProcess/NetworkResourceLoader.cpp:
  • Shared/SessionState.h:
  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:

(WebKit::toHTTPBody):

Source/WebKitLegacy/win:

  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::setHTTPBody):

2:50 PM Changeset in webkit [236364] by Ryan Haddad
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed test gardening, consolidate iOS expectation files for EventTarget-dispatchEvent.html.

  • platform/ios-11/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
2:50 PM Changeset in webkit [236363] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r235948?): Layout Test media/media-controls-accessibility.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189674

Unreviewed test gardening.

  • platform/mac/TestExpectations: Mark test as flaky.
2:47 PM Changeset in webkit [236362] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add functions to measure memory footprint to JSC
https://bugs.webkit.org/show_bug.cgi?id=189768

Reviewed by Saam Barati.

Rolling this back in again.

Provide system memory metrics for the current process to aid in memory reduction measurement and
tuning using native JS tests.

  • jsc.cpp:

(MemoryFootprint::now):
(MemoryFootprint::resetPeak):
(GlobalObject::finishCreation):
(JSCMemoryFootprint::JSCMemoryFootprint):
(JSCMemoryFootprint::createStructure):
(JSCMemoryFootprint::create):
(JSCMemoryFootprint::finishCreation):
(JSCMemoryFootprint::addProperty):
(functionResetMemoryPeak):

2:46 PM Changeset in webkit [236361] by commit-queue@webkit.org
  • 13 edits
    1 add in trunk/Tools

[WHLSL] Local variables should be statically allocated
https://bugs.webkit.org/show_bug.cgi?id=188402

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-21
Reviewed by Myles C. Maxfield.

An additional preparation stage is now performed so that all local
variables and function parameters are allocated in a single struct at
entry points. A pointer to this struct is then passed for function
calls.

  • WebGPUShadingLanguageRI/All.js: Update dependencies.
  • WebGPUShadingLanguageRI/AllocateAtEntryPoints.js: Added new stage.
  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.prototype.set argumentList): Add setter because
allocateAtEntryPoints needs to change this.

  • WebGPUShadingLanguageRI/EBufferBuilder.js: Remove a redundant

constructor that wasn't used anywhere.

  • WebGPUShadingLanguageRI/Func.js:

(Func.prototype.set parameters): Add setter.

  • WebGPUShadingLanguageRI/FuncDef.js:

(FuncDef.prototype.set body): Ditto.

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare): Add call to allocateAtEntryPoints. This call cannot
happen any earlier because it depends on having types for call
arguments.

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitReturn): Resolve issue where the return
statement's function wasn't copied. A null check is required as the
Rewriter might be used before this property is set.

  • WebGPUShadingLanguageRI/SPIRV.html: Update dependencies.
  • WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Abstracted logic

into a separate function so that allocateAtEntryPoints can create the
accessors for the struct type it introduces.

  • WebGPUShadingLanguageRI/Test.html: Update dependencies.
  • WebGPUShadingLanguageRI/Test.js: Add new tests to verify the static

allocation transform works safely.

  • WebGPUShadingLanguageRI/index.html: Update dependencies.
2:23 PM Changeset in webkit [236360] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win10] Update test expectations for failing tests.
https://bugs.webkit.org/show_bug.cgi?id=189858

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:16 PM Changeset in webkit [236359] by keith_miller@apple.com
  • 21 edits
    1 add in trunk/Source

Add Promise SPI
https://bugs.webkit.org/show_bug.cgi?id=189809

Reviewed by Saam Barati.

Source/JavaScriptCore:

The Patch adds new SPI to create promises. It's mostly SPI because
I want to see how internal users react to it before we make it
public.

This patch adds a couple of new Obj-C SPI methods. The first
creates a new promise using the same API that JS does where the
user provides an executor callback. If an exception is raised
in/to that callback the promise is automagically rejected. The
other methods create a pre-resolved or rejected promise as this
appears to be a common way to initialize a promise.

I was also considering adding a second version of executor API
where it would catch specific Obj-C exceptions. This would work by
taking a Class paramter and checking isKindOfClass: on the
exception. I decided against this as nothing else in our API
handles Obj-C exceptions. I'm pretty sure the VM will end up in a
corrupt state if an Obj-C exception unwinds through JS frames.

This patch adds a new C function that will create a "deferred"
promise. A deferred promise is a style of creating promise/futures
where the resolve and reject functions are passed as outputs of a
function. I went with this style for the C SPI because we don't have
any concept of forwarding exceptions in the C API.

In order to make the C API work I refactored a bit of the promise code
so that we can call a static method on JSDeferredPromise and just get
the components without allocating an extra cell wrapper.

  • API/JSContext.mm:

(+[JSContext currentCallee]):

  • API/JSObjectRef.cpp:

(JSObjectMakeDeferredPromise):

  • API/JSObjectRefPrivate.h:
  • API/JSValue.mm:

(+[JSValue valueWithNewPromiseInContext:fromExecutor:]):
(+[JSValue valueWithNewPromiseResolvedWithResult:inContext:]):
(+[JSValue valueWithNewPromiseRejectedWithReason:inContext:]):

  • API/JSValuePrivate.h: Added.
  • API/JSVirtualMachine.mm:
  • API/JSVirtualMachinePrivate.h:
  • API/tests/testapi.c:

(main):

  • API/tests/testapi.cpp:

(APIContext::operator JSC::ExecState*):
(TestAPI::failed const):
(TestAPI::check):
(TestAPI::basicSymbol):
(TestAPI::symbolsTypeof):
(TestAPI::symbolsGetPropertyForKey):
(TestAPI::symbolsSetPropertyForKey):
(TestAPI::symbolsHasPropertyForKey):
(TestAPI::symbolsDeletePropertyForKey):
(TestAPI::promiseResolveTrue):
(TestAPI::promiseRejectTrue):
(testCAPIViaCpp):
(TestAPI::run): Deleted.

  • API/tests/testapi.mm:

(testObjectiveCAPIMain):
(promiseWithExecutor):
(promiseRejectOnJSException):
(promiseCreateResolved):
(promiseCreateRejected):
(parallelPromiseResolveTest):
(testObjectiveCAPI):

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/JSInternalPromiseDeferred.cpp:

(JSC::JSInternalPromiseDeferred::create):

  • runtime/JSPromise.h:
  • runtime/JSPromiseConstructor.cpp:

(JSC::constructPromise):

  • runtime/JSPromiseDeferred.cpp:

(JSC::JSPromiseDeferred::createDeferredData):
(JSC::JSPromiseDeferred::create):
(JSC::JSPromiseDeferred::finishCreation):
(JSC::newPromiseCapability): Deleted.

  • runtime/JSPromiseDeferred.h:

(JSC::JSPromiseDeferred::promise const):
(JSC::JSPromiseDeferred::resolve const):
(JSC::JSPromiseDeferred::reject const):

Source/WTF:

Fix issue where creating a JSContextRef off the main thread before
creating initializing the main thread would cause an assertion
failure.

  • wtf/MainThread.cpp:

(WTF::isMainThreadIfInitialized):

  • wtf/MainThread.h:
  • wtf/mac/MainThreadMac.mm:

(WTF::isMainThreadIfInitialized):

  • wtf/text/cf/StringImplCF.cpp:

(WTF::StringImpl::createCFString):

2:04 PM Changeset in webkit [236358] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r236237): Web Inspector: DarkMode: white background in Elements and Timelines
https://bugs.webkit.org/show_bug.cgi?id=189852

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/Main.css:

(body):
(#main):

1:32 PM Changeset in webkit [236357] by BJ Burg
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: remove unnecessary WI.Platform.version checks
https://bugs.webkit.org/show_bug.cgi?id=189845

Reviewed by Matt Baker.

  • UserInterface/Base/Platform.js:

(osVersionMatch): Add name for macOS Mojave.

  • UserInterface/Base/Main.js:
  • UserInterface/Views/Popover.js:

Remove old logic that's no longer needed.

1:29 PM Changeset in webkit [236356] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Simplify the logic around has*ScrollbarWithAutoBehavior
https://bugs.webkit.org/show_bug.cgi?id=189813

Reviewed by Zalan Bujtas.

The boolean logic in scrollsOverflowX() and hasHorizontalScrollbarWithAutoBehavior() (and the vertical

equivalents) reduces simply to hasOverflowClip() && (style().overflowX() == Overflow::Scroll
style().overflowX() == Overflow::Auto);

Similarly, RenderBox::intrinsicScrollbarLogicalWidth() just needs the part of the logic
that asks whether the theme uses overlay scrollbars which are not customized (and thus
turned into non-overlay scrollbars).

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::intrinsicScrollbarLogicalWidth const):
(WebCore::RenderBox::canUseOverlayScrollbars const):
(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):

  • rendering/RenderBox.h:

(WebCore::RenderBox::scrollsOverflowX const):
(WebCore::RenderBox::scrollsOverflowY const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollbarsAfterLayout):

1:15 PM Changeset in webkit [236355] by Adrian Perez de Castro
  • 1 copy in releases/WebKitGTK/webkit-2.22.2

WebKitGTK+ 2.22.2

1:11 PM Changeset in webkit [236354] by Adrian Perez de Castro
  • 4 edits in releases/WebKitGTK/webkit-2.22

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.22.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.22.2.
1:11 PM Changeset in webkit [236353] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.22/Source/ThirdParty/ANGLE

Merge r236349 - [GTK] ANGLE's eglplatform.h does not support Wayland-only builds
https://bugs.webkit.org/show_bug.cgi?id=189844

Reviewed by Michael Catanzaro.

This makes it possible to build WebKitGTK+ after r225340 when the
build is configured to support only Wayland, and the X11 headers
are not present.

  • changes.diff: Updated.
  • include/EGL/eglplatform.h: Include the X11 headers only when

ANGLE_USE_X11 is defined and, for consistency with Mesa's version
of the header, when MESA_EGL_NO_X11_HEADERS is not defined.

1:08 PM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
1:07 PM Changeset in webkit [236352] by Michael Catanzaro
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r236255.

Many WebAudio crashes

Reverted changeset:

"[GStreamer] Utilities cleanups"
https://bugs.webkit.org/show_bug.cgi?id=189699
https://trac.webkit.org/changeset/236255

1:05 PM Changeset in webkit [236351] by Truitt Savell
  • 3 edits in trunk/Source/JavaScriptCore

Rebaseline tests after changes in https://trac.webkit.org/changeset/236321/webkit
https://bugs.webkit.org/show_bug.cgi?id=156674

Unreviewed Test Gardening

  • Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result:
  • Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result:
1:04 PM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
1:01 PM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
1:00 PM Changeset in webkit [236350] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

Move AVVideoPerformanceMetrics into AVFoundationSPI.h
https://bugs.webkit.org/show_bug.cgi?id=189842

Reviewed by Jon Lee.

Source/WebCore:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

Source/WebCore/PAL:

  • pal/spi/mac/AVFoundationSPI.h:
12:59 PM Changeset in webkit [236349] by Adrian Perez de Castro
  • 3 edits in trunk/Source/ThirdParty/ANGLE

[GTK] ANGLE's eglplatform.h does not support Wayland-only builds
https://bugs.webkit.org/show_bug.cgi?id=189844

Reviewed by Michael Catanzaro.

This makes it possible to build WebKitGTK+ after r225340 when the
build is configured to support only Wayland, and the X11 headers
are not present.

  • changes.diff: Updated.
  • include/EGL/eglplatform.h: Include the X11 headers only when

ANGLE_USE_X11 is defined and, for consistency with Mesa's version
of the header, when MESA_EGL_NO_X11_HEADERS is not defined.

12:59 PM Changeset in webkit [236348] by Chris Dumez
  • 6 edits
    2 adds in trunk

WebSQL: User cannot grant quota increase if the JS provides an expected usage value that is too low
https://bugs.webkit.org/show_bug.cgi?id=189801
<rdar://problem/43592498>

Reviewed by Youenn Fablet.

Source/WebCore:

User was unable to grant a quota increase for WebSQL if the JS provided an expected usage value that
is too low. This is because WebKit was passing this provided expectedUsage value to the client for
the purpose of quota increase, even when this expectedUsage value does not make any sense (i.e. it
is lower than the current database size). As a result, the client would grant a quota that is equal
to the previous quota and the JS would not be able to insert any data.

In order to address the issue, when the current quota is exceeded and Database::didExceedQuota()
is called, we now make sure that the expectedUsage value is greater than the current quota. If it
is not, we provide current quota + 5MB as expected usage to the client. This way, the client will
grant a quota that is actually increased (provided that the user accepts).

Test: storage/websql/transaction-database-expand-quota.html

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::setEstimatedSize):
(WebCore::Database::didExceedQuota):

  • Modules/webdatabase/Database.h:

LayoutTests:

Add layout test coverage.

  • storage/websql/transaction-database-expand-quota-expected.txt: Added.
  • storage/websql/transaction-database-expand-quota.html: Added.
12:55 PM Changeset in webkit [236347] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

Use biplanar CVPixelBuffer for black frames sent to libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=189837

Reviewed by Eric Carlson.

Covered by webrtc/video-mute.html.

Add support to call CVPixelBufferGetBytesPerRowOfPlane.
Make createBlackPixelBuffer use a biplanar CVPixelBuffer as this is better supported in libwebrtc.
It is also what is being used in iOS for capture.

  • platform/cocoa/CoreVideoSoftLink.cpp:
  • platform/cocoa/CoreVideoSoftLink.h:
  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

(WebCore::createBlackPixelBuffer):

12:39 PM Changeset in webkit [236346] by youenn@apple.com
  • 10 edits in trunk

Add RTCCodecStats support
https://bugs.webkit.org/show_bug.cgi?id=189792
<rdar://problem/32370668>

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnection-addIceCandidate-expected.txt:
  • web-platform-tests/webrtc/RTCRtpReceiver-getStats.https-expected.txt:
  • web-platform-tests/webrtc/RTCRtpSender-getStats.https-expected.txt:

Source/WebCore:

Covered by updated and rebased tests.

  • Modules/mediastream/RTCStatsReport.h:

Removed fields that are already defined in the base class.
(WebCore::RTCStatsReport::CodecStats::CodecStats):
Add support for RTCCodecStats.

  • Modules/mediastream/RTCStatsReport.idl:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):

  • Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:

(WebCore::fillRTCRTPStreamStats):
(WebCore::fillRTCCodecStats):
(WebCore::LibWebRTCStatsCollector::OnStatsDelivered):
Add routines to fill RTCCodecStats from libwebrtc stats.

LayoutTests:

  • webrtc/video-stats.html:
12:30 PM Changeset in webkit [236345] by Megan Gardner
  • 4 edits in trunk/LayoutTests

[iOS] Layout test fast/gradients/conic-gradient-alpha.html is failing
https://bugs.webkit.org/show_bug.cgi?id=189802

Unreviewed test gardening

It is more difficult to squish the alpha channel than the other channels using an SVG filters.
Thus the cropping bars need to be slightly wider to cover the imperfections in the filter.
Made the bars even more slightly wider, since apparenlty they weren't quite wide enough for iOS.

  • fast/gradients/conic-gradient-alpha-expected.html:
  • fast/gradients/conic-gradient-alpha.html:
  • platform/ios-12/TestExpectations:
12:25 PM Changeset in webkit [236344] by achristensen@apple.com
  • 25 edits
    1 add in trunk/Source/WebKit

Simply authentication code even more!
https://bugs.webkit.org/show_bug.cgi?id=189719

Reviewed by Andy Estes.

Just when you thought it couldn't get simpler and more elegant, it can!

  • NetworkProcess/Downloads/Download.cpp:
  • NetworkProcess/NetworkCORSPreflightChecker.cpp:
  • NetworkProcess/NetworkLoad.cpp:
  • NetworkProcess/PingLoad.cpp:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:
  • Shared/Authentication/AuthenticationChallengeDisposition.h: Added.
  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::completeAuthenticationChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge): Deleted.
(WebKit::AuthenticationManager::useCredentialForSingleChallenge): Deleted.
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge): Deleted.
(WebKit::AuthenticationManager::continueWithoutCredentialForSingleChallenge): Deleted.
(WebKit::AuthenticationManager::cancelChallenge): Deleted.
(WebKit::AuthenticationManager::cancelSingleChallenge): Deleted.
(WebKit::AuthenticationManager::performDefaultHandling): Deleted.
(WebKit::AuthenticationManager::performDefaultHandlingForSingleChallenge): Deleted.
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinue): Deleted.
(WebKit::AuthenticationManager::rejectProtectionSpaceAndContinueForSingleChallenge): Deleted.

  • Shared/Authentication/AuthenticationManager.h:
  • Shared/Authentication/AuthenticationManager.messages.in:
  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm:

(WebKit::AuthenticationManager::initializeConnection):

  • UIProcess/API/C/WKAuthenticationDecisionListener.cpp:

(WKAuthenticationDecisionListenerUseCredential):

  • UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:

(-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):

  • UIProcess/API/glib/WebKitAuthenticationRequest.cpp:

(webkit_authentication_request_authenticate):

  • UIProcess/Authentication/AuthenticationChallengeProxy.cpp:

(WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):

  • UIProcess/Authentication/AuthenticationDecisionListener.cpp:

(WebKit::AuthenticationDecisionListener::AuthenticationDecisionListener):
(WebKit::AuthenticationDecisionListener::~AuthenticationDecisionListener):
(WebKit::AuthenticationDecisionListener::useCredential):
(WebKit::AuthenticationDecisionListener::cancel):
(WebKit::AuthenticationDecisionListener::performDefaultHandling):
(WebKit::AuthenticationDecisionListener::rejectProtectionSpaceAndContinue):

  • UIProcess/Authentication/AuthenticationDecisionListener.h:

(WebKit::AuthenticationDecisionListener::create):

  • UIProcess/Cocoa/DownloadClient.mm:

(WebKit::DownloadClient::didReceiveAuthenticationChallenge):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::didReceiveAuthenticationChallenge):

  • WebKit.xcodeproj/project.pbxproj:
12:19 PM Changeset in webkit [236343] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Regression(Mojave): Resuming a WK2 download crashes
https://bugs.webkit.org/show_bug.cgi?id=189838
<rdar://problem/44618538>

Reviewed by Alex Christensen.

Update our workaround to tweak the download resume data to include the actual download path so that
it works on macOS Mojave and up. Unfortunately, the resume data internal representation has changed,
causing our previous workaround to fail.

  • NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:

(WebKit::Download::resume):

11:56 AM Changeset in webkit [236342] by Devin Rousso
  • 8 edits
    3 deletes in trunk/Source/WebInspectorUI

Web Inspector: remove setting for Sources tab
https://bugs.webkit.org/show_bug.cgi?id=189817

Reviewed by Joseph Pecoraro.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Main.html:
  • UserInterface/Base/Main.js:

(WI.contentLoaded):
(WI._debuggerDidPause):
(WI.isShowingSourcesTab): Removed.
(WI.showSourcesTab): Removed.

  • UserInterface/Views/SourcesSidebarPanel.css: Removed.
  • UserInterface/Views/SourcesSidebarPanel.js: Removed.
  • UserInterface/Views/SourcesTabContentView.js: Removed.
  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForURL):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):

11:42 AM Changeset in webkit [236341] by Simon Fraser
  • 14 edits
    2 adds
    2 deletes in trunk

Make "overflow: overlay" a synonym for "overflow: auto"
https://bugs.webkit.org/show_bug.cgi?id=189811

Source/WebCore:

Reviewed by Zalan Bujtas.

The "overlay" value for overflow was added for an internal Safari feature, and only has
an effect (allow the scrollbar to overlap the content) with legacy scrollbars on macOS.
It's little used on the web.

To simplify code in rendering, just make "overflow: overlay" behave like "overflow: auto".
It's still parsed, but turns into an "auto" value internally, and will be returned from getComputedStyle
as "auto".

Test: fast/css/getComputedStyle/getComputedStyle-overflow.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator Overflow const):

  • css/CSSProperties.json:
  • css/CSSValueKeywords.in:
  • css/StyleResolver.cpp:

(WebCore::isScrollableOverflow):

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):

  • page/ios/FrameIOS.mm:

(WebCore::Frame::nodeRespondingToScrollWheelEvents):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::hasVerticalScrollbarWithAutoBehavior const):
(WebCore::RenderBox::hasHorizontalScrollbarWithAutoBehavior const):

  • rendering/RenderLayer.cpp:

(WebCore::styleDefinesAutomaticScrollbar):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::isScrollableOverflow):

  • rendering/style/RenderStyleConstants.h:

Source/WebInspectorUI:

Reviewed by Zalan Bujtas.

Remove "overlay" from the overflow values.

  • UserInterface/Models/CSSKeywordCompletions.js:
  • UserInterface/Views/VisualStyleDetailsPanel.js:

(WI.VisualStyleDetailsPanel.prototype._populateDisplaySection):

LayoutTests:

Reviewed by Zalan Bujtas.

Add a modern CSS parsing/computed style test for overflow, superseding
fast/css/overflow-property.html.

  • fast/css/getComputedStyle/getComputedStyle-overflow-expected.txt: Added.
  • fast/css/getComputedStyle/getComputedStyle-overflow.html: Added.
  • fast/css/overflow-property-expected.txt: Removed.
  • fast/css/overflow-property.html: Removed.
11:40 AM Changeset in webkit [236340] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Tests checking document GC in case of ActiveDOMObjects are flaky
https://bugs.webkit.org/show_bug.cgi?id=189413

Unreviewed test gardening.

  • platform/mac/TestExpectations: Mark http/tests/media/clearkey/collect-webkit-media-session.html as flaky.
11:37 AM Changeset in webkit [236339] by youenn@apple.com
  • 6 edits
    1 add in trunk/Source/WebCore

Centralize which CVPixelBuffer format is being used
https://bugs.webkit.org/show_bug.cgi?id=189772

Reviewed by Eric Carlson.

Get the format type from a single point.
This changes the video capture and mock realtime video sources on Mac to use a biplanar format.
No observable change of behavior.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::setSizeAndFrameRateWithPreset):
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::captureOutputDidOutputSampleBufferFromConnection):

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:

(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):
(WebCore::MockRealtimeVideoSourceMac::setSizeAndFrameRateWithPreset):

  • platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:

(WebCore::createBlackPixelBuffer):

  • platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:

(WebCore::RealtimeOutgoingVideoSourceCocoa::sampleBufferUpdated):

  • platform/mediastream/mac/RealtimeVideoUtilities.h: Added.
11:33 AM Changeset in webkit [236338] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: hide Accessibility Audit Tab setting
https://bugs.webkit.org/show_bug.cgi?id=189816

Reviewed by Joseph Pecoraro.

Considering that this tab doesn't exist, there's no reason to have a setting/UI for it.

  • UserInterface/Base/Setting.js:
  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

11:33 AM Changeset in webkit [236337] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore/PAL

Bring up queues for iOS 12 (Build fix)
https://bugs.webkit.org/show_bug.cgi?id=189683

Unreviewed build fix.

  • pal/spi/cocoa/QuartzCoreSPI.h: Declare setCornerRadius and continuousCorner.
11:30 AM Changeset in webkit [236336] by Devin Rousso
  • 35 edits
    13 deletes in trunk

Web Inspector: remove Legacy Style Editor
https://bugs.webkit.org/show_bug.cgi?id=189808

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

The Legacy Style Editor has been hidden behind an "experimental" setting for almost a year.
It's time that we remove it, especially since the new Style Editor is at a similar, if not
more advanced, state.

  • .eslintrc:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
  • Localizations/en.lproj/localizedStrings.js:
  • Tools/PrettyPrinting/index.html:
  • UserInterface/Main.html:
  • UserInterface/Test.html:
  • UserInterface/Base/Setting.js:
  • UserInterface/Base/TextUtilities.js: Removed.
  • UserInterface/Base/Utilities.js:
  • UserInterface/Views/RulesStyleDetailsPanel.css: Removed.
  • UserInterface/Views/RulesStyleDetailsPanel.js: Removed.
  • UserInterface/Views/CSSStyleDeclarationSection.css: Removed.
  • UserInterface/Views/CSSStyleDeclarationSection.js: Removed.
  • UserInterface/Views/CSSStyleDeclarationTextEditor.css: Removed.
  • UserInterface/Views/CSSStyleDeclarationTextEditor.js: Removed.
  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.get text):
(WI.CSSProperty.prototype.get synthesizedText): Deleted.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.set text):
(WI.CSSStyleDeclaration.prototype.resetText): Deleted.
(WI.CSSStyleDeclaration.prototype.get modified): Deleted.
(WI.CSSStyleDeclaration.prototype.generateCSSRuleString): Deleted.
(WI.CSSStyleDeclaration.prototype.isInspectorRule): Deleted.

  • UserInterface/Models/CSSSelector.js:

(WI.CSSSelector.prototype.isGreaterThan): Deleted.

  • UserInterface/Models/CSSRule.js:

(WI.CSSRule.prototype.update):
(WI.CSSRule.prototype.get matchedSelectors): Deleted.
(WI.CSSRule.prototype.get matchedSelectorText): Deleted.
(WI.CSSRule.prototype.hasMatchedPseudoElementSelector): Deleted.
(WI.CSSRule.prototype.get mediaText): Deleted.
(WI.CSSRule.prototype.get mostSpecificSelector): Deleted.
(WI.CSSRule.prototype.selectorIsGreater): Deleted.
(WI.CSSRule.prototype._determineMostSpecificSelector): Deleted.

  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype.changeRule.changeCompleted): Deleted.
(WI.DOMNodeStyles.prototype.changeRule.styleChanged): Deleted.
(WI.DOMNodeStyles.prototype.changeRule.changeText): Deleted.
(WI.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged): Deleted.
(WI.DOMNodeStyles.prototype.changeRule): Deleted.

  • UserInterface/Models/CSSCompletions.js:

(WI.CSSCompletions.prototype.isValidPropertyName):
(WI.CSSCompletions):
(WI.CSSCompletions.prototype.keySet): Deleted.
(WI.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Deleted.
(WI.CSSCompletions.prototype.getClosestPropertyName): Deleted.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): Deleted.

  • UserInterface/Views/RulesStyleDetailsSidebarPanel.js:

(WI.RulesStyleDetailsSidebarPanel):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingRuleSelector): Added.
(WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorStartEditingRuleSelector): Deleted.

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel):

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style .rules): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
(.sidebar > .panel.details.css-style > .content > .rules > .message-text-view): Added.
(.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view): Added.
(@media (prefers-dark-interface)):
(.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
(.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
(.spreadsheet-style-panel .section-header): Deleted.
(.spreadsheet-style-panel .section-header .node-link): Deleted.
(.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
(.spreadsheet-style-panel .section-header): Deleted.
(.spreadsheet-style-panel .section-header .node-link:hover): Deleted.

  • UserInterface/Views/CodeMirrorAdditions.js:

(extendedCSSRuleStartState): Removed.

  • UserInterface/Views/CodeMirrorFormatters.js:

Remove "css-rule" CodeMirror mode.

  • UserInterface/Views/CodeMirrorTextMarkers.js:

(createCodeMirrorVariableTextMarkers): Deleted.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

LayoutTests:

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • inspector/css/css-property-expected.txt:
  • inspector/css/css-property.html:
  • inspector/css/modify-css-property.html:
  • inspector/css/shadow-scoped-style.html:

Update tests for functionality that has been deleted.

  • inspector/unit-tests/test-harness-expect-functions-expected.txt:
  • inspector/unit-tests/test-harness-expect-functions.html:

The changes to WI.CSSRule now make it small enough that InspectorTest will print it as
JSON instead of an object instance. Change the test to use different objects so this doesn't
happen.

  • inspector/unit-tests/text-utilities-expected.txt: Removed.
  • inspector/unit-tests/text-utilities.html: Removed.
  • inspector/css/generate-css-rule-string-expected.txt: Removed.
  • inspector/css/generate-css-rule-string.html: Removed.

Remove tests for functionality that has been deleted.

  • inspector/codemirror/prettyprinting-css-rules.html: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-colon-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-colon.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-comma-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-after-comma.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-rules-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-rules.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-values-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/add-whitespace-between-values.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/css-variables-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/css-variables.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-add-whitespace-before-prefixed-property-value.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-append-semicolon-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/do-not-append-semicolon.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/invalid-property-is-not-removed-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/invalid-property-is-not-removed.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/keep-prefixed-value-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/keep-prefixed-value.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-newline-between-values-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-newline-between-values.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-colon-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-colon.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-comment-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-comment.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-invalid-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-invalid-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-prefixed-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-prefixed-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-semicolon-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/remove-whitespace-before-semicolon.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-comment-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-comment.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-invalid-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-invalid-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-prefixed-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-prefixed-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-comment-followed-by-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-comment-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-comment.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-invalid-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-invalid-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-prefixed-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-invalid-property-followed-by-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-comment-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-comment.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-invalid-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-invalid-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-prefixed-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-prefixed-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-followed-by-property.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property-expected.css: Removed.
  • inspector/codemirror/resources/prettyprinting/css-rule-tests/split-property-without-semicolon-followed-by-comment-and-property.css: Removed.

Remove all tests for the "css-rule" CodeMirror mode since it's been removed.

10:55 AM Changeset in webkit [236335] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebKit

Cherry-pick r236322. rdar://problem/44660342

Whitelist two additional plugins
https://bugs.webkit.org/show_bug.cgi?id=189832
<rdar://problem/44628127>

Reviewed by Brent Fulgham.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm: (WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed):

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

10:55 AM Changeset in webkit [236334] by Kocsen Chung
  • 2 edits in branches/safari-606-branch/Source/WebKit

Cherry-pick r236291. rdar://problem/44660342

Allow additional plug-ins to run unsandboxed
https://bugs.webkit.org/show_bug.cgi?id=189791
<rdar://problem/44628127>

Reviewed by Brent Fulgham.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm: (WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed):

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

10:48 AM Changeset in webkit [236333] by Kocsen Chung
  • 4 edits
    10 adds in branches/safari-606-branch

Cherry-pick r236306. rdar://problem/44682841

Restrict the total combined size of backdrop filters
https://bugs.webkit.org/show_bug.cgi?id=189812
<rdar://problem/44532782>

Reviewed by Simon Fraser.

Source/WebCore:

If the total area of all backdrop filters on the page gets
too large, the universe collapses in on itself and we enter
the Quantum Realm (i.e. crash horribly).

Put a hard limit on the total coverage, and ignore any backdrop
filters after the limit. This might break some content, but
such content is likely not doing things in the most optimal manner.
There isn't any reason to have a backdrop larger than the size of
the screen, because you'd be better off applying a foreground
filter to the main content and showing something above it.

Tests: css3/filters/backdrop/resource-use-add-more-layers.html

css3/filters/backdrop/resource-use-excessive.html
css3/filters/backdrop/resource-use-ok.html
css3/filters/backdrop/resource-use-remove-some-layers.html

  • platform/graphics/ca/GraphicsLayerCA.cpp: Pick a fairly small maximum size. We can consider increasing this if necessary, and as devices with less RAM are upgraded. (WebCore::GraphicsLayerCA::recursiveCommitChanges): Gather the accumulated size of backdrop filters into the commit state as we are recursing through the tree. (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Force any layer with backdrop filters, or any that is removing backdrop filters, into an update. (WebCore::GraphicsLayerCA::updateBackdropFilters): Update the logic to first check if this backdrop layer causes us to exceed the total allowed size, and if it does, forbid it from getting the GraphicsLayer that composits the backdrop.
  • platform/graphics/ca/GraphicsLayerCA.h: Remove const from some parameters so that we can use the CommitState to hold the accumulated size.

LayoutTests:

Tests that have an acceptable number of backdrops, an excessive
number of backdrops, and then some that add and remove backdrops
at various points in the tree to confirm we do recursive checks
correctly.

  • css3/filters/backdrop/layer-tree-as-text.js: Added.
  • css3/filters/backdrop/resource-use-add-more-layers-expected.txt: Added.
  • css3/filters/backdrop/resource-use-add-more-layers.html: Added.
  • css3/filters/backdrop/resource-use-excessive-expected.txt: Added.
  • css3/filters/backdrop/resource-use-excessive.html: Added.
  • css3/filters/backdrop/resource-use-ok-expected.txt: Added.
  • css3/filters/backdrop/resource-use-ok.html: Added.
  • css3/filters/backdrop/resource-use-remove-some-layers-expected.txt: Added.
  • css3/filters/backdrop/resource-use-remove-some-layers.html: Added.
  • css3/filters/backdrop/resource-use.css: Added.

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

10:48 AM Changeset in webkit [236332] by Kocsen Chung
  • 3 edits
    1 add in branches/safari-606-branch

Cherry-pick r236223. rdar://problem/44682814

AI rule for MultiPutByOffset executes its effects in the wrong order
https://bugs.webkit.org/show_bug.cgi?id=189757
<rdar://problem/43535257>

Reviewed by Michael Saboff.

JSTests:

  • stress/multi-put-by-offset-must-filter-value-before-filtering-base.js: Added. (foo): (Foo): (g):

Source/JavaScriptCore:

The AI rule for MultiPutByOffset was executing effects in the wrong order.
It first executed the transition effects and the effects on the base, and
then executed the filtering effects on the value being stored. However, you
can end up with the wrong type when the base and the value being stored
are the same. E.g, in a program like o.f = o. These effects need to happen
in the opposite order, modeling what happens in the runtime executing of
MultiPutByOffset.

  • dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

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

10:13 AM Changeset in webkit [236331] by Jonathan Bedard
  • 3 edits in trunk/Tools

Bring up queues for iOS 12 (Build fix)
https://bugs.webkit.org/show_bug.cgi?id=189683

Unreviewed build fix.

We should not build ImageDiff as x86 by default since 32 bit projects are
deprecated in Xcode. ImageDiff should only be built once.

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:

(argumentsForConfiguration):

10:04 AM Changeset in webkit [236330] by Kocsen Chung
  • 7 edits in branches/safari-606-branch/Source

Versioning.

10:04 AM Changeset in webkit [236329] by Adrian Perez de Castro
  • 2 edits
    2 adds in releases/WebKitGTK/webkit-2.22

Merge r236314 - [MSE] Fix comparsion with uninitialized greatestDecodeDuration
https://bugs.webkit.org/show_bug.cgi?id=189805

Reviewed by Michael Catanzaro.

This bug was causing greatestDecodeDuration to never be initialized,
which in turned caused unintended frame erase as distant appends where
not being recognized as distinct coded frame groups.

A test reproducing the sequence of appends that caused unintended
frame deletion has also been added (media-source-append-out-of-order.html).

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

10:04 AM Changeset in webkit [236328] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore

Merge r236315 - [ARM] Build broken on armv7hl after r235517
https://bugs.webkit.org/show_bug.cgi?id=189831

Reviewed by Yusuke Suzuki.

Add missing implementation of patchebleBranch8() for traditional ARM.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::patchableBranch8):

10:04 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
10:04 AM Changeset in webkit [236327] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.22/Tools

Merge r236309 - [WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
https://bugs.webkit.org/show_bug.cgi?id=189797

Reviewed by Žan Doberšek.

  • wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid

the need for installing it. This works fine because the library only contains utility
code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).

10:04 AM Changeset in webkit [236326] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.22/Tools

Merge r236275 - [WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
https://bugs.webkit.org/show_bug.cgi?id=189556

Reviewed by Konstantin Tokarev.

This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
libepoxy.

  • wpe/backends/CMakeLists.txt:
10:04 AM Changeset in webkit [236325] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore

Merge r236264 - [GStreamer][MSE] Add a default sample duration
https://bugs.webkit.org/show_bug.cgi?id=189788

Some WebM files don't provide sample durations, so we need to provide
a safe default in order for them to be playable.

Reviewed by Michael Catanzaro.

  • platform/graphics/gstreamer/MediaSampleGStreamer.cpp:

(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):

10:04 AM Changeset in webkit [236324] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebCore

Merge r236258 - [MSE] Use some tolerance when deciding whether a frame should be appended to the decode queue
https://bugs.webkit.org/show_bug.cgi?id=189782

Reviewed by Xabier Rodriguez-Calvar.

Ideally, container formats should use exact timestamps and frames
should not overlap. Unfortunately, there are lots of files out there
where this is not always the case.

This is particularly a problem in WebM, where timestamps are expressed
in a power of 10 timescale, which forces some rounding.

This patch makes SourceBuffer allow frames with a small overlaps
(<=1ms) as those usually found in WebM. 1 ms is chosen because it's
the default time scale of WebM files.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

10:02 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
9:59 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
9:57 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
9:57 AM Changeset in webkit [236323] by graouts@webkit.org
  • 5 edits in trunk

REGRESSION (r235962-r235963): Layout Test animations/suspend-resume-animation-events.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189607
<rdar://problem/44652315>

Reviewed by Dean Jackson.

Source/WebCore:

There is no reason we shouldn't return the document timeline's time when suspended as otherwise animations may
report an unresolved current time when suspended which would wreak havoc when invalidating what DOM events to
dispatch for CSS Animations and Transitions. We also shouldn't be invalidation DOM events when suspended.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::currentTime):
(WebCore::DocumentTimeline::DocumentTimeline::performInvalidationTask):

LayoutTests:

  • animations/suspend-resume-animation-events.html: Ensure the test always opts into Web Animations backing CSS Animations and Transitions.
  • platform/mac-wk2/TestExpectations: Mark the test as no longer flaky.
9:54 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
9:51 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
9:41 AM Changeset in webkit [236322] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Whitelist two additional plugins
https://bugs.webkit.org/show_bug.cgi?id=189832
<rdar://problem/44628127>

Reviewed by Brent Fulgham.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed):

9:20 AM Changeset in webkit [236321] by commit-queue@webkit.org
  • 46 edits in trunk

Build tools should work when the /usr/bin/python is python3
https://bugs.webkit.org/show_bug.cgi?id=156674

Patch by Mike Gorse <mgorse@suse.com> on 2018-09-21
Reviewed by Michael Catanzaro.

.:

  • Source/cmake/WebKitCommon.cmake: Allow python 3.

Source/JavaScriptCore:

  • Scripts/cssmin.py:
  • Scripts/generate-js-builtins.py:

(do_open):
(generate_bindings_for_builtins_files):

  • Scripts/generateIntlCanonicalizeLanguage.py:
  • Scripts/jsmin.py:

(JavascriptMinify.minify.write):
(JavascriptMinify):
(JavascriptMinify.minify):

  • Scripts/make-js-file-arrays.py:

(chunk):
(main):

  • Scripts/wkbuiltins/init.py:
  • Scripts/wkbuiltins/builtins_generate_combined_header.py:

(generate_section_for_global_private_code_name_macro):

  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_header.py:

(BuiltinsInternalsWrapperHeaderGenerator.init):

  • Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py:

(BuiltinsInternalsWrapperImplementationGenerator.init):

  • Scripts/wkbuiltins/builtins_model.py:

(BuiltinFunction.lt):
(BuiltinsCollection.copyrights):
(BuiltinsCollection._parse_functions):

  • disassembler/udis86/ud_opcode.py:

(UdOpcodeTables.pprint.printWalk):

  • generate-bytecode-files:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/cpp_generator.py:
  • inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py:

(CppAlternateBackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator.domains_to_generate):
(CppBackendDispatcherHeaderGenerator.generate_output):
(CppBackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator.domains_to_generate):
(CppBackendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py:

(CppFrontendDispatcherHeaderGenerator.domains_to_generate):
(CppFrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py:

(CppFrontendDispatcherImplementationGenerator.domains_to_generate):
(CppFrontendDispatcherImplementationGenerator.generate_output):

  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py:

(CppProtocolTypesHeaderGenerator.generate_output):
(CppProtocolTypesHeaderGenerator._generate_forward_declarations):

  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py:

(CppProtocolTypesImplementationGenerator.generate_output):
(CppProtocolTypesImplementationGenerator._generate_enum_conversion_methods_for_domain):
(CppProtocolTypesImplementationGenerator._generate_enum_mapping_and_conversion_methods):
(CppProtocolTypesImplementationGenerator._generate_open_field_names):
(CppProtocolTypesImplementationGenerator._generate_builders_for_domain):
(CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration):

  • inspector/scripts/codegen/generate_js_backend_commands.py:

(JSBackendCommandsGenerator.should_generate_domain):
(JSBackendCommandsGenerator.domains_to_generate):
(JSBackendCommandsGenerator.generate_output):
(JSBackendCommandsGenerator.generate_domain):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:

(ObjCBackendDispatcherHeaderGenerator.domains_to_generate):
(ObjCBackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:

(ObjCBackendDispatcherImplementationGenerator.domains_to_generate):
(ObjCBackendDispatcherImplementationGenerator.generate_output):
(ObjCBackendDispatcherImplementationGenerator._generate_success_block_for_command):

  • inspector/scripts/codegen/generate_objc_configuration_header.py:
  • inspector/scripts/codegen/generate_objc_configuration_implementation.py:
  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:

(ObjCFrontendDispatcherImplementationGenerator.domains_to_generate):
(ObjCFrontendDispatcherImplementationGenerator.generate_output):
(ObjCFrontendDispatcherImplementationGenerator._generate_event):

  • inspector/scripts/codegen/generate_objc_header.py:

(ObjCHeaderGenerator.generate_output):
(ObjCHeaderGenerator._generate_type_interface):

  • inspector/scripts/codegen/generate_objc_internal_header.py:

(ObjCInternalHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py:

(ObjCProtocolTypeConversionsHeaderGenerator.domains_to_generate):
(ObjCProtocolTypeConversionsHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py:

(ObjCProtocolTypeConversionsImplementationGenerator.domains_to_generate):

  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:

(ObjCProtocolTypesImplementationGenerator.domains_to_generate):
(ObjCProtocolTypesImplementationGenerator.generate_output):
(ObjCProtocolTypesImplementationGenerator.generate_type_implementation):
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):

  • inspector/scripts/codegen/generator.py:

(Generator.non_supplemental_domains):
(Generator.open_fields):
(Generator.calculate_types_requiring_shape_assertions):
(Generator._traverse_and_assign_enum_values):
(Generator.stylized_name_for_enum_value):

  • inspector/scripts/codegen/models.py:

(find_duplicates):

  • inspector/scripts/codegen/objc_generator.py:
  • wasm/generateWasm.py:

(opcodeIterator):

  • yarr/generateYarrCanonicalizeUnicode:
  • yarr/generateYarrUnicodePropertyTables.py:
  • yarr/hasher.py:

(stringHash):

Source/WebCore:

No new tests (no behavior change).

  • platform/network/create-http-header-name-table: remove xreadlines.

Source/WebInspectorUI:

  • Scripts/copy-user-interface-resources.pl: Use $PYTHON if set

in the environment.

9:17 AM Changeset in webkit [236320] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

Clear persistent storage between tests for resourceLoadStatistics
https://bugs.webkit.org/show_bug.cgi?id=189684
<rdar://problem/44540099>

Patch by Woodrow Wang <woodrow_wang@apple.com> on 2018-09-21
Reviewed by Chris Dumez.

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreStatisticsResetToConsistentState):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::didClose):
(WebKit::NetworkProcessProxy::updatePrevalentDomainsToBlockCookiesFor):

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemoryAndPersistent):

Remove function only called in testing for resetting statistics to consistent
state.

(WebKit::WebResourceLoadStatisticsStore::scheduleClearInMemory): Deleted.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::updatePrevalentDomainsToBlockCookiesFor):
(WebKit::WebsiteDataStore::removeAllStorageAccessHandler):

8:57 AM Changeset in webkit [236319] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test webanimations/accelerated-animation-suspension.html is failing
https://bugs.webkit.org/show_bug.cgi?id=189836

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:51 AM Changeset in webkit [236318] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test css-custom-properties-api/registerProperty.html is failing
https://bugs.webkit.org/show_bug.cgi?id=189834

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:44 AM WebKitGTK/2.22.x edited by Michael Catanzaro
(diff)
8:36 AM WebKitGTK/2.22.x edited by Michael Catanzaro
(diff)
8:08 AM Changeset in webkit [236317] by jer.noble@apple.com
  • 12 edits
    1 copy in trunk/Source/WebCore

[EME] Introduce the concept of CDMInstanceSession.
https://bugs.webkit.org/show_bug.cgi?id=189725

Reviewed by Eric Carlson.

Currently, the same CDMInstance owned by a MediaKeys object is passed to every MediaKeySession created by that
MediaKeys, and since the CDMInstance has only a single CDMInstanceClient, subsequent MediaKeySessions prevent
previous ones from getting updates.

Add a new virtual interface, CDMInstanceSession, to be passed to MediaKeySession upon creation. Refactor
CDMInstanceClearKey and CDMInstanceFairPlayStreamingAVFObjC to adopt this new interface.

Drive-by fixes: Made a number of virtual overrides in final classes final themselves.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::create):
(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::remove):
(WebCore::MediaKeySession::updateKeyStatuses):

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::createSession):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/encryptedmedia/CDMInstance.h:

(WebCore::CDMInstance::setHDCPStatus):
(WebCore::CDMInstance::setClient): Deleted.
(WebCore::CDMInstance::clearClient): Deleted.

  • platform/encryptedmedia/CDMInstanceSession.h: Copied from Source/WebCore/platform/encryptedmedia/CDMInstance.h.

(WebCore::CDMInstanceSession::setClient):
(WebCore::CDMInstanceSession::clearClient):

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::parseLicenseFormat):
(WebCore::CDMInstanceClearKey::keySystem const):
(WebCore::CDMInstanceClearKey::createSession):
(WebCore::CDMInstanceSessionClearKey::requestLicense):
(WebCore::CDMInstanceSessionClearKey::keys const):
(WebCore::CDMInstanceSessionClearKey::updateLicense):
(WebCore::CDMInstanceSessionClearKey::loadSession):
(WebCore::CDMInstanceSessionClearKey::closeSession):
(WebCore::CDMInstanceSessionClearKey::removeSessionData):
(WebCore::CDMInstanceSessionClearKey::storeRecordOfKeyUsage):
(WebCore::CDMInstanceClearKey::requestLicense): Deleted.
(WebCore::CDMInstanceClearKey::keys const): Deleted.
(WebCore::CDMInstanceClearKey::updateLicense): Deleted.
(WebCore::CDMInstanceClearKey::loadSession): Deleted.
(WebCore::CDMInstanceClearKey::closeSession): Deleted.
(WebCore::CDMInstanceClearKey::removeSessionData): Deleted.
(WebCore::CDMInstanceClearKey::storeRecordOfKeyUsage): Deleted.

  • platform/encryptedmedia/clearkey/CDMClearKey.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
  • platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:

(WebCore::CDMInstanceFairPlayStreamingAVFObjC::createSession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::processContentKeyRequestForSession):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::processNextContentKeyRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::keySystem const):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRenewingRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvidePersistableRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::shouldRetryRequestForReason):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::sessionIdentifierChanged):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::CDMInstanceSessionFairPlayStreamingAVFObjC):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::keyIDs):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::updateLicense):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::loadSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::closeSession):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::removeSessionData):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::storeRecordOfKeyUsage):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::setClient):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::clearClient):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvideRenewingRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didProvidePersistableRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::didFailToProvideRequest):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::requestDidSucceed):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::shouldRetryRequestForReason):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::sessionIdentifierChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::outputObscuredDueToInsufficientExternalProtectionChanged):
(WebCore::CDMInstanceSessionFairPlayStreamingAVFObjC::isLicenseTypeSupported const):
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::isLicenseTypeSupported const): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::keyIDs): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestLicense): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::loadSession): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::closeSession): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::removeSessionData): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::storeRecordOfKeyUsage): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::setClient): Deleted.
(WebCore::CDMInstanceFairPlayStreamingAVFObjC::clearClient): Deleted.

  • testing/MockCDMFactory.cpp:

(WebCore::MockCDMInstance::keySystem const):
(WebCore::MockCDMInstance::createSession):
(WebCore::MockCDMInstanceSession::MockCDMInstanceSession):
(WebCore::MockCDMInstanceSession::requestLicense):
(WebCore::MockCDMInstanceSession::updateLicense):
(WebCore::MockCDMInstanceSession::loadSession):
(WebCore::MockCDMInstanceSession::closeSession):
(WebCore::MockCDMInstanceSession::removeSessionData):
(WebCore::MockCDMInstanceSession::storeRecordOfKeyUsage):
(WebCore::MockCDMInstance::requestLicense): Deleted.
(WebCore::MockCDMInstance::updateLicense): Deleted.
(WebCore::MockCDMInstance::loadSession): Deleted.
(WebCore::MockCDMInstance::closeSession): Deleted.
(WebCore::MockCDMInstance::removeSessionData): Deleted.
(WebCore::MockCDMInstance::storeRecordOfKeyUsage): Deleted.

  • testing/MockCDMFactory.h:

(WebCore::MockCDMInstance::factory const):
(WebCore::MockCDMInstance::distinctiveIdentifiersAllowed const):
(WebCore::MockCDMInstance::persistentStateAllowed const):

7:37 AM WebKitGTK/2.22.x edited by tpopela@redhat.com
(diff)
7:37 AM Changeset in webkit [236316] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

[libwebrtc] Allow IP mismatch for local connections on localhost
https://bugs.webkit.org/show_bug.cgi?id=189828

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-21
Reviewed by Alejandro G. Castro.

The rest of the code allows it, but there was an unecessary assert

See Bug 187302

  • Source/webrtc/p2p/base/tcpport.cc:
7:35 AM Changeset in webkit [236315] by tpopela@redhat.com
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] Build broken on armv7hl after r235517
https://bugs.webkit.org/show_bug.cgi?id=189831

Reviewed by Yusuke Suzuki.

Add missing implementation of patchebleBranch8() for traditional ARM.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::patchableBranch8):

6:47 AM Changeset in webkit [236314] by aboya@igalia.com
  • 2 edits
    2 adds in trunk

[MSE] Fix comparsion with uninitialized greatestDecodeDuration
https://bugs.webkit.org/show_bug.cgi?id=189805

Reviewed by Michael Catanzaro.

This bug was causing greatestDecodeDuration to never be initialized,
which in turned caused unintended frame erase as distant appends where
not being recognized as distinct coded frame groups.

A test reproducing the sequence of appends that caused unintended
frame deletion has also been added (media-source-append-out-of-order.html).

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

6:14 AM Changeset in webkit [236313] by graouts@webkit.org
  • 4 edits in trunk

[Web Animations] Accelerated animations don't get suspended
https://bugs.webkit.org/show_bug.cgi?id=189783
<rdar://problem/44652315>

Unreviewed, correct a merge error in the previous commit.

Source/WebCore:

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::performInvalidationTask):

LayoutTests:

  • animations/suspend-resume-animation-events.html:
6:09 AM Changeset in webkit [236312] by graouts@webkit.org
  • 5 edits
    2 adds in trunk

[Web Animations] Accelerated animations don't get suspended
https://bugs.webkit.org/show_bug.cgi?id=189783
<rdar://problem/43033568>

Reviewed by Dean Jackson.

Source/WebCore:

Test: webanimations/accelerated-animation-suspension.html

We used to set the flag that marked the timeline as suspended prior to notifying animations that they need to be suspended.
However, since the timeline was marked as suspended, querying the running state of the animations would indicate that the
animations weren't running since a suspended timeline would identify its animations as not running. As such we would fail
to pause the accelerated animations because they were already not marked as running. We now set the suspended flag on the
timeline _after_ suspending its animations.

We also fix a bug in the new internals.acceleratedAnimationsForElement() test function so that we read from the actual
CA animations and not from a stale list of animations which would not indicate the correct animation speeds.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::suspendAnimations):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::acceleratedAnimationsForTesting):

LayoutTests:

Add a new test that checks whether an accelerated animation is correctly paused after suspending animations.

  • webanimations/accelerated-animation-suspension-expected.txt: Added.
  • webanimations/accelerated-animation-suspension.html: Added.
  • platform/win/TestExpectations:
5:47 AM Changeset in webkit [236311] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

TransformationMatrix::toColumnMajorFloatArray() should return a std::array<> object
https://bugs.webkit.org/show_bug.cgi?id=189823

Reviewed by Michael Catanzaro.

Alias the TransformationMatrix::FloatMatrix4 type to
std::array<float, 16>. Instead of filling out the array object that's
passed in through a reference parameter, return the std::array<>
object from the function.

  • Modules/webvr/VRFrameData.cpp:

(WebCore::matrixToArray):

  • Modules/webvr/VRStageParameters.cpp:

(WebCore::VRStageParameters::sittingToStandingTransform const):

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp:

(WebCore::TextureMapperShaderProgram::setMatrix):

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::toColumnMajorFloatArray const):

  • platform/graphics/transforms/TransformationMatrix.h:
5:45 AM Changeset in webkit [236310] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

FloatQuad point getters should return const references
https://bugs.webkit.org/show_bug.cgi?id=189821

Reviewed by Yusuke Suzuki.

Be pedantic and have the FloatQuad point getters return const references
to the FloatPoint member variables, instead of technically creating
copies of them (though much of this copying is eliminated when the
getters are inlined).

  • platform/graphics/FloatQuad.h:

(WebCore::FloatQuad::p1 const):
(WebCore::FloatQuad::p2 const):
(WebCore::FloatQuad::p3 const):
(WebCore::FloatQuad::p4 const):

5:09 AM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
4:42 AM Changeset in webkit [236309] by Adrian Perez de Castro
  • 2 edits in trunk/Tools

[WPE] Built RPM of WPE webkit fails to install with "nothing provides libWPEToolingBackends.so()"
https://bugs.webkit.org/show_bug.cgi?id=189797

Reviewed by Žan Doberšek.

  • wpe/backends/CMakeLists.txt: Make libWPEToolingBackends a static library to avoid

the need for installing it. This works fine because the library only contains utility
code intended to be reused from other various components (MiniBrowser, WebKitTestRunner).

4:28 AM Changeset in webkit [236308] by graouts@webkit.org
  • 9 edits
    2 adds in trunk

[Web Animations] DocumentTimeline::updateAnimations() is called endlessly
https://bugs.webkit.org/show_bug.cgi?id=189784
<rdar://problem/41705679>

Reviewed by Dean Jackson.

Source/WebCore:

Test: webanimations/accelerated-animation-interruption-display-none.html

We have code that keeps queueing pending accelerated actions for an animation that does not have a renderer until it has one
so that we can deal with situations where animations are ready to commited before its composited renderer is available. This
code ended up running continuously when an element with an accelerated animation had its renderer removed without the animation
being removed itself, such as setting "display: none" on an element with an acceelerated CSS Animation targeting it.

We fix this by queueing up a "Stop" accelerated action when updating the accelerated state if there is no renderer for the current
animation target. Then, we no longer re-queue pending accelerated actions if the last queued operation is "Stop". This ensures that
we no longer queue actions endlessly when there is no longer a visible animation.

To test this, we add a new internals.numberOfAnimationTimelineInvalidations() method that indicates the number of times the current
document's animation timeline was invalidated.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::updateAnimations):
(WebCore::DocumentTimeline::numberOfAnimationTimelineInvalidationsForTesting const):

  • animation/DocumentTimeline.h:
  • animation/KeyframeEffectReadOnly.cpp:

(WebCore::KeyframeEffectReadOnly::updateAcceleratedAnimationState): If the animation target does not have a renderer and it's still
marked as running, enqueue a "Stop" accelerated action.
(WebCore::KeyframeEffectReadOnly::addPendingAcceleratedAction): If we enqueue a "Stop" accelerated action, remove any other queued
action so that we only process the "Stop" action, which would have superseded all previously queued actions anyway.
(WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions): Only re-queue pending accelerated actions when a composited renderer
is not yet available if we don't have a "Stop" action queued.

  • testing/Internals.cpp:

(WebCore::Internals::numberOfAnimationTimelineInvalidations const):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Add a new test that checks that setting "display: none" on an element with an accelerated CSS animation on it
will no longer update the animation timeline.

  • webanimations/accelerated-animation-interruption-display-none-expected.txt: Added.
  • webanimations/accelerated-animation-interruption-display-none.html: Added.
  • platform/win/TestExpectations:
12:37 AM Changeset in webkit [236307] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EME] Fix typo in WebM sanitization variable
https://bugs.webkit.org/show_bug.cgi?id=189789

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2018-09-21
Reviewed by Xabier Rodriguez-Calvar.

This commit corrects a typo in the name of a local variable, sanitizedBuffer
instead of sanitazedBuffer.

  • Modules/encryptedmedia/InitDataRegistry.cpp:

(WebCore::extractKeyIDsWebM):

Sep 20, 2018:

10:37 PM Changeset in webkit [236306] by dino@apple.com
  • 4 edits
    10 adds in trunk

Restrict the total combined size of backdrop filters
https://bugs.webkit.org/show_bug.cgi?id=189812
<rdar://problem/44532782>

Reviewed by Simon Fraser.

Source/WebCore:

If the total area of all backdrop filters on the page gets
too large, the universe collapses in on itself and we enter
the Quantum Realm (i.e. crash horribly).

Put a hard limit on the total coverage, and ignore any backdrop
filters after the limit. This might break some content, but
such content is likely not doing things in the most optimal manner.
There isn't any reason to have a backdrop larger than the size of
the screen, because you'd be better off applying a foreground
filter to the main content and showing something above it.

Tests: css3/filters/backdrop/resource-use-add-more-layers.html

css3/filters/backdrop/resource-use-excessive.html
css3/filters/backdrop/resource-use-ok.html
css3/filters/backdrop/resource-use-remove-some-layers.html

  • platform/graphics/ca/GraphicsLayerCA.cpp: Pick a fairly small maximum size. We

can consider increasing this if necessary, and as devices with less RAM are
upgraded.
(WebCore::GraphicsLayerCA::recursiveCommitChanges): Gather the accumulated size
of backdrop filters into the commit state as we are recursing through the tree.
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Force any layer
with backdrop filters, or any that is removing backdrop filters, into an update.
(WebCore::GraphicsLayerCA::updateBackdropFilters): Update the logic to first
check if this backdrop layer causes us to exceed the total allowed size, and if
it does, forbid it from getting the GraphicsLayer that composits the backdrop.

  • platform/graphics/ca/GraphicsLayerCA.h: Remove const from some parameters so

that we can use the CommitState to hold the accumulated size.

LayoutTests:

Tests that have an acceptable number of backdrops, an excessive
number of backdrops, and then some that add and remove backdrops
at various points in the tree to confirm we do recursive checks
correctly.

  • css3/filters/backdrop/layer-tree-as-text.js: Added.
  • css3/filters/backdrop/resource-use-add-more-layers-expected.txt: Added.
  • css3/filters/backdrop/resource-use-add-more-layers.html: Added.
  • css3/filters/backdrop/resource-use-excessive-expected.txt: Added.
  • css3/filters/backdrop/resource-use-excessive.html: Added.
  • css3/filters/backdrop/resource-use-ok-expected.txt: Added.
  • css3/filters/backdrop/resource-use-ok.html: Added.
  • css3/filters/backdrop/resource-use-remove-some-layers-expected.txt: Added.
  • css3/filters/backdrop/resource-use-remove-some-layers.html: Added.
  • css3/filters/backdrop/resource-use.css: Added.
9:36 PM Changeset in webkit [236305] by Ryan Haddad
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r236293.

Internal build still broken.

Reverted changeset:

"Add functions to measure memory footprint to JSC"
https://bugs.webkit.org/show_bug.cgi?id=189768
https://trac.webkit.org/changeset/236293

8:47 PM Changeset in webkit [236304] by Ryan Haddad
  • 3 edits in trunk/Source/WebKit

Unreviewed, rolling out r236289.

Caused 8 TestWebKitAPI.ContentFiltering test failures.

Reverted changeset:

"InjectedBundle parameters often need initialization function
called before unarchiving"
https://bugs.webkit.org/show_bug.cgi?id=189709
https://trac.webkit.org/changeset/236289

8:15 PM Changeset in webkit [236303] by dbates@webkit.org
  • 7 edits
    1 move in trunk

Move IOKitSPI.h from TestRunnerShared to PAL
https://bugs.webkit.org/show_bug.cgi?id=189804

Reviewed by Wenson Hsieh.

Towards fixing <https://bugs.webkit.org/show_bug.cgi?id=189604> move the IOKit SPI forward
Source/WebCore/PAL:

declarations to PAL so that they can be shared by both WebKit, DumpRenderTree, and WebKitTestRunner.

No functionality changed. So, no new tests.

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/IOKitSPI.h: Renamed from Tools/TestRunnerShared/spi/IOKitSPI.h.

Tools:

declarations to PAL so that they can be shared by WebKit, DumpRenderTree and WebKitTestRunner.

No functionality changed. So, no new tests.

  • TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm:
  • TestRunnerShared/spi/UIKitTestSPI.h:
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
  • WebKitTestRunner/ios/HIDEventGenerator.mm:
7:49 PM Changeset in webkit [236302] by Fujii Hironori
  • 2 edits in trunk/Source/WTF

[Win][Clang] UNUSED_PARAM(this) causes compilation error of "cannot take the address of an rvalue of type"
https://bugs.webkit.org/show_bug.cgi?id=189732

Reviewed by Per Arne Vollan.

Clang for Windows can't compile the MSVC workaround of
UNUSED_PARAM which has been introduced for Windows CE and Visual
Studio 10. I think it's safe just to remove it.

  • wtf/Compiler.h: Removed the code for COMPILER(MSVC).
7:23 PM Changeset in webkit [236301] by bshafiei@apple.com
  • 7 edits in tags/Safari-607.1.7.1/Source

Versioning.

7:19 PM Changeset in webkit [236300] by bshafiei@apple.com
  • 1 copy in tags/Safari-607.1.7.1

Tag Safari-607.1.7.1.

7:06 PM Changeset in webkit [236299] by commit-queue@webkit.org
  • 7 edits
    9 copies
    7 adds in trunk/Tools

[WHLSL] Metal code generation
https://bugs.webkit.org/show_bug.cgi?id=187735

Patch by Thomas Denney <tdenney@apple.com> on 2018-09-20
Reviewed by Myles C. Maxfield.

Adds support for generating Metal Shading Language from WHLSL. Clients
should include the file MetalCodegenAll.js and then call whlslToMsl
with their program source code to compile to Metal.

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType.prototype.get arrayRefType): Adds the arrayRefType method to
all types to find the type of that expression when it is used in a
MakeArrayRefExpression.

  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js:

(MakeArrayRefExpression):
(MakeArrayRefExpression.prototype.get type): Uses the new arrayRefType
getter on all types to find the type of the expression.

  • WebGPUShadingLanguageRI/Metal/MSLBackend.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLCodegenAll.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLCompileResult.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLConstexprEmitter.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLFunctionDeclaration.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLFunctionDefinition.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLFunctionForwardDeclaration.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLNameMangler.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLNativeFunctionCall.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLStatementEmitter.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLTypeAttributes.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLTypeAttributesMap.js: Added.
  • WebGPUShadingLanguageRI/Metal/MSLTypeUnifier.js: Added.
  • WebGPUShadingLanguageRI/Metal/TypeOf.js: Added.
  • WebGPUShadingLanguageRI/Metal/WhlslToMsl.js: Added.
  • WebGPUShadingLanguageRI/PropertyResolver.js:
  • WebGPUShadingLanguageRI/SynthesizeStructAccessors.js:
  • WebGPUShadingLanguageRI/Test.js: Added awkward tests for the compiler

to generate code for.
(tests.incrementAndDecrement):
(tests.returnIntLiteralUint):
(tests.returnIntLiteralFloat):
(tests.nestedSubscriptWithArraysInStructs):
(tests.nestedSubscript):
(tests.lotsOfLocalVariables):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get arrayRefType): See above.

7:04 PM Changeset in webkit [236298] by Devin Rousso
  • 6 edits
    63 deletes in trunk/Source/WebInspectorUI

Web Inspector: remove Visual Style CSS details sidebar panel
https://bugs.webkit.org/show_bug.cgi?id=189807

Reviewed by Joseph Pecoraro.

The Visual Style CSS details sidebar panel has been hidden behind an "experimental" setting
for almost a year. It's time that we remove it.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Main.html:
  • UserInterface/Views/ElementsTabContentView.js:

(WI.ElementsTabContentView):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Images/AnimationPlayStatePaused.svg: Removed.
  • UserInterface/Images/AnimationPlayStateRunning.svg: Removed.
  • UserInterface/Images/ClearBoth.svg: Removed.
  • UserInterface/Images/ClearLeft.svg: Removed.
  • UserInterface/Images/ClearRight.svg: Removed.
  • UserInterface/Images/FloatLeft.svg: Removed.
  • UserInterface/Images/FloatRight.svg: Removed.
  • UserInterface/Images/FontStyleItalic.svg: Removed.
  • UserInterface/Images/FontStyleNormal.svg: Removed.
  • UserInterface/Images/ListStylePositionInside.svg: Removed.
  • UserInterface/Images/ListStylePositionOutside.svg: Removed.
  • UserInterface/Images/TextAlignCenter.svg: Removed.
  • UserInterface/Images/TextAlignJustify.svg: Removed.
  • UserInterface/Images/TextAlignLeft.svg: Removed.
  • UserInterface/Images/TextAlignRight.svg: Removed.
  • UserInterface/Images/TextDecorationLineThrough.svg: Removed.
  • UserInterface/Images/TextDecorationOverline.svg: Removed.
  • UserInterface/Images/TextDecorationUnderline.svg: Removed.
  • UserInterface/Images/TextTransformCapitalize.svg: Removed.
  • UserInterface/Images/TextTransformLowercase.svg: Removed.
  • UserInterface/Images/TextTransformUppercase.svg: Removed.
  • UserInterface/Images/VisualStyleNone.svg: Removed.
  • UserInterface/Images/VisualStylePropertyLinked.svg: Removed.
  • UserInterface/Images/VisualStylePropertyUnlinked.svg: Removed.
  • UserInterface/Views/VisualStyleBackgroundPicker.css: Removed.
  • UserInterface/Views/VisualStyleBackgroundPicker.js: Removed.
  • UserInterface/Views/VisualStyleBasicInput.js: Removed.
  • UserInterface/Views/VisualStyleColorPicker.css: Removed.
  • UserInterface/Views/VisualStyleColorPicker.js: Removed.
  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Removed.
  • UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Removed.
  • UserInterface/Views/VisualStyleDetailsPanel.css: Removed.
  • UserInterface/Views/VisualStyleDetailsPanel.js: Removed.
  • UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Removed.
  • UserInterface/Views/VisualStyleFontFamilyListEditor.js: Removed.
  • UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Removed.
  • UserInterface/Views/VisualStyleKeywordCheckbox.css: Removed.
  • UserInterface/Views/VisualStyleKeywordCheckbox.js: Removed.
  • UserInterface/Views/VisualStyleKeywordIconList.css: Removed.
  • UserInterface/Views/VisualStyleKeywordIconList.js: Removed.
  • UserInterface/Views/VisualStyleKeywordPicker.js: Removed.
  • UserInterface/Views/VisualStyleNumberInputBox.css: Removed.
  • UserInterface/Views/VisualStyleNumberInputBox.js: Removed.
  • UserInterface/Views/VisualStylePropertyCombiner.js: Removed.
  • UserInterface/Views/VisualStylePropertyEditor.css: Removed.
  • UserInterface/Views/VisualStylePropertyEditor.js: Removed.
  • UserInterface/Views/VisualStylePropertyEditorLink.css: Removed.
  • UserInterface/Views/VisualStylePropertyEditorLink.js: Removed.
  • UserInterface/Views/VisualStylePropertyNameInput.js: Removed.
  • UserInterface/Views/VisualStyleRelativeNumberSlider.css: Removed.
  • UserInterface/Views/VisualStyleRelativeNumberSlider.js: Removed.
  • UserInterface/Views/VisualStyleSelectorSection.css: Removed.
  • UserInterface/Views/VisualStyleSelectorSection.js: Removed.
  • UserInterface/Views/VisualStyleSelectorTreeItem.css: Removed.
  • UserInterface/Views/VisualStyleSelectorTreeItem.js: Removed.
  • UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Removed.
  • UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Removed.
  • UserInterface/Views/VisualStyleTimingEditor.css: Removed.
  • UserInterface/Views/VisualStyleTimingEditor.js: Removed.
  • UserInterface/Views/VisualStyleURLInput.js: Removed.
  • UserInterface/Views/VisualStyleUnitSlider.css: Removed.
  • UserInterface/Views/VisualStyleUnitSlider.js: Removed.
  • UserInterface/Controllers/VisualStyleCompletionsController.js: Removed.
7:02 PM Changeset in webkit [236297] by Devin Rousso
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: rework Computed panel to use Spreadsheet classes
https://bugs.webkit.org/show_bug.cgi?id=183627

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ComputedStyleDetailsPanel.js:

(WI.ComputedStyleDetailsPanel):
(WI.ComputedStyleDetailsPanel.prototype.refresh):
(WI.ComputedStyleDetailsPanel.prototype.applyFilter):
(WI.ComputedStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationEditorShowProperty):
(WI.ComputedStyleDetailsPanel.prototype.initialLayout):
(WI.ComputedStyleDetailsPanel.prototype.filterDidChange):
(WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
(WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
(WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
(WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied):
(WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty): Deleted.
(WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty): Deleted.
Replace CSSStyleDeclarationTextEditor with SpreadsheetCSSStyleDeclarationEditor.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set showsImplicitProperties):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set alwaysShowPropertyNames):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set propertyVisibilityMode):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set hideFilterNonMatchingProperties):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set sortPropertiesByName): Added.
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyShowProperty):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender): Deleted.
Create setters for the "special" functionality required by the Computed panel and tie them
into the logic that determines what properties are rendered.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty.prototype._update):
Create go-to arrow if the property has a shorthand version or a source code location.

  • UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:

(WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
Don't reapply the filter after refreshing, as the current panel will handle applying it.

  • UserInterface/Views/ComputedStyleDetailsPanel.css:

(.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
(.computed-style-properties .property .go-to-arrow):
(.computed-style-properties .property:hover .go-to-arrow):
(.computed-style-properties.details-section): Deleted.
(.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow): Deleted.
(.details-section > .content > .group > .row .CodeMirror-code pre:hover .go-to-arrow): Deleted.
(.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.

  • UserInterface/Views/DetailsSection.css:

(.details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
Consolidate Computed panel styles to it's respective CSS file.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor):
(.spreadsheet-style-declaration-editor .property:matches(.implicit, .not-inherited) .content > *):
(.spreadsheet-style-declaration-editor .property.not-inherited .content > *): Deleted.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:

(.spreadsheet-css-declaration):

  • UserInterface/Views/Variables.css:

(:root):
Move css-declaration padding variables so they can be used by SpreadsheetCSSStyleDeclarationEditor
without a parent SpreadsheetCSSStyleDeclarationSection.

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:

(.style-spreadsheet .style-rule): Deleted.
(.style-spreadsheet .selector-line): Deleted.
(.style-spreadsheet .selector): Deleted.
(.style-spreadsheet :matches(.selector .matched, .selector:focus)): Deleted.
(.style-spreadsheet .name): Deleted.
(.style-spreadsheet .value): Deleted.
(.style-spreadsheet :matches(.selector, .name, .value)): Deleted.
(.style-spreadsheet :matches(.selector, .name, .value):focus): Deleted.
(.style-spreadsheet .selector-inline): Deleted.
(.style-spreadsheet .property): Deleted.
(.style-spreadsheet .property-disabled,): Deleted.
(.style-spreadsheet .property-disabled :matches(.name, .value)): Deleted.
(.style-spreadsheet .styles-source): Deleted.
(.style-spreadsheet :matches(a, .node-link)): Deleted.
(.style-spreadsheet :matches(a, .node-link):hover): Deleted.
(.style-spreadsheet .declarations): Deleted.
(.style-spreadsheet input[type="checkbox"]): Deleted.
(.style-spreadsheet input[type="checkbox"]:not(:checked)): Deleted.
(.style-spreadsheet .declarations:hover input[type="checkbox"]): Deleted.
Drive-by fix: remove styles that don't apply to anything.

6:11 PM Changeset in webkit [236296] by yusukesuzuki@slowstart.org
  • 8 edits in trunk/Source/JavaScriptCore

[JSC] Heap::reportExtraMemoryVisited shows contention if we have many JSString
https://bugs.webkit.org/show_bug.cgi?id=189558

Reviewed by Mark Lam.

When running web-tooling-benchmark postcss test on Linux JSCOnly port, we get the following result in perf report.

10.95% AutomaticThread libJavaScriptCore.so.1.0.0 . JSC::Heap::reportExtraMemoryVisited

This is because postcss produces bunch of JSString, which require reportExtraMemoryVisited calls in JSString::visitChildren.
And since reportExtraMemoryVisited attempts to update atomic counter, if we have bunch of marking threads, it becomes super contended.

This patch reduces the frequency of updating the atomic counter. Each SlotVisitor has per-SlotVisitor m_extraMemorySize counter.
And we propagate this value to the global atomic counter when rebalance happens.

We also reduce HeapCell::heap() access by using vm.heap.

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::didStartMarking):
(JSC::SlotVisitor::propagateExternalMemoryVisitedIfNecessary):
(JSC::SlotVisitor::drain):
(JSC::SlotVisitor::performIncrementOfDraining):

  • heap/SlotVisitor.h:
  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::reportExtraMemoryVisited):

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToAtomicString const):
(JSC::JSRopeString::resolveRope const):

  • runtime/JSString.h:

(JSC::JSString::finishCreation):

  • wasm/js/JSWebAssemblyInstance.cpp:

(JSC::JSWebAssemblyInstance::finishCreation):

  • wasm/js/JSWebAssemblyMemory.cpp:

(JSC::JSWebAssemblyMemory::finishCreation):

5:28 PM Changeset in webkit [236295] by Ryan Haddad
  • 2 edits
    1 move in trunk/Tools

Bring up queues for iOS 12
https://bugs.webkit.org/show_bug.cgi?id=189683

Unreviewed infrastructure fix.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12@2x.png: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer): Move EWS bubbles to the iOS 12 section of the dashboard.

4:50 PM Changeset in webkit [236294] by Ryan Haddad
  • 8 edits
    4 adds in trunk/Tools

Bring up queues for iOS 12
https://bugs.webkit.org/show_bug.cgi?id=189683

Reviewed by Aakash Jain.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/IOS12Simulator@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/iOS12@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.ios-simulator-12 img.logo):
(table.queue-grid tr.platform.ios-12 img.logo):
(table.queue-grid tr.platform.ios-simulator-11 img.logo): Deleted.
(table.queue-grid tr.platform.ios-11 img.logo): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

4:46 PM Changeset in webkit [236293] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add functions to measure memory footprint to JSC
https://bugs.webkit.org/show_bug.cgi?id=189768

Reviewed by Saam Barati.

Rolling this back in.

Provide system memory metrics for the current process to aid in memory reduction measurement and
tuning using native JS tests.

  • jsc.cpp:

(MemoryFootprint::now):
(MemoryFootprint::resetPeak):
(GlobalObject::finishCreation):
(JSCMemoryFootprint::JSCMemoryFootprint):
(JSCMemoryFootprint::createStructure):
(JSCMemoryFootprint::create):
(JSCMemoryFootprint::finishCreation):
(JSCMemoryFootprint::addProperty):
(functionResetMemoryPeak):

4:19 PM Changeset in webkit [236292] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Continued test gardening after r236236
https://bugs.webkit.org/show_bug.cgi?id=189641

Unreviewed test gardening

4:17 PM Changeset in webkit [236291] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

Allow additional plug-ins to run unsandboxed
https://bugs.webkit.org/show_bug.cgi?id=189791
<rdar://problem/44628127>

Reviewed by Brent Fulgham.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::shouldAllowPluginToRunUnsandboxed):

4:11 PM Changeset in webkit [236290] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Adopt safe-area-insets on ImageDocument
https://bugs.webkit.org/show_bug.cgi?id=189774

Reviewed by Tim Horton.
rdar://problem/44624432

By having the safe-area insets on the image, we ensure that they only
grow the document if there is not enough space. This also ensures the image
does not have parts under UI elements.

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::createDocumentStructure):
(WebCore::ImageDocument::imageUpdated):

4:11 PM Changeset in webkit [236289] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

InjectedBundle parameters often need initialization function called before unarchiving
https://bugs.webkit.org/show_bug.cgi?id=189709
<rdar://problem/44573653>

Reviewed by Chris Dumez.

Handle the case where the InjectedBundle parameters do not successfully decode because they contain
an unexpected class from the embedding program. If this happens, try decoding the bundle parameters
after the bundle initialiation function runs, which gives the embedding program the opportunity to
register additional classes that are safe for serialization.

Create a new 'decodeBundleParameters' method that contains the logic that used to live in 'initialize'.
This new method returns 'true' if the serialization was successful, otherwise it returns false.

Revise 'initialize' to call this new method and check the return value. If it fails, try decoding the
bundle parameters after the bundle's initialization function is called.

  • WebProcess/InjectedBundle/InjectedBundle.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::initialize): Use the new method.
(WebKit::InjectedBundle::decodeBundleParameters): Added.
(WebKit::InjectedBundle::setBundleParameters): Use 'decodeObjectOfClasses' with the more complete
'classesForCoder' method to unarchive the passed bundle parameters, rather than the
NSDictionary-specific method, since InjectedBundles often encode other types of objects, and the
NSDictionary object may itself hold other kinds of objects.

3:27 PM Changeset in webkit [236288] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Release assert under RenderView::pageOrViewLogicalHeight
https://bugs.webkit.org/show_bug.cgi?id=189798
<rdar://problem/43659749>

Reviewed by Simon Fraser.

Source/WebCore:

Only the mainframe's render view is sized to the page while printing.
Use the matching check (see RenderView::layout) when accessing m_pageLogicalSize.

Test: printing/crash-while-formatting-subframe-for-printing.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::pageOrViewLogicalHeight const):

LayoutTests:

  • printing/crash-while-formatting-subframe-for-printing-expected.txt: Added.
  • printing/crash-while-formatting-subframe-for-printing.html: Added.
3:23 PM Changeset in webkit [236287] by Kocsen Chung
  • 1 copy in tags/Safari-606.2.101

Tag Safari-606.2.101.

3:05 PM Changeset in webkit [236286] by sihui_liu@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION(r196265): WKWebView fires mouseover, mouseenter, and mouseleave events even when it's in a background window
https://bugs.webkit.org/show_bug.cgi?id=187545
<rdar://problem/42401575>

Reviewed by Ryosuke Niwa.

Source/WebCore:

When the window is not active, we should only update the scrollbar for mouse events. GTK
apps have different expectation on this behavior.

Test: fast/events/inactive-window-no-mouse-event.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::shouldSendMouseEventsToInactiveWindows const):

  • page/EventHandler.h:

LayoutTests:

  • TestExpectations:
  • fast/events/inactive-window-no-mouse-event-expected.txt: Added.
  • fast/events/inactive-window-no-mouse-event.html: Added.
  • platform/mac-wk2/TestExpectations:
2:36 PM Changeset in webkit [236285] by Basuke Suzuki
  • 4 edits in trunk

[Win] TestRunner::queueLoad() fails to generate correct url for some urls.
https://bugs.webkit.org/show_bug.cgi?id=189679

Reviewed by Fujii Hironori.

Tools:

Replace the implementation with correct API call.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::queueLoad): Call UrlCombineW.

LayoutTests:

  • platform/wincairo/TestExpectations:
2:33 PM Changeset in webkit [236284] by achristensen@apple.com
  • 7 edits in trunk/Source

Unreviewed, rolling out r235976.

Broke ARM

Reverted changeset:

"Use a Variant instead of a union in CSSSelector"
https://bugs.webkit.org/show_bug.cgi?id=188559
https://trac.webkit.org/changeset/235976

2:32 PM Changeset in webkit [236283] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[iOS] Layout test fast/gradients/conic-gradient-alpha.html is failing
https://bugs.webkit.org/show_bug.cgi?id=189802

Unreviewed test gardening.

  • platform/ios-12/TestExpectations: Mark test as failing.
2:32 PM Changeset in webkit [236282] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

REGRESSION (r235962-r235963): Layout Test animations/suspend-resume-animation-events.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=189607

Unreivewed test gardening.

  • platform/mac-wk2/TestExpectations: Mark test as flaky.
2:27 PM Changeset in webkit [236281] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

Enable Modern EME by default
https://bugs.webkit.org/show_bug.cgi?id=189794

Reviewed by Jon Lee.

  • Shared/WebPreferences.yaml:
2:11 PM Changeset in webkit [236280] by realdawei@apple.com
  • 2 edits in trunk/LayoutTests

WebGL 2 updated test expectations.
https://bugs.webkit.org/show_bug.cgi?id=189686

Unreviewed, skip tests that are timing out.

Patch by Dawei Fenton <realdawei@apple.com> on 2018-09-20

  • platform/ios-wk2/TestExpectations:
1:47 PM Changeset in webkit [236279] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK][WPE] Make sure MediaDeviceEnabled and PeerConnectionEnabled are always synced with enable-media-stream
https://bugs.webkit.org/show_bug.cgi?id=188704

By default m_isMediaDevicesEnabled and m_isScreenCaptureEnabled are false but
m_isMediaStreamEnabled is true meaning that in the WPE minibrowser getUserMedia
was disabled even if we explicitly set "enable-media-stream", TRUE.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-20
Reviewed by Michael Catanzaro.

  • UIProcess/API/glib/WebKitSettings.cpp:

(webKitSettingsConstructed):

1:43 PM Changeset in webkit [236278] by commit-queue@webkit.org
  • 8 edits in trunk

Fix 'border' serialization with both common and uncommon values
https://bugs.webkit.org/show_bug.cgi?id=189597

Patch by Oriol Brufau <Oriol Brufau> on 2018-09-20
Reviewed by Simon Fraser.

Source/WebCore:

Remove CommonValueMode enum and make borderPropertyValue always return null
when there are uncommon values (the previous ReturnNullOnUncommonValues mode).

Test: fast/css/getPropertyValue-border.html
Test: fast/dom/css-shorthand-common-value.html

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::borderPropertyValue const):
(WebCore::StyleProperties::asText const):

  • css/StyleProperties.h:

LayoutTests:

Fix existing tests to check that 'border' serializes to empty string if there
are uncommon values.

  • fast/css/getPropertyValue-border-expected.txt:
  • fast/css/getPropertyValue-border.html:
  • fast/dom/css-shorthand-common-value-expected.txt:
  • fast/dom/css-shorthand-common-value.html:
1:41 PM Changeset in webkit [236277] by realdawei@apple.com
  • 3 edits in trunk/LayoutTests

WebGL conformance: Failures and Timeouts in suite 2.0.0/conformance
https://bugs.webkit.org/show_bug.cgi?id=189641

Unreviewed test gardening.

Patch by Dawei Fenton <realdawei@apple.com> on 2018-09-20

1:38 PM Changeset in webkit [236276] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

1:36 PM WebKitGTK/2.22.x edited by Adrian Perez de Castro
(diff)
1:32 PM Changeset in webkit [236275] by Michael Catanzaro
  • 2 edits in trunk/Tools

[WPE] fails to build on ARM arches complaining about undefined reference to `epoxy_eglMakeCurrent'
https://bugs.webkit.org/show_bug.cgi?id=189556

Reviewed by Konstantin Tokarev.

This is only a speculative build fix as I didn't attempt to reproduce. Explicitly link to
libepoxy.

  • wpe/backends/CMakeLists.txt:
12:31 PM Changeset in webkit [236274] by commit-queue@webkit.org
  • 12 edits
    32 adds
    5 deletes in trunk/LayoutTests

Synchronize CSSOM View test suite against upstream WPT
https://bugs.webkit.org/show_bug.cgi?id=189787

Patch by Frederic Wang <fwang@igalia.com> on 2018-09-20
Reviewed by Antonio Gomes.

LayoutTests/imported/w3c:

  • web-platform-tests/css/cssom-view/META.yml: Added.
  • web-platform-tests/css/cssom-view/OWNERS: Removed.
  • web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-vertical-rl-expected.html: Added.
  • web-platform-tests/css/cssom-view/cssom-getBoundingClientRect-vertical-rl.html: Added.
  • web-platform-tests/css/cssom-view/cssom-view-window-screen-interface-expected.txt:
  • web-platform-tests/css/cssom-view/cssom-view-window-screen-interface.html:
  • web-platform-tests/css/cssom-view/dom-element-scroll-expected.txt: Added.
  • web-platform-tests/css/cssom-view/dom-element-scroll.html: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-mixed-font-sizes-expected.txt: Added.
  • web-platform-tests/css/cssom-view/elementFromPoint-mixed-font-sizes.html: Added.
  • web-platform-tests/css/cssom-view/interfaces-expected.txt:
  • web-platform-tests/css/cssom-view/interfaces.html:
  • web-platform-tests/css/cssom-view/media-query-list-interface-expected.txt: Removed.
  • web-platform-tests/css/cssom-view/media-query-list-interface.xht: Removed.
  • web-platform-tests/css/cssom-view/resources/w3c-import.log:
  • web-platform-tests/css/cssom-view/scroll-behavior-default-css-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-default-css.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-element-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-element.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-main-frame-root.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-main-frame-window.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-scrollintoview-nested.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-smooth-positions.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-subframe-root-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-subframe-root.html: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-subframe-window-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scroll-behavior-subframe-window.html: Added.
  • web-platform-tests/css/cssom-view/scrollIntoView-vertical-rl-writing-mode-expected.txt: Added.
  • web-platform-tests/css/cssom-view/scrollIntoView-vertical-rl-writing-mode.html: Added.
  • web-platform-tests/css/cssom-view/support/scroll-behavior.js: Added.

(observeScrolling):
(waitForScrollEnd):
(scrollNode):
(scrollWindow):

  • web-platform-tests/css/cssom-view/support/support/w3c-import.log:
  • web-platform-tests/css/cssom-view/support/w3c-import.log:
  • web-platform-tests/css/cssom-view/table-client-props-expected.txt: Added.
  • web-platform-tests/css/cssom-view/table-client-props.html: Added.
  • web-platform-tests/css/cssom-view/table-offset-props-expected.txt: Added.
  • web-platform-tests/css/cssom-view/table-offset-props.html: Added.
  • web-platform-tests/css/cssom-view/table-scroll-props-expected.txt: Added.
  • web-platform-tests/css/cssom-view/table-scroll-props.html: Added.
  • web-platform-tests/css/cssom-view/w3c-import.log:
  • web-platform-tests/css/cssom-view/window-interface-expected.txt: Removed.
  • web-platform-tests/css/cssom-view/window-interface.xht: Removed.

LayoutTests:

  • tests-options.json: Mark smooth scrolling tests as slow.
  • ios/TestExpectations: Mark as failing since frames are not scrollable on iOS.
11:57 AM Changeset in webkit [236273] by commit-queue@webkit.org
  • 17 edits
    9 adds in trunk

Implement CSS Custom Properties and Values Skeleton
https://bugs.webkit.org/show_bug.cgi?id=189694

Patch by Justin Michaud <Justin Michaud> on 2018-09-20
Reviewed by Simon Fraser.

Source/WebCore:

Add feature flag, CSS.registerProperty binding and registered property set in Document.h
for the css custom properties and values api.

Test: css-properties-values-api/registerProperty.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSRegisteredCustomProperty.h: Added.
  • css/DOMCSSCustomPropertyDescriptor.h: Added.
  • css/DOMCSSCustomPropertyDescriptor.idl: Added.
  • css/DOMCSSNamespace.h:
  • css/DOMCSSRegisterCustomProperty.cpp: Added.

(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
(WebCore::DOMCSSRegisterCustomProperty::from):
(WebCore::DOMCSSRegisterCustomProperty::supplementName):

  • css/DOMCSSRegisterCustomProperty.h: Added.
  • css/DOMCSSRegisterCustomProperty.idl: Added.
  • css/parser/CSSParserContext.cpp:
  • dom/Document.cpp:

(WebCore::Document::registerCSSProperty):

  • dom/Document.h:
  • features.json:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setCSSCustomPropertiesAndValuesEnabled):
(WebCore::RuntimeEnabledFeatures::cssCustomPropertiesAndValuesEnabled const):

Source/WebKit:

Add feature flag for CSS custom properties and values api

  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

LayoutTests:

Add test to check that the CSS.registerProperty method exists.

  • css-custom-properties-api/registerProperty-expected.txt: Added.
  • css-custom-properties-api/registerProperty.html: Added.
  • platform/ios-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
11:23 AM Changeset in webkit [236272] by realdawei@apple.com
  • 2 edits in trunk/LayoutTests

WebGL conformance: Failures and Timeouts in suite 2.0.0/conformance
https://bugs.webkit.org/show_bug.cgi?id=189641

Unreviewed, marked tests as failing.

Patch by Dawei Fenton <realdawei@apple.com> on 2018-09-20

11:20 AM Changeset in webkit [236271] by dbates@webkit.org
  • 4 edits
    2 adds in trunk

[iOS] Support testing more hardware special keys
https://bugs.webkit.org/show_bug.cgi?id=189793

Reviewed by Simon Fraser.

Tools:

  • TestRunnerShared/spi/IOKitSPI.h: Add more SPI constants.
  • WebKitTestRunner/ios/HIDEventGenerator.mm:

(keyCodeForDOMFunctionKey): Extracted out logic from hidUsageCodeForCharacter() to return the
key code for the F1, F2, ..., F12 keys and extended the code to compute the key code for the
F13, F14, ..., F24 keys.
(hidUsageCodeForCharacter): Modified to call keyCodeForDOMFunctionKey().

LayoutTests:

For now, many of the DOM keydown and keyup events for special hardware keys are wrong.
We will fix this up in a subsequent commit(s).

  • fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt: Added.
  • fast/events/ios/keydown-keyup-special-keys-in-non-editable-element.html: Added.
11:07 AM Changeset in webkit [236270] by dino@apple.com
  • 2 edits in trunk/Source/WebKit

Temporarily move fullscreen back to experimental features
https://bugs.webkit.org/show_bug.cgi?id=189770
<rdar://problem/44619282>

Revert this change now that there is a commit to cherry-pick.

  • Shared/WebPreferences.yaml:
10:59 AM Changeset in webkit [236269] by Michael Catanzaro
  • 2 edits in trunk/Tools

Unreviewed, remove accidentally-committed debugging changes from flatpakutils script

Aaaaaah maybe this is why changes are supposed to be reviewed.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.clean_args):

10:54 AM Changeset in webkit [236268] by Kocsen Chung
  • 7 edits in tags/Safari-607.1.7/Source

Revert r235976. rdar://problem/44646452

10:40 AM Changeset in webkit [236267] by Kocsen Chung
  • 7 edits in branches/safari-606-branch/Source

Versioning.

10:31 AM Changeset in webkit [236266] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

JS bindings generator should support EnabledAtRuntime for static methods
https://bugs.webkit.org/show_bug.cgi?id=189729

Patch by Justin Michaud <Justin Michaud> on 2018-09-20
Reviewed by Chris Dumez.

Add support for EnabledAtRuntime to static methods in the JS bindings
code generator.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateRuntimeEnableConditionalStringForExposed):
(GenerateRuntimeEnableConditionalString):
(GetRuntimeEnabledStaticProperties):
(GenerateConstructorHelperMethods):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::JSTestGlobalObjectConstructor::initializeProperties):
(WebCore::JSTestGlobalObject::finishCreation):
(WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStaticBody):
(WebCore::jsTestGlobalObjectConstructorFunctionEnabledAtRuntimeOperationStatic):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObjConstructor::initializeProperties):
(WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStaticGetter):
(WebCore::jsTestObjConstructorEnabledAtRuntimeAttributeStatic):
(WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStaticSetter):
(WebCore::setJSTestObjConstructorEnabledAtRuntimeAttributeStatic):
(WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStaticBody):
(WebCore::jsTestObjConstructorFunctionEnabledAtRuntimeOperationStatic):

  • bindings/scripts/test/TestGlobalObject.idl:
  • bindings/scripts/test/TestObj.idl:
10:07 AM Changeset in webkit [236265] by pvollan@apple.com
  • 8 edits in trunk

[WebVTT] Update the parser according to the new region syntax.
https://bugs.webkit.org/show_bug.cgi?id=189767

Reviewed by Eric Carlson.

Source/WebCore:

The majority of the code added in this patch is adopted from the Chromium project, which has added
support for the new region syntax. The complete parser specification can be found at
https://w3c.github.io/webvtt/#file-parsing. One small difference in behavior is that the new parser
will not add regions with empty id.

No new tests, covered by existing tests.

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::getNewRegions):
(WebCore::WebVTTParser::parse):
(WebCore::WebVTTParser::collectRegionSettings):
(WebCore::WebVTTParser::collectWebVTTBlock):
(WebCore::WebVTTParser::checkAndRecoverCue):
(WebCore::WebVTTParser::checkAndCreateRegion):
(WebCore::WebVTTParser::checkAndStoreRegion):
(WebCore::WebVTTParser::collectMetadataHeader): Deleted.
(WebCore::WebVTTParser::createNewRegion): Deleted.

  • html/track/WebVTTParser.h:

LayoutTests:

  • media/track/captions-webvtt/captions-regions.vtt:
  • media/track/captions-webvtt/header-regions.vtt:
  • media/track/regions-webvtt/vtt-region-parser-expected.txt:
  • media/track/regions-webvtt/vtt-region-parser.html:
9:48 AM WebKitGTK/2.22.x edited by Michael Catanzaro
(diff)
9:46 AM Changeset in webkit [236264] by aboya@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer][MSE] Add a default sample duration
https://bugs.webkit.org/show_bug.cgi?id=189788

Some WebM files don't provide sample durations, so we need to provide
a safe default in order for them to be playable.

Reviewed by Michael Catanzaro.

  • platform/graphics/gstreamer/MediaSampleGStreamer.cpp:

(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):

9:32 AM Changeset in webkit [236263] by Michael Catanzaro
  • 4 edits
    3 adds in trunk/Tools

Unreviewed, manually rollout our switch to master runtime

Phil wants html5-codecs, which aren't available yet here. Let's switch back to 3.28 in the
meantime, where we were already building GStreamer ourselves anyway. But use an updated
SDK revision.

  • flatpak/files/httpd-autogen.sh: Added.
  • flatpak/flatpakutils.py:

(WebkitFlatpak.clean_args):

  • flatpak/org.webkit.GTK.yaml:
  • flatpak/org.webkit.WebKit.yaml:
  • flatpak/patches/httpd-0001-configure-use-pkg-config-for-PCRE-detection.patch: Added.
  • flatpak/patches/libgcrypt-0001-Use-pkg-config-to-detect-gpg-error.patch: Added.
9:13 AM Changeset in webkit [236262] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed crash fix after r236226.

We need to protect |this| in WebProcessProxy::requestTermination().

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):

9:12 AM Changeset in webkit [236261] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE][GTK] webkit-flatpak intercepts --help for other commands
https://bugs.webkit.org/show_bug.cgi?id=189058

The approach of run_in_sandbox_if_available is that we basically have the
same set of arguments to setup the sandbox (ie. port name, build type, etc...)
and we can pass those args first to setup the flatpak launcher object
and then to the underlying script. That doesn't work well with the --help argument
as once processed it 1. prints the help (which make no sense to the user of the calling script)

  1. exits the app - The solution is to just make sure that --help is not used when using

flatpakutils from any script that is not webkit-flatpak itself.

Patch by Thibault Saunier <tsaunier@igalia.com> on 2018-09-20
Reviewed by Michael Catanzaro.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.load_from_args):
(run_in_sandbox_if_available):

9:10 AM Changeset in webkit [236260] by Ryan Haddad
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r236235.

Breaks internal builds.

Reverted changeset:

"Add functions to measure memory footprint to JSC"
https://bugs.webkit.org/show_bug.cgi?id=189768
https://trac.webkit.org/changeset/236235

9:03 AM Changeset in webkit [236259] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

[macOS Sierra] Layout Test http/wpt/cache-storage/cache-put-keys.https.any.worker.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=184204

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations: Mark test as flaky and remove an entry for a test that doesn't exist in the repository anymore.
8:25 AM WebKitGTK/2.22.x edited by tpopela@redhat.com
The patch was already presented in 2.22.1 (diff)
7:56 AM WebKitGTK/2.22.x edited by Michael Catanzaro
(diff)
7:08 AM Changeset in webkit [236258] by aboya@igalia.com
  • 2 edits in trunk/Source/WebCore

[MSE] Use some tolerance when deciding whether a frame should be appended to the decode queue
https://bugs.webkit.org/show_bug.cgi?id=189782

Reviewed by Xabier Rodriguez-Calvar.

Ideally, container formats should use exact timestamps and frames
should not overlap. Unfortunately, there are lots of files out there
where this is not always the case.

This is particularly a problem in WebM, where timestamps are expressed
in a power of 10 timescale, which forces some rounding.

This patch makes SourceBuffer allow frames with a small overlaps
(<=1ms) as those usually found in WebM. 1 ms is chosen because it's
the default time scale of WebM files.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

4:49 AM Changeset in webkit [236257] by Antti Koivisto
  • 22 edits in trunk/Source/WebKit

REGRESSION (PSON): White or Black flash occurs when process swapping on navigation on Mac
https://bugs.webkit.org/show_bug.cgi?id=189663
<rdar://problem/44184955>

Reviewed by Geoff Garen and Chris Dumez.

We need to keep the layer tree of the previous page alive and visible until we have something
to render on the new page. With PSON on Mac this means that we should keep displaying the
layer tree from the previus process.

This patch moves the management of 'attaching' the drawing area (Mac only concept) from web process
to UI process. This is when we parent the layer tree to the view root layer. It also ensures that
the layer tree is not deleted too early on process swap and that it still eventually gets deleted.

  • UIProcess/DrawingAreaProxy.h:

(WebKit::DrawingAreaProxy::attachInWebProcess):

  • UIProcess/SuspendedPageProxy.cpp:

(WebKit::messageNamesToIgnoreWhileSuspended):
(WebKit::SuspendedPageProxy::tearDownDrawingAreaInWebProcess):

We no longer tear down drawing area (layer tree) for suspended pages automatically. Send an explicit
message for it.

  • UIProcess/SuspendedPageProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didCompletePageTransition):

Attach the drawing area if appropriate.

(WebKit::WebPageProxy::resetStateAfterProcessExited):

Call PageClien::processWillSwap instead of processDidExit when appropriate.

(WebKit::WebPageProxy::enterAcceleratedCompositingMode):

This is called when we have switched to the new layer tree.
Tear down the drawing area in the previus process.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::processWillSwap):

On iOS this just call processDidExit for now.

  • UIProcess/mac/PageClientImplMac.h:
  • UIProcess/mac/PageClientImplMac.mm:

(WebKit::PageClientImpl::processWillSwap):
(WebKit::PageClientImpl::processDidExit):

Add processWillSwap separately from processDidExit. They are currently the same
except processWillSwap doesn't clear the root layer.

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::attachInWebProcess):

Send a message to the web process to attach the drawing area.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::attach):
(WebKit::DrawingArea::attachDrawingArea): Deleted.

Rename to be less redundant.

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::reinitializeWebPage):

Don't attach drawing area automatically. It will be done by a message from UI process.

(WebKit::WebPage::setLayerTreeStateIsFrozen):

Layer tree is always frozen in a suspended process (if it exists).

(WebKit::WebPage::didReceivePolicyDecision):

Suspend immediately when receiving policy decision to avoid flash on 'about:blank' loading.

(WebKit::WebPage::didStartPageTransition):
(WebKit::WebPage::didCompletePageTransition):

Notify UI process of transition completion.

(WebKit::WebPage::setIsSuspended):
(WebKit::WebPage::tearDownDrawingAreaForSuspend):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):

Don't attach drawing area automatically. It will be done by a message from UI process.

(WebKit::TiledCoreAnimationDrawingArea::attach):
(WebKit::TiledCoreAnimationDrawingArea::attachDrawingArea): Deleted.

4:41 AM WebKitGTK/2.22.x edited by tpopela@redhat.com
(diff)
4:22 AM Changeset in webkit [236256] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EME] Add WebM sanitization
https://bugs.webkit.org/show_bug.cgi?id=189740

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2018-09-20
Reviewed by Xabier Rodriguez-Calvar.

This patch adds support for sanitizing the WebM initialization data,
ensures there are no bogus values.
See https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-generaterequest.

Tests: imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.https.html

  • Modules/encryptedmedia/InitDataRegistry.cpp:

(WebCore::sanitizeWebM): Added implementation, check if the initialization data doesn't empty and its size
should be less than 64KB, return the buffer copy if it is ok, otherwise a nullptr.
(WebCore::extractKeyIDsWebM): Added implementation.

2:18 AM Changeset in webkit [236255] by Philippe Normand
  • 5 edits in trunk/Source/WebCore

[GStreamer] Utilities cleanups
https://bugs.webkit.org/show_bug.cgi?id=189699

Reviewed by Xabier Rodriguez-Calvar.

The GstMappedBuffer now has a move constructor so that it can be easily
reused in the webaudiosrc element. The now-unused corresponding
buffer-mapping utilities are removed from the code-base.

The HTTP source element used to handle a GstBuffer in its private
structure but this is no longer required since data is now pushed
in chunks, see bug #182829.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webKitWebAudioSrcLoop):

  • platform/graphics/gstreamer/GStreamerCommon.cpp:

(WebCore::createGstBuffer): Deleted.
(WebCore::createGstBufferForData): Deleted.
(WebCore::getGstBufferDataPointer): Deleted.
(WebCore::mapGstBuffer): Deleted.
(WebCore::unmapGstBuffer): Deleted.

  • platform/graphics/gstreamer/GStreamerCommon.h:

(WebCore::GstMappedBuffer::create): New method returning a
reference to a newly created GstMappedBuffer instance.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStop): Remove reference to unused GstBuffer.
(CachedResourceStreamingClient::dataReceived): Ditto.

2:00 AM Changeset in webkit [236254] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix crash under FontCache::purgeInactiveFontData() when a memory warning fires
https://bugs.webkit.org/show_bug.cgi?id=189722
rdar://problem/44182860

Reviewed by Myles C. Maxfield.

Hashing of FontPlatformData for cachedFonts() is somewhat broken because CFEqual() on CTFont
can return false when the fonts are actually the same, and have the same CFHash(). This
can result in multiple entries in cachedFonts() with the same Font.

Then in FontCache::purgeInactiveFontData(), the loop that appends fonts to fontsToDelete
gets the value by reference, and WTFMoves it into fontsToDelete. This nulls out all
the entries sharing the same value, leaving null entries in the hash table.
We later crash at font->hasOneRef() when using one of those null entries.

Fix by making a copy of the RefPtr<Font> in the loop, so the WTFMove doesn't nuke
the hash table entries. The entries will get removed at cachedFonts().remove() lower down.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::purgeInactiveFontData):

1:29 AM Changeset in webkit [236253] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.22.1

WebKitGTK+ 2.22.1

1:28 AM Changeset in webkit [236252] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.22

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.22.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.22.1.
12:54 AM Changeset in webkit [236251] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.22/Source/WebKit

Merge r236245 - [GTK] Always prints in portrait when landscape is requested
https://bugs.webkit.org/show_bug.cgi?id=189543

Patch by Tomas Popela <tpopela@redhat.com> on 2018-09-20
Reviewed by Michael Catanzaro.

We have to change the surface size based on the requested orientation.
Otherwise only portrait will be printed as it's hardcoded.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
12:54 AM Changeset in webkit [236250] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore

Merge r236224 - CheckStructureOrEmpty should pass in a tempGPR to emitStructureCheck since it may jump over that code
https://bugs.webkit.org/show_bug.cgi?id=189703

Reviewed by Mark Lam.

This fixes a crash that a TypeProfiler change revealed.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

12:54 AM Changeset in webkit [236249] by Carlos Garcia Campos
  • 3 edits
    1 add in releases/WebKitGTK/webkit-2.22

Merge r236223 - AI rule for MultiPutByOffset executes its effects in the wrong order
https://bugs.webkit.org/show_bug.cgi?id=189757
<rdar://problem/43535257>

Reviewed by Michael Saboff.

JSTests:

  • stress/multi-put-by-offset-must-filter-value-before-filtering-base.js: Added.

(foo):
(Foo):
(g):

Source/JavaScriptCore:

The AI rule for MultiPutByOffset was executing effects in the wrong order.
It first executed the transition effects and the effects on the base, and
then executed the filtering effects on the value being stored. However, you
can end up with the wrong type when the base and the value being stored
are the same. E.g, in a program like o.f = o. These effects need to happen
in the opposite order, modeling what happens in the runtime executing of
MultiPutByOffset.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

12:43 AM Changeset in webkit [236248] by Fujii Hironori
  • 2 edits in trunk/Source/JavaScriptCore

[Win][Clang] JITMathIC.h: error: missing 'template' keyword prior to dependent template name 'retagged'
https://bugs.webkit.org/show_bug.cgi?id=189730

Reviewed by Saam Barati.

Clang for Windows can't compile the workaround for MSVC quirk in generateOutOfLine.

  • jit/JITMathIC.h:

(generateOutOfLine): Append "&& !COMPILER(CLANG)" to "#if COMPILER(MSVC)".

12:33 AM Changeset in webkit [236247] by graouts@webkit.org
  • 9 edits in trunk/Source/WebCore

[Web Animations] Provide a way to query accelerated animations for internal testing
https://bugs.webkit.org/show_bug.cgi?id=189762

Reviewed by Dean Jackson.

Expose a new internals.acceleratedAnimationsForElement(element) method to allow layout tests to query the current list
of accelerated animations for a given element. Currently only the animated property and animation speed are exposed, which
will allow us to identify missing, running and paused accelerated animations.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::acceleratedAnimationsForElement const):

  • animation/DocumentTimeline.h:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::acceleratedAnimationsForTesting const):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • testing/Internals.cpp:

(WebCore::Internals::acceleratedAnimationsForElement):

  • testing/Internals.h:
  • testing/Internals.idl:
12:21 AM Changeset in webkit [236246] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Update GTK+ library versions after r235362.

Project version number was updated without bumping the library versions too.

  • Source/cmake/OptionsGTK.cmake:
12:16 AM Changeset in webkit [236245] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK] Always prints in portrait when landscape is requested
https://bugs.webkit.org/show_bug.cgi?id=189543

Patch by Tomas Popela <tpopela@redhat.com> on 2018-09-20
Reviewed by Michael Catanzaro.

We have to change the surface size based on the requested orientation.
Otherwise only portrait will be printed as it's hardcoded.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
12:06 AM Changeset in webkit [236244] by calvaris@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Add W3C imported tests to the MSEEME watchlist.

  • Scripts/webkitpy/common/config/watchlist:
12:03 AM Changeset in webkit [236243] by calvaris@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Fix the Streams API watchlist.

  • Scripts/webkitpy/common/config/watchlist:
Note: See TracTimeline for information about the timeline view.