Timeline



Sep 17, 2017:

10:22 PM Changeset in webkit [222141] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r221974): [Harfbuzz] Test fast/text/international/hebrew-selection.html is failing since r221974
https://bugs.webkit.org/show_bug.cgi?id=177036

Reviewed by Michael Catanzaro.

In r221974 I rewrote the characterIndexForXPosition implementation without taking into account that there can be
multiple glyphs for the same character, so we can't simply do index++ and index-- to get the next and previous
character index.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition): Always get the character index from
m_glyphToCharacterIndexes array.

10:05 PM Changeset in webkit [222140] by fpizlo@apple.com
  • 1 edit
    1 add in trunk/Tools

Start working on WSL documentation
https://bugs.webkit.org/show_bug.cgi?id=177064

Reviewed by Mylex Maxfield.

This is a work in progress. I'd like to check it in and then keep adding to it.

  • WebGPUShadingLanguageRI/WSL.md: Added.
8:39 PM Changeset in webkit [222139] by mmaxfield@apple.com
  • 11 edits
    1 add in trunk/Tools
WSL needs to understand && and

https://bugs.webkit.org/show_bug.cgi?id=177062

Reviewed by Filip Pizlo.

Very similar to LogicalNot.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLogicalExpression):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/LogicalExpression.js: Added.

(LogicalExpression):
(LogicalExpression.prototype.get text):
(LogicalExpression.prototype.get left):
(LogicalExpression.prototype.get right):
(LogicalExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Parse.js:

(parseLeftLogicalExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitLogicalExpression):

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

(Visitor.prototype.visitProtocolDecl):

5:31 PM Changeset in webkit [222138] by mmaxfield@apple.com
  • 11 edits
    4 copies in trunk/Tools

WSL needs float and double support
https://bugs.webkit.org/show_bug.cgi?id=177058

Reviewed by Filip Pizlo.

Use the existing int and uint types as a model. The types themselves are straighforward. Just like int and uint,
you can't pass a float as a double argument and vice-versa. This patch adds operator+, -, *, and / for floats
and doubles.

Float literals are more complicated. If your number has a "." character in it, it is treated as a float literal.
You can add a suffix of "f" or "d" to force the literal to pretend to be a float or a double. These literals are
able to masquerade as either floats or doubles (unlike an explicit type). However, these literals are not able
to masquerade as ints or uints. There's also a nice check that your float literal can actually fit in a float.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/DoubleLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.DoubleLiteral.createLiteral.createType):

  • WebGPUShadingLanguageRI/DoubleLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.DoubleLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/FloatLiteral.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.FloatLiteral.createLiteral.createType):

  • WebGPUShadingLanguageRI/FloatLiteralType.js: Copied from Tools/WebGPUShadingLanguageRI/Type.js.

(let.FloatLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType):
(NativeType.prototype.get isFloating):
(NativeType.prototype.set isFloating):
(NativeType.prototype.get isFloat): Deleted.
(NativeType.prototype.set isFloat): Deleted.

  • WebGPUShadingLanguageRI/Parse.js:

(parseTerm):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitGenericLiteral):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(uint.operator):
(int.operator):

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

(makeFloat):
(makeDouble):
(checkNumber):
(checkFloat):
(checkDouble):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isFloating):
(Type.prototype.get isFloat): Deleted.

1:11 PM Changeset in webkit [222137] by Nikita Vasilyev
  • 15 edits in trunk

Web Inspector: Styles Redesign: support toggling properties
https://bugs.webkit.org/show_bug.cgi?id=176643

Reviewed by Matt Baker.

Source/WebInspectorUI:

Add checkboxes to toggle (comment/uncomment) CSS properties.

  • UserInterface/Base/Utilities.js:

(String.prototype.get lineCount):
(String.prototype.get lastLine):
Add string methods that are used by WI.CSSProperty.prototype._updateOwnerStyleText.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.commentOut):
(WI.CSSProperty.prototype.set text):
(WI.CSSProperty.prototype.get editable):
(WI.CSSProperty.prototype._updateOwnerStyleText):
Add methods necessary for property toggling.

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration):
(WI.CSSStyleDeclaration.prototype.get allVisibleProperties):
Add a getter that is used by SpreadsheetCSSStyleDeclarationEditor.prototype._propertiesToRender.

(WI.CSSStyleDeclaration.prototype.get visibleProperties):

  • UserInterface/Models/TextRange.js:

(WI.TextRange.prototype.clone):
(WI.TextRange.prototype.cloneAndModify):
(WI.TextRange.prototype.relativeTo):
Add methods that are used by WI.CSSProperty.prototype._updateOwnerStyleText.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor):
(.spreadsheet-style-declaration-editor .property-toggle):
(.spreadsheet-css-declaration:matches(:hover, :focus) .property-toggle,):
(.spreadsheet-style-declaration-editor .property.disabled,):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set style):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender):
(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.get element):
(WI.SpreadsheetStyleProperty.prototype._update):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):

  • UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:

(WI.SpreadsheetRulesStyleDetailsPanel.prototype.refresh):
(WI.SpreadsheetRulesStyleDetailsPanel):

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.cm-s-default .cm-comment,):

  • UserInterface/Views/Variables.css:

(:root):
Make comment color a CSS variable.

LayoutTests:

Add tests for String.prototype.lineCount and String.prototype.lastLine.

  • inspector/unit-tests/string-utilities-expected.txt:
  • inspector/unit-tests/string-utilities.html:
10:28 AM Changeset in webkit [222136] by Yusuke Suzuki
  • 20 edits
    2 deletes in trunk/Source/JavaScriptCore

Merge JSLexicalEnvironment and JSEnvironmentRecord
https://bugs.webkit.org/show_bug.cgi?id=175492

Reviewed by Saam Barati.

JSEnvironmentRecord is only inherited by JSLexicalEnvironment.
We can merge JSEnvironmentRecord and JSLexicalEnvironment.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnScopedArguments):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateActivation):
(JSC::FTL::DFG::LowerDFGToB3::compileGetClosureVar):
(JSC::FTL::DFG::LowerDFGToB3::compilePutClosureVar):
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):
(JSC::JIT::emitScopedArgumentsGetByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSEnvironmentRecord.cpp: Removed.
  • runtime/JSEnvironmentRecord.h: Removed.
  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::visitChildren):
(JSC::JSLexicalEnvironment::heapSnapshot):
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):

  • runtime/JSLexicalEnvironment.h:

(JSC::JSLexicalEnvironment::subspaceFor):
(JSC::JSLexicalEnvironment::variables):
(JSC::JSLexicalEnvironment::isValidScopeOffset):
(JSC::JSLexicalEnvironment::variableAt):
(JSC::JSLexicalEnvironment::offsetOfVariables):
(JSC::JSLexicalEnvironment::offsetOfVariable):
(JSC::JSLexicalEnvironment::allocationSizeForScopeSize):
(JSC::JSLexicalEnvironment::allocationSize):
(JSC::JSLexicalEnvironment::finishCreationUninitialized):
(JSC::JSLexicalEnvironment::finishCreation):

  • runtime/JSModuleEnvironment.cpp:

(JSC::JSModuleEnvironment::create):

  • runtime/JSObject.h:

(JSC::JSObject::isEnvironment const):
(JSC::JSObject::isEnvironmentRecord const): Deleted.

  • runtime/JSSegmentedVariableObject.h:
  • runtime/StringPrototype.cpp:

(JSC::checkObjectCoercible):

8:39 AM Changeset in webkit [222135] by msaboff@apple.com
  • 4 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=177038
Add an option to run-jsc-stress-tests to limit tests variations to a basic set

Reviewed by JF Bastien.

JSTests:

  • stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices

as it dies using too much memory.

Tools:

Added the --basic option that runs defaults tests with the following modes, default, no-llint,
no-cjit-validate-phases, no-cjit-collect-continuously, dfg-eager and for FTL platforms: no-ftl,
ftl-eager-no-cjit and ftl-no-cjit-small-pool. This takes about half the time as running all
16 modes of a full run.

  • Scripts/run-jsc-stress-tests:
7:37 AM Changeset in webkit [222134] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

[WPE][GTK] Merge ProcessLauncher[WPE,GTK]
https://bugs.webkit.org/show_bug.cgi?id=177041

Unreviewed fixup, I broke the size of the argv buffer when experimenting with how to respond
to review comments. Not sure why this didn't blow up everything during testing.

  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:

(WebKit::ProcessLauncher::launchProcess):

7:34 AM Changeset in webkit [222133] by Michael Catanzaro
  • 3 edits
    1 copy
    1 add
    2 deletes in trunk/Source/WebKit

[WPE][GTK] Merge ProcessLauncher[WPE,GTK]
https://bugs.webkit.org/show_bug.cgi?id=177041

Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake:
  • PlatformWPE.cmake:
  • UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: Renamed from Source/WebKit/UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp.

(WebKit::childSetupFunction):
(WebKit::ProcessLauncher::launchProcess):
(WebKit::ProcessLauncher::terminateProcess):
(WebKit::ProcessLauncher::platformInvalidate):

  • UIProcess/Launcher/wpe/ProcessLauncherWPE.cpp: Removed.
1:06 AM Changeset in webkit [222132] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Test fast/text/complex-text-selection.html is failing since r222090
https://bugs.webkit.org/show_bug.cgi?id=177035

Reviewed by Michael Catanzaro.

The problem was not actually introduced in r222090, but revelaed by that change. The bug was added in r222086,
when adding the support for shaping a range of characters. We are not correctly filtering the characters in case
of rtl in some cases.

Fixes: fast/text/complex-text-selection.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): When checking if the current character is inside
the given range, continue or break the loop depending on whether text is rtl or not.

Sep 16, 2017:

11:46 AM Changeset in webkit [222131] by timothy_horton@apple.com
  • 6 edits in trunk

Fix the Tools build with CMake on macOS
https://bugs.webkit.org/show_bug.cgi?id=177030

Reviewed by Geoffrey Garen.

Source/WebKit:

  • PlatformMac.cmake:

Add some WebKitLegacy headers to forward (for use by the tools).

Source/WebKitLegacy:

  • PlatformMac.cmake:

Add some forwarding headers.

Tools:

  • TestWebKitAPI/CMakeLists.txt:

Add a workaround identical to what the gtest CMakeLists has.

8:02 AM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
8:01 AM Changeset in webkit [222130] by Michael Catanzaro
  • 2 edits in trunk/Source/WebCore

[GTK] Build failure with enchant-2.1.1
https://bugs.webkit.org/show_bug.cgi?id=176877

Unreviewed build fix for enchant 2.1.1.

enchant_dict_free_suggestions() has been deprecated since at least 2005. Use its
replacement, enchant_dict_free_string_list(), instead. That's also been around since at
least 2005.

  • platform/text/enchant/TextCheckerEnchant.cpp:

(WebCore::TextCheckerEnchant::getGuessesForWord):

5:33 AM Changeset in webkit [222129] by Antti Koivisto
  • 12 edits
    2 adds in trunk

Computing animated style should not require renderers
https://bugs.webkit.org/show_bug.cgi?id=171926
<rdar://problem/34428035>

Reviewed by Sam Weinig.

Source/WebCore:

CSS animation system is now element rather than renderer based. This allows cleaning up
style resolution and render tree update code.

This also fixes bug animation doesn't run if display property is animated from one rendered type
to another. Added a test case for this.

Test: transitions/transition-display-property-2.html

  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationController::updateAnimations):

Pass in the old style instead of getting it from the renderer.
Factor to return the animated style as a return value.

  • page/animation/CSSAnimationController.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::willBeDestroyed):

Animation are now canceled by RenderTreeUpdater::tearDownRenderers.

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasInitialAnimatedStyle const): Deleted.
(WebCore::RenderElement::setHasInitialAnimatedStyle): Deleted.

We no longer need to this concept.

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):

We now get correct animated style from style resolution in all cases so we don't need to compute
it separately for new renderers.

(WebCore::RenderTreeUpdater::tearDownRenderers):

Cancel animations when render tree is fully torn down. Keep them when updating style.

  • style/RenderTreeUpdater.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

We can now compute animated style without renderer. Special cases dealing with rendererless case
can be removed.

LayoutTests:

  • transitions/transition-display-property-2-expected.html: Added.
  • transitions/transition-display-property-2.html: Added.
  • transitions/transition-display-property.html:
2:27 AM Changeset in webkit [222128] by Carlos Garcia Campos
  • 3 edits
    4 deletes in trunk/Tools

[GTK] Bump fontconfig version to 2.12.4
https://bugs.webkit.org/show_bug.cgi?id=176997

Reviewed by Michael Catanzaro.

It's the latest stable version and we can get rid of the patches we have.

  • WebKitTestRunner/gtk/fonts/fonts.conf: Remove hinting config we no longer need with newer FreeType and

deprecated <blank> that current fontconfig just ignores.

  • gtk/jhbuild.modules:
  • gtk/patches/fontconfig-2.11.1-add-autogen.patch: Removed.
  • gtk/patches/fontconfig-Avoid-conflicts-with-integer-width-macros-from-TS-18661-1-2014.patch: Removed.
  • gtk/patches/fontconfig-Fix-the-build-issue-with-gperf-3.1.patch: Removed.
  • gtk/patches/fontconfig-fix-osx-cache.diff: Removed.
1:28 AM Changeset in webkit [222127] by Carlos Garcia Campos
  • 15 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline tests after r222090.

  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.png:
  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt:
  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.png:
  • platform/gtk/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt:
  • platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.png:
  • platform/gtk/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt:
  • platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.png:
  • platform/gtk/svg/W3C-I18N/tspan-direction-rtl-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.png:
  • platform/gtk/svg/W3C-SVG-1.1/fonts-glyph-02-t-expected.txt:
  • platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.png:
  • platform/gtk/svg/custom/glyph-selection-arabic-forms-expected.txt:
  • platform/gtk/svg/text/bidi-tspans-expected.png:
  • platform/gtk/svg/text/bidi-tspans-expected.txt:

Sep 15, 2017:

11:39 PM Changeset in webkit [222126] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harbuzz] Test fast/text/international/harfbuzz-runs-with-no-glyph.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=177005

Reviewed by Michael Catanzaro.

Fixes: fast/text/international/harfbuzz-runs-with-no-glyph.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset): Return early if there aren't glyphs.

7:26 PM Changeset in webkit [222125] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Avoid calling String::format() in PlatformCAFilters::setFiltersOnLayer()
https://bugs.webkit.org/show_bug.cgi?id=177028

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-15
Reviewed by Tim Horton.

String::format() is a bigger hammer for what we need to do in this function.

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
7:12 PM Changeset in webkit [222124] by webkit@devinrousso.com
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r222057): recording state doesn't update when changing actions
https://bugs.webkit.org/show_bug.cgi?id=176988

Reviewed by Matt Baker.

Replace updateActionIndex with updateAction, where the currently selected RecordingAction
is passed to the DetailsSidebarPanel. Also remove the call to this._recording.actions in
order to ensure that all logic performed by both DetailsSidebarPanel is synchronous.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/RecordingTabContentView.js:

(WI.RecordingTabContentView.prototype._updateActionIndex):

  • UserInterface/Views/RecordingContentView.js:

(WI.RecordingContentView.prototype.async._generateContentCanvas2D):
(WI.RecordingContentView.prototype.async._generateContentCanvasWebGL):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel):
(WI.RecordingStateDetailsSidebarPanel.prototype.set recording):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateAction):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex): Deleted.

  • UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:

(WI.RecordingTraceDetailsSidebarPanel):
(WI.RecordingTraceDetailsSidebarPanel.prototype.set recording):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateAction):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex): Deleted.

6:11 PM Changeset in webkit [222123] by Dewei Zhu
  • 2 edits in trunk/Websites/perf.webkit.org

Should not mark a platform as missing in summary page if all expecting metrics are exlucded.
https://bugs.webkit.org/show_bug.cgi?id=176970

Reviewed by Ryosuke Niwa.

In summary page, if all metrics for a test are excluded in excludedConfigurations for a platform, this platform should not be marked as missing.

  • public/v3/pages/summary-page.js:

(SummaryPageConfigurationGroup):

5:05 PM Changeset in webkit [222122] by Lucas Forschler
  • 1 edit
    1 delete in trunk/Tools

Move run-webkit-archive from Tools/Scripts to Tools/BuildSlaveSupport

Reviewed by Alexey Proskuryakov.

  • Scripts/run-webkit-archive: Removed.
5:04 PM Changeset in webkit [222121] by Lucas Forschler
  • 2 edits
    1 add in trunk/Tools

teach build.webkit.org to include run-webkit-archive in the root folder of uploaded macOS archives.
https://bugs.webkit.org/show_bug.cgi?id=176965

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/built-product-archive:

(addLauncherToArchive): Helper function to add the launcher script
(createZip): teach function about addLauncherToArchive

  • BuildSlaveSupport/run-webkit-archive: Added.

(check_for_valid_platform): Add logic to ensure platform is Darwin
(find_dyld_framework_path): Find the dyld framework path
(run_safari_for_webkit_development): launch SafariForWebKitDevelopment
(set_dyld_framework_path): export the environment for dydl framework path

5:02 PM Changeset in webkit [222120] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

[WSL] Small cleanup in Evaluator
https://bugs.webkit.org/show_bug.cgi?id=176971

Reviewed by Filip Pizlo.

Use the symbols for break and continue instead of the objects themselves.

No tests because there is no behavior change.

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitWhileLoop):
(Evaluator.prototype.visitDoWhileLoop):
(Evaluator.prototype.visitForLoop):
(Evaluator.prototype.visitBreak):
(Evaluator.prototype.visitContinue):

4:59 PM Changeset in webkit [222119] by rniwa@webkit.org
  • 8 edits in trunk

iOS: Use blob URL instead of a WebKit fake URL when pasting an image
https://bugs.webkit.org/show_bug.cgi?id=176986
<rdar://problem/34455052>

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug that pasting an image on iOS resulted in an img element with src attribute
set to a WebKit fake URL so that the Web content could never save it.

Like r208451 on Mac, use a Blob URL instead.

This patch also removes createFragmentForImageResourceAndAddResource since it's no longer used.

Tests: LayoutTests/editing/pasteboard/paste-image-as-blob-url.html

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::WebContentReader::readImage): Moved the code here from WebContentReaderMac.mm.

  • editing/ios/WebContentReaderIOS.mm:

(WebCore::WebContentReader::readImage): Deleted. This is the code

  • editing/mac/WebContentReaderMac.mm:

(WebCore::WebContentReader::readImage): Moved to WebContentReaderCocoa.mm. Note that
typeAsFilenameWithExtension was dead code after r208451

  • editing/markup.cpp:

(WebCore::createFragmentForImageResourceAndAddResource): Deleted.

  • editing/markup.h:

LayoutTests:

Removed the failing expectation on the test added by r208451 now that it passes on iOS.

  • platform/ios/TestExpectations:
4:48 PM Changeset in webkit [222118] by fpizlo@apple.com
  • 15 edits in trunk/Tools

WSL Evaluator should only allocate EBuffers when dealing with intrinsics
https://bugs.webkit.org/show_bug.cgi?id=176973

Reviewed by Myles Maxfield.

Whether or not two temporary values share the same EBuffer is ultimately observable in WSL,
because you can do this:

thread int operator&[](thread int ptr, uint index)
{

g_ptr = ptr;
return ptr;

}


And then this is a thing:

42[0];
g_ptr now points to 42's location


Normally this would have a lot of bad implications. But in WSL, if you did choose to do this,
you'd get a pointer to something well-defined: the EBuffer of 42's GenericLiteral. Each static
occurrence of a literal gets its own location, and the semantics of the language call for
42 to be stored into this location when 42 "executes". So, while the programmer could do all
kinds of strange things, at least the strangeness they would see is something we can spec.

But to do this, the interpreter needs to allocate EBuffers in the same way a compiler would.
It cannot allocate them during execution, except when interacting with intrinsics, which won't
know the difference.

In the process, I found places that needed to use AutoWrapper instead of TypeRef.wrap.

  • WebGPUShadingLanguageRI/AutoWrapper.js:

(AutoWrapper.prototype.visitGenericLiteralType):
(AutoWrapper.prototype.visitNullType):
(AutoWrapper):

  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.prototype.resolve):

  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/CreateLiteralType.js:

(createLiteralType.GenericLiteralType.prototype.commitUnification):

  • WebGPUShadingLanguageRI/EBuffer.js:

(EBuffer):
(EBuffer.setCanAllocateEBuffers):
(EBuffer.disallowAllocation):
(EBuffer.allowAllocation):

  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder.prototype.visitFuncDef):
(EBufferBuilder.prototype.visitFunctionLikeBlock):
(EBufferBuilder.prototype.visitCallExpression):
(EBufferBuilder.prototype.visitMakePtrExpression):
(EBufferBuilder.prototype.visitGenericLiteral):
(EBufferBuilder.prototype.visitNullLiteral):
(EBufferBuilder.prototype.visitBoolLiteral):
(EBufferBuilder.prototype.visitLogicalNot):
(EBufferBuilder):

  • WebGPUShadingLanguageRI/EPtr.js:

(EPtr.box):
(EPtr.prototype.box):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype._snapshot):
(Evaluator.prototype.runFunc):
(Evaluator.prototype._runBody):
(Evaluator.prototype.visitFunctionLikeBlock):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitNullLiteral):
(Evaluator.prototype.visitBoolLiteral):
(Evaluator.prototype.visitLogicalNot):
(Evaluator.prototype.visitCallExpression):
(Evaluator):
(Evaluator.prototype.runBody): Deleted.

  • WebGPUShadingLanguageRI/Inliner.js:

(Inliner.prototype.visitCallExpression):

  • WebGPUShadingLanguageRI/InstantiateImmediates.js:

(InstantiateImmediates.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitMakePtrExpression):
(Rewriter.prototype.visitGenericLiteral):
(Rewriter.prototype.visitNullLiteral):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitLogicalNot):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.prototype.toString):
(TypeRef):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

4:44 PM Changeset in webkit [222117] by Ryan Haddad
  • 3 edits
    1 copy
    8 moves
    3 adds
    2 deletes in trunk/LayoutTests

Follow up to r222111, rebaseline tests for Sierra.
https://bugs.webkit.org/show_bug.cgi?id=176463

Unreviewed test gardening.

  • platform/mac-elcapitan/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt: Removed.
  • platform/mac-sierra/editing/mac/attributed-string/anchor-element-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/anchor-element-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/basic-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/basic-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/comment-cdata-section-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/comment-cdata-section-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-size-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-size-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-weight-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-weight-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/letter-spacing-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/letter-spacing-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/text-decorations-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/text-decorations-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/vertical-align-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/vertical-align-expected.txt.
  • platform/mac-sierra/editing/mac/input/firstrectforcharacterrange-styled-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/input/firstrectforcharacterrange-styled-expected.txt.
  • platform/mac-sierra/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-sierra/platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:
4:44 PM Changeset in webkit [222116] by fpizlo@apple.com
  • 17 edits
    2 adds in trunk/Tools

Rationalize how WSL's operator&[] works
https://bugs.webkit.org/show_bug.cgi?id=176958

Reviewed by Myles Maxfield.

This makes operator&[] work with non-array-ref types. The way this works is that if you do base[index]
then we pattern match base's type and proceed accordingly:

If base's type is T:

=> Reject


If base's type is T[]:

=> Accept


If base's type is T[c]:

=> Wrap it with a MakeArrayRefExpression and accept.


All other cases:

=> Wrap it with a MakePtrExpression and accept.


This makes it possible for operator&[] to work with lvalues. It also means that operator&[] gets to
"see" the temporary values we create via snapshot() in the interpreter. We'll have to fix that, and I've
filed bug 176973 for that. Once that's fixed, this will have well-defined behavior, though with the very
peculiar caveat that an expression like this:

totallyNotAnLValue()[42]


Could be used to get a pointer to a non-lvalue. But we can be extremely precise about what that means
and prohibit dangling pointers, which is kinda crazy.

In order to do this, I had to make MakeArrayRefExpression work, so I did that and added tests for it.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/ArrayRefType.js:

(ArrayRefType.prototype.unifyImpl):
(ArrayRefType.prototype.toString):
(ArrayRefType):

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType):
(ArrayType.prototype.get numElementsValue):
(ArrayType.prototype.get size):
(ArrayType.prototype.populateDefaultValue):
(ArrayType.prototype.unifyImpl):

  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/ConvertPtrToArrayRefExpression.js: Added.

(ConvertPtrToArrayRefExpression):
(ConvertPtrToArrayRefExpression.prototype.get lValue):
(ConvertPtrToArrayRefExpression.prototype.toString):

  • WebGPUShadingLanguageRI/CreateLiteral.js:

(createLiteral.GenericLiteral.withType):
(createLiteral.GenericLiteral.prototype.get isLiteral):
(createLiteral.GenericLiteral.prototype.unifyImpl):

  • WebGPUShadingLanguageRI/DotExpression.js:

(DotExpression.prototype.get addressSpace):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitMakeArrayRefExpression):
(Evaluator.prototype.visitConvertPtrToArrayRefExpression):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js: Added.

(MakeArrayRefExpression):
(MakeArrayRefExpression.prototype.get lValue):
(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression):
(MakeArrayRefExpression.prototype.toString):

  • WebGPUShadingLanguageRI/MakePtrExpression.js:

(MakePtrExpression.prototype.toString):
(MakePtrExpression):

  • WebGPUShadingLanguageRI/PtrType.js:

(PtrType.prototype.toString):
(PtrType):

  • WebGPUShadingLanguageRI/ReferenceType.js:

(ReferenceType):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitArrayType):
(Rewriter.prototype.visitMakeArrayRefExpression):
(Rewriter.prototype.visitConvertPtrToArrayRefExpression):

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

(TEST_buildArrayThenSumItUsingArrayReference):
(TEST_overrideSubscriptStruct):
(TEST_overrideSubscriptStructAndUsePointers):
(TEST_overrideSubscriptStructAndUsePointersIncorrectly):
(TEST_makeArrayRefFromPointer):
(TEST_makeArrayRefFromArrayRef):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

4:27 PM Changeset in webkit [222115] by sbarati@apple.com
  • 5 edits
    1 add in trunk

Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit
https://bugs.webkit.org/show_bug.cgi?id=176981

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added.

(assert):
(verify):
(func):
(const.bar.createBuiltin):

Source/JavaScriptCore:

This patch makes inline arity fixup happen in two phases:

  1. We get all the values we need and MovHint them to the expected locals.
  2. We SetLocal them inside the callee's CodeOrigin. This way, if we exit, the callee's frame is already set up. If any SetLocal exits, we have a valid exit state. This is required because if we didn't do this in two phases, we may exit in the middle of arity fixup from the caller's CodeOrigin. This is unsound because if we did the SetLocals in the caller's frame, the memcpy may clobber needed parts of the frame right before exiting. For example, consider if we need to pad two args: [arg3][arg2][arg1][arg0] [fix ][fix ][arg3][arg2][arg1][arg0] We memcpy starting from arg0 in the direction of arg3. If we were to exit at a type check for arg3's SetLocal in the caller's CodeOrigin, we'd exit with a frame like so: [arg3][arg2][arg1][arg2][arg1][arg0] And the caller would then just end up thinking its argument are: [arg3][arg2][arg1][arg2] which is incorrect.

This patch also fixes a couple of bugs in IdentitiyWithProfile:

  1. The bytecode generator for this bytecode intrinsic was written incorrectly. It needed to store the result of evaluating its argument in a temporary that it creates. Otherwise, it might try to simply overwrite a constant or a register that it didn't own.
  2. We weren't eliminating this node in CSE inside the DFG.
  • bytecompiler/NodesCodegen.cpp:

(JSC::BytecodeIntrinsicNode::emit_intrinsic_idWithProfile):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inlineCall):

  • dfg/DFGCSEPhase.cpp:
3:18 PM Changeset in webkit [222114] by Wenson Hsieh
  • 8 edits
    2 adds in trunk

Avoid style recomputation when forwarding a focus event to an text field's input type
https://bugs.webkit.org/show_bug.cgi?id=176160
<rdar://problem/34184820>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Currently, TextFieldInputType::forwardEvent synchronously triggers style recomputation, for the purpose of
scrolling to the origin upon handling a blur event, and also for updating caps lock state after a blur or focus.
In synchronously triggering style recomputation, we may end up running arbitrary JavaScript, which may change
the HTMLInputElement's type and cause the current TextFieldInputType to be destroyed.

To mitigate this, we only update caps lock state when forwarding a focus or blur event to the InputType, and
instead scroll blurred text fields to the origin later, in HTMLInputElement::didBlur (invoked from
Document::setFocusedElement after blur and focusout events have fired). Instead of having the InputType update
style, lift the call to Document::updateStyleIfNeeded up into HTMLInputElement so that we gracefully handle the
case where the page destroys and sets a new InputType within the scope of this style update.

Test: fast/forms/change-input-type-in-focus-handler.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

  • html/HTMLInputElement.h:
  • html/InputType.h:

(WebCore::InputType::elementDidBlur):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent):
(WebCore::TextFieldInputType::elementDidBlur):

  • html/TextFieldInputType.h:

LayoutTests:

Adds a new layout test verifying that we don't crash when changing the input type from within a focus event listener.

  • fast/forms/change-input-type-in-focus-handler-expected.txt: Added.
  • fast/forms/change-input-type-in-focus-handler.html: Added.
2:28 PM Changeset in webkit [222113] by jfbastien@apple.com
  • 113 edits in trunk/Source

WTF: use Forward.h when appropriate instead of Vector.h
https://bugs.webkit.org/show_bug.cgi?id=176984

Reviewed by Saam Barati.

There's no need to include Vector.h when Forward.h will suffice. All we need is to move the template default parameters from Vector, and then the forward declaration can be used in so many new places: if a header only takes Vector by reference, rvalue reference, pointer, returns any of these, or has them as members then the header doesn't need to see the definition because the declaration will suffice.

Source/JavaScriptCore:

  • bytecode/HandlerInfo.h:
  • heap/GCIncomingRefCounted.h:
  • heap/GCSegmentedArray.h:
  • wasm/js/JSWebAssemblyModule.h:

Source/WebCore:

  • Modules/entriesapi/FileSystemEntriesCallback.h:
  • Modules/indexeddb/IDBEventDispatcher.h:
  • Modules/indexeddb/IDBFactory.h:
  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/server/IDBConnectionToClientDelegate.h:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/websockets/WebSocketChannelClient.h:
  • contentextensions/CombinedURLFilters.h:
  • crypto/SerializedCryptoKeyWrap.h:
  • css/InspectorCSSOMWrappers.h:
  • css/PageRuleCollector.h:
  • css/parser/CSSParserTokenRange.h:
  • dom/DocumentTouch.h:
  • dom/MutationCallback.h:
  • editing/EditingStyle.h:
  • editing/SpellChecker.h:
  • editing/markup.h:
  • fileapi/ThreadableBlobRegistry.h:
  • html/FileListCreator.h:
  • inspector/WebHeapAgent.h:
  • loader/ContentFilter.cpp:

(WebCore::ContentFilter::ContentFilter):

  • loader/ContentFilter.h:
  • loader/CookieJar.h:
  • loader/FrameLoaderClient.h:
  • loader/LoaderStrategy.h:
  • loader/SubframeLoader.h:
  • page/ChromeClient.h:
  • page/FrameSnapshotting.h:
  • page/IntersectionObserverCallback.h:
  • page/PageSerializer.h:
  • page/UserContentURLPattern.h:
  • page/scrolling/AxisScrollSnapOffsets.h:
  • page/win/FrameWin.h:
  • platform/CookiesStrategy.h:
  • platform/KeyedCoding.h:
  • platform/PasteboardStrategy.h:
  • platform/SSLKeyGenerator.h:
  • platform/ScrollableArea.h:
  • platform/encryptedmedia/CDMFactory.h:
  • platform/gamepad/EmptyGamepadProvider.cpp:
  • platform/gamepad/GamepadProvider.h:
  • platform/gamepad/GamepadProviderClient.h:
  • platform/gamepad/PlatformGamepad.h:
  • platform/graphics/GeometryUtilities.cpp:
  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/Icon.h:
  • platform/graphics/LayoutRect.h:
  • platform/graphics/Path.h:
  • platform/graphics/WOFFFileFormat.h:
  • platform/graphics/avfoundation/MediaSampleAVFObjC.h:
  • platform/graphics/avfoundation/objc/AVAssetTrackUtilities.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.h:
  • platform/graphics/opentype/OpenTypeMathData.h:
  • platform/image-encoders/JPEGImageEncoder.h:
  • platform/image-encoders/PNGImageEncoder.h:
  • platform/network/BlobRegistry.h:
  • platform/network/HTTPParsers.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/cf/DownloadBundle.h:
  • platform/network/curl/CurlCacheEntry.h:
  • platform/network/curl/DownloadBundle.h:
  • platform/text/LineEnding.h:
  • platform/text/QuotedPrintable.cpp:
  • platform/text/QuotedPrintable.h:
  • rendering/FlexibleBoxAlgorithm.h:
  • rendering/style/QuotesData.h:
  • rendering/svg/SVGSubpathData.h:
  • storage/StorageEventDispatcher.h:
  • style/StyleInvalidator.h:
  • style/StyleRelations.h:
  • svg/SVGAltGlyphDefElement.h:
  • svg/SVGAltGlyphItemElement.h:

Source/WebDriver:

  • Session.h:

Source/WebKit:

  • Scripts/webkit/LegacyMessages-expected.h:
  • Scripts/webkit/Messages-expected.h:
  • Shared/API/APIData.h:
  • UIProcess/API/APIContextMenuClient.h:
  • UIProcess/API/APIFormClient.h:
  • UIProcess/API/APIHTTPCookieStore.h:
  • UIProcess/API/APINotificationProvider.h:
  • UIProcess/API/glib/WebKitNotificationProvider.h:
  • UIProcess/Notifications/WebNotificationProvider.h:
  • UIProcess/TextCheckerCompletion.h:
  • UIProcess/WebCookieManagerProxy.h:
  • UIProcess/WebOpenPanelResultListenerProxy.h:
  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPopupMenuProxy.h:
  • UIProcess/WebTextCheckerClient.h:
  • WebProcess/Cookies/WebCookieManager.h:
  • WebProcess/Gamepad/WebGamepadProvider.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageContextMenuClient.h:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageLoaderClient.h:
  • WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
  • WebProcess/Network/webrtc/WebRTCMonitor.h:
  • WebProcess/Network/webrtc/WebRTCResolver.h:
  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/WebOpenPanelResultListener.h:

Source/WTF:

  • wtf/Forward.h:
  • wtf/Vector.h:
  • wtf/text/StringVector.h:
2:23 PM Changeset in webkit [222112] by Konstantin Tokarev
  • 2 edits in trunk

Consider enabling -Wno-expansion-to-defined for gcc 7
https://bugs.webkit.org/show_bug.cgi?id=167643

Reviewed by Michael Catanzaro.

Don't disable -Wexpansion-to-defined for Clang.
As suggested by Nico Weber, this warning produces false positives with
GCC only.

  • Source/cmake/WebKitCompilerFlags.cmake:
2:15 PM Changeset in webkit [222111] by Ryan Haddad
  • 112 edits
    185 copies
    45 moves
    124 adds
    3 deletes in trunk/LayoutTests

Move test expectations from 'mac-highsierra' to 'mac' directory
https://bugs.webkit.org/show_bug.cgi?id=176463

Unreviewed test gardening.

ChangeLog truncated due to hundreds of LayoutTest files being changed.

2:06 PM Changeset in webkit [222110] by keith_miller@apple.com
  • 2 edits in trunk/Source/WTF

generate-unified-source-bundles.rb shouldn't write a file that isn't going to change
https://bugs.webkit.org/show_bug.cgi?id=177021

Reviewed by Tim Horton.

  • generate-unified-source-bundles.rb:
1:39 PM Changeset in webkit [222109] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

ASSERTION FAILED: writtenAudioDuration >= readAudioDuration in com.apple.WebCore:WebCore::RealtimeOutgoingAudioSource::isReachingBufferedAudioDataHighLimit() + 222
https://bugs.webkit.org/show_bug.cgi?id=175164
<rdar://problem/33712305>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15
Reviewed by Eric Carlson.

No observable change of behavior.

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.cpp:

(WebCore::RealtimeOutgoingAudioSource::hasBufferedEngouhData):
(WebCore::RealtimeOutgoingAudioSource::audioSamplesAvailable): Calling pullData only if there is at least 0.01 seconds of available data.

  • platform/mediastream/mac/RealtimeOutgoingAudioSource.h:
1:36 PM Changeset in webkit [222108] by fpizlo@apple.com
  • 13 edits
    1 add in trunk/Tools

WSL should support ++, --, +=, and all of those things
https://bugs.webkit.org/show_bug.cgi?id=176975

Reviewed by Myles Maxfield.

This adds an internal AST construct called LetExpression, that allows us to anonymously capture
a value. This change uses LetExpression to implement prefix and suffix ++/-- and all of the
+=/-=/etc.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitVariableDecl):
(EBufferBuilder.prototype.visitLetExpression):
(EBufferBuilder):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitLetExpression):

  • WebGPUShadingLanguageRI/LetExpression.js: Added.

(LetExpression):
(LetExpression.prototype.get origin):
(LetExpression.prototype.get name):
(LetExpression.prototype.toString):

  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer.prototype.next):
(Lexer):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Parse.js:

(isCallExpression):
(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(parsePreIncrement):
(parsePossiblePrefix):
(parsePossibleAssignment):
(parsePostIncrement):
(parseEffectfulExpression):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitLetExpression):
(Rewriter):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(int.operator):
(uint.operator):

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

(TEST_prefixPlusPlus):
(TEST_prefixPlusPlusResult):
(TEST_postfixPlusPlus):
(TEST_postfixPlusPlusResult):
(TEST_prefixMinusMinus):
(TEST_prefixMinusMinusResult):
(TEST_postfixMinusMinus):
(TEST_postfixMinusMinusResult):
(TEST_plusEquals):
(TEST_plusEqualsResult):
(TEST_minusEquals):
(TEST_minusEqualsResult):
(TEST_timesEquals):
(TEST_timesEqualsResult):
(TEST_divideEquals):
(TEST_divideEqualsResult):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

1:09 PM Changeset in webkit [222107] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Move code using Vector::map to WTF:map
https://bugs.webkit.org/show_bug.cgi?id=176860

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15
Reviewed by Jer Noble.

No change of behavior.

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create): Moving to WTF::map.

  • page/Settings.cpp:

(WebCore::Settings::setMediaContentTypesRequiringHardwareSupport): Using iterator split to not create a temporary vector.

  • platform/ContentType.cpp:

(WebCore::ContentType::ContentType):
(WebCore::splitParameters):
(WebCore::ContentType::codecs const): Ditto.
(WebCore::ContentType::profiles const): Ditto.
(WebCore::stripHTMLWhiteSpace): Deleted.

  • platform/ContentType.h:

(WebCore::ContentType::create): Deleted.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::load): Minor count churning change.

1:06 PM Changeset in webkit [222106] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark inspector/debugger/breakpoint-action-detach.html as flaky on Sierra.
https://bugs.webkit.org/show_bug.cgi?id=168338

Unreviewed test gardening.

  • platform/mac/TestExpectations:
12:55 PM Changeset in webkit [222105] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData should enqueue data if still useful
https://bugs.webkit.org/show_bug.cgi?id=177016

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15
Reviewed by Jer Noble.

No change of behavior.

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

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData): exciting early in block to prevent enqueueing.

12:54 PM Changeset in webkit [222104] by Ryan Haddad
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r222040.

The LayoutTest added with this change is a flaky image failure
on mac-wk1 debug bots.

Reverted changeset:

"Computing animated style should not require renderers"
https://bugs.webkit.org/show_bug.cgi?id=171926
http://trac.webkit.org/changeset/222040

12:53 PM Changeset in webkit [222103] by timothy_horton@apple.com
  • 9 edits in trunk/Source

Fix the macOS CMake build
https://bugs.webkit.org/show_bug.cgi?id=177015

Reviewed by Andy Estes.

Source/WebCore:

  • CMakeLists.txt:

Add Payment Request files.

  • PlatformMac.cmake:

Add the CoreServices umbrella framework to the framework search path.
Add service workers directories to the forwarding headers path.
Add Modules/cache directory to the forwarding headers path.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::resolveLengthAttributeForSVG): Deleted unused function.

Source/WebCore/PAL:

  • pal/PlatformMac.cmake:

Add WebPanel.

Source/WebKit:

  • CMakeLists.txt:

Add the new RemoteLayerTree directories to the header search path.
Add CookieStorageUtilsCF.mm to Sources.

  • PlatformMac.cmake:

Add a few more files, and fix the generated forwarding headers include
path to name "WebKit" instead of "WebKit2".

12:50 PM Changeset in webkit [222102] by Matt Baker
  • 12 edits in trunk

Web Inspector: Canvas: recording parameters that include colors should show an InlineSwatch (2D canvas)
https://bugs.webkit.org/show_bug.cgi?id=176822
<rdar://problem/34402170>

Reviewed by Devin Rousso.

Source/WebInspectorUI:

Show inline swatches in the canvas recording action and state sidebars.

  • UserInterface/Models/Color.js:

Added helpers for dealing with CMYK and normalized RGB. The latter is
for RGB components scaled to the range [0, 1]. Also improved handling
for 8-bit channel values.
(WI.Color.rgb2hsv):
(WI.Color.cmyk2rgb):
(WI.Color.normalized2rgb):
(WI.Color._eightBitChannel):
(WI.Color.prototype._toRGBString):
(WI.Color.prototype._toRGBAString):
(WI.Color.prototype._componentToHexValue):
(WI.Color.prototype._rgbToHSL):
(WI.Color.prototype._componentToNumber): Deleted.
Replaced by _eightBitChannel.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction):
(WI.RecordingAction.prototype.getColorParameters):
Get a subset of parameters that describe a color. This can be an array
containing one value (e.g. fillStyle), or multiple values, as is the
case with non-standard API functions that describe color using multiple
parameters (e.g. setFillColor).

  • UserInterface/Views/InlineSwatch.css:

(.inline-swatch:not(.read-only):hover > span):
(.inline-swatch:hover > span): Deleted.

  • UserInterface/Views/InlineSwatch.js:

(WI.InlineSwatch):
Read-only colors shouldn't show a context menu or hover effects.

  • UserInterface/Views/RecordingActionTreeElement.css:

(.tree-outline:matches(:focus, .force-focus) .item.action > .titles .parameters > .inline-swatch):

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM.createParameterElement):
(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._createSwatchForColorParameters):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.css:

(.sidebar > .panel.details.recording-state > .content > .data-grid .inline-swatch):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.isColorProperty):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.createInlineSwatch):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
(WI.RecordingStateDetailsSidebarPanel):

LayoutTests:

Add tests for color space conversions.

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:
12:30 PM Changeset in webkit [222101] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed test maintenance.

  • platform/mac-wk1/TestExpectations: Skip test under WK1 due to a bug.
11:12 AM Changeset in webkit [222100] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Unreviewed, correct a typo in a TestExpectations file.

  • platform/ios/TestExpectations:
10:54 AM Changeset in webkit [222099] by wilander@apple.com
  • 4 edits
    3 adds in trunk

Storage Access API: Deny access to nested iframes
https://bugs.webkit.org/show_bug.cgi?id=176939
<rdar://problem/34439609>

Reviewed by Brent Fulgham.

Source/WebCore:

Test: http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html

  • dom/Document.cpp:

(WebCore::Document::requestStorageAccess):

LayoutTests:

  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-nested-iframe.html: Added.
  • http/tests/storageAccess/resources/nesting-iframe.html: Added.
  • platform/mac-wk2/TestExpectations:

Added the new test as a [ Pass ].

10:44 AM Changeset in webkit [222098] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

AnimationBase should ref the element
https://bugs.webkit.org/show_bug.cgi?id=176993

Reviewed by Simon Fraser.

We now longer have renderer pointer. Element can be reffed for safety.

This doesn't create reference cycle as the element pointer is cleared when render tree is
torn down. This happens at the latest when the element is removed from the tree.

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::~AnimationBase):
(WebCore::AnimationBase::clear):

  • page/animation/AnimationBase.h:

(WebCore::AnimationBase::~AnimationBase): Deleted.
(WebCore::AnimationBase::clear): Deleted.

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
(WebCore::ImplicitAnimation::reset):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
(WebCore::KeyframeAnimation::resolveKeyframeStyles):

10:37 AM Changeset in webkit [222097] by Brent Fulgham
  • 11 edits
    2 adds in trunk

Source/WebCore:
Make DocumentLoader a FrameDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>

Reviewed by Alex Christensen.

The DocumentLoader needs to know when its Frame is destroyed so that it can
perform properly cleanup.

Test: fast/events/beforeunload-dom-manipulation-crash.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader): Call FrameDestructionObserver constructor.
(WebCore::DocumentLoader::responseReceived): Drive-by fix. Make sure the current
object is valid during the callback.
(WebCore::DocumentLoader::attachToFrame): Use FrameDestructionObserver::observerFrame rather
than setting the m_frame variable directly.
(WebCore::DocumentLoader::detachFromFrame): Ditto.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::frame const): Deleted, as this is provided by the FrameDestructionObserver.

Tools:
Provide mechanism to immediately end tests
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>

Reviewed by Alex Christensen.

WebKitTestRunner does not output state if the top loading frame has not been removed. This prevents some
tests that attempt to exercise failed load state from working properly.

This change adds a new 'forceImmediateCompletion' handler for DumpRenderTree and WebKitTestRunner so
that we can properly test these conditions.

  • DumpRenderTree/TestRunner.h:
  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::forceImmediateCompletion): Added.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::forceImmediateCompletion): Ditto.

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::forceImmediateCompletion): Ditto.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:
Make DocumentLoader a FrameDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=176364
<rdar://problem/34254780>

Reviewed by Alex Christensen.

  • fast/events/beforeunload-dom-manipulation-crash-expected.txt: Added.
  • fast/events/beforeunload-dom-manipulation-crash.html: Added.
10:34 AM Changeset in webkit [222096] by Ms2ger@igalia.com
  • 4 edits in trunk/Source/WebCore

Update some WebGL2 return types to match the specification.
https://bugs.webkit.org/show_bug.cgi?id=176996

Reviewed by Alex Christensen.

This should not change the behavior in any way, but it makes it simpler
to compare our IDL with the specification's.

No new tests because there is no behavior change.

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getUniformIndices):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:
10:22 AM Changeset in webkit [222095] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Remove FilterOperation::blendingNeedsRendererSize()
https://bugs.webkit.org/show_bug.cgi?id=176994

Reviewed by Simon Fraser.

It is not used.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • platform/graphics/filters/FilterOperation.h:

(WebCore::FilterOperation::blend):
(WebCore::FilterOperation::shouldBeRestrictedBySecurityOrigin const):
(WebCore::FilterOperation::blendingNeedsRendererSize const): Deleted.

10:03 AM Changeset in webkit [222094] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

WPT harness errors on leaks and iOS-sim EWS bots
https://bugs.webkit.org/show_bug.cgi?id=175269
<rdar://problem/33902404>

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15

9:51 AM Changeset in webkit [222093] by commit-queue@webkit.org
  • 8 edits in trunk

Add an URL method to remove both query string and fragment identifier
https://bugs.webkit.org/show_bug.cgi?id=176911

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-15
Reviewed by Alex Christensen.

Source/WebCore:

Covered by existing tests and new API tests.

  • Modules/cache/DOMCache.cpp:

(WebCore::DOMCache::retrieveRecords): Using new helper method.

  • platform/URL.cpp:

(WebCore::URL::removeQueryAndFragmentIdentifier):

  • platform/URL.h:

Source/WebKit:

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::computeKeyURL):

Tools:

Adding unit test for new URL method as well as modified setQuery and setFragmentIdentifier.

  • TestWebKitAPI/Tests/WebCore/URL.cpp:

(TestWebKitAPI::createURL):
(TestWebKitAPI::TEST_F):

9:34 AM Changeset in webkit [222092] by aestes@apple.com
  • 17 edits in trunk/Source

[Cocoa] Upstream MediaRemote and VideoToolbox WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176953

Reviewed by Eric Carlson.

Source/WebCore:

  • platform/cocoa/VideoToolboxSoftLink.cpp:
  • platform/cocoa/VideoToolboxSoftLink.h:
  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::queryDecoderAvailability):
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem):

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetType const):
(WebCore::exernalDeviceDisplayNameForPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::wirelessPlaybackTargetName const):

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/MediaRemoteSoftLink.cpp:
  • platform/mac/MediaRemoteSoftLink.h:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebCore/PAL:

  • pal/spi/mac/AVFoundationSPI.h:
  • pal/spi/mac/MediaRemoteSPI.h:

Source/WebKit:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

9:20 AM Changeset in webkit [222091] by eric.carlson@apple.com
  • 46 edits
    1 add in trunk/Source/WebCore

Switch text tracks to release logging
https://bugs.webkit.org/show_bug.cgi?id=176809
<rdar://problem/34397605>

Reviewed by Jer Noble.

Source/WebCore:

Make all track objects use the same logger and log identifier as the media element they
"belong" to. Convert all track logging from debug-only to release logging.

  • WebCore.xcodeproj/project.pbxproj:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateActiveTextTrackCues):

  • html/HTMLMediaElement.h:
  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::AudioTrack):
(WebCore::AudioTrack::setPrivate):
(WebCore::AudioTrack::setMediaElement):

  • html/track/AudioTrack.h:
  • html/track/DataCue.cpp:

(WebCore::DataCue::toString const):

  • html/track/DataCue.h:

(PAL::LogArgument<WebCore::DataCue>::toString):

  • html/track/InbandDataTextTrack.cpp:

(WebCore::InbandDataTextTrack::addDataCue):
(WebCore::InbandDataTextTrack::updateDataCue):
(WebCore::InbandDataTextTrack::removeDataCue):

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::addGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):
(WebCore::InbandGenericTextTrack::newCuesParsed):
(WebCore::InbandGenericTextTrack::fileFailedToParse):

  • html/track/InbandGenericTextTrack.h:
  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::InbandTextTrack):
(WebCore::InbandTextTrack::setMediaElement):

  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed):
(WebCore::InbandWebVTTTextTrack::fileFailedToParse):

  • html/track/InbandWebVTTTextTrack.h:
  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::newCuesAvailable):
(WebCore::LoadableTextTrack::cueLoadingCompleted):

  • html/track/LoadableTextTrack.h:
  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::removeCue):
(WebCore::TextTrack::setLanguage):

  • html/track/TextTrack.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::toString const):

  • html/track/TextTrackCue.h:

(PAL::LogArgument<WebCore::TextTrackCue>::toString):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::setFontSize):
(WebCore::TextTrackCueGeneric::toString const):

  • html/track/TextTrackCueGeneric.h:

(PAL::LogArgument<WebCore::TextTrackCueGeneric>::toString):

  • html/track/TrackBase.cpp:

(WebCore::nextLogIdentifier):
(WebCore::nullLogger):
(WebCore::TrackBase::TrackBase):
(WebCore::TrackBase::setMediaElement):
(WebCore::TrackBase::logChannel const):
(WebCore::TrackBase::~TrackBase): Deleted.

  • html/track/TrackBase.h:

(WebCore::TrackBase::setMediaElement): Deleted.

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::setFontSize):
(WebCore::VTTCue::toString const):

  • html/track/VTTCue.h:

(PAL::LogArgument<WebCore::VTTCue>::toString):

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::VideoTrack):
(WebCore::VideoTrack::setPrivate):
(WebCore::VideoTrack::setMediaElement):

  • html/track/VideoTrack.h:
  • platform/graphics/AudioTrackPrivate.h:
  • platform/graphics/InbandTextTrackPrivate.h:

(WebCore::InbandTextTrackPrivate::setClient):

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::GenericCueData::toString const):
(PAL::LogArgument<WebCore::GenericCueData>::toString):

  • platform/graphics/TrackPrivateBase.cpp: Added.

(WebCore::TrackPrivateBase::setLogger):
(WebCore::TrackPrivateBase::logChannel const):

  • platform/graphics/TrackPrivateBase.h:
  • platform/graphics/VideoTrackPrivate.h:
  • platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processAttributedStrings):
(WebCore::InbandTextTrackPrivateAVF::removeCompletedCues):
(WebCore::InbandTextTrackPrivateAVF::resetCueValues):
(WebCore::InbandTextTrackPrivateAVF::processNativeSamples):
(WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/objc/AudioTrackPrivateAVFObjC.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::createAudioUnit):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:

Source/WebCore/PAL:

  • pal/Logger.h:

(PAL::LogArgument::toString):
(PAL::Logger::willLog const):

8:37 AM Changeset in webkit [222090] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Material icons not rendered correctly when using the web font
https://bugs.webkit.org/show_bug.cgi?id=176995

Reviewed by Michael Catanzaro.

Only a few of them are correctly rendered and some others are wrong. We only render correctly the ones that
don't have an underscore in their name (or that start with a number like 3d_rotation). In the cases where the
name before the underscore is also an icon, we render that icon instead, that's why some of them are wrong. This
is happening because the underscore is causing the HarfbuffShaper to split the text in 3 runs, one for the word
before the underscore, another one for the underscore and another for the word after the underscore. So, we
end up trying to shape the 3 runs independently and we fail when the icon doesn't exist, or when it exists but
it's not the one we are looking for. The cause of this is that the underscore has a different script (Common)
than the rest of characters (Latin) which is a condition in HarfbuffShaper to create a different run. The
unicode spec says that characters with Common script should be handled differently, but we are just ignoring
it. The spec proposes to use an heuristic based on simply inheriting the script of the previous character, which
should work in most of the cases. We could take a more conservative approach and do that only if both characters
are ASCII. We should also consider handling other cases mentioned by the spec like brackets and quotation marks,
but that belongs to a different bug/commit.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::scriptsAreCompatibleForCharacters): Helper function to check if the current and previous scripts are
compatible,
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns): Use scriptsAreCompatibleForCharacters() to decided whether to
finish the current run or not. In case of Common script, inherit also the script from the previous character.

7:50 AM Changeset in webkit [222089] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update test expectations for cache storage tests.
https://bugs.webkit.org/show_bug.cgi?id=176998

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:43 AM Changeset in webkit [222088] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update test expectations for failures on one of the EWS machines.
https://bugs.webkit.org/show_bug.cgi?id=176998

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:54 AM Changeset in webkit [222087] by Claudio Saavedra
  • 2 edits in trunk/LayoutTests

[WPE] Rebaseline after r221966.

Unreviewed gardening. Adding VRPose.

  • platform/wpe/js/dom/global-constructors-attributes-expected.txt:
6:42 AM Changeset in webkit [222086] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[Harfbuzz] Fix incorrect font rendering when selecting texts in pages which specifies text-rendering: optimizeLegibility
https://bugs.webkit.org/show_bug.cgi?id=148220

Reviewed by Michael Catanzaro.

Add support for shaping a range of characters and return the advance to the first glyph in the range.

Covered by existing tests.

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::getGlyphsAndAdvancesForComplexText const): Pass "from" and "to" parameters to
HarfBuzzShaper::shape and return the x position of the selection rect.

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shape): Forward "from" and "to" parameters to fillGlyphBuffer().
(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): Only add glyphs for the given character range.
(WebCore::HarfBuzzShaper::fillGlyphBuffer): Only consider runs in the given character range.

  • platform/graphics/harfbuzz/HarfBuzzShaper.h:
6:24 AM Changeset in webkit [222085] by zandobersek@gmail.com
  • 6 edits in trunk

[EME] ClearKey: list 'persistent-license' sessions as supported
https://bugs.webkit.org/show_bug.cgi?id=176985

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

The ClearKey implementation should support the 'persistent-license'
session type for testing purposes. Methods in the CDMPrivateClearKey
class have been updated to handle that session type as supported:

  • supportsSessionTypeWithConfiguration() returns true for the 'persistent-license' session type values,
  • supportsConfiguration() allows persistent state as required in case of the configured session type being 'persistent-license',
  • supportsConfigurationWithRestrictions() as well allows persistent

state as required for 'persistent-license' session types.

No new tests -- affected tests have their baselines updated.

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMPrivateClearKey::supportsConfiguration const):
(WebCore::CDMPrivateClearKey::supportsConfigurationWithRestrictions const):
(WebCore::CDMPrivateClearKey::supportsSessionTypeWithConfiguration const):

LayoutTests:

Update WPE test baselines for EME ClearKey tests.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license-expected.txt:
6:22 AM Changeset in webkit [222084] by Claudio Saavedra
  • 979 edits in trunk/LayoutTests

[WPE] Rebaseline test expectations after r222077.

Unreviewed gardening.

  • platform/wpe/animations/3d/matrix-transform-type-animation-expected.txt:
  • platform/wpe/animations/cross-fade-border-image-source-expected.txt:
  • platform/wpe/animations/cross-fade-list-style-image-expected.txt:
  • platform/wpe/animations/cross-fade-webkit-mask-box-image-expected.txt:
  • platform/wpe/animations/cross-fade-webkit-mask-image-expected.txt:
  • platform/wpe/animations/lineheight-animation-expected.txt:
  • platform/wpe/animations/missing-values-first-keyframe-expected.txt:
  • platform/wpe/animations/missing-values-last-keyframe-expected.txt:
  • platform/wpe/animations/simultaneous-start-transform-expected.txt:
  • platform/wpe/animations/width-using-ems-expected.txt:
  • platform/wpe/css1/basic/containment-expected.txt:
  • platform/wpe/css1/basic/contextual_selectors-expected.txt:
  • platform/wpe/css1/basic/grouping-expected.txt:
  • platform/wpe/css1/basic/id_as_selector-expected.txt:
  • platform/wpe/css1/basic/inheritance-expected.txt:
  • platform/wpe/css1/box_properties/border-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_width-expected.txt:
  • platform/wpe/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_color-expected.txt:
  • platform/wpe/css1/box_properties/border_color_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_left-expected.txt:
  • platform/wpe/css1/box_properties/border_left_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_left_width-expected.txt:
  • platform/wpe/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_right-expected.txt:
  • platform/wpe/css1/box_properties/border_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_right_width-expected.txt:
  • platform/wpe/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_style-expected.txt:
  • platform/wpe/css1/box_properties/border_style_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_top-expected.txt:
  • platform/wpe/css1/box_properties/border_top_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_top_width-expected.txt:
  • platform/wpe/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/border_width-expected.txt:
  • platform/wpe/css1/box_properties/border_width_inline-expected.txt:
  • platform/wpe/css1/box_properties/clear-expected.txt:
  • platform/wpe/css1/box_properties/clear_float-expected.txt:
  • platform/wpe/css1/box_properties/float-expected.txt:
  • platform/wpe/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/wpe/css1/box_properties/float_margin-expected.txt:
  • platform/wpe/css1/box_properties/float_on_text_elements-expected.txt:
  • platform/wpe/css1/box_properties/height-expected.txt:
  • platform/wpe/css1/box_properties/margin-expected.txt:
  • platform/wpe/css1/box_properties/margin_bottom-expected.txt:
  • platform/wpe/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_left-expected.txt:
  • platform/wpe/css1/box_properties/margin_left_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_right-expected.txt:
  • platform/wpe/css1/box_properties/margin_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/margin_top-expected.txt:
  • platform/wpe/css1/box_properties/margin_top_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding-expected.txt:
  • platform/wpe/css1/box_properties/padding_bottom-expected.txt:
  • platform/wpe/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_left-expected.txt:
  • platform/wpe/css1/box_properties/padding_left_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_right-expected.txt:
  • platform/wpe/css1/box_properties/padding_right_inline-expected.txt:
  • platform/wpe/css1/box_properties/padding_top-expected.txt:
  • platform/wpe/css1/box_properties/padding_top_inline-expected.txt:
  • platform/wpe/css1/box_properties/width-expected.txt:
  • platform/wpe/css1/cascade/cascade_order-expected.txt:
  • platform/wpe/css1/cascade/important-expected.txt:
  • platform/wpe/css1/classification/display-expected.txt:
  • platform/wpe/css1/classification/list_style-expected.txt:
  • platform/wpe/css1/classification/list_style_image-expected.txt:
  • platform/wpe/css1/classification/list_style_position-expected.txt:
  • platform/wpe/css1/classification/list_style_type-expected.txt:
  • platform/wpe/css1/classification/white_space-expected.txt:
  • platform/wpe/css1/color_and_background/background-expected.txt:
  • platform/wpe/css1/color_and_background/background_attachment-expected.txt:
  • platform/wpe/css1/color_and_background/background_color-expected.txt:
  • platform/wpe/css1/color_and_background/background_image-expected.txt:
  • platform/wpe/css1/color_and_background/background_position-expected.txt:
  • platform/wpe/css1/color_and_background/background_repeat-expected.txt:
  • platform/wpe/css1/color_and_background/color-expected.txt:
  • platform/wpe/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/wpe/css1/font_properties/font-expected.txt:
  • platform/wpe/css1/font_properties/font_family-expected.txt:
  • platform/wpe/css1/font_properties/font_size-expected.txt:
  • platform/wpe/css1/font_properties/font_style-expected.txt:
  • platform/wpe/css1/font_properties/font_variant-expected.txt:
  • platform/wpe/css1/font_properties/font_weight-expected.txt:
  • platform/wpe/css1/formatting_model/canvas-expected.txt:
  • platform/wpe/css1/formatting_model/floating_elements-expected.txt:
  • platform/wpe/css1/formatting_model/height_of_lines-expected.txt:
  • platform/wpe/css1/formatting_model/inline_elements-expected.txt:
  • platform/wpe/css1/formatting_model/replaced_elements-expected.txt:
  • platform/wpe/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/wpe/css1/pseudo/anchor-expected.txt:
  • platform/wpe/css1/pseudo/firstletter-expected.txt:
  • platform/wpe/css1/pseudo/firstline-expected.txt:
  • platform/wpe/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/wpe/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/wpe/css1/text_properties/letter_spacing-expected.txt:
  • platform/wpe/css1/text_properties/line_height-expected.txt:
  • platform/wpe/css1/text_properties/text_align-expected.txt:
  • platform/wpe/css1/text_properties/text_decoration-expected.txt:
  • platform/wpe/css1/text_properties/text_indent-expected.txt:
  • platform/wpe/css1/text_properties/text_transform-expected.txt:
  • platform/wpe/css1/text_properties/vertical_align-expected.txt:
  • platform/wpe/css1/text_properties/word_spacing-expected.txt:
  • platform/wpe/css1/units/color_units-expected.txt:
  • platform/wpe/css1/units/length_units-expected.txt:
  • platform/wpe/css1/units/percentage_units-expected.txt:
  • platform/wpe/css1/units/urls-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-max-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-013-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-014-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-015-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-non-replaced-width-016-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-014-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-016-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-017-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-018-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-019-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-021-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-022-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-023-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-024-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-025-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-026-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-028-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-029-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-030-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-031-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-032-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-033-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-height-035-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-008-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-013-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-015-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-020-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-022-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-027-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-029-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-034-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-036-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-041-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-043-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-048-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-050-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-055-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-057-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-062-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-064-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-069-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-071-expected.txt:
  • platform/wpe/css2.1/20110323/absolute-replaced-width-076-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-006-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-008-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-009-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-010-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-011-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-012-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-013-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-014-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-015-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-height-016-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-007-expected.txt:
  • platform/wpe/css2.1/20110323/block-non-replaced-width-008-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/block-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/border-conflict-style-079-expected.txt:
  • platform/wpe/css2.1/20110323/border-conflict-style-088-expected.txt:
  • platform/wpe/css2.1/20110323/border-spacing-applies-to-015-expected.txt:
  • platform/wpe/css2.1/20110323/c543-txt-decor-000-expected.txt:
  • platform/wpe/css2.1/20110323/empty-inline-001-expected.txt:
  • platform/wpe/css2.1/20110323/empty-inline-002-expected.txt:
  • platform/wpe/css2.1/20110323/empty-inline-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/float-non-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-003-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-004-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-005-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/float-replaced-width-011-expected.txt:
  • platform/wpe/css2.1/20110323/height-width-inline-table-001-expected.txt:
  • platform/wpe/css2.1/20110323/height-width-table-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-block-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-non-replaced-width-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-002-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-003-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-004-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-005-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-height-007-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-width-001-expected.txt:
  • platform/wpe/css2.1/20110323/inline-replaced-width-006-expected.txt:
  • platform/wpe/css2.1/20110323/inline-table-001-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-001-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-002-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-003-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-004-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-005-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-006-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-007-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-008-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-009-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-010-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-012-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-013-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-014-expected.txt:
  • platform/wpe/css2.1/20110323/margin-applies-to-015-expected.txt:
  • platform/wpe/css2.1/20110323/outline-color-applies-to-008-expected.txt:
  • platform/wpe/css2.1/20110323/replaced-intrinsic-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-002-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-horizontal-alignment-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-optional-001-expected.txt:
  • platform/wpe/css2.1/20110323/table-caption-optional-002-expected.txt:
  • platform/wpe/css2.1/20110323/table-height-algorithm-023-expected.txt:
  • platform/wpe/css2.1/20110323/table-height-algorithm-024-expected.txt:
  • platform/wpe/css2.1/20110323/width-non-replaced-inline-001-expected.txt:
  • platform/wpe/css2.1/20110323/width-replaced-element-001-expected.txt:
  • platform/wpe/css2.1/t040102-keywords-01-b-expected.txt:
  • platform/wpe/css2.1/t0402-c71-fwd-parsing-01-f-expected.txt:
  • platform/wpe/css2.1/t0402-c71-fwd-parsing-02-f-expected.txt:
  • platform/wpe/css2.1/t051202-c26-psudo-nest-00-c-expected.txt:
  • platform/wpe/css2.1/t0602-c13-inheritance-00-e-expected.txt:
  • platform/wpe/css2.1/t0805-c5519-brdr-r-02-e-expected.txt:
  • platform/wpe/css2.1/t0805-c5521-brdr-l-02-e-expected.txt:
  • platform/wpe/css2.1/t0905-c414-flt-04-c-expected.txt:
  • platform/wpe/css2.1/t0905-c414-flt-wrap-00-e-expected.txt:
  • platform/wpe/css2.1/t0905-c5525-fltblck-01-d-expected.txt:
  • platform/wpe/css2.1/t0905-c5525-fltcont-00-d-g-expected.txt:
  • platform/wpe/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
  • platform/wpe/css2.1/t090501-c414-flt-00-d-expected.txt:
  • platform/wpe/css2.1/t090501-c414-flt-01-b-expected.txt:
  • platform/wpe/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/wpe/css2.1/t1202-counter-00-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-01-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-02-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-03-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-04-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-05-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-06-b-expected.txt:
  • platform/wpe/css2.1/t1202-counter-16-f-expected.txt:
  • platform/wpe/css2.1/t1202-counters-00-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-01-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-02-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-03-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-04-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-05-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-06-b-expected.txt:
  • platform/wpe/css2.1/t1202-counters-18-f-expected.txt:
  • platform/wpe/css2.1/t1204-order-00-c-expected.txt:
  • platform/wpe/css2.1/t1204-order-01-d-expected.txt:
  • platform/wpe/css2.1/t120401-scope-00-b-expected.txt:
  • platform/wpe/css2.1/t120401-scope-01-c-expected.txt:
  • platform/wpe/css2.1/t1205-c565-list-pos-00-b-expected.txt:
  • platform/wpe/css2.1/t1507-c526-font-sz-00-b-expected.txt:
  • platform/wpe/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/wpe/css3/css3-modsel-35-expected.txt:
  • platform/wpe/css3/css3-modsel-37-expected.txt:
  • platform/wpe/css3/flexbox/button-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-13-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-14c-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-14e-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-15-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-159-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-168-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-168a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-169-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-169a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-17-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-18-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-2-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-22-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-30-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-31-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-34-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-35-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-37-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-41-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-41a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-42-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-42a-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-45-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-45b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-46-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-46b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-6-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-7-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-75-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-75b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-76-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-76b-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-79-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-8-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-80-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-82-expected.txt:
  • platform/wpe/css3/selectors3/html/css3-modsel-82b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-113-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-113b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-114-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-114b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-119-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-121-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-122-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-123-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-13-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-139-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-139b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-140-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-140b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-14c-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-14e-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-15-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-159-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-168-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-168a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-169-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-169a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-17-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-2-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-22-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-30-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-31-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-34-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-35-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-37-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-41-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-41a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-42-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-42a-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-45-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-45b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-46-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-46b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-47-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-48-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-49-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-6-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-7-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-75-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-75b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-76-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-76b-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-79-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-8-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-80-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-82-expected.txt:
  • platform/wpe/css3/selectors3/xhtml/css3-modsel-82b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-113-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-113b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-114-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-114b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-119-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-121-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-122-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-123-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-13-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-139-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-139b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-140-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-140b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-14c-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-14e-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-15-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-159-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-168-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-168a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-169-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-169a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-17-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-18-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-2-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-22-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-30-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-31-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-34-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-35-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-37-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-41-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-41a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-42-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-42a-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-45-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-45b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-46-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-46b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-47-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-48-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-49-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-6-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-7-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-75-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-75b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-76-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-76b-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-79-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-8-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-80-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-82-expected.txt:
  • platform/wpe/css3/selectors3/xml/css3-modsel-82b-expected.txt:
  • platform/wpe/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/wpe/fast/dom/Element/class-attribute-whitespace-expected.txt:
  • platform/wpe/fast/dom/HTMLDocument/frameless-location-bugzilla10837-expected.txt:
  • platform/wpe/fast/dom/HTMLElement/bdo-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/native-progress-bar-expected.txt:
  • platform/wpe/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
  • platform/wpe/fast/dom/HTMLTableElement/colSpan-expected.txt:
  • platform/wpe/fast/dom/HTMLTableElement/createCaption-expected.txt:
  • platform/wpe/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/wpe/fast/dom/Range/create-contextual-fragment-expected.txt:
  • platform/wpe/fast/dynamic/007-expected.txt:
  • platform/wpe/fast/dynamic/011-expected.txt:
  • platform/wpe/fast/dynamic/012-expected.txt:
  • platform/wpe/fast/dynamic/014-expected.txt:
  • platform/wpe/fast/dynamic/015-expected.txt:
  • platform/wpe/fast/dynamic/anchor-lock-expected.txt:
  • platform/wpe/fast/dynamic/anonymous-block-orphaned-lines-expected.txt:
  • platform/wpe/fast/dynamic/containing-block-change-expected.txt:
  • platform/wpe/fast/dynamic/create-renderer-for-whitespace-only-text-expected.txt:
  • platform/wpe/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-expected.txt:
  • platform/wpe/fast/dynamic/float-withdrawal-expected.txt:
  • platform/wpe/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
  • platform/wpe/fast/dynamic/noninlinebadness-expected.txt:
  • platform/wpe/fast/dynamic/outerHTML-doc-expected.txt:
  • platform/wpe/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
  • platform/wpe/fast/dynamic/selection-highlight-adjust-expected.txt:
  • platform/wpe/fast/dynamic/staticY-marking-parents-regression-expected.txt:
  • platform/wpe/fast/dynamic/view-overflow-expected.txt:
  • platform/wpe/fast/dynamic/window-resize-scrollbars-test-expected.txt:
  • platform/wpe/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/wpe/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/wpe/fast/encoding/xmacroman-encoding-test-expected.txt:
  • platform/wpe/fast/events/mouseover-mouseout-expected.txt:
  • platform/wpe/fast/events/nested-window-event-expected.txt:
  • platform/wpe/fast/events/pointer-events-2-expected.txt:
  • platform/wpe/fast/events/resize-events-expected.txt:
  • platform/wpe/fast/events/updateLayoutForHitTest-expected.txt:
  • platform/wpe/fast/events/window-events-bubble-expected.txt:
  • platform/wpe/fast/events/window-events-bubble2-expected.txt:
  • platform/wpe/fast/gradients/crash-on-zero-radius-expected.txt:
  • platform/wpe/fast/gradients/list-item-gradient-expected.txt:
  • platform/wpe/fast/gradients/radial-centered-expected.txt:
  • platform/wpe/fast/parser/001-expected.txt:
  • platform/wpe/fast/parser/entity-comment-in-style-expected.txt:
  • platform/wpe/fast/parser/nofoo-tags-inside-paragraph-expected.txt:
  • platform/wpe/fast/parser/open-comment-in-style-expected.txt:
  • platform/wpe/fast/parser/open-comment-in-textarea-expected.txt:
  • platform/wpe/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/wpe/fast/tokenizer/script_extra_close-expected.txt:
  • platform/wpe/fast/transforms/bounding-rect-zoom-expected.txt:
  • platform/wpe/fast/transforms/diamond-expected.txt:
  • platform/wpe/fast/transforms/transform-overflow-expected.txt:
  • platform/wpe/fast/transforms/transform-positioned-ancestor-expected.txt:
  • platform/wpe/fast/transforms/transform-table-row-expected.txt:
  • platform/wpe/fast/transforms/transforms-with-zoom-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc-cyr-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc16-expected.txt:
  • platform/wpe/fast/xsl/xslt-enc16to16-expected.txt:
  • platform/wpe/fast/xsl/xslt-entity-expected.txt:
  • platform/wpe/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/wpe/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/wpe/fast/xsl/xslt-relative-path-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-attachment-local-scrolling-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-applied-to-rounded-inline-element-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-color-border-box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-repeat-space-padding-box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-applies-to-block-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background-size-aspect-ratio-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_color_padding_box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_position_three_four_values-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_properties_greater_than_images-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_border_box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/background_repeat_space_content_box-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-005-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-006-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-007-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-008-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-009-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-010-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-011-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-012-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-013-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-014-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-015-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-016-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-applies-to-017-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-clip-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-content-edge-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-different-width-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-initial-value-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-not-inherited-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-shorthand-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-style-005-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-three-values-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-radius-with-two-values-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-001-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-002-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-003-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/box-shadow-004-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/color-behind-images-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/none-as-image-layer-expected.txt:
  • platform/wpe/ietestcenter/css3/bordersbackgrounds/order-of-images-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-001-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-002-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-003-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-004-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-005-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-006-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-007-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-008-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-009-expected.txt:
  • platform/wpe/ietestcenter/css3/text/textshadow-010-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted-expected.txt:
  • platform/wpe/tables/layering/paint-test-layering-1-expected.txt:
  • platform/wpe/tables/layering/paint-test-layering-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/45621-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug101674-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10269-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10269-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug10296-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug106158-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug106158-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug109043-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug113235-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1163-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug11944-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1224-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1302-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug131020_iframe-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug1430-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug149275-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug14929-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug157890-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug16012-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug16252-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17130-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17130-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17138-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug17587-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18359-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18664-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug18955-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19356-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug19599-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug20579-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2065-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug20804-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2123-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-2a-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug22246-3a-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug23235-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug23299-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug24627-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2469-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2509-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug25663-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2585-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug27038-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug27038-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2886-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2886-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug29058-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug29157-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug29326-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2981-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug2997-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30273-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30332-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug30332-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32205-3-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug32447-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3260-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug34538-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3454-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug3977-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug42187-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug43039-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug43854-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4427-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug44523-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4501-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug45055-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug45055-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4576-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46480-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46480-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46623-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug46623-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug48028-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug4803-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug51037-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5188-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5538-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug55694-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug57828-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug5835-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug58402-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug59354-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug60749-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6184-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6304-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6404-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug6674-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug69187-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug69382-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug69382-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug7112-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug7112-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug73321-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug78162-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug80762-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug82946-1-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug82946-2-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug86708-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug92143-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug93363-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug96334-expected.txt:
  • platform/wpe/tables/mozilla/bugs/bug965-expected.txt:
  • platform/wpe/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
  • platform/wpe/tables/mozilla/core/bloomberg-expected.txt:
  • platform/wpe/tables/mozilla/core/borders-expected.txt:
  • platform/wpe/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
  • platform/wpe/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
  • platform/wpe/tables/mozilla/core/margins-expected.txt:
  • platform/wpe/tables/mozilla/core/one_row-expected.txt:
  • platform/wpe/tables/mozilla/core/row_span-expected.txt:
  • platform/wpe/tables/mozilla/dom/appendCol2-expected.txt:
  • platform/wpe/tables/mozilla/dom/appendRowsExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
  • platform/wpe/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsExpand2-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertRowsExpand1-expected.txt:
  • platform/wpe/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla/dom/tableDom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/body_tfoot-expected.txt:
  • platform/wpe/tables/mozilla/marvin/col_span-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_span-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
  • platform/wpe/tables/mozilla/marvin/colgroup_width_px-expected.txt:
  • platform/wpe/tables/mozilla/marvin/table_rules_all-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_cellspacing-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_style-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_colspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_height-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_td_width-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_colspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_height-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tables_th_width-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tbody_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/td_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/th_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/thead_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/tr_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_col_width_rel-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_table_style-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tbody_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_td_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tfoot_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_align_center-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_align_left-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_align_right-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_th_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_thead_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_name-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_bgcolor_rgb-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_baseline-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_bottom-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_middle-expected.txt:
  • platform/wpe/tables/mozilla/marvin/x_tr_valign_top-expected.txt:
  • platform/wpe/tables/mozilla/other/ms-expected.txt:
  • platform/wpe/tables/mozilla/other/nested2-expected.txt:
  • platform/wpe/tables/mozilla/other/test3-expected.txt:
  • platform/wpe/tables/mozilla/other/test6-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/wpe/tables/mozilla/other/wa_table_tr_align-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug10140-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1128-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug11331-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug1262-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug14007-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug17826-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug18770-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug19526-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug29058-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug32205-4-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug42043-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug80762-2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug8499-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/bugs/bug91057-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/captions1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/captions2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/captions3-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/col_span2-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/cols1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/core/standards1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCells1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCellsRebuild1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/appendCol1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyExpand1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/dom/insertTbodyRebuild1-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_lhs-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/table_frame_rhs-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/table_rules_cols-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_left-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/tables_caption_align_right-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/marvin/tables_cellspacing_pct-expected.txt:
  • platform/wpe/tables/mozilla_expected_failures/other/test4-expected.txt:
  • platform/wpe/transforms/2d/compound-transforms-vs-containers-expected.txt:
  • platform/wpe/transforms/2d/transform-borderbox-expected.txt:
  • platform/wpe/transforms/2d/transform-fixed-container-expected.txt:
  • platform/wpe/transforms/2d/transform-origin-borderbox-expected.txt:
  • platform/wpe/transforms/3d/hit-testing/backface-hit-test-expected.txt:
  • platform/wpe/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-origins-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt:
  • platform/wpe/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt:
  • platform/wpe/transitions/cross-fade-border-image-expected.txt:
  • platform/wpe/transitions/move-after-transition-expected.txt:
  • platform/wpe/transitions/svg-text-shadow-transition-expected.txt:
4:53 AM Changeset in webkit [222083] by Ms2ger@igalia.com
  • 7 edits in trunk

Disallow passing a null program to getFragDataLocation.
https://bugs.webkit.org/show_bug.cgi?id=176895

Reviewed by Sam Weinig.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/bindings.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::getFragDataLocation):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/bindings-expected.txt:
  • fast/canvas/webgl/webgl2/bindings.html:
4:05 AM Changeset in webkit [222082] by Konstantin Tokarev
  • 4 edits in trunk/Source/ThirdParty/libwebrtc/Source/third_party/jsoncpp/source/makefiles/vs71

Unreviewed, committing actual dos2unix conversions

4:00 AM Changeset in webkit [222081] by Konstantin Tokarev
  • 1 edit in trunk/Source/ThirdParty/libwebrtc/ChangeLog

Normalize line terminators in jsoncpp Visual Studio files
https://bugs.webkit.org/show_bug.cgi?id=176991

Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-15
Reviewed by Konstantin Tokarev.

  • Source/third_party/jsoncpp/source/makefiles/vs71/jsoncpp.sln:
  • Source/third_party/jsoncpp/source/makefiles/vs71/jsontest.vcproj:
  • Source/third_party/jsoncpp/source/makefiles/vs71/lib_json.vcproj:
  • Source/third_party/jsoncpp/source/makefiles/vs71/test_lib_json.vcproj:
2:20 AM Changeset in webkit [222080] by rniwa@webkit.org
  • 4 edits in trunk

iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
https://bugs.webkit.org/show_bug.cgi?id=176968
Source/WebKit:

Reviewed by Wenson Hsieh.

Don't allocate a SharedMemory of size zero (content was empty) as this would result in a crash inside
a WebContent process in release builds and an assertion failure in debug builds.

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::readBufferFromPasteboard):

LayoutTests:

<rdar://problem/34454843>

Reviewed by Wenson Hsieh.

Unskip the test which used to crash/hit assertions.

  • platform/ios/TestExpectations:
12:43 AM Changeset in webkit [222079] by Carlos Garcia Campos
  • 2038 edits
    5 adds
    29 deletes in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline tests after r222077. Part 2.

12:25 AM Changeset in webkit [222078] by Carlos Garcia Campos
  • 2118 edits
    3 deletes in trunk/LayoutTests

Unreviewed GTK+ gardening. Rebaseline tests after r222077. Part 1.

12:08 AM Changeset in webkit [222077] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[FreeType] Complex text is enabled too often after r221909
https://bugs.webkit.org/show_bug.cgi?id=176907

Reviewed by Sergio Villar Senin.

In r221909 we enabled complex text by default following the same cocoa ifdefs, but I forgot another ifdef in the
cpp file.

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::codePath const):

Sep 14, 2017:

10:10 PM Changeset in webkit [222076] by bshafiei@apple.com
  • 2 edits in tags/Safari-605.1.6.0.1/Source/WebCore/PAL

Merged r222072. rdar://problem/34452503

10:08 PM Changeset in webkit [222075] by bshafiei@apple.com
  • 7 edits in tags/Safari-605.1.6.0.1/Source

Versioning.

10:04 PM Changeset in webkit [222074] by bshafiei@apple.com
  • 1 copy in tags/Safari-605.1.6.0.1

New tag.

8:56 PM Changeset in webkit [222073] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

Add Cache API support of records persistency
https://bugs.webkit.org/show_bug.cgi?id=176845

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-14
Reviewed by Alex Christensen.

Source/WebKit:

Introducing asynchronous opening of Cache objects.
When opening, Cache objects will read the list of records from the disk.
They keep in memory the necessary information to make any match or remove request without reading further information from the disk.
Cache objects thus keep during the opening time a list of callbacks to call when being opened.
Persistent storage is implemented through NetworkCache::Storage.

A Cache object is added a unique name so that records from a Cache cannot be mixed with records from another Cache.
This unique name is stored persistenly in addition to the Cache name.
This unique name is used as the key type given to the storage.

Request, response and responsebody data are no longer kept by the Cache object.
For regular sessions, this information is kept on the disk through NetworkCache::Storage.
Insertion time is also stored persistently so as to keep the ordering of the records consistent.
For private browsing sessions, this information is kept in a map owned by the Caches object.
RecordData is renamed to RecordInformation as it now only contains the information used to handle the different Cache actions.

For every record retrieval action, a ReadRecordTaskCounter is used.
Its purpose is to allow retrieving the record data on the disk in parallel,
and then send back the information when everything is read.
In case some records cannot be correctly read, they are removed automatically at that point.
The current implementation loads all information in memory including response bodies.
Further improvements might consider streaming the response bodies progressively.

For every stored record, an AsynchronousPutTaskCounter is used.
Its purpose is also to wait for all put actions to be completed before executing the completion callback.
In some cases, a record needs to be overriden.
In that case, as per the specification, only the data related to the response is to be modified.
This requires reading the record request data on disk before actually writing the whole record again.
This is implemented in updateRecordToDisk.

The Cache object is delegating all record writing/reading tasks to its Caches object.
The Caches object is responsible to handle persistent/private sessions.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::retrieveRecords): Making sure Cache object is opened.
(WebKit::CacheStorage::Engine::readCache): Ditto.
(WebKit::CacheStorage::Engine::unlock): Disposing the cache without going through initializing it.

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::computeKeyURL):
(WebKit::CacheStorage::queryCache):
(WebKit::CacheStorage::updateVaryInformation):
(WebKit::CacheStorage::Cache::toRecordInformation):
(WebKit::CacheStorage::Cache::Cache):
(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::finishOpening):
(WebKit::CacheStorage::ReadRecordTaskCounter::create):
(WebKit::CacheStorage::ReadRecordTaskCounter::~ReadRecordTaskCounter):
(WebKit::CacheStorage::ReadRecordTaskCounter::appendRecord):
(WebKit::CacheStorage::ReadRecordTaskCounter::ReadRecordTaskCounter):
(WebKit::CacheStorage::Cache::retrieveRecord):
(WebKit::CacheStorage::Cache::retrieveRecords):
(WebKit::CacheStorage::Cache::addRecord):
(WebKit::CacheStorage::Cache::recordsFromURL):
(WebKit::CacheStorage::Cache::recordsFromURL const):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::create):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::~AsynchronousPutTaskCounter):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::onCompletion):
(WebKit::CacheStorage::AsynchronousPutTaskCounter::setError):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::remove):
(WebKit::CacheStorage::Cache::removeFromRecordList):
(WebKit::CacheStorage::Cache::writeRecordToDisk):
(WebKit::CacheStorage::Cache::updateRecordToDisk):
(WebKit::CacheStorage::Cache::readRecordFromDisk):
(WebKit::CacheStorage::Cache::removeRecordFromDisk):
(WebKit::CacheStorage::Cache::encode):
(WebKit::CacheStorage::decodeRecordHeader):
(WebKit::CacheStorage::Cache::decode):
(WebKit::CacheStorage::Cache::keys const):

  • NetworkProcess/cache/CacheStorageEngineCache.h:

(WebKit::CacheStorage::Cache::isOpened const):
(WebKit::CacheStorage::Cache::uniqueName const):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initialize):
(WebKit::CacheStorage::Caches::open):
(WebKit::CacheStorage::Caches::remove):
(WebKit::CacheStorage::Caches::dispose):
(WebKit::CacheStorage::encodeCacheNames):
(WebKit::CacheStorage::decodeCachesNames):
(WebKit::CacheStorage::Caches::readCachesFromDisk):
(WebKit::CacheStorage::Caches::readRecordsList):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::readRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::clearMemoryRepresentation):
(WebKit::CacheStorage::Caches::salt const):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:

(WebKit::CacheStorage::Caches::shouldPersist const):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::store):

  • NetworkProcess/cache/NetworkCacheStorage.h:

(WebKit::NetworkCache::Storage::writeWithoutWaiting):

LayoutTests:

  • http/tests/cache-storage/cache-persistency.https.html:
  • http/tests/cache-storage/cache-records-persistency.https-expected.txt: Added.
  • http/tests/cache-storage/cache-records-persistency.https.html: Added.
8:15 PM Changeset in webkit [222072] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Fixed building with the Apple internal macOS 10.12 SDK.

  • pal/spi/cocoa/PassKitSPI.h: Avoid redefining types that are defined in the SDK.
7:23 PM Changeset in webkit [222071] by sbarati@apple.com
  • 6 edits
    1 add in trunk/Source

We should have a way of preventing a caller from making a tail call and we should use it for ProxyObject instead of using build flags
https://bugs.webkit.org/show_bug.cgi?id=176863

Reviewed by Keith Miller.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/ProxyObject.cpp:

(JSC::performProxyGet):
(JSC::ProxyObject::performInternalMethodGetOwnProperty):
(JSC::ProxyObject::performHasProperty):
(JSC::ProxyObject::getOwnPropertySlotCommon):
(JSC::ProxyObject::performPut):
(JSC::performProxyCall):
(JSC::performProxyConstruct):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::performPreventExtensions):
(JSC::ProxyObject::performIsExtensible):
(JSC::ProxyObject::performDefineOwnProperty):
(JSC::ProxyObject::performGetOwnPropertyNames):
(JSC::ProxyObject::performSetPrototype):
(JSC::ProxyObject::performGetPrototype):

Source/WTF:

This patch adds a way for a particular function to mark
that none of its calls should be tail calls.

It's useful in the following example if you don't want foo
to do a tail call to bar or baz:

int foo(bool b)
{

NO_TAIL_CALLS();
if (b)

return baz();

return bar();

}

Note that we're not saying that bar/baz should not be tail callable. bar/baz
may have other callers that are allowed to tail call it. This macro just says
that foo itself will not perform any tail calls.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/NoTailCalls.h: Added.

(WTF::NoTailCalls::~NoTailCalls):

6:42 PM Changeset in webkit [222070] by commit-queue@webkit.org
  • 4 edits in trunk

.:
[WinCairo] Add an option to build WebKitLegacy or WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891

Added an option to build WebKitLegacy or WebKit.

Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-09-14
Reviewed by Alex Christensen.

  • Source/cmake/OptionsWin.cmake:

Tools:
[WinCairo] Add an option to build WebKitLegacy and WebKit
https://bugs.webkit.org/show_bug.cgi?id=176891

Since TestWebKitAPI and MiniBrowser/win are used for WebKitLegacy,
those subdirectories are ignored for WebKit build.

Patch by Yousuke Kimoto <yousuke.kimoto@sony.com> on 2017-09-14
Reviewed by Alex Christensen.

  • CMakeLists.txt:
5:44 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
5:43 PM WebKitGTK/Gardening/Calendar edited by clopez@igalia.com
(diff)
5:30 PM Changeset in webkit [222069] by commit-queue@webkit.org
  • 11 edits
    6 deletes in trunk

Unreviewed, rolling out r221932 and r221933.
https://bugs.webkit.org/show_bug.cgi?id=176969

This change did not fix the webgl test flakiness. (Requested
by ryanhaddad on #webkit).

Reverted changesets:

"[WebGL] accelerated texImage2D for video doesn't respect
flipY"
https://bugs.webkit.org/show_bug.cgi?id=176491
http://trac.webkit.org/changeset/221932

"[WebGL] VideoTextureCopierCV doesn't correctly restore vertex
attribute state"
https://bugs.webkit.org/show_bug.cgi?id=176771
http://trac.webkit.org/changeset/221933

5:29 PM Changeset in webkit [222068] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

[Curl] Replace the implementation with NetworkLoadMetrics
https://bugs.webkit.org/show_bug.cgi?id=176906

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-14
Reviewed by Alex Christensen.

  • platform/network/curl/CurlContext.cpp:

(WebCore::CurlHandle::getEffectiveURL):
(WebCore::CurlHandle::getPrimaryPort):
(WebCore::CurlHandle::getResponseCode):
(WebCore::CurlHandle::getContentLenghtDownload):
(WebCore::CurlHandle::getHttpAuthAvail):
(WebCore::CurlHandle::getTimes):
(WebCore::CurlHandle::getEffectiveURL const): Deleted.

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::notifyFinish):
(WebCore::ResourceHandleCurlDelegate::getProtectionSpace):
(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::handleLocalReceiveResponse):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::getNetworkLoadMetrics):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::setWebTimings): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::setDeprecatedNetworkLoadMetrics):

5:14 PM Changeset in webkit [222067] by Lucas Forschler
  • 1 edit
    1 add in trunk/Tools

Create a launcher for webkit-archives
https://bugs.webkit.org/show_bug.cgi?id=176964

Reviewed by Aakash Jain.

  • Scripts/run-webkit-archive: Added.

(find_dyld_framework_path):
(run_safari_for_webkit_development):
(set_dyld_framework_path):
(main):

5:04 PM Changeset in webkit [222066] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Make dumping the graph print when both when exitOK and !exitOK
https://bugs.webkit.org/show_bug.cgi?id=176954

Reviewed by Keith Miller.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

4:52 PM Changeset in webkit [222065] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mac] Spelling, grammar and correction dots are painted upside down
https://bugs.webkit.org/show_bug.cgi?id=176949
<rdar://problem/34441098>

Reviewed by Simon Fraser.

Painting occurs in a vertically flipped context. Vertically flip the context ("unflip" it)
before painting the document markers on macOS so that they are painted right-side. This makes
the appearance of spelling, grammar and correction dots in WebKit match the AppKit appearance
of these dots.

  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::GraphicsContext::drawLineForDocumentMarker): Flip the context as described above.
Also make use of RAII object CGContextStateSaver instead of manually saving and restoring
the state of the context.

4:49 PM Changeset in webkit [222064] by Joseph Pecoraro
  • 16 edits
    3 deletes in trunk

Unreviewed rollout r222036.

The LayoutTests added with this change is flaky.

Source/WebCore:

Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036

Source/WebInspectorUI:

This left in the Test.js, Test.html, InspectorBackend changes
needed by later patches. They are independent of the flakey test.

Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036

LayoutTests:

Reverted changeset
Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222036

4:45 PM Changeset in webkit [222063] by dbates@webkit.org
  • 4 edits
    8 copies
    9 adds
    1 delete in trunk/LayoutTests

Import CSS Pseudo Elements 4 Web Platform Tests
https://bugs.webkit.org/show_bug.cgi?id=176253

Reviewed by Zalan Bujtas.

I upstreamed our CSS Pseudo Elements 4 tests to the Web Platform Tests repository.
Remove our version of the tests and import the ones from the Web Platform Tests repository.

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/css/css-pseudo-4/OWNERS: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-001-expected.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-001.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-002-expected.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-002.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-003-expected.html: Added.
  • web-platform-tests/css/css-pseudo-4/first-letter-003.html: Added.
  • web-platform-tests/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html.
  • web-platform-tests/css/css-pseudo-4/marker-color-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-color-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-color.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-color.html.
  • web-platform-tests/css/css-pseudo-4/marker-font-properties-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-font-properties-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-font-properties.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-font-properties.html.
  • web-platform-tests/css/css-pseudo-4/marker-inherit-values-expected.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html.
  • web-platform-tests/css/css-pseudo-4/marker-inherit-values.html: Renamed from LayoutTests/http/wpt/css/css-pseudo-4/marker-inherit-values.html.
  • web-platform-tests/css/css-pseudo-4/w3c-import.log: Added.

LayoutTests:

  • TestExpectations: Skip some tests that fail.
  • http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-and-other-pseudo-elements.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-color-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-color.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-font-properties-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-font-properties.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-inherit-values-expected.html: Removed.
  • http/wpt/css/css-pseudo-4/marker-inherit-values.html: Removed.
4:43 PM Changeset in webkit [222062] by rniwa@webkit.org
  • 8 edits
    1 copy in trunk/Source/WebCore

WebContentReader::readWebArchive doesn't need to handle image MIME type
https://bugs.webkit.org/show_bug.cgi?id=176884

Reviewed by Sam Weinig.

Remove the code to handle image MIME types in the web archive on macOS since we have a separate code path
to handle images in the pasteboard directly. As far as I can tell, this code is never used in practice.

This allows merging iOS and macOS code to read web archive from the pasteboard. Also merged member functions
for handling RTFD and RTF in iOS and macOS in WebContentReaderCocoa.mm.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/WebContentReader.cpp: Added.

(WebCore::WebContentReader::addFragment): Moved from WebContentReaderIOS.mm and simplified since appendChild
knows how to add a DocumentFragment.

  • editing/WebContentReader.h:
  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::createFragmentAndAddResources):
(WebCore::WebContentReader::readWebArchive): Merged iOS / macOS code here.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
(WebCore::WebContentReader::readPlainText): Ditto.

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::pasteWithPasteboard):

  • editing/ios/WebContentReaderIOS.mm:

(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readWebArchive): Moved to WebContentReaderCocoa.mm.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.
(WebCore::WebContentReader::readPlainText): Ditto.

  • editing/mac/WebContentReaderMac.mm:

(WebCore::WebContentReader::readWebArchive): Ditto.
(WebCore::WebContentReader::readRTFD): Ditto.
(WebCore::WebContentReader::readRTF): Ditto.

4:43 PM Changeset in webkit [222061] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

iOS: WebKitTestRunner hits an assertion in editing/pasteboard/datatransfer-items-copy-plaintext.html
https://bugs.webkit.org/show_bug.cgi?id=176968

Skip this test for now.

  • platform/ios/TestExpectations:
4:39 PM Changeset in webkit [222060] by sbarati@apple.com
  • 5 edits
    1 add in trunk

It should be valid to exit before each set when doing arity fixup when inlining
https://bugs.webkit.org/show_bug.cgi?id=176948

Reviewed by Keith Miller.

JSTests:

  • stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added.

(baz):
(bar):
(foo):

Source/JavaScriptCore:

This patch makes it so that we can exit before each SetLocal when doing arity
fixup during inlining. This is OK because if we exit at any of these SetLocals,
we will simply exit to the beginning of the call instruction.

Not doing this led to a bug where FixupPhase would insert a ValueRep of
a node before the actual node. This is obviously invalid IR. I've added
a new validation rule to catch this malformed IR.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):

  • dfg/DFGValidate.cpp:
  • runtime/Options.h:
4:37 PM Changeset in webkit [222059] by achristensen@apple.com
  • 25 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):

  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:

(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::printOperationWithPrintInfo):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.

  • UIProcess/FrameLoadState.h:

(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLInFrame):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView hostWindow]):

4:08 PM Changeset in webkit [222058] by mark.lam@apple.com
  • 7 edits in trunk/Source

AddressSanitizer: stack-buffer-underflow in JSC::Probe::Page::Page
https://bugs.webkit.org/show_bug.cgi?id=176874
<rdar://problem/34436415>

Reviewed by Saam Barati.

Source/JavaScriptCore:

  1. Make Probe::Stack play nice with ASan by:
  1. using a local memcpy implementation that suppresses ASan on ASan builds. We don't want to use std:memcpy() which validates stack memory because we are intentionally copying stack memory beyond the current frame.
  1. changing Stack::s_chunkSize to equal sizeof(uintptr_t) on ASan builds. This ensures that Page::flushWrites() only writes stack memory that was modified by a probe. The probes should only modify stack memory that belongs to JSC stack data structures. We don't want to inadvertently modify adjacent words that may belong to ASan (which may happen if s_chunkSize is larger than sizeof(uintptr_t)).
  1. fixing a bug in Page dirtyBits management for when the size of the value to write is greater than s_chunkSize. The fix in generic, but in practice, this currently only manifests on 32-bit ASan builds because sizeof(uintptr_t) and s_chunkSize are 32-bit, and we may write 64-bit values.
  1. making Page::m_dirtyBits 64 bits always. This maximizes the number of s_chunksPerPage we can have even on ASan builds.
  1. Fixed the bottom most Probe::Context and Probe::Stack get/set methods to use std::memcpy to avoid strict aliasing issues.
  1. Optimized the implementation of Page::physicalAddressFor().
  1. Optimized the implementation of Stack::set() in the recording of the low watermark. We just record the lowest raw pointer now, and only compute the alignment to its chuck boundary later when the low watermark is requested.
  1. Changed a value in testmasm to make the test less vulnerable to rounding issues.

No new test needed because this is already covered by testmasm with ASan enabled.

  • assembler/ProbeContext.h:

(JSC::Probe::CPUState::gpr const):
(JSC::Probe::CPUState::spr const):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::gpr const):
(JSC::Probe::Context::spr const):
(JSC::Probe::Context::fpr const):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe:: const): Deleted.

  • assembler/ProbeStack.cpp:

(JSC::Probe::copyStackPage):
(JSC::Probe::Page::Page):
(JSC::Probe::Page::flushWrites):

  • assembler/ProbeStack.h:

(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::dirtyBitFor):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):

  • assembler/testmasm.cpp:

(JSC::testProbeModifiesStackValues):

Source/WTF:

Added a convenience version of roundUpToMultipleOf() so that it can be applied to
pointers without the client having to cast explicitly.

  • wtf/StdLibExtras.h:

(WTF::roundUpToMultipleOf):

3:43 PM Changeset in webkit [222057] by webkit@devinrousso.com
  • 14 edits in trunk

Web Inspector: make recording swizzle async
https://bugs.webkit.org/show_bug.cgi?id=176936

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildArrayForCanvasPattern):
(WebCore::InspectorCanvas::buildAction):
For objects that are not able to be stringified (e.g. elements), send a deduplicated string
with the name of the object as a placeholder value (e.g. "Element").

Source/WebInspectorUI:

Move all swizzle functions, and all logic that depends on swizzled values, to async
functions so that await can be used to pause execution while objects load. This was
necessary primarily for swizzling Image values, as the Image is not able to be used (such as
for creating a CanvasPattern) until its "load" event has fired. Any callers of a Recording's
actions getter must now adapt to working with a promise that will resolve once all swizzling
has finished across all actions within that recording.

  • .eslintrc:
  • UserInterface/Models/Recording.js:

(WI.Recording):
(WI.Recording.prototype.async swizzle):
(WI.Recording.prototype.swizzle): Deleted.
Drive-by: currently, no data is added to the JSON for WebGL objects, so don't try to swizzle
them and return the placeholder value (0) instead.

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction):
(WI.RecordingAction.prototype.swizzle):
(WI.RecordingAction.prototype.toJSON):
(WI.RecordingAction.prototype.async _swizzle.swizzleParameter):
(WI.RecordingAction.prototype.async _swizzle.async swizzleCallFrame):
(WI.RecordingAction.prototype.async _swizzle):

  • UserInterface/Models/RecordingInitialStateAction.js:

(WI.RecordingInitialStateAction):

  • UserInterface/Views/RecordingContentView.js:

(WI.RecordingContentView.prototype.updateActionIndex):
(WI.RecordingContentView.prototype.async _generateContentCanvas2D):
(WI.RecordingContentView.prototype.async _generateContentCanvasWebGL):
(WI.RecordingContentView.prototype._updateCanvasPath):
(WI.RecordingContentView.prototype._generateContentCanvas2D): Deleted.
(WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted.

  • UserInterface/Views/RecordingNavigationSidebarPanel.js:

(WI.RecordingNavigationSidebarPanel.prototype.set recording):
(WI.RecordingNavigationSidebarPanel.prototype.updateActionIndex):

  • UserInterface/Views/RecordingStateDetailsSidebarPanel.js:

(WI.RecordingStateDetailsSidebarPanel):
(WI.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex):
(WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):

  • UserInterface/Views/RecordingTabContentView.js:

(WI.RecordingTabContentView.prototype.showRepresentedObject):

  • UserInterface/Views/RecordingTraceDetailsSidebarPanel.js:

(WI.RecordingTraceDetailsSidebarPanel):
(WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex):

LayoutTests:

  • inspector/canvas/recording-2d-expected.txt:
3:43 PM Changeset in webkit [222056] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked svg/animations/smil-leak-element-instances.svg
https://bugs.webkit.org/show_bug.cgi?id=175886

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
3:01 PM Changeset in webkit [222055] by Matt Baker
  • 5 edits in trunk

Web Inspector: Color created from an RGB/HSL triplet returns bad component arrays
https://bugs.webkit.org/show_bug.cgi?id=176811
<rdar://problem/34397529>

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

A Color constructed from a format and RGB/HSL triplet should set its
alpha component to 1 instead of leaving it undefined. Color properties
and member functions expect the components array to have a length of four.

  • UserInterface/Models/Color.js:

(WI.Color):

LayoutTests:

Add tests for Colors constructed from a format and component array.

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:

Drive-by cleanup: use InspectorTest.expectShallowEqual.

3:00 PM Changeset in webkit [222054] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/streams/piping/error-propagation-forward.dedicatedworker.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176920

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
2:23 PM Changeset in webkit [222053] by aestes@apple.com
  • 10 edits
    1 copy in trunk/Source

[Mac] Upstream SpeechSynthesis-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176931

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • platform/mac/PlatformSpeechSynthesizerMac.mm:

(WebCore::speechSynthesisGetVoiceIdentifiers):
(WebCore::speechSynthesisGetDefaultVoiceIdentifierForLocale):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/mac/SpeechSynthesisSPI.h: Added.

Source/WebKit:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

2:09 PM Changeset in webkit [222052] by Joseph Pecoraro
  • 4 edits in trunk/Source/WebInspectorUI

Layout test inspector/debugger/breakpoints/resolved-dump-all-pause-locations.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=176952

Reviewed by Matt Baker.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Agent.prototype.dispatchEvent):
Include the event name since that may be useful in understanding what happened.

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Register a MemoryObserver and include potentially necessary Model objects
for the Memory domain.

1:44 PM Changeset in webkit [222051] by rniwa@webkit.org
  • 29 edits
    30 adds in trunk/LayoutTests

Re-enable tests under editing/pasteboard in iOS WebKit2
https://bugs.webkit.org/show_bug.cgi?id=176890

Reviewed by Wenson Hsieh.

These tests were disabled because we used to run multiple layout tests tests in parallel within
a single instance of iOS simulator, and that caused tests that read from and write to UIPasteboard
with interfere with one another. This is no longer an issue since we launch a simulator per worker.

Re-enabled these pasteboard tests under iOS simulator in WebKit2 and rebaselined the tests.
We're going to triage failures and crashes in WebKit1 separately.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator/editing/pasteboard/3976872-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4076267-2-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4076267-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4242293-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4631972-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/4641033-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/8145-2-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/8145-3-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/bad-placeholder-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/image-in-iframe-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-004-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-008-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-009-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-013-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-014-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-016-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-019-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/paste-text-at-tabspan-003-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/pasting-object-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/pasting-tabs-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/quirks-mode-br-1-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/smart-drag-drop-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/smart-paste-007-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/smart-paste-008-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/styled-element-markup-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/undoable-fragment-removes-expected.png: Added.
  • platform/ios-simulator/editing/pasteboard/unrendered-br-expected.png: Added.
  • platform/ios-wk2/editing/pasteboard/3976872-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4076267-2-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4076267-3-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4076267-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4242293-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4631972-expected.txt:
  • platform/ios-wk2/editing/pasteboard/4641033-expected.txt:
  • platform/ios-wk2/editing/pasteboard/8145-2-expected.txt:
  • platform/ios-wk2/editing/pasteboard/8145-3-expected.txt:
  • platform/ios-wk2/editing/pasteboard/bad-placeholder-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-004-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-008-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-009-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-013-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-014-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-016-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-019-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-text-at-tabspan-003-expected.txt:
  • platform/ios-wk2/editing/pasteboard/paste-xml-expected.txt:
  • platform/ios-wk2/editing/pasteboard/pasting-object-expected.txt:
  • platform/ios-wk2/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/ios-wk2/editing/pasteboard/quirks-mode-br-1-expected.txt:
  • platform/ios-wk2/editing/pasteboard/smart-drag-drop-expected.txt:
  • platform/ios-wk2/editing/pasteboard/styled-element-markup-expected.txt:
  • platform/ios-wk2/editing/pasteboard/undoable-fragment-removes-expected.txt:
  • platform/ios-wk2/editing/pasteboard/unrendered-br-expected.txt:
  • platform/ios/TestExpectations:
  • platform/ios/editing/pasteboard/image-in-iframe-expected.txt: Added.
1:39 PM Changeset in webkit [222050] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline js/dom/global-constructors-attributes.html for El Capitan.

Unreviewed test gardening.

  • platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
1:28 PM Changeset in webkit [222049] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

1:20 PM Changeset in webkit [222048] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.1

Tag Safari-604.3.1.

1:12 PM Changeset in webkit [222047] by Ryan Haddad
  • 25 edits in trunk

Unreviewed, rolling out r222033.

This change caused API test WebKit.PrintFrame to time out.

Reverted changeset:

"Add WKUIDelegatePrivate equivalent of WKPageUIClient's
drawHeader, drawFooter, headerHeight, and footerHeight"
https://bugs.webkit.org/show_bug.cgi?id=176889
http://trac.webkit.org/changeset/222033

12:55 PM Changeset in webkit [222046] by Wenson Hsieh
  • 3 edits
    2 deletes in trunk/LayoutTests

fast/forms/append-children-during-form-submission.html fails due to a text diff on iOS
https://bugs.webkit.org/show_bug.cgi?id=176908

Reviewed by Tim Horton.

Tweak an existing layout test added in r222005 to make its expectation consistent across all platforms.

  • fast/forms/append-children-during-form-submission-expected.txt:
  • fast/forms/append-children-during-form-submission.html:
  • platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Removed.
  • platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Removed.
12:45 PM Changeset in webkit [222045] by commit-queue@webkit.org
  • 6 edits in trunk

RTCDataChannel connectivity issues in Safari 11
https://bugs.webkit.org/show_bug.cgi?id=173052
<rdar://problem/32712143>

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-14
Reviewed by Alex Christensen.

Source/WebCore:

Covered by updated test.

Before the patch, when sending an ArrayBufferView, RTCDataChannel was sending the whole ArrayBuffer backing the ArrayBufferView.
With this patch, RTCDataChannel will now send only the bytes the ArrayBufferView is exposing.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::send): Correctly handling sending of ArrayBufferView.
(WebCore::RTCDataChannel::sendRawData): Helper routine for raw data sending.

  • Modules/mediastream/RTCDataChannel.h:

LayoutTests:

  • webrtc/datachannel/binary-expected.txt:
  • webrtc/datachannel/binary.html:
12:40 PM Changeset in webkit [222044] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

12:40 PM Changeset in webkit [222043] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r221647. rdar://problem/34439121

12:40 PM Changeset in webkit [222042] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r221061. rdar://problem/34439121

12:18 PM Changeset in webkit [222041] by jmarcell@apple.com
  • 3 edits in tags/Safari-605.1.6/Source/JavaScriptCore

Cherry-pick r222035. rdar://problem/34422397

12:18 PM Changeset in webkit [222040] by Antti Koivisto
  • 12 edits
    2 adds in trunk

Computing animated style should not require renderers
https://bugs.webkit.org/show_bug.cgi?id=171926
<rdar://problem/34428035>

Reviewed by Sam Weinig.

Source/WebCore:

CSS animation system is now element rather than renderer based. This allows cleaning up
style resolution and render tree update code.

This also fixes bug animation doesn't run if display property is animated from one rendered type
to another. Added a test case for this.

Test: transitions/transition-display-property-2.html

  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationController::updateAnimations):

Pass in the old style instead of getting it from the renderer.
Factor to return the animated style as a return value.

  • page/animation/CSSAnimationController.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::willBeDestroyed):

Animation are now canceled by RenderTreeUpdater::tearDownRenderers.

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasInitialAnimatedStyle const): Deleted.
(WebCore::RenderElement::setHasInitialAnimatedStyle): Deleted.

We no longer need to this concept.

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):

We now get correct animated style from style resolution in all cases so we don't need to compute
it separately for new renderers.

(WebCore::RenderTreeUpdater::tearDownRenderers):

Cancel animations when render tree is fully torn down. Keep them when updating style.

  • style/RenderTreeUpdater.h:
  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

We can now compute animated style without renderer. Special cases dealing with rendererless case
can be removed.

LayoutTests:

  • transitions/transition-display-property-2-expected.html: Added.
  • transitions/transition-display-property-2.html: Added.
  • transitions/transition-display-property.html:
11:56 AM Changeset in webkit [222039] by commit-queue@webkit.org
  • 4 edits in trunk

Allow WTF::map to take function as parameter
https://bugs.webkit.org/show_bug.cgi?id=176909

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-14
Reviewed by Jer Noble.

Source/WTF:

  • wtf/Vector.h:

(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::multiplyByTwo):
(TestWebKitAPI::TEST):
(TestWebKitAPI::multiplyByTwoMoveOnly):

11:33 AM Changeset in webkit [222038] by fpizlo@apple.com
  • 17 edits
    3 adds in trunk/Tools

WSL IntLiteralType should become int32 if unified with a type variable
https://bugs.webkit.org/show_bug.cgi?id=176707

Reviewed by Myles Maxfield.

This makes it so that this works:

T foo<T>(T x) { return x; }
foo(42); T becomes int32


Previously, it did not work because IntLiteralType did not recognize TypeVariable as a number. Also,
TypeVariable would try to evaluate protocol inheritance of IntLiteralType, which would not go well. One
of the tests that this patch adds didn't just fail; it gave such an absurd 7-line type error that I felt
like I was using SML.

This fixes the problem by introducing what I think is a super deterministic way of handling literals and
type variables:

Before verifying a unification context, we now give all literals a chance to perform an extra
unification step. This is a two-phase process. This ensures that the unification performed by one
literal does not throw off the logic of some other literal. For example, if we do:

void foo<T>(T, T) { }
foo(42, 42u);


Then we want to always fail to compile, rather than sometimes succeeding. So, we first ask each literal
if it thinks that it needs to do extra unification. Both of the literals will report that they want to
in this case, because they will notice that they got unified with either at type variable or a literal,
which isn't specific enough. Then after they all register to do extra unification, they will both try to
unify with their preferred types (int32 for 42, uint32 for 42u). The first one will succeed, and the
second will give an error.

Without the special two-phase arrangement, it was possible to either get a type error or not depending
on the order - for example foo(42, 42u) might fail while foo(42u, 42) succeeds. It was definitely not
decidable, at least not unless you mandate the unification order as part of the type system spec. I
think that would have been nuts.

Both IntLiteral and UintLiteral are now "flexible"; the uint one will reject non-int or signed int
types and will prefer uint, but otherwise it's the same logic. This means that this will be valid:

uint8 x = 5u;


But this is still wrong:

int x = 5u;


To make this easy, I turned IntLiteral and UintLiteral (and IntLiteralType and UintLiteralType) into
factory-built generic types (see createLiteral() and createLiteralType()). Because visitors use the
constructor's declared name (GenericLiteral and GenericLiteralType in this case), it means that we can
share a ton of code between the different literals. I love that ES6 lets you do that.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/CreateLiteral.js: Added.

(createLiteral.GenericLiteral):
(createLiteral.GenericLiteral.prototype.get value):
(createLiteral.GenericLiteral.prototype.get isConstexpr):
(createLiteral.GenericLiteral.prototype.toString):
(createLiteral):

  • WebGPUShadingLanguageRI/CreateLiteralType.js: Added.

(createLiteralType.GenericLiteralType):
(createLiteralType.GenericLiteralType.prototype.get origin):
(createLiteralType.GenericLiteralType.prototype.get value):
(createLiteralType.GenericLiteralType.prototype.get isPrimitive):
(createLiteralType.GenericLiteralType.prototype.get isUnifiable):
(createLiteralType.GenericLiteralType.prototype.get isLiteral):
(createLiteralType.GenericLiteralType.prototype.typeVariableUnify):
(createLiteralType.GenericLiteralType.prototype.unifyImpl):
(createLiteralType.GenericLiteralType.prototype.prepareToVerify):
(createLiteralType.GenericLiteralType.prototype.verifyAsArgument):
(createLiteralType.GenericLiteralType.prototype.verifyAsParameter):
(createLiteralType.GenericLiteralType.prototype.conversionCost):
(createLiteralType.GenericLiteralType.prototype.commitUnification):
(createLiteralType.GenericLiteralType.prototype.toString):
(createLiteralType):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitIntLiteral): Deleted.
(Evaluator.prototype.visitUintLiteral): Deleted.

  • WebGPUShadingLanguageRI/IntLiteral.js:

(let.IntLiteral.createLiteral.createType):
(IntLiteral): Deleted.
(IntLiteral.prototype.get value): Deleted.
(IntLiteral.prototype.get isConstexpr): Deleted.
(IntLiteral.prototype.toString): Deleted.

  • WebGPUShadingLanguageRI/IntLiteralType.js:

(IntLiteralType): Deleted.
(IntLiteralType.prototype.get origin): Deleted.
(IntLiteralType.prototype.get value): Deleted.
(IntLiteralType.prototype.get isPrimitive): Deleted.
(IntLiteralType.prototype.get isUnifiable): Deleted.
(IntLiteralType.prototype.typeVariableUnify): Deleted.
(IntLiteralType.prototype.unifyImpl): Deleted.
(IntLiteralType.prototype.verifyAsArgument): Deleted.
(IntLiteralType.prototype.verifyAsParameter): Deleted.
(IntLiteralType.prototype.conversionCost): Deleted.
(IntLiteralType.prototype.commitUnification): Deleted.
(IntLiteralType.prototype.toString): Deleted.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/LiteralTypeChecker.js:

(LiteralTypeChecker.prototype.visitIntLiteralType): Deleted.

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.prepareToVerify):
(Node.prototype.commitUnification):
(Node.prototype.get isLiteral):

  • WebGPUShadingLanguageRI/NullType.js:

(NullType.prototype.get isLiteral):
(NullType.prototype.toString):
(NullType):

  • WebGPUShadingLanguageRI/Parse.js:

(parseTerm):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitIntLiteral): Deleted.
(Rewriter.prototype.visitIntLiteralType): Deleted.
(Rewriter.prototype.visitUintLiteral): Deleted.
(Rewriter.prototype.visitBoolLiteral): Deleted.

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

(makeUint):
(checkUint):
(TEST_uintSimpleMath):
(TEST_equality):
(TEST_notEquality):
(TEST_intLiteralGeneric):
(TEST_intLiteralGenericWithProtocols):
(TEST_uintLiteralGeneric):
(TEST_uintLiteralGenericWithProtocols):
(TEST_intLiteralGenericSpecific):
(TEST_twoIntLiterals):
(TEST_unifyDifferentLiterals):
(makeUInt): Deleted.
(checkUInt): Deleted.

  • WebGPUShadingLanguageRI/Type.js:
  • WebGPUShadingLanguageRI/UintLiteral.js:

(let.UintLiteral.createLiteral.createType):
(UintLiteral): Deleted.
(UintLiteral.prototype.get value): Deleted.
(UintLiteral.prototype.get isConstexpr): Deleted.
(UintLiteral.prototype.toString): Deleted.

  • WebGPUShadingLanguageRI/UintLiteralType.js: Added.

(let.UintLiteralType.createLiteralType.verifyAsArgument):

  • WebGPUShadingLanguageRI/UnificationContext.js:

(UnificationContext.prototype.verify):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

11:20 AM Changeset in webkit [222037] by Ryan Haddad
  • 2 edits in trunk/Tools

Unreviewed, rolling out r221868.

Rolling out this change while we investigate test262 failures.

Reverted changeset:

"Turn on exception scope verification for JSC tests."
https://bugs.webkit.org/show_bug.cgi?id=162351
http://trac.webkit.org/changeset/221868

11:09 AM Changeset in webkit [222036] by commit-queue@webkit.org
  • 19 edits
    3 adds in trunk

Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-14
Reviewed by Devin Rousso.

Source/WebCore:

Test: inspector/timeline/timeline-event-EventDispatch.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):

  • inspector/TimelineRecordFactory.h:

Append a boolean defaultPrevented property on the EventDispatch timeline record's data.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New string.

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.

  • UserInterface/Views/ScriptDetailsTimelineView.js:

(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.

LayoutTests:

  • inspector/timeline/resources/timeline-event-utilities.js: Added.

(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.

  • inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
  • inspector/timeline/timeline-event-EventDispatch.html: Added.

Test for Timeline's EventDispatch records. Ensure it has
the new "defaultPrevented" details data.

11:05 AM Changeset in webkit [222035] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Disable Arity Fixup Inlining until crash in facebook.com is fixed
https://bugs.webkit.org/show_bug.cgi?id=176917

Reviewed by Saam Barati.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):

  • runtime/Options.h:
11:04 AM Changeset in webkit [222034] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Fixed typo in expectations.

Unreviewed test expectations.

  • platform/mac/TestExpectations:
10:55 AM Changeset in webkit [222033] by achristensen@apple.com
  • 25 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's drawHeader, drawFooter, headerHeight, and footerHeight
https://bugs.webkit.org/show_bug.cgi?id=176889
<rdar://problem/29270035>

Reviewed by Andy Estes.

Source/WebKit:

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadAlternateHTMLString):
(WKPageLoadAlternateHTMLStringWithUserData):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::headerHeight):
(WebKit::UIDelegate::UIClient::footerHeight):
(WebKit::UIDelegate::UIClient::drawHeader):
(WebKit::UIDelegate::UIClient::drawFooter):

  • UIProcess/Cocoa/WKReloadFrameErrorRecoveryAttempter.mm:

(-[WKReloadFrameErrorRecoveryAttempter attemptRecovery]):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::printOperationWithPrintInfo):

  • UIProcess/FrameLoadState.cpp:

(WebKit::FrameLoadState::didStartProvisionalLoad):
(WebKit::FrameLoadState::didReceiveServerRedirectForProvisionalLoad):
(WebKit::FrameLoadState::didFailProvisionalLoad):
(WebKit::FrameLoadState::didCommitLoad):
(WebKit::FrameLoadState::didSameDocumentNotification):
(WebKit::FrameLoadState::setUnreachableURL):
(WebKit::FrameLoadState::FrameLoadState): Deleted.

  • UIProcess/FrameLoadState.h:

(WebKit::FrameLoadState::url const):
(WebKit::FrameLoadState::provisionalURL const):
(WebKit::FrameLoadState::unreachableURL const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::loadURL):
(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameProxy::didSameDocumentNavigation):
(WebKit::WebFrameProxy::setUnreachableURL):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::url const):
(WebKit::WebFrameProxy::provisionalURL const):
(WebKit::WebFrameProxy::unreachableURL const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadAlternateHTMLString):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didChangeProvisionalURLForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidChangeProvisionalURL):
(WebKit::WebFrameLoaderClient::dispatchDidChangeLocationWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPushStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidReplaceStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidPopStateWithinPage):
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLInFrame):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[PrintDelegate _webView:printFrame:]):
(-[PrintDelegate _webViewHeaderHeight:]):
(-[PrintDelegate _webViewFooterHeight:]):
(-[PrintDelegate _webView:drawHeaderInRect:forPageWithTitle:URL:]):
(-[PrintDelegate _webView:drawFooterInRect:forPageWithTitle:URL:]):
(callbacksEqual):
(TEST):

  • TestWebKitAPI/cocoa/TestWKWebView.h:
  • TestWebKitAPI/cocoa/TestWKWebView.mm:

(-[TestWKWebView hostWindow]):

10:53 AM Changeset in webkit [222032] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] Add a switch to start the mini-browser in full-screen mode
https://bugs.webkit.org/show_bug.cgi?id=176904

Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/main.c:

(main):

10:38 AM Changeset in webkit [222031] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Follow up expectations to r222008.

Unreviewed test gardening.

  • platform/ios/TestExpectations:
10:17 AM Changeset in webkit [222030] by Ryan Haddad
  • 19 edits
    15 deletes in trunk

Unreviewed, rolling out r222015.

The LayoutTests added with this change are flaky.

Reverted changeset:

"Web Inspector: Timeline should show when events
preventDefault() was called on an event or not"
https://bugs.webkit.org/show_bug.cgi?id=176824
http://trac.webkit.org/changeset/222015

9:56 AM Changeset in webkit [222029] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix a typo that was preventing a test from running.

  • WebGPUShadingLanguageRI/Test.js:
9:45 AM Changeset in webkit [222028] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] Fail to build using internal jhbuild if libgtk3-dev is not installed in the system
https://bugs.webkit.org/show_bug.cgi?id=176778

Reviewed by Carlos Alberto Lopez Perez.

We are building gtk+ in the jhbuild with introspection disabled, but Gtk-3.gir is required to build the
WebKitGTK+ introspection. Also, if wayland-protocols is not installed, gtk+ is built without the wayland backend
and it's no possible to enable the wayland target in WebKitGTK+ either.

  • gtk/jhbuild.modules: Do not disable introspection when building gtk+ and add wayland-protocols as a dependency.
9:43 AM Changeset in webkit [222027] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit

[GTK][Wayland] Flickering when resizing the window
https://bugs.webkit.org/show_bug.cgi?id=176774

Reviewed by Michael Catanzaro.

This regressed when we switched to always start the wayland compositor. In
AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState() we check if the nested compositor is
running, which is always true now (if EGL and the required extensions are available). We should check if we are
in AC mode instead.

  • UIProcess/AcceleratedDrawingAreaProxy.cpp:

(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):

9:35 AM Changeset in webkit [222026] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Allow passing sequences to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176892

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-14
Reviewed by Sam Weinig.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/sequences.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::uniform1uiv):
(WebCore::WebGL2RenderingContext::uniform2uiv):
(WebCore::WebGL2RenderingContext::uniform3uiv):
(WebCore::WebGL2RenderingContext::uniform4uiv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x3fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix2x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x2fv):
(WebCore::WebGL2RenderingContext::uniformMatrix3x4fv):
(WebCore::WebGL2RenderingContext::uniformMatrix4x3fv):
(WebCore::WebGL2RenderingContext::vertexAttribI4iv):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/sequences-expected.txt: Added.
  • fast/canvas/webgl/webgl2/sequences.html: Added.
9:22 AM Changeset in webkit [222025] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebCore

[Cleanup] Cleanup uses of the FileList class
https://bugs.webkit.org/show_bug.cgi?id=176800

Patch by Sam Weinig <sam@webkit.org> on 2017-09-14
Reviewed by Alex Christensen.

  • fileapi/FileList.cpp:
  • fileapi/FileList.h:

Store list of files as Refs, rather than RefPtrs.
Add direct accessor to the underlying Vector for faster iteration.
Add file(unsigned) function to allow direct indexing, rather than using
the DOM exposed item function which always does a length check.

  • Modules/entriesapi/HTMLInputElementEntriesAPI.cpp:

Remove unused RuntimeEnabledFeatures.h #include.
Use modern for loop and the new direct file vector access.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):
(WebCore::CloneDeserializer::readTerminal):

Remove unnecessary #includes, adopt auto, and use modern for-loop
for FileList.

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::files const):
(WebCore::DataTransfer::hasFileOfType):

Use auto.

(WebCore::DataTransfer::createForInputEvent):

Use initializer list for the typeToStringMap.

  • dom/DataTransferItemList.cpp:

(WebCore::DataTransferItemList::ensureItems const):

Use auto and modern for-loop for FileList.

  • html/FileInputType.cpp:

(WebCore::FileInputType::filesFromFormControlState):
(WebCore::FileInputType::saveFormControlState const):
(WebCore::FileInputType::appendFormData const):
(WebCore::FileInputType::handleDOMActivateEvent):
(WebCore::FileInputType::getTypeSpecificValue):
(WebCore::FileInputType::disabledAttributeChanged):
(WebCore::FileInputType::multipleAttributeChanged):
(WebCore::FileInputType::setFiles):
(WebCore::FileInputType::receiveDroppedFiles):
(WebCore::FileInputType::defaultToolTip const):

Adopt auto, brace-initialization, and modern for-loops.

  • html/FileListCreator.cpp:

(WebCore::appendDirectoryFiles):
(WebCore::FileListCreator::createFileList):

Update to work in terms of Vector<Ref<File>>.

  • html/FormController.h:

(WebCore::FormControlState::FormControlState):

Re-format existing constructors and add one that takes an r-value
Vector<String> to allow construction from a pre-created list (used
in FileInputType::saveFormControlState)

  • platform/DragData.h:
  • platform/gtk/DragDataGtk.cpp:

(WebCore::DragData::asFilenames const):

  • platform/mac/DragDataMac.mm:

(WebCore::DragData::asFilenames const):

  • platform/win/DragDataWin.cpp:

(WebCore::DragData::asFilenames const):

Convert asFilenames to return, rather than take, a Vector<String>.

9:15 AM Changeset in webkit [222024] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222008. rdar://problem/34426473

9:15 AM Changeset in webkit [222023] by jmarcell@apple.com
  • 3 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222005. rdar://problem/34426487

9:15 AM Changeset in webkit [222022] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r221968. rdar://problem/34169683

9:09 AM Changeset in webkit [222021] by Ryan Haddad
  • 1 edit
    1 add in trunk/LayoutTests

Rebaseline fast/forms/append-children-during-form-submission.html for iOS.

Unreviewed test gardening.

  • platform/ios/fast/forms/append-children-during-form-submission-expected.txt: Added.
8:37 AM Changeset in webkit [222020] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[Harfbuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition() when target point is at the middle of a character
https://bugs.webkit.org/show_bug.cgi?id=176897

Reviewed by Michael Catanzaro.

We should include the character when the point is greater than the center of the character.

Fixes: fast/multicol/hit-test-end-of-column-with-line-height.html

fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):

7:20 AM Changeset in webkit [222019] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark svg/as-image/svg-image-with-data-uri-use-data-uri.svg as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176901

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:12 AM Changeset in webkit [222018] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Fix typo in entries-api test names.

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:17 AM Changeset in webkit [222017] by Yusuke Suzuki
  • 21 edits
    1 add in trunk

[JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray
https://bugs.webkit.org/show_bug.cgi?id=176867

Reviewed by Sam Weinig.

JSTests:

  • microbenchmarks/object-get-own-property-symbols.js: Added.

(test):

Source/JavaScriptCore:

We rarely require private symbols when enumerating property names.
This patch adds PrivateSymbolMode::{Include,Exclude}. If PrivateSymbolMode::Exclude
is specified, PropertyNameArray does not include private symbols.
This removes many ad-hoc Identifier::isPrivateName() in enumeration operations.

One additional good thing is that we do not need to filter private symbols out from PropertyNameArray.
It allows us to use Object.keys()'s fast path for Object.getOwnPropertySymbols.

object-get-own-property-symbols 48.6275+-1.0021 38.1846+-1.7934 definitely 1.2735x faster

  • API/JSObjectRef.cpp:

(JSObjectCopyPropertyNames):

  • bindings/ScriptValue.cpp:

(Inspector::jsToInspectorValue):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):

  • runtime/EnumerationMode.h:
  • runtime/IntlObject.cpp:

(JSC::supportedLocales):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):

  • runtime/JSPropertyNameEnumerator.cpp:

(JSC::JSPropertyNameEnumerator::create):

  • runtime/JSPropertyNameEnumerator.h:

(JSC::propertyNameEnumerator):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptors):
(JSC::objectConstructorAssign):
(JSC::objectConstructorValues):
(JSC::defineProperties):
(JSC::setIntegrityLevel):
(JSC::testIntegrityLevel):
(JSC::ownPropertyKeys):

  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::propertyNameMode const):
(JSC::PropertyNameArray::privateSymbolMode const):
(JSC::PropertyNameArray::addUncheckedInternal):
(JSC::PropertyNameArray::addUnchecked):
(JSC::PropertyNameArray::add):
(JSC::PropertyNameArray::isUidMatchedToTypeMode):
(JSC::PropertyNameArray::includeSymbolProperties const):
(JSC::PropertyNameArray::includeStringProperties const):
(JSC::PropertyNameArray::mode const): Deleted.

  • runtime/ProxyObject.cpp:

(JSC::ProxyObject::performGetOwnPropertyNames):

Source/WebCore:

  • bindings/js/JSDOMConvertRecord.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):

  • bridge/NP_jsobject.cpp:

(_NPN_Enumerate):

Source/WebKit:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::enumerate):

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::enumerate):

2:22 AM Changeset in webkit [222016] by rniwa@webkit.org
  • 1 edit
    2 copies in trunk/LayoutTests

Reverted r222014, and added El Capitan specific result for fast/forms/append-children-during-form-submission.html

  • fast/forms/append-children-during-form-submission-expected.txt: Reverted r222014.
  • platform/mac-elcapitan/fast/forms/append-children-during-form-submission-expected.txt: Added.
12:57 AM Changeset in webkit [222015] by commit-queue@webkit.org
  • 19 edits
    15 adds in trunk

Web Inspector: Timeline should show when events preventDefault() was called on an event or not
https://bugs.webkit.org/show_bug.cgi?id=176824
<rdar://problem/34290931>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-14
Reviewed by Devin Rousso.

Source/WebCore:

Tests: inspector/timeline/timeline-event-CancelAnimationFrame.html

inspector/timeline/timeline-event-EventDispatch.html
inspector/timeline/timeline-event-FireAnimationFrame.html
inspector/timeline/timeline-event-RequestAnimationFrame.html
inspector/timeline/timeline-event-TimerFire.html
inspector/timeline/timeline-event-TimerInstall.html
inspector/timeline/timeline-event-TimerRemove.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchEvent):
Include defaultPrevented when notifying inspector.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didDispatchEventImpl):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didDispatchEvent):
(WebCore::InspectorInstrumentation::didDispatchEventOnWindow):
Pass defaultPrevented on to agent.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didDispatchEvent):
(WebCore::InspectorTimelineAgent::didLayout):
(WebCore::InspectorTimelineAgent::didPaint):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::appendLayoutRoot):
(WebCore::TimelineRecordFactory::appendDidDispatchEventData):

  • inspector/TimelineRecordFactory.h:

Append a boolean defaultPrevented property on the EventDispatch timeline record's data.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:

New string.

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.prototype._processRecord):
Include the whole data object as extra details.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WI.ScriptTimelineRecord):
(WI.ScriptTimelineRecord.prototype.get extraDetails):
Wholesale copy of the extra data instead of just a single property.

  • UserInterface/Views/ScriptDetailsTimelineView.js:

(WI.ScriptDetailsTimelineView):
Give the name column more initial space, there is still extra space
after this adjustment but name is comfortably larger (and the most
likely to be expanded).

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WI.ScriptTimelineDataGridNode.prototype.get subtitle):
Include "default prevented" as the event's subtitle if it was prevented.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Agent.prototype.dispatchEvent):
(InspectorBackend.Agent):

  • UserInterface/Test.html:
  • UserInterface/Test/Test.js:

(WI.loaded):
Add the ScriptProfilerObserver to tests since it is on by default for Timelines.

LayoutTests:

  • inspector/timeline/resources/timeline-event-utilities.js: Added.

(TestPage.registerInitializer.window.captureTimelineWithScript):
(TestPage.registerInitializer):
(finishRecording):
Helper code for creating a recording from a function.

  • inspector/timeline/timeline-event-CancelAnimationFrame-expected.txt: Added.
  • inspector/timeline/timeline-event-CancelAnimationFrame.html: Added.
  • inspector/timeline/timeline-event-EventDispatch-expected.txt: Added.
  • inspector/timeline/timeline-event-EventDispatch.html: Added.
  • inspector/timeline/timeline-event-FireAnimationFrame-expected.txt: Added.
  • inspector/timeline/timeline-event-FireAnimationFrame.html: Added.
  • inspector/timeline/timeline-event-RequestAnimationFrame-expected.txt: Added.
  • inspector/timeline/timeline-event-RequestAnimationFrame.html: Added.
  • inspector/timeline/timeline-event-TimerFire-expected.txt: Added.
  • inspector/timeline/timeline-event-TimerFire.html: Added.
  • inspector/timeline/timeline-event-TimerInstall-expected.txt: Added.
  • inspector/timeline/timeline-event-TimerInstall.html: Added.
  • inspector/timeline/timeline-event-TimerRemove-expected.txt: Added.
  • inspector/timeline/timeline-event-TimerRemove.html: Added.

Tests for different, specific, Timeline domain EventTypes.
This includes EventDispatch with its new "defaultPrevented" details data.

12:37 AM Changeset in webkit [222014] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline a test after r222005.

  • fast/forms/append-children-during-form-submission-expected.txt:
12:01 AM Changeset in webkit [222013] by commit-queue@webkit.org
  • 12 edits
    1 add in trunk

Introduce the option to mark an HTML element as having AutoFill available.
https://bugs.webkit.org/show_bug.cgi?id=176710

Patch by Maureen Daum <mdaum@apple.com> on 2017-09-14
Reviewed by Alex Christensen.

Source/WebCore:

Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isValueAutofillAvailable const):
Check if the field is explicitly marked as having AutoFill available.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):

  • html/HTMLInputElement.h:

(WebCore::HTMLInputElement::isAutoFillAvailable const):
(WebCore::HTMLInputElement::setAutoFillAvailable):

Source/WebKit:

Introduce the option to mark an HTML element as having AutoFill available. Accessibility
can use this property when deciding whether to announce that the focused field offers
AutoFill.

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

(WKBundleNodeHandleGetHTMLInputElementAutoFillAvailable):
(WKBundleNodeHandleSetHTMLInputElementAutoFillAvailable):

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::isAutoFillAvailable const):
(WebKit::InjectedBundleNodeHandle::setAutoFillAvailable):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:

Tools:

Add an API test that verifies after we mark a field as having AutoFill available,
Accessibility also considers it to have AutoFill available.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add AutoFillAvailable.mm
  • TestWebKitAPI/Tests/WebKitCocoa/AutoFillAvailable.mm: Added.

Create an input element, mark it as having AutoFill available, then focus it so that
we can get the accessibility information for it. Ask accessibility whether it considers
the field to have AutoFill available, and pick the alert message based on that.
(-[AutoFillAvailable webProcessPlugIn:didCreateBrowserContextController:]):

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(TEST):
(-[AutoFillAvailableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
Verify that we get the alert message indicating that accessibility indeed considers
the input element as having AutoFill available after we explicitly marked it as so.

Sep 13, 2017:

11:57 PM Changeset in webkit [222012] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/WebCore

[Curl] Move response related features into ResourceResponse
https://bugs.webkit.org/show_bug.cgi?id=174654

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-13
Reviewed by Alex Christensen.

  • platform/Curl.cmake:
  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::isHttpRedirect): Deleted.
(WebCore::isHttpAuthentication): Deleted.
(WebCore::isHttpNotModified): Deleted.
(WebCore::isAppendableHeader): Deleted.
(WebCore::ResourceHandleCurlDelegate::didReceiveHeaderLine): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename const): Deleted.

  • platform/network/curl/ResourceResponseCurl.cpp: Added.

(WebCore::ResourceResponse::isAppendableHeader):
(WebCore::ResourceResponse::appendHTTPHeaderField):
(WebCore::ResourceResponse::setStatusLine):
(WebCore::ResourceResponse::platformSuggestedFilename const):
(WebCore::ResourceResponse::isRedirection const):
(WebCore::ResourceResponse::isNotModified const):
(WebCore::ResourceResponse::isUnauthorized const):

11:19 PM Changeset in webkit [222011] by don.olmstead@sony.com
  • 2 edits in trunk

[CMake] Detect harfbuzz without pkgconfig
https://bugs.webkit.org/show_bug.cgi?id=176886

Reviewed by Michael Catanzaro.

  • Source/cmake/FindHarfBuzz.cmake:
11:10 PM Changeset in webkit [222010] by rniwa@webkit.org
  • 3 edits
    1 move in trunk/LayoutTests

Fix a typo in the directory name: editing/pasteboard/enties-api.

Rubber-stamped by Wenson Hsieh.

  • editing/pasteboard/entries-api: Renamed from LayoutTests/editing/pasteboard/enties-api.
  • platform/win/TestExpectations:
  • platform/wk2/TestExpectations:
9:21 PM Changeset in webkit [222009] by mark.lam@apple.com
  • 39 edits
    1 delete in trunk

Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%.
https://bugs.webkit.org/show_bug.cgi?id=176888
<rdar://problem/34381832>

Not reviewed.

JSTests:

  • stress/op_mod-ConstVar.js:
  • stress/op_mod-VarConst.js:
  • stress/op_mod-VarVar.js:

Source/JavaScriptCore:

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/MacroAssembler.cpp:

(JSC::stdFunctionCallback):

  • assembler/MacroAssemblerPrinter.cpp:

(JSC::Printer::printCallback):

  • assembler/ProbeContext.h:

(JSC::Probe:: const):
(JSC::Probe::Context::Context):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe::CPUState::gpr const): Deleted.
(JSC::Probe::CPUState::spr const): Deleted.
(JSC::Probe::Context::arg): Deleted.
(JSC::Probe::Context::gpr const): Deleted.
(JSC::Probe::Context::spr const): Deleted.
(JSC::Probe::Context::fpr const): Deleted.

  • assembler/ProbeFrame.h: Removed.
  • assembler/ProbeStack.cpp:

(JSC::Probe::Page::Page):

  • assembler/ProbeStack.h:

(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):

  • bytecode/ArithProfile.cpp:
  • bytecode/ArithProfile.h:
  • bytecode/ArrayProfile.h:

(JSC::ArrayProfile::observeArrayMode): Deleted.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::addressOfOSRExitCounter):

  • bytecode/ExecutionCounter.h:

(JSC::ExecutionCounter::hasCrossedThreshold const): Deleted.
(JSC::ExecutionCounter::setNewThresholdForOSRExit): Deleted.

  • bytecode/MethodOfGettingAValueProfile.cpp:

(JSC::MethodOfGettingAValueProfile::reportValue): Deleted.

  • bytecode/MethodOfGettingAValueProfile.h:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::findPC):

  • dfg/DFGJITCode.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::setPatchableCodeOffset):
(JSC::DFG::OSRExit::getPatchableCodeOffsetAsJump const):
(JSC::DFG::OSRExit::codeLocationForRepatch const):
(JSC::DFG::OSRExit::correctJump):
(JSC::DFG::OSRExit::emitRestoreArguments):
(JSC::DFG::OSRExit::compileOSRExit):
(JSC::DFG::OSRExit::compileExit):
(JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure):
(JSC::DFG::jsValueFor): Deleted.
(JSC::DFG::restoreCalleeSavesFor): Deleted.
(JSC::DFG::saveCalleeSavesFor): Deleted.
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer): Deleted.
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer): Deleted.
(JSC::DFG::saveOrCopyCalleeSavesFor): Deleted.
(JSC::DFG::createDirectArgumentsDuringExit): Deleted.
(JSC::DFG::createClonedArgumentsDuringExit): Deleted.
(JSC::DFG::emitRestoreArguments): Deleted.
(JSC::DFG::OSRExit::executeOSRExit): Deleted.
(JSC::DFG::reifyInlinedCallFrames): Deleted.
(JSC::DFG::adjustAndJumpToTarget): Deleted.
(JSC::DFG::printOSRExit): Deleted.

  • dfg/DFGOSRExit.h:

(JSC::DFG::OSRExitState::OSRExitState): Deleted.

  • dfg/DFGOSRExitCompilerCommon.cpp:
  • dfg/DFGOSRExitCompilerCommon.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::osrExitThunkGenerator): Deleted.

  • dfg/DFGThunks.h:
  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::debugCall):

  • jit/AssemblyHelpers.h:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • profiler/ProfilerOSRExit.h:

(JSC::Profiler::OSRExit::incCount): Deleted.

  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:
  • runtime/VM.h:
8:48 PM Changeset in webkit [222008] by Alan Bujtas
  • 8 edits
    2 adds in trunk

Switch multicolumn's spanner map from raw over to weak pointers.
https://bugs.webkit.org/show_bug.cgi?id=176367
<rdar://problem/34254896>

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/multicol/spanner-crash-when-adding-summary.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::evacuateAndDestroy):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::firstRendererInFlowThread const):
(WebCore::RenderMultiColumnSet::lastRendererInFlowThread const):

  • rendering/RenderMultiColumnSpannerPlaceholder.cpp:

(WebCore::RenderMultiColumnSpannerPlaceholder::RenderMultiColumnSpannerPlaceholder):

  • rendering/RenderMultiColumnSpannerPlaceholder.h:

LayoutTests:

  • fast/multicol/spanner-crash-when-adding-summary-expected.txt: Added.
  • fast/multicol/spanner-crash-when-adding-summary.html: Added.
8:32 PM Changeset in webkit [222007] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Move class/struct used in other class' member out of anonymous namespace
https://bugs.webkit.org/show_bug.cgi?id=176876

Reviewed by Saam Barati.

GCC warns if a class has a base or field whose type uses the anonymous namespace
and it is defined in an included file. This is because this possibly violates
one definition rule (ODR): if an included file has the anonymous namespace, each
translation unit creates its private anonymous namespace. Thus, each type
inside the anonymous namespace becomes different in each translation unit if
the file is included in multiple translation units.

While the current use in JSC is not violating ODR since these cpp files are included
only once for unified sources, specifying -Wno-subobject-linkage could miss
the actual bugs. So, in this patch, we just move related classes/structs out of
the anonymous namespace.

  • dfg/DFGIntegerCheckCombiningPhase.cpp:

(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::addition):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::arrayBounds):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::operator! const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::hash const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::operator== const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKey::dump const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::RangeKeyAndAddend):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::operator! const):
(JSC::DFG::IntegerCheckCombiningPhase::RangeKeyAndAddend::dump const):
(JSC::DFG::IntegerCheckCombiningPhase::Range::dump const):

  • dfg/DFGLICMPhase.cpp:
8:12 PM Changeset in webkit [222006] by wilander@apple.com
  • 27 edits
    23 adds in trunk

Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/34414107>

Reviewed by Alex Christensen.

Source/WebCore:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:

  • A new readonly attribute, document.hasStorageAccess.
  • A new function, document.requestStorageAccess().
  • A new iframe sandbox token, allow-storage-access-by-user-activation.

Tests: http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html

http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html
http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html
http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html
http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html
http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html
http/tests/storageAccess/request-storage-access-same-origin-iframe.html
http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html
http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html
http/tests/storageAccess/request-storage-access-top-frame.html

  • dom/Document.cpp:

(WebCore::Document::requestStorageAccess):

  • dom/Document.h:

(WebCore::Document::hasStorageAccess const):
(WebCore::Document::setUserGrantsStorageAccessOverride):

See comments on WebCore::Internals below.

  • dom/Document.idl:
  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):

Support for allow-storage-access-by-user-activation.

  • dom/SecurityContext.h:
  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::registerStorageAccess):

Newly granted storage access is reported to
WebCore::ResourceLoadObserver.

  • loader/ResourceLoadObserver.h:
  • loader/ResourceLoadStatistics.cpp:

(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::mergeHashSet):
(WebCore::ResourceLoadStatistics::merge):

Storage of the new type of data.

  • loader/ResourceLoadStatistics.h:
  • page/Settings.in:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUserGrantsStorageAccess):

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

Added setUserGrantsStorageAccess(). It is used to
override the eventSender's keyboard input which
always results in a cancel action on the confirm()
dialog.

Source/WebKit:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:

  • A new readonly attribute, document.hasStorageAccess.
  • A new function, document.requestStorageAccess().
  • A new iframe sandbox token, allow-storage-access-by-user-activation.
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):

Storage handling of the new type of data.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetStorageAccessAPIEnabled):
(WKPreferencesGetStorageAccessAPIEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

Bumped the model version from 9 to 10.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

Turns the feature on for tests.

LayoutTests:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:

  • A new readonly attribute, document.hasStorageAccess.
  • A new function, document.requestStorageAccess().
  • A new iframe sandbox token, allow-storage-access-by-user-activation.
  • TestExpectations:
  • http/tests/storageAccess: Added.
  • http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-and-deny-storage-access-cross-origin-iframe.html: Added.
  • http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-iframe.html: Added.
  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-iframe.html: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
  • http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html: Added.
  • http/tests/storageAccess/request-storage-access-top-frame-expected.txt: Added.
  • http/tests/storageAccess/request-storage-access-top-frame.html: Added.
  • http/tests/storageAccess/resources: Added.
  • http/tests/storageAccess/resources/request-storage-access-iframe.html: Added.
  • platform/mac-wk2/TestExpectations:

New test cases that require a user gesture marked as [ Pass ].
Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.

  • platform/wk2/TestExpectations:

New test case request-storage-access-top-frame.html marked as [ Pass ].

6:49 PM Changeset in webkit [222005] by Wenson Hsieh
  • 3 edits
    2 adds in trunk

Submitting a form can cause HTMLFormElement's associated elements vector to be mutated during iteration
https://bugs.webkit.org/show_bug.cgi?id=176368
<rdar://problem/34254998>

Reviewed by Ryosuke Niwa.

Source/WebCore:

In the process of iterating over form.associatedElements() during form submission in FormSubmission::create, the
page may cause us to clobber the vector of FormAssociatedElements* we're currently iterating over by inserting
new form controls beneath the form element we're in the process of submitting. This happens because
FormSubmission::create calls HTMLTextAreaElement::appendFormData, which requires layout to be up to date, which
in turn makes us updateLayout() and set focus, which fires a change event, upon which the page's JavaScript
inserts additonal DOM nodes into the form, modifying the vector of associated elements.

To mitigate this, instead of iterating over HTMLFormElement::associatedElements(), which returns a reference to
the HTMLFormElement's actual m_associatedElements vector, we iterate over a new vector of
Ref<FormAssociatedElement>s created from m_associatedElements.

This patch also removes an event dispatch assertion added in r212026. This assertion was added to catch any
other events dispatched in this scope, since dispatching events there would have had security implications, but
after making iteration over associated elements robust, this NoEventDispatchAssertion is no longer useful.

Test: fast/forms/append-children-during-form-submission.html

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

LayoutTests:

Adds a new test to make sure we don't crash when mutating a form's associated elements during form submission.

  • fast/forms/append-children-during-form-submission-expected.txt: Added.
  • fast/forms/append-children-during-form-submission.html: Added.
6:44 PM Changeset in webkit [222004] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

[Apple Pay] Consider phoneticName when encoding ContactFields
https://bugs.webkit.org/show_bug.cgi?id=176885
<rdar://problem/34176419>

Reviewed by Tim Horton.

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ContactFields>::encode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ContactFields>::decode):

6:30 PM WebKitGTK/2.16.x edited by clopez@igalia.com
(diff)
5:32 PM Changeset in webkit [222003] by webkit@devinrousso.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: allow recordings to be saved via ⌘-S in the Recording tab
https://bugs.webkit.org/show_bug.cgi?id=175284

Reviewed by Matt Baker.

  • UserInterface/Views/RecordingContentView.js:

(WI.RecordingContentView.prototype.get supportsSave):
(WI.RecordingContentView.prototype.get saveData):

  • UserInterface/Views/RecordingNavigationSidebarPanel.js:

(WI.RecordingNavigationSidebarPanel.prototype._exportNavigationItemClicked):
Use the current content view's saveData when exporting.

4:50 PM Changeset in webkit [222002] by webkit@devinrousso.com
  • 13 edits
    2 adds in trunk

Web Inspector: Event Listeners section does not update when listeners are added/removed
https://bugs.webkit.org/show_bug.cgi?id=170570
<rdar://problem/31501645>

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/protocol/DOM.json:

Add two new events: "didAddEventListener" and "willRemoveEventListener". These events do not
contain any information about the event listeners that were added/removed. They serve more
as indications that something has changed, and to refetch the data again via getEventListenersForNode.

Source/WebCore:

Test: inspector/dom/event-listener-add-remove.html

  • dom/EventTarget.cpp:

(WebCore::EventTarget::setAttributeEventListener):
Fire willRemoveEventListener/didAddEventListener events when an attribute event listener is
replaced by another event listener.

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::didAddEventListener):
(WebCore::InspectorDOMAgent::willRemoveEventListener):
Dispatch an event to the inspector frontend whenever an event listener is added/removed.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didAddEventListenerImpl):
(WebCore::InspectorInstrumentation::willRemoveEventListenerImpl):
Tie into existing instrumentation points for adding/removing event listeners.

Source/WebInspectorUI:

  • UserInterface/Protocol/DOMObserver.js:

(WI.DOMObserver.prototype.didAddEventListener):
(WI.DOMObserver.prototype.willRemoveEventListener):

  • UserInterface/Controllers/DOMTreeManager.js:

(WI.DOMTreeManager.prototype.didAddEventListener):
(WI.DOMTreeManager.prototype.willRemoveEventListener):

  • UserInterface/Models/DOMNode.js:

Add "EventListenersChanged" event. Fired when an event listener is added or removed.

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype.addEventListeners):
(WI.DOMNodeDetailsSidebarPanel.prototype.removeEventListeners):
(WI.DOMNodeDetailsSidebarPanel.prototype._eventListenersChanged):
Refresh the event listeners section whenever a node's event listeners change.

LayoutTests:

  • inspector/dom/event-listener-add-remove-expected.txt: Added.
  • inspector/dom/event-listener-add-remove.html: Added.
4:46 PM Changeset in webkit [222001] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Sort by size issues with Cookies and ApplicationCache DataGrids
https://bugs.webkit.org/show_bug.cgi?id=176879
<rdar://problem/34237096>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-13
Reviewed by Matt Baker.

  • UserInterface/Views/ApplicationCacheFrameContentView.js:

(WI.ApplicationCacheFrameContentView.prototype._sortDataGrid):
(WI.ApplicationCacheFrameContentView.prototype._populateDataGrid):
This uses very dumb DataGridNodes with a pure data object. In that
object size is a bytes string not a number. Include the number size
in this data object that can be used during sorting.

  • UserInterface/Views/CookieStorageContentView.js:

(WI.CookieStorageContentView.prototype._rebuildTable):
Simplify creation. Also don't reset sort options. Note that here the
DataGridNodes have access to the Cookie object and can already sort size
using the cookie's size (a number) and not the data's size (string).

  • UserInterface/Views/DataGrid.js:

(WI.DataGrid.prototype.sortNodes):
(WI.DataGrid.prototype._sortNodesCallback):
If sortNodes was called twice, it would defer the sort and actually
do the sort with the first comparator and not the latest, preferred
comparator. Make it use the latest comparator.

4:38 PM Changeset in webkit [222000] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark storage/indexeddb/modern/idbtransaction-objectstore-failures.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176880

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:33 PM Changeset in webkit [221999] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Curl] Bug fix for synchronous transfer
https://bugs.webkit.org/show_bug.cgi?id=176552

Patch by Basuke Suzuki <Basuke Suzuki> on 2017-09-13
Reviewed by Alex Christensen.

ResourceHandleInternal::m_delegate is null when transfer is synchronous. It should be set ResourceHandleCurlDelegate.
Also the callback functions called when transfer is completed is wrong.

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::dispatchSynchronousJob):
(WebCore::ResourceHandleCurlDelegate::notifyFinish):
(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::ResourceHandleCurlDelegate::didReceiveData):
(WebCore::ResourceHandleCurlDelegate::willSendData):

4:20 PM Changeset in webkit [221998] by Nikita Vasilyev
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: display @media section headers
https://bugs.webkit.org/show_bug.cgi?id=176289
<rdar://problem/34228389>

Reviewed by Devin Rousso.

Prepend CSS media query selectors to every matching rule.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:

(.spreadsheet-css-declaration .media-label):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:

(WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
(WI.SpreadsheetCSSStyleDeclarationSection.prototype._createMediaHeader):
Don't localize "@media" since it's CSS code.
Don't display "all" or "screen" media query selectors. One of the goals of the
Styles sidebar redesign is to fit more data.

3:47 PM Changeset in webkit [221997] by Matt Lewis
  • 26 edits
    21 deletes in trunk

Unreviewed, rolling out r221976.

The test introduced was flaky from point of addition.

Reverted changeset:

"Introduce Storage Access API (document parts) as an
experimental feature"
https://bugs.webkit.org/show_bug.cgi?id=175759
http://trac.webkit.org/changeset/221976

3:00 PM Changeset in webkit [221996] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Followup (r221805): Address comments and add more tests
https://bugs.webkit.org/show_bug.cgi?id=176732

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-13
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/images/decode-slow-load-static-image.html

Code clean up and adding a new test to ensure multiple decode() promises
can be resolved or rejected simultaneously without any issues.

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::decode):
(WebCore::ImageLoader::decodeError):

  • loader/ImageLoader.h:
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::decode):
(WebCore::BitmapImage::callDecodingCallbacks):

  • platform/graphics/BitmapImage.h:

LayoutTests:

  • http/tests/images/decode-slow-load-static-image-expected.txt: Added.
  • http/tests/images/decode-slow-load-static-image.html: Added.
1:56 PM Changeset in webkit [221995] by commit-queue@webkit.org
  • 17 edits in trunk

Internals clearCacheStorageMemoryRepresentation should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=176818

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-13
Reviewed by Alex Christensen.

Source/WebCore:

No observable change of behavior.

  • Modules/cache/DOMCacheEngine.h:
  • testing/Internals.cpp:

(WebCore::Internals::clearCacheStorageMemoryRepresentation): Returning a promise when clearing is completed.

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

Source/WebKit:

Adding a completion handler to clearMemoryRepresentation.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::clearMemoryRepresentation):

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineConnection.cpp:

(WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):

  • NetworkProcess/cache/CacheStorageEngineConnection.h:
  • NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
  • WebProcess/Cache/WebCacheStorageConnection.cpp:

(WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
(WebKit::WebCacheStorageConnection::clearMemoryRepresentationCompleted):

  • WebProcess/Cache/WebCacheStorageConnection.h:
  • WebProcess/Cache/WebCacheStorageConnection.messages.in:

LayoutTests:

Updating tests to interact with the caches after the clearCacheStorageMemoryRepresentation promise is completed.

  • http/tests/cache-storage/cache-origins.https.html:
  • http/tests/cache-storage/cache-persistency.https.html:
1:55 PM Changeset in webkit [221994] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Fixed expectations of imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:48 PM Changeset in webkit [221993] by Nikita Vasilyev
  • 11 edits in trunk

Web Inspector: Frontend should be made to expect and handle disabled properties
https://bugs.webkit.org/show_bug.cgi?id=166787
<rdar://problem/34379593>

Reviewed by Joseph Pecoraro.

Source/WebCore:

Include disabled (commented out) CSS properties in the payload.

Tests: inspector/css/css-property.html

inspector/css/matched-style-properties.html

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::populateAllProperties const):
(WebCore::InspectorStyle::styleWithProperties const):

Source/WebInspectorUI:

This change introduces WI.CSSStyleDeclaration.prototype.allProperties getter,
that includes both enabled and disabled (commented out) CSS properties.

The existing WI.CSSStyleDeclaration.prototype.properties getter only includes enabled CSS properties,
same as before the backend change.

There is no behaviour change in the current styles sidebar. The new redesigned styles sidebar will
use disabled properties and display them as commented out.

  • UserInterface/Models/CSSProperty.js:

(WI.CSSProperty.prototype.get attached):
Rename enabled to attached, as it didn't correspond to _enabled property. Attached means that the property
is enabled and has a ownerStyle with a set index (unless it's a computed style, where index is not applicable).

(WI.CSSProperty.prototype.get enabled):

  • UserInterface/Models/CSSStyleDeclaration.js:

(WI.CSSStyleDeclaration.prototype.get allProperties):
Add allProperties getter that will be used in the new styles sidebar.

  • UserInterface/Models/DOMNodeStyles.js:

(WI.DOMNodeStyles.prototype._markOverriddenProperties):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WI.CSSStyleDeclarationTextEditor.prototype.highlightProperty.propertiesMatch):
Rename "enabled" to "attached" without any behavior change.

LayoutTests:

Add test cases for disabled (commented out) CSS properties.

  • inspector/css/css-property-expected.txt:
  • inspector/css/css-property.html:

Add test cases for previously untested enabled and newly added attached getters.

  • inspector/css/matched-style-properties.html:
1:43 PM Changeset in webkit [221992] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Test gardening
https://bugs.webkit.org/show_bug.cgi?id=176871

Patch by Alicia Boya García <aboya@igalia.com> on 2017-09-13
Reviewed by Michael Catanzaro.

  • platform/gtk/TestExpectations:
1:39 PM Changeset in webkit [221991] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Rebaseline http/tests/loading/state-object-security-exception.html after r221978.
https://bugs.webkit.org/show_bug.cgi?id=176730

Unreviewed test gardening.

  • http/tests/loading/state-object-security-exception-expected.txt:
1:39 PM WebKitGTK/2.18.x edited by clopez@igalia.com
(diff)
1:24 PM Changeset in webkit [221990] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Escape in global search field should clear it
https://bugs.webkit.org/show_bug.cgi?id=176764

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-13
Reviewed by Timothy Hatcher.

  • UserInterface/Views/QuickConsole.js:

(WI.QuickConsole.prototype._toggleOrFocus):
Don't implicitly prevent default. So if we didn't cause an action we
can let the default system action happen.

  • UserInterface/Views/SearchBar.js:

(WI.SearchBar):
Remove unused keyboard shortcuts.

1:17 PM Changeset in webkit [221989] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Fails to build because 'Float32Array' has not been declared in AudioContext.h
https://bugs.webkit.org/show_bug.cgi?id=176870

Reviewed by Konstantin Tokarev.

Add missing include of Float32Array.h

No new tests, its a build fix.

  • Modules/webaudio/AudioContext.h:
1:04 PM Changeset in webkit [221988] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

1:03 PM Changeset in webkit [221987] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.6

Tag Safari-605.1.6.

1:02 PM Changeset in webkit [221986] by aestes@apple.com
  • 17 edits in trunk/Source

[CF] Upstream CFNetwork-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176729

Reviewed by Alex Christensen.

Source/WebCore:

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/PublicSuffixMac.mm:

(WebCore::isPublicSuffix):

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdateResourceRequest):

  • platform/network/cf/SocketStreamHandleImplCFNet.cpp:

(WebCore::setCONNECTProxyForStream):
(WebCore::SocketStreamHandleImpl::createStreams):
(WebCore::setCONNECTProxyAuthorizationForStream):
(WebCore::SocketStreamHandleImpl::addCONNECTCredentials):
(WebCore::copyCONNECTProxyResponse):
(WebCore::SocketStreamHandleImpl::readStreamCallback):
(WebCore::SocketStreamHandleImpl::writeStreamCallback):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):

Source/WebCore/PAL:

  • pal/spi/cf/CFNetworkSPI.h:

Source/WebKit:

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::createSerializableRepresentation):
(IPC::dictionaryValueOfType):
(IPC::createArchiveList):
(IPC::createCFURLRequestFromSerializableRepresentation):
(IPC::createNSURLRequestFromSerializableRepresentation):
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::legacyPlatformDefaultCacheStorageDirectory):
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebView/WebView.mm:

(+[WebView _setCacheModel:]):

12:54 PM Changeset in webkit [221985] by Lucas Forschler
  • 2 edits in trunk/Tools

Compress spindumps on client side before packaging into layout test results zip (mac & ios)
https://bugs.webkit.org/show_bug.cgi?id=176853

Reviewed by Aakash Jain.

  • BuildSlaveSupport/test-result-archive:

(main):
(gzip_file): use gzip to compress a file, removing original
(compress_spindumps): find and compress spindumps matching a filter
(archive_test_results): refactor to snake_case
(archiveTestResults): Deleted.

12:38 PM WebKitGTK/Gardening/Calendar edited by aboya@igalia.com
(diff)
11:45 AM Changeset in webkit [221984] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Followup rebaseline after r221973.

Unreviewed test gardening.

  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
11:41 AM Changeset in webkit [221983] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176866

Unreviewed test gardening.

  • platform/win/TestExpectations:
11:38 AM Changeset in webkit [221982] by achristensen@apple.com
  • 12 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame, and setWindowFrame
https://bugs.webkit.org/show_bug.cgi?id=176857
<rdar://problem/29270035>

Reviewed by Tim Horton.

Source/WebKit:

isResizable is unreachable code because nothing sends Messages::WebPageProxy::GetIsResizable, so I removed it.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::setStatusBarIsVisible):
(API::UIClient::isResizable): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/glib/WebKitUIClient.cpp:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::setIsResizable):
(WebKit::UIDelegate::UIClient::setWindowFrame):
(WebKit::UIDelegate::UIClient::windowFrame):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::getIsResizable): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[ModalDelegate _webViewRunModal:]):
(-[ModalDelegate _webView:setResizable:]):
(-[WindowFrameDelegate _webView:setWindowFrame:]):
(-[WindowFrameDelegate _webView:getWindowFrameWithCompletionHandler:]):
(-[WindowFrameDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):
(-[ResizableDelegate _webView:setResizable:]):
(-[ResizableDelegate _webView:getIsResizableWithCompletionHandler:]):
(-[ResizableDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):

11:25 AM Changeset in webkit [221981] by Ryan Haddad
  • 4 edits in trunk/JSTests

Skip 3 op_mod tests on Debug JSC bots.
https://bugs.webkit.org/show_bug.cgi?id=176630

Unreviewed test gardening.

  • stress/op_mod-ConstVar.js:
  • stress/op_mod-VarConst.js:
  • stress/op_mod-VarVar.js:
11:20 AM Changeset in webkit [221980] by Antti Koivisto
  • 19 edits in trunk/Source

Make more of the CSS animation system internals element based
https://bugs.webkit.org/show_bug.cgi?id=176832

Reviewed by Zalan Bujtas.

CSS animations animate element style. Continue moving away from renderers in the animation code.

Also do some general modernization.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computeRenderStyleForProperty):

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::AnimationBase):

  • page/animation/AnimationBase.h:
  • page/animation/CSSAnimationController.cpp:

(WebCore::CSSAnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::CSSAnimationControllerPrivate::clear):
(WebCore::CSSAnimationControllerPrivate::updateAnimations):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForElement):
(WebCore::CSSAnimationControllerPrivate::isRunningAnimationOnRenderer const):
(WebCore::CSSAnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer const):
(WebCore::CSSAnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::CSSAnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::animatedStyleForElement):
(WebCore::CSSAnimationControllerPrivate::computeExtentOfAnimation const):
(WebCore::CSSAnimationController::cancelAnimations):
(WebCore::CSSAnimationController::updateAnimations):
(WebCore::CSSAnimationController::animatedStyleForRenderer):
(WebCore::CSSAnimationController::computeExtentOfAnimation const):
(WebCore::CSSAnimationController::pauseAnimationAtTime):
(WebCore::CSSAnimationController::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForRenderer): Deleted.
(WebCore::CSSAnimationControllerPrivate::getAnimatedStyleForRenderer): Deleted.
(WebCore::CSSAnimationController::getAnimatedStyleForRenderer): Deleted.

  • page/animation/CSSAnimationController.h:
  • page/animation/CSSAnimationControllerPrivate.h:
  • page/animation/CompositeAnimation.cpp:

(WebCore::CompositeAnimation::~CompositeAnimation):
(WebCore::CompositeAnimation::clearElement):
(WebCore::CompositeAnimation::updateTransitions):
(WebCore::CompositeAnimation::updateKeyframeAnimations):
(WebCore::CompositeAnimation::animate):
(WebCore::CompositeAnimation::clearRenderer): Deleted.

  • page/animation/CompositeAnimation.h:
  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::ImplicitAnimation):
(WebCore::ImplicitAnimation::animate):

  • page/animation/ImplicitAnimation.h:

(WebCore::ImplicitAnimation::create):

  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::animate):

  • page/animation/KeyframeAnimation.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::currentTransform const):

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::createRenderer):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::createAnimatedElementUpdate):

  • testing/Internals.cpp:

(WebCore::Internals::pauseAnimationAtTimeOnElement):
(WebCore::Internals::pauseAnimationAtTimeOnPseudoElement):
(WebCore::Internals::pauseTransitionAtTimeOnElement):
(WebCore::Internals::pauseTransitionAtTimeOnPseudoElement):

11:15 AM Changeset in webkit [221979] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked svg/animations/smil-leak-dynamically-added-element-instances.svg as flaky on macOS WK1.
https://bugs.webkit.org/show_bug.cgi?id=175867

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:06 AM Changeset in webkit [221978] by dbates@webkit.org
  • 6 edits
    3 adds in trunk

Make history.pushState()/replaceState() more closely aligned to the HTML standard
https://bugs.webkit.org/show_bug.cgi?id=176730
<rdar://problem/33839265>

Reviewed by Alex Christensen.

Source/WebCore:

Update history.pushState()/replaceState() to more closely align with the algorithm
specified in <https://html.spec.whatwg.org/multipage/history.html#dom-history-pushstate-2> (9 September 2017).

Test: http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html

  • page/History.cpp:

(WebCore::History::stateObjectAdded):

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::extractInnerURL): Use URL constructor that takes a base URL as opposed
to using the special ParsedURLString-variant because the latter can only be used to parse a string
returned from URL::string(). And the extracted inner URL does not meet this criterion. Using the
ParsedURLString-variant of the URL constructor with a string that is not the result of URL::string()
will cause an assertion failure in a debug build.

LayoutTests:

  • http/tests/security/history-pushState-replaceState-from-sandboxed-iframe-expected.txt: Added.
  • http/tests/security/history-pushState-replaceState-from-sandboxed-iframe.html: Added.
  • http/tests/security/history-username-password-expected.txt:
  • http/tests/security/history-username-password.html:
  • http/tests/security/resources/history-pushState-replaceState-from-sandboxed-iframe.html: Added.
10:50 AM Changeset in webkit [221977] by commit-queue@webkit.org
  • 6 edits in trunk

Add a lambda-based map for Vectors
https://bugs.webkit.org/show_bug.cgi?id=176487

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-13
Reviewed by Darin Adler.

Source/WebKit:

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::readCachesFromDisk):

Source/WTF:

This helper routine allows refactoring the reserveInitialCapacity/uncheckedAppend pattern, the mapper between source and destination item being a lambda.

  • wtf/Vector.h:

(WTF::Mapper::transform):
(WTF::Mapper::map):
(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

10:47 AM Changeset in webkit [221976] by wilander@apple.com
  • 26 edits
    21 adds in trunk

Introduce Storage Access API (document parts) as an experimental feature
https://bugs.webkit.org/show_bug.cgi?id=175759
<rdar://problem/33666847>

Reviewed by Alex Christensen.

Source/WebCore:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:

  • A new readonly attribute, document.hasStorageAccess.
  • A new function, document.requestStorageAccess().
  • A new iframe sandbox token, allow-storage-access-by-user-activation.

Tests: http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html

http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html
http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html
http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html
http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html
http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html
http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html
http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html
http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html
http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html

  • dom/Document.cpp:

(WebCore::Document::requestStorageAccess):

  • dom/Document.h:

(WebCore::Document::hasStorageAccess const):
(WebCore::Document::setUserGrantsStorageAccessOverride):

See comments on WebCore::Internals below.

  • dom/Document.idl:
  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::isSupportedSandboxPolicy):
(WebCore::SecurityContext::parseSandboxPolicy):

Support for allow-storage-access-by-user-activation.

  • dom/SecurityContext.h:
  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::registerStorageAccess):

Newly granted storage access is reported to
WebCore::ResourceLoadObserver.

  • loader/ResourceLoadObserver.h:
  • loader/ResourceLoadStatistics.cpp:

(WebCore::encodeHashSet):
(WebCore::ResourceLoadStatistics::encode const):
(WebCore::decodeHashSet):
(WebCore::ResourceLoadStatistics::decode):
(WebCore::appendHashSet):
(WebCore::ResourceLoadStatistics::toString const):
(WebCore::mergeHashSet):
(WebCore::ResourceLoadStatistics::merge):

Storage of the new type of data.

  • loader/ResourceLoadStatistics.h:
  • page/Settings.in:
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setUserGrantsStorageAccess):

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

Added setUserGrantsStorageAccess(). It is used to
override the eventSender's keyboard input which
always results in a cancel action on the confirm()
dialog.

Source/WebKit:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:

  • A new readonly attribute, document.hasStorageAccess.
  • A new function, document.requestStorageAccess().
  • A new iframe sandbox token, allow-storage-access-by-user-activation.
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceLoadStatistics>::encode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):

Storage handling of the new type of data.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetStorageAccessAPIEnabled):
(WKPreferencesGetStorageAccessAPIEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

Bumped the model version from 9 to 10.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

Turns the feature on for tests.

LayoutTests:

Storage Access API is an experimental feature which allows cross-origin,
sandboxed iframes to request access to their first-party storage (as
opposed to partitioned storage). This might be restricted to cookies or
might cover all stateful mechanisms.

It introduces the following three developer-facing things:

  • A new readonly attribute, document.hasStorageAccess.
  • A new function, document.requestStorageAccess().
  • A new iframe sandbox token, allow-storage-access-by-user-activation.
  • http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-iframe.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-deny-storage-access-cross-origin-sandboxed-iframe.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-iframe.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-and-grant-storage-access-cross-origin-sandboxed-iframe.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-cross-origin-sandboxed-iframe-without-allow-token.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-iframe.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe-without-allow-token.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-same-origin-sandboxed-iframe.html: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame-expected.txt: Added.
  • http/tests/loading/resourceLoadStatistics/request-storage-access-top-frame.html: Added.
  • http/tests/loading/resourceLoadStatistics/resources/request-storage-access-iframe.html: Added.
  • platform/mac-wk2/TestExpectations:

New test cases that require a user gesture marked as [ Pass ].
Also removed reference to (now closed) https://bugs.webkit.org/show_bug.cgi?id=175170.

  • platform/wk2/TestExpectations:

New test case request-storage-access-top-frame.html marked as [ Pass ].

10:46 AM Changeset in webkit [221975] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] DRT option --gc-between-tests is not implemented.
https://bugs.webkit.org/show_bug.cgi?id=176849

Reviewed by Brent Fulgham.

Perform GC after the test if this option is enabled. This patch also set the initial value of the flag
to true, in order to catch GC related issues in the test in which they occur.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest):

10:14 AM Changeset in webkit [221974] by Carlos Garcia Campos
  • 51 edits
    1 delete in trunk

[HarfBuzz] Wrong offset returned by HarfBuzzShaper::offsetForPosition in some cases
https://bugs.webkit.org/show_bug.cgi?id=176848

Reviewed by Michael Catanzaro.

Source/WebCore:

This patch rewrites HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition() to make it simpler and ensure we
return the right offset in all the cases, also honoring now the includePartialGlyphs parameter that we were
ignoring in FontCascade::offsetForPositionForComplexText().

Fixes several tests that started to fail after r221909.

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::offsetForPositionForComplexText const):

  • platform/graphics/harfbuzz/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
(WebCore::HarfBuzzShaper::offsetForPosition):

  • platform/graphics/harfbuzz/HarfBuzzShaper.h:

LayoutTests:

Rebaseline several tests where we are now getting results similar to the mac ones.

  • platform/gtk/editing/execCommand/findString-2-expected.txt:
  • platform/gtk/editing/selection/14971-expected.png:
  • platform/gtk/editing/selection/14971-expected.txt:
  • platform/gtk/editing/selection/4895428-2-expected.png:
  • platform/gtk/editing/selection/4895428-2-expected.txt:
  • platform/gtk/editing/selection/5232159-expected.png:
  • platform/gtk/editing/selection/5232159-expected.txt:
  • platform/gtk/editing/selection/collapse-selection-in-bidi-expected.txt:
  • platform/gtk/editing/selection/drag-select-1-expected.png:
  • platform/gtk/editing/selection/drag-select-1-expected.txt:
  • platform/gtk/editing/selection/editable-links-expected.png:
  • platform/gtk/editing/selection/editable-links-expected.txt:
  • platform/gtk/editing/selection/fake-doubleclick-expected.txt:
  • platform/gtk/editing/selection/fake-drag-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-1-expected.png:
  • platform/gtk/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-2-expected.png:
  • platform/gtk/editing/selection/select-across-readonly-input-2-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-3-expected.png:
  • platform/gtk/editing/selection/select-across-readonly-input-3-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-4-expected.png:
  • platform/gtk/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/gtk/editing/selection/select-across-readonly-input-5-expected.png:
  • platform/gtk/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.png:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.png:
  • platform/gtk/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.png:
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt:
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.png:
  • platform/gtk/fast/repaint/japanese-rl-selection-repaint-expected.txt:
  • platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
  • platform/gtk/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
  • platform/gtk/fast/repaint/selection-rl-expected.png:
  • platform/gtk/fast/repaint/selection-rl-expected.txt:
  • platform/gtk/fast/text/atsui-rtl-override-selection-expected.png:
  • platform/gtk/fast/text/atsui-rtl-override-selection-expected.txt:
  • platform/gtk/fast/text/in-rendered-text-rtl-expected.txt:
  • platform/gtk/svg/custom/foreignObject-crash-on-hover-expected.txt:
  • platform/gtk/svg/text/select-text-svgfont-expected.txt: Removed.
  • platform/gtk/transitions/svg-text-shadow-transition-expected.png:
  • platform/gtk/transitions/svg-text-shadow-transition-expected.txt:
10:08 AM Changeset in webkit [221973] by Matt Lewis
  • 4 edits in trunk/LayoutTests

Rebaseline of js/dom/global-constructors-attributes.html.

Unreviewed test gardening.

  • platform/mac-elcapitan-wk2/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-sierra-wk2/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
9:23 AM Changeset in webkit [221972] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

Initialize InternalSettings member variable.
https://bugs.webkit.org/show_bug.cgi?id=176838

Reviewed by Brent Fulgham.

Initialize the m_webVREnabled member in the constructor.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::Backup):

9:03 AM Changeset in webkit [221971] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Make WebGLRenderingContextBase::TypedList::data() const-correct.
https://bugs.webkit.org/show_bug.cgi?id=176833

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Sam Weinig.

No change of behavior.

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::validateUniformMatrixParameters):

  • html/canvas/WebGLRenderingContextBase.h:

(WebCore::WebGLRenderingContextBase::TypedList::data const):

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::uniform1fv):
(WebCore::GraphicsContext3D::uniform2fv):
(WebCore::GraphicsContext3D::uniform3fv):
(WebCore::GraphicsContext3D::uniform4fv):
(WebCore::GraphicsContext3D::uniform1iv):
(WebCore::GraphicsContext3D::uniform2iv):
(WebCore::GraphicsContext3D::uniform3iv):
(WebCore::GraphicsContext3D::uniform4iv):
(WebCore::GraphicsContext3D::uniformMatrix2fv):
(WebCore::GraphicsContext3D::uniformMatrix3fv):
(WebCore::GraphicsContext3D::uniformMatrix4fv):
(WebCore::GraphicsContext3D::vertexAttrib1fv):
(WebCore::GraphicsContext3D::vertexAttrib2fv):
(WebCore::GraphicsContext3D::vertexAttrib3fv):
(WebCore::GraphicsContext3D::vertexAttrib4fv):

8:48 AM Changeset in webkit [221970] by Yusuke Suzuki
  • 3 edits
    1 add in trunk

[JSC] Fix Array allocation in Object.keys
https://bugs.webkit.org/show_bug.cgi?id=176826

Reviewed by Saam Barati.

JSTests:

  • stress/object-own-property-keys.js: Added.

(shouldBe):

Source/JavaScriptCore:

When isHavingABadTime() is true, array allocation does not become ArrayWithContiguous.
We check isHavingABadTime() in ownPropertyKeys fast path.
And we also ensures that ownPropertyKeys uses putDirect operation instead of put by a test.

  • runtime/ObjectConstructor.cpp:

(JSC::ownPropertyKeys):

8:31 AM Changeset in webkit [221969] by weinig@apple.com
  • 6 edits
    2 deletes in trunk

Remove CanvasRenderingContext2D.commit(), it is a no-op and not part the standard
https://bugs.webkit.org/show_bug.cgi?id=176821

Reviewed by Darin Adler.

Source/WebCore:

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:


Remove the commit operation. It is no longer part the standard (it was
moved to OffscreenCanvasRenderingContext2D) and it was a no-op.

LayoutTests:

  • fast/canvas/commit-expected.txt: Removed.
  • fast/canvas/commit.html: Removed.
  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-2d.html:


Remove CanvasRenderingContext2D.commit() from test and update result.

8:02 AM Changeset in webkit [221968] by mrajca@apple.com
  • 2 edits in trunk/Source/WebCore

Ensure the user interacted with the page before setting m_userHasInteractedWithMediaElement
https://bugs.webkit.org/show_bug.cgi?id=176816

Reviewed by Eric Carlson.

Currently, when the user presses a keyboard shortcut in the client to reload a page, that may
get registered as a user gesture on the reloaded page. Before setting the
m_userHasInteractedWithMediaElement flag, we should check if a user gesture was actually handled
by checking the userDidInteractWithPage flag. In case of key events that aren't handled by the
page, this will be set to false by EventHandler:

If the key event was not handled, do not treat it as user interaction with the page.
if (topDocument && !wasHandled)

topDocument->setUserDidInteractWithPage(savedUserDidInteractWithPage);

We need to revisit this in the future in webkit.org/b/176817 and ensure user gesture tokens
don't carry over across reloads of the page.

Tests: I wasn't able to trigger the pathological scenario this aims to fix with a test that calls
window.location.reload() from a synthetic keyDown event.

  • dom/Document.cpp:

(WebCore::Document::noteUserInteractionWithMediaElement):

4:47 AM Changeset in webkit [221967] by commit-queue@webkit.org
  • 7 edits in trunk

Disallow passing null values to various WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=176829

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Test: fast/canvas/webgl/webgl2/bindings.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::beginQuery):
(WebCore::WebGL2RenderingContext::getQueryParameter):
(WebCore::WebGL2RenderingContext::samplerParameteri):
(WebCore::WebGL2RenderingContext::samplerParameterf):
(WebCore::WebGL2RenderingContext::getSamplerParameter):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::waitSync):
(WebCore::WebGL2RenderingContext::getSyncParameter):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getTransformFeedbackVarying):
(WebCore::WebGL2RenderingContext::getUniformIndices):
(WebCore::WebGL2RenderingContext::getUniformBlockIndex):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockParameter):
(WebCore::WebGL2RenderingContext::getActiveUniformBlockName):
(WebCore::WebGL2RenderingContext::uniformBlockBinding):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/bindings-expected.txt:
  • fast/canvas/webgl/webgl2/bindings.html:
4:17 AM Changeset in webkit [221966] by svillar@igalia.com
  • 17 edits
    43 adds in trunk

[WebVR] Add IDLs and stubs
https://bugs.webkit.org/show_bug.cgi?id=174202

Reviewed by Dean Jackson.

Source/WebCore:

Adding the complete set of IDLs for the WebVR 1.1 spec including the interface stubs which
currently do nothing.

Tests: webvr/webvr-disabled.html

webvr/webvr-enabled.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/webvr/DOMWindowWebVR.idl: Added.
  • Modules/webvr/GamepadWebVR.cpp: Added.

(WebCore::GamepadWebVR::GamepadWebVR):
(WebCore::GamepadWebVR::~GamepadWebVR):
(WebCore::GamepadWebVR::displayId):

  • Modules/webvr/GamepadWebVR.h: Added.
  • Modules/webvr/GamepadWebVR.idl: Added.
  • Modules/webvr/NavigatorWebVR.cpp: Added.

(WebCore::NavigatorWebVR::getVRDisplays):
(WebCore::NavigatorWebVR::activeVRDisplays):
(WebCore::NavigatorWebVR::vrEnabled):

  • Modules/webvr/NavigatorWebVR.h: Added.
  • Modules/webvr/NavigatorWebVR.idl: Added.
  • Modules/webvr/VRDisplay.cpp: Added.

(WebCore::VRDisplay::create):
(WebCore::VRDisplay::VRDisplay):
(WebCore::VRDisplay::isConnected const):
(WebCore::VRDisplay::isPresenting const):
(WebCore::VRDisplay::capabilities const):
(WebCore::VRDisplay::stageParameters const):
(WebCore::VRDisplay::getEyeParameters const):
(WebCore::VRDisplay::displayId const):
(WebCore::VRDisplay::displayName const):
(WebCore::VRDisplay::getFrameData const):
(WebCore::VRDisplay::getPose const):
(WebCore::VRDisplay::resetPose):
(WebCore::VRDisplay::depthNear const):
(WebCore::VRDisplay::setDepthNear):
(WebCore::VRDisplay::depthFar const):
(WebCore::VRDisplay::setDepthFar):
(WebCore::VRDisplay::requestAnimationFrame):
(WebCore::VRDisplay::cancelAnimationFrame):
(WebCore::VRDisplay::requestPresent):
(WebCore::VRDisplay::exitPresent):
(WebCore::VRDisplay::getLayers const):
(WebCore::VRDisplay::submitFrame):
(WebCore::VRDisplay::hasPendingActivity const):
(WebCore::VRDisplay::activeDOMObjectName const):
(WebCore::VRDisplay::canSuspendForDocumentSuspension const):
(WebCore::VRDisplay::stop):

  • Modules/webvr/VRDisplay.h: Added.
  • Modules/webvr/VRDisplay.idl: Added.
  • Modules/webvr/VRDisplayCapabilities.cpp: Added.

(WebCore::VRDisplayCapabilities::hasPosition const):
(WebCore::VRDisplayCapabilities::hasOrientation const):
(WebCore::VRDisplayCapabilities::hasExternalDisplay const):
(WebCore::VRDisplayCapabilities::canPresent const):
(WebCore::VRDisplayCapabilities::maxLayer const):

  • Modules/webvr/VRDisplayCapabilities.h: Added.

(WebCore::VRDisplayCapabilities::create):

  • Modules/webvr/VRDisplayCapabilities.idl: Added.
  • Modules/webvr/VRDisplayEvent.cpp: Added.

(WebCore::VRDisplayEvent::VRDisplayEvent):
(WebCore::VRDisplayEvent::display const):
(WebCore::VRDisplayEvent::reason const):
(WebCore::VRDisplayEvent::eventInterface const):

  • Modules/webvr/VRDisplayEvent.h: Added.
  • Modules/webvr/VRDisplayEvent.idl: Added.
  • Modules/webvr/VRDisplayEventReason.h: Added.
  • Modules/webvr/VRDisplayEventReason.idl: Added.
  • Modules/webvr/VREye.h: Added.
  • Modules/webvr/VREye.idl: Added.
  • Modules/webvr/VREyeParameters.cpp: Added.

(WebCore::VREyeParameters::VREyeParameters):
(WebCore::VREyeParameters::offset const):
(WebCore::VREyeParameters::fieldOfView const):
(WebCore::VREyeParameters::renderWidth const):
(WebCore::VREyeParameters::renderHeight const):

  • Modules/webvr/VREyeParameters.h: Added.

(WebCore::VREyeParameters::create):

  • Modules/webvr/VREyeParameters.idl: Added.
  • Modules/webvr/VRFieldOfView.cpp: Added.

(WebCore::VRFieldOfView::upDegrees const):
(WebCore::VRFieldOfView::rightDegrees const):
(WebCore::VRFieldOfView::downDegrees const):
(WebCore::VRFieldOfView::leftDegrees const):

  • Modules/webvr/VRFieldOfView.h: Added.

(WebCore::VRFieldOfView::create):

  • Modules/webvr/VRFieldOfView.idl: Added.
  • Modules/webvr/VRFrameData.cpp: Added.

(WebCore::VRFrameData::VRFrameData):
(WebCore::VRFrameData::timestamp const):
(WebCore::VRFrameData::leftProjectionMatrix const):
(WebCore::VRFrameData::leftViewMatrix const):
(WebCore::VRFrameData::rightProjectionMatrix const):
(WebCore::VRFrameData::rightViewMatrix const):
(WebCore::VRFrameData::pose const):

  • Modules/webvr/VRFrameData.h: Added.

(WebCore::VRFrameData::create):

  • Modules/webvr/VRFrameData.idl: Added.
  • Modules/webvr/VRLayerInit.h: Added.
  • Modules/webvr/VRLayerInit.idl: Added.
  • Modules/webvr/VRPose.cpp: Added.

(WebCore::VRPose::position const):
(WebCore::VRPose::linearVelocity const):
(WebCore::VRPose::linearAcceleration const):
(WebCore::VRPose::orientation const):
(WebCore::VRPose::angularVelocity const):
(WebCore::VRPose::angularAcceleration const):

  • Modules/webvr/VRPose.h: Added.

(WebCore::VRPose::create):

  • Modules/webvr/VRPose.idl: Added.
  • Modules/webvr/VRStageParameters.cpp: Added.

(WebCore::VRStageParameters::sittingToStandingTransform const):
(WebCore::VRStageParameters::sizeX const):
(WebCore::VRStageParameters::sizeZ const):

  • Modules/webvr/VRStageParameters.h: Added.

(WebCore::VRStageParameters::create):

  • Modules/webvr/VRStageParameters.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WebCoreBuiltinNames.h:
  • dom/EventNames.h:
  • dom/EventNames.in:
  • dom/EventTargetFactory.in:
  • features.json:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebVREnabled):
(WebCore::RuntimeEnabledFeatures::webVREnabled const):

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setWebVREnabled):

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl:

Source/WebKit:

  • Shared/WebPreferencesDefinitions.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:

New tests to verify that WebVR is properly enabled/disabled at runtime.

  • webvr/webvr-disabled-expected.txt: Added.
  • webvr/webvr-disabled.html: Added.
  • webvr/webvr-enabled-expected.txt: Added.
  • webvr/webvr-enabled.html: Added.
1:04 AM Changeset in webkit [221965] by commit-queue@webkit.org
  • 7 edits in trunk

Update the type of the texture argument to framebufferTextureLayer().
https://bugs.webkit.org/show_bug.cgi?id=176785

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-13
Reviewed by Yusuke Suzuki.

This matches the specification as well as Gecko and Chromium.

Source/WebCore:

Also move getInternalformatParameter() to the position it has in the
specification, for easier comparison.

Test: fast/canvas/webgl/webgl2/bindings.html

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::framebufferTextureLayer):

  • html/canvas/WebGL2RenderingContext.h:
  • html/canvas/WebGL2RenderingContext.idl:

LayoutTests:

  • fast/canvas/webgl/webgl2/bindings-expected.txt:
  • fast/canvas/webgl/webgl2/bindings.html:
1:03 AM Changeset in webkit [221964] by jmarcell@apple.com
  • 6 edits in branches/safari-604-branch

Cherry-pick r221917. rdar://problem/34404461

1:02 AM Changeset in webkit [221963] by jmarcell@apple.com
  • 4 edits in branches/safari-604-branch

Cherry-pick r221906. rdar://problem/34404478

1:02 AM Changeset in webkit [221962] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604-branch

Cherry-pick r221711. rdar://problem/34404472

12:37 AM Changeset in webkit [221961] by zandobersek@gmail.com
  • 22 edits in trunk

[EME] Implement CDMInstanceClearKey::updateLicense()
https://bugs.webkit.org/show_bug.cgi?id=176791

Reviewed by Xabier Rodriguez-Calvar.

Source/WebCore:

Implement the updateLicense() method for CDMInstanceClearKey.
The response data is parsed as JSON, matching that agains either
'license' or 'license release acknowledgement' formats (depending
on either 'keys' or 'kids' object keys being present). If any
format is recognized, appropriate steps are taken.

In case of the 'license' format, the passed-in keys are matched
against existing ones. If some keys have changed or have been
newly introduced, the key information is sorted by key ID size
and data to enforce order. After that the KeyStatusVector object
is constructed, containing key ID and status information for all
the keys associated with this session. Finally callback is
dispatched, signalling a successful operation and passing the
KeyStatusVector, if any, back to the caller.

In case of the 'license release acknowledgement' format, the
session data for this session ID is removed from the ClearKey state
singleton. The callback is dispatched signalling the session closure
and successfull completion of the operation.

Finally, if no format is deduced, the callback is again dispatched,
but now signalling an operation failure.

No new tests -- expectations for the relevant tests are updated
to reflect the introduced changes.

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::ClearKeyState::keys):
(WebCore::ClearKeyState::singleton):
(WebCore::parseLicenseFormat):
(WebCore::parseLicenseReleaseAcknowledgementFormat):
(WebCore::CDMInstanceClearKey::updateLicense):

LayoutTests:

Update WPE baselines of the EME ClearKey tests.

  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-events-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input-expected.txt:
12:17 AM Changeset in webkit [221960] by rniwa@webkit.org
  • 14 edits
    4 adds in trunk/Source

Refactor WebContentReader out of EditorMac and EditorIOS
https://bugs.webkit.org/show_bug.cgi?id=176770

Reviewed by Sam Weinig.

Source/WebCore:

Extracted WebContentReader.h, WebContentReaderMac.mm, and WebContentIOS.mm from Pasteboard.h,
EditorMac.mm, and EditorIOS.mm respectively.

Also moved createFragmentAndAddResources from EditorCocoa.mm to WebContentReaderCocoa.mm
and createFragmentForImageAndURL and createFragmentForImageResourceAndAddResource to markup.cpp.

  • Configurations/WebCore.xcconfig:
  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/Editor.cpp:

(WebCore::Editor::createFragmentForImageAndURL): Deleted.

  • editing/Editor.h:
  • editing/WebContentReader.h: Added.
  • editing/cocoa/EditorCocoa.mm:

(WebCore::Editor::replaceSelectionWithAttributedString):
(WebCore::Editor::createFragment): Deleted.
(WebCore::Editor::createFragmentForImageResourceAndAddResource): Deleted.
(WebCore::Editor::createFragmentAndAddResources): Deleted.

  • editing/cocoa/WebContentReaderCocoa.mm: Added.

(WebCore::createFragmentForImageResourceAndAddResource):
(WebCore::createFragment):
(WebCore::createFragmentAndAddResources):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::WebContentReader): Moved to WebContentReaderIOS.mm.

  • editing/ios/WebContentReaderIOS.mm: Added.

(WebCore::WebContentReader::addFragment):
(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentReader::readFilenames):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readPlainText):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::WebContentReader): Moved to WebContentReaderMac.mm.

  • editing/mac/WebContentReaderMac.mm: Added.

(WebCore::WebContentReader::readWebArchive):
(WebCore::WebContentReader::readFilenames):
(WebCore::WebContentReader::readHTML):
(WebCore::WebContentReader::readRTFD):
(WebCore::WebContentReader::readRTF):
(WebCore::WebContentReader::readImage):
(WebCore::WebContentReader::readURL):
(WebCore::WebContentReader::readPlainText):

  • editing/markup.cpp:

(WebCore::createFragmentForImageAndURL):
(WebCore::createFragmentForImageResourceAndAddResource):

  • editing/markup.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebEditorClient.mm:
12:02 AM Changeset in webkit [221959] by Yusuke Suzuki
  • 42 edits
    1 add in trunk

[DFG] Optimize WeakMap::get by adding intrinsic and fixup
https://bugs.webkit.org/show_bug.cgi?id=176010

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/weak-map-key.js: Added.

(assert):
(objectKey):
(let.start.Date.now):

Source/JavaScriptCore:

It reveals that Ember.js consumes 3.8% of execution time for WeakMap#get.
It is used for meta property for objects (see peekMeta function in Ember.js).

This patch optimizes WeakMap#get.

  1. We use inlineGet to inline WeakMap#get operation in the native function.

Since this native function itself is very small, we should inline HashMap#get
entirely in this function.

  1. We add JSWeakMapType and JSWeakSetType. This allows us to perform isJSWeakMap()

very fast. And this patch wires this to DFG and FTL to add WeakMapObjectUse and WeakSetObjectUse
to drop unnecessary type checking. We add fixup rules for WeakMapGet DFG node by using WeakMapObjectUse,
ObjectUse, and Int32Use.

  1. We add intrinsic for WeakMap#get, and handle it in DFG and FTL. We use MapHash to

calculate hash value for the key's Object and use this hash value to look up value from
JSWeakMap's HashMap. Currently, we just call the operationWeakMapGet function in DFG and FTL.
It is worth considering that implementing this operation entirely in JIT, like GetMapBucket.
But anyway, the current one already optimizes the performance, so we leave this for the subsequent
patches.

We currently do not implement any other intrinsics (like, WeakMap#has, WeakSet) because they are
not used in Ember.js right now.

This patch optimizes WeakMap#get by 50%.

baseline patched

weak-map-key 88.6456+-3.9564 59.1502+-2.2406 definitely 1.4987x faster

  • bytecode/DirectEvalCodeCache.h:

(JSC::DirectEvalCodeCache::tryGet):

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationFromClassInfo):
(JSC::speculationFromJSType):
(JSC::speculationFromString):

  • bytecode/SpeculatedType.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::SafeToExecuteEdge::operator()):
(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculateWeakMapObject):
(JSC::DFG::SpeculativeJIT::speculateWeakSetObject):
(JSC::DFG::SpeculativeJIT::speculate):
(JSC::DFG::SpeculativeJIT::compileWeakMapGet):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGUseKind.cpp:

(WTF::printInternal):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):
(JSC::DFG::isCell):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileWeakMapGet):
(JSC::FTL::DFG::LowerDFGToB3::lowWeakMapObject):
(JSC::FTL::DFG::LowerDFGToB3::lowWeakSetObject):
(JSC::FTL::DFG::LowerDFGToB3::speculate):
(JSC::FTL::DFG::LowerDFGToB3::speculateWeakMapObject):
(JSC::FTL::DFG::LowerDFGToB3::speculateWeakSetObject):

  • jit/JITOperations.h:
  • runtime/HashMapImpl.h:

(JSC::WeakMapHash::hash):
(JSC::WeakMapHash::equal):

  • runtime/Intrinsic.cpp:

(JSC::intrinsicName):

  • runtime/Intrinsic.h:
  • runtime/JSType.h:
  • runtime/JSWeakMap.h:

(JSC::isJSWeakMap):

  • runtime/JSWeakSet.h:

(JSC::isJSWeakSet):

  • runtime/WeakMapBase.cpp:

(JSC::WeakMapBase::get):

  • runtime/WeakMapBase.h:

(JSC::WeakMapBase::HashTranslator::hash):
(JSC::WeakMapBase::HashTranslator::equal):
(JSC::WeakMapBase::inlineGet):

  • runtime/WeakMapPrototype.cpp:

(JSC::WeakMapPrototype::finishCreation):
(JSC::getWeakMap):
(JSC::protoFuncWeakMapGet):

  • runtime/WeakSetPrototype.cpp:

(JSC::getWeakSet):

Source/WebCore:

  • platform/network/curl/CurlJobManager.cpp:

(WebCore::CurlJobList::finishJobs):

Source/WTF:

Add inlineGet method with HashTranslator.

  • wtf/HashMap.h:

(WTF::X>::inlineGet const):
(WTF::MappedTraits>::inlineGet const):
(WTF::MappedTraits>::fastGet const): Deleted.

  • wtf/LoggingHashMap.h:
Note: See TracTimeline for information about the timeline view.