Timeline



Sep 20, 2017:

11:49 PM Changeset in webkit [222314] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

inspector/dom/content-node-region-info.html and inspector/dom/content-flow tests crashing
https://bugs.webkit.org/show_bug.cgi?id=177249
<rdar://problem/34559968>

Unreviewed.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getNamedFlowCollection):

Fix crashing by adding a few lines of removed code back.

10:45 PM Changeset in webkit [222313] by jmarcell@apple.com
  • 5 edits in tags/Safari-605.1.7/Source

Cherry-pick r222287. rdar://problem/34458622

8:36 PM Changeset in webkit [222312] by Joseph Pecoraro
  • 26 edits in trunk/JSTests

Unreviewed follow-up to r222311.

  • test262/harness/sta.js:
  • test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js:
  • test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js:
  • test262/test/built-ins/Array/from/calling-from-valid-2.js:
  • test262/test/built-ins/Array/from/elements-added-after.js:
  • test262/test/built-ins/Array/from/elements-deleted-after.js:
  • test262/test/built-ins/Array/from/elements-updated-after.js:
  • test262/test/built-ins/Array/from/from-array.js:
  • test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js:
  • test262/test/built-ins/Array/from/mapfn-throws-exception.js:
  • test262/test/built-ins/Array/from/source-array-boundary.js:
  • test262/test/built-ins/Array/from/source-object-constructor.js:
  • test262/test/built-ins/Array/from/source-object-iterator-1.js:
  • test262/test/built-ins/Array/from/source-object-iterator-2.js:
  • test262/test/built-ins/Array/from/source-object-length.js:
  • test262/test/built-ins/Array/from/source-object-missing.js:
  • test262/test/built-ins/Array/from/source-object-without.js:
  • test262/test/built-ins/Array/from/this-null.js:
  • test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js:
  • test262/test/language/line-terminators/S7.3_A3.2_T1.js:
  • test262/test/language/literals/numeric/7.8.3-1gs.js:
  • test262/test/language/literals/numeric/7.8.3-2gs.js:
  • test262/test/language/literals/numeric/7.8.3-3gs.js:
  • test262/test/language/literals/regexp/7.8.5-1gs.js:
  • test262/test/language/literals/string/7.8.4-1gs.js:

Fix some files that I failed to update when I applied my patch.

8:23 PM Changeset in webkit [222311] by Joseph Pecoraro
  • 7086 edits
    21 moves
    6689 adds
    932 deletes in trunk

Update test262 tests
https://bugs.webkit.org/show_bug.cgi?id=177220

Reviewed by Saam Barati and Yusuke Suzuki.

JSTests:

  • test262.yaml:
  • test262/test262-Revision.txt:

New rebaselined expectations for all tests.

  • test262/*:

Updated.

Tools:

  • Scripts/import-test262-tests:
  • better detect upstream git repository url from import location
  • update JSTest test262 resources when importing from repository
  • take seconds instead of 20+ minutes to write yaml with --failures
  • update "negative" command to only include just the exception type
8:05 PM Changeset in webkit [222310] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Remove redundant SelectionSubtreeData functions.
https://bugs.webkit.org/show_bug.cgi?id=177288

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos const):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear const): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos): Deleted.
(): Deleted.

7:55 PM Changeset in webkit [222309] by commit-queue@webkit.org
  • 25 edits in trunk/Source

[Win] WTF: Add alias for process id to use in place of direct uses of pid_t
https://bugs.webkit.org/show_bug.cgi?id=177017

Patch by Stephan Szabo <stephan.szabo@sony.com> on 2017-09-20
Reviewed by Alex Christensen.

Source/JavaScriptCore:

  • API/JSRemoteInspector.cpp:

(JSRemoteInspectorSetParentProcessInformation):

  • API/JSRemoteInspector.h:
  • inspector/remote/RemoteInspector.h:

Source/WebKit:

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetNetworkProcessIdentifier):
(WKContextGetDatabaseProcessIdentifier):

  • UIProcess/API/C/WKContextPrivate.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageGetProcessIdentifier):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::processIdentifier const):

  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):

  • UIProcess/Launcher/ProcessLauncher.h:

(WebKit::ProcessLauncher::processIdentifier const):

  • UIProcess/ProcessAssertion.cpp:

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAndUIAssertion::ProcessAndUIAssertion):

  • UIProcess/ProcessAssertion.h:

(WebKit::ProcessAssertion::ProcessAssertion):

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::didConnectToProcess):

  • UIProcess/ProcessThrottler.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::processIdentifier const):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::networkProcessIdentifier):
(WebKit::WebProcessPool::storageProcessIdentifier):

  • UIProcess/WebProcessPool.h:

Source/WTF:

  • wtf/ProcessID.h:

(WTF::getCurrentProcessID):

7:48 PM Changeset in webkit [222308] by Chris Dumez
  • 12 edits in trunk

[WK2] Add API to get the redirect chain of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176628
<rdar://problem/34338279>

Reviewed by Alex Christensen.

Source/WebKit:

Add API to get the redirect chain of a WKDwnload. The redirect chain includes redirects
that happened during initial load, before the load was converted into a download.

  • UIProcess/API/C/WKDownload.cpp:

(WKDownloadCopyRedirectChain):

  • UIProcess/API/C/WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKDownload.mm:

(-[_WKDownload originatingWebView]):
(-[_WKDownload redirectChain]):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::willSendRequest):

  • UIProcess/Downloads/DownloadProxy.h:

(WebKit::DownloadProxy::setRedirectChain):
(WebKit::DownloadProxy::redirectChain const):

  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::didStartProvisionalLoad):
(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):

  • UIProcess/WebFrameProxy.h:

(WebKit::WebFrameProxy::redirectChain const):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::receivedPolicyDecision):

Tools:

Add API test coverage for the 2 cases:

  1. Download started as a download and is redirected while downloading.
  2. Download started as a load and was redirected during the initial load.
  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
(TEST):

6:34 PM Changeset in webkit [222307] by commit-queue@webkit.org
  • 590 edits
    3 copies
    2 moves
    930 adds
    172 deletes in trunk/LayoutTests

Refresh WPT tests up to f65af411d63ec13ee8fe208b4effd730a4a8b7fe
https://bugs.webkit.org/show_bug.cgi?id=170713

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

LayoutTests/imported/w3c:

  • resources/TestRepositories:
  • resources/import-expectations.json:
  • resources/resource-files.json:
  • web-platform-tests: Refreshed by importer.

LayoutTests:

Rebasing tests and marking some tests as failing.

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/test_wrapKey_unwrapKey.https-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/fetch/api/basic/request-headers.any.worker-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/location_hash-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt:
  • tests-options.json:
6:15 PM Changeset in webkit [222306] by achristensen@apple.com
  • 16 edits
    3 adds in trunk

Add infrastructure for adding custom headers to requests per website
https://bugs.webkit.org/show_bug.cgi?id=177255

Reviewed by Geoffrey Garen.

Source/WebCore:

Covered by API tests.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentLoader.cpp:
  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::setCustomHeaderFields):

  • loader/HTTPHeaderField.cpp: Added.

(WebCore::RFC7230::isTokenCharacter):
(WebCore::RFC7230::isDelimiter):
(WebCore::RFC7230::isVisibleCharacter):
(WebCore::RFC7230::isWhitespace):
(WebCore::RFC7230::isInRange):
(WebCore::RFC7230::isOBSText):
(WebCore::RFC7230::isQuotedTextCharacter):
(WebCore::RFC7230::isQuotedPairSecondOctet):
(WebCore::RFC7230::isCommentText):
(WebCore::RFC7230::isValidName):
(WebCore::RFC7230::isValidValue):
(WebCore::HTTPHeaderField::HTTPHeaderField):

  • loader/HTTPHeaderField.h: Added.

(WebCore::HTTPHeaderField::encode const):
(WebCore::HTTPHeaderField::decode):

Source/WebKit:

  • Shared/WebsitePolicies.cpp: Added.
  • Shared/WebsitePolicies.h:

(WebKit::WebsitePolicies::encode const):
(WebKit::WebsitePolicies::decode):

  • UIProcess/API/APIWebsitePolicies.h:
  • UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesCopyCustomHeaderFields):
(WKWebsitePoliciesSetCustomHeaderFields):

  • UIProcess/API/C/WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:

(-[_WKWebsitePolicies customHeaderFields]):
(-[_WKWebsitePolicies setCustomHeaderFields:]):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/HTTPHeaderField.cpp: Added.

(shouldRemainUnchanged):
(shouldBeInvalid):
(shouldBecome):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:

(TEST):

6:10 PM Changeset in webkit [222305] by keith_miller@apple.com
  • 3 edits
    1 move in trunk/Source/JavaScriptCore

Rename source list file to Sources.txt
https://bugs.webkit.org/show_bug.cgi?id=177283

Reviewed by Saam Barati.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt: Renamed from Source/JavaScriptCore/sources.txt.
5:35 PM Changeset in webkit [222304] by Said Abou-Hallawa
  • 5 edits
    2 adds in trunk

REGRESSION(r191731): SVGPatternElement can only reference another SVGPatternElement in the same SVG document
https://bugs.webkit.org/show_bug.cgi?id=176221

Reviewed by Tim Horton.

Source/WebCore:

According to the specs:

https://www.w3.org/TR/SVG11/filters.html#FilterElementHrefAttribute
https://www.w3.org/TR/SVG11/pservers.html#LinearGradientElementHrefAttribute
https://www.w3.org/TR/SVG11/pservers.html#RadialGradientElementHrefAttribute
https://www.w3.org/TR/SVG11/pservers.html#PatternElementHrefAttribute

The xlink:href attribute of the SVG filter, gradient and pattern elements
must reference another element within the current SVG of the same type.

In r191731, the code of SVGPatternElement::collectPatternAttributes() was
removed and replaced by RenderSVGResourcePattern::collectPatternAttributes()
to avoid cyclic reference in the pattern element. The problem is the old
code used to check whether the referenced element is<SVGPatternElement>
before casting it. This code was not copied to the new function. So we
now allow the SVGPatternElement to reference any SVG resource element.

To fix this issue, we need to prevent SVGResources from chaining an incorrect
type of element to the SVG filter, gradient and pattern elements.

We also need to use the SVGResources for getting the referenced element
when collecting the attributes for the gradient elements. SVGResources solves
the cyclic referencing issue so there is no need to repeat the same code
in many places. Also, from now on the SVGResources will have valid linked
resource only. So casting the referenced element should always be valid.

Tests: svg/custom/pattern-invalid-content-inheritance.svg

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::collectPatternAttributes const): Asserts
the linkedResource is of type RenderSVGResourcePattern.

  • rendering/svg/SVGResources.cpp:

(WebCore::SVGResources::SVGResources):
(WebCore::isChainableResource): Ensure that an SVG resource can reference
only an SVG resource with the valid type.
(WebCore::SVGResources::buildCachedResources):

  • rendering/svg/SVGResources.h:

LayoutTests:

  • svg/custom/pattern-invalid-content-inheritance-expected.svg: Added.
  • svg/custom/pattern-invalid-content-inheritance.svg: Added.
5:30 PM Changeset in webkit [222303] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark transitions/transition-display-property.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177284

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:21 PM Changeset in webkit [222302] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/wpt/resource-timing/rt-resource-errors.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177282

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:11 PM Changeset in webkit [222301] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix string capitalization

5:09 PM Changeset in webkit [222300] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

4:19 PM Changeset in webkit [222299] by jmarcell@apple.com
  • 11 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222097. rdar://problem/34508516

4:13 PM Changeset in webkit [222298] by dbates@webkit.org
  • 7 edits
    3 adds in trunk

Spelling and grammar dots should not overlap
https://bugs.webkit.org/show_bug.cgi?id=177265
<rdar://problem/34556424>

Reviewed by David Hyatt.

Source/WebCore:

A line may contain both spelling and grammar errors such that these errors overlap.
For example, "to mooof or not to mooof.". It is more pleasing aesthetically to
paint spelling and grammar dots such that they do not overlap. This also matches
AppKit's behavior.

A side benefit of this change is that it adds support infrastructure towards
implementing the CSS Pseudo-Elements Module Level 4 pseudo elements ::spelling-error
and ::grammar-error (see <https://bugs.webkit.org/show_bug.cgi?id=175784>).
It will also make it straightforward to add ::inactive-selection and allow us
to make ::selection conform to CSS Pseudo-Elements Module Level 4.

  • CMakeLists.txt: Add file MarkerSubrange.cpp.
  • WebCore.xcodeproj/project.pbxproj: Add files MarkerSubrange.{cpp, h}.
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker): Modified to take a const MarkerSubrange&
instead of a RenderedDocumentMarker&.
(WebCore::InlineTextBox::paintTextMatchMarker): Modified to take a const MarkerSubrange&
instead of a RenderedDocumentMarker& and take a boolean as to whether the text match is active.
(WebCore::InlineTextBox::paintDocumentMarkers): Collect the subranges that need to be
painted, subdivide them preserving only the frontmost subrange when two or more subranges
overlap and paint the resulting subranges.
(WebCore::lineStyleForMarkerType): Deleted; converted to a lambda function inlined
in paintDocumentMarker() as this is the only place we made use of this function.

  • rendering/InlineTextBox.h:
  • rendering/MarkerSubrange.cpp: Added.

(WebCore::subdivide): Subdivides the specified list of subranges and returns a list of non-overlapping
subranges in paint order. The implementation of subdivide() is derived from an algorithm that
Said Abou-Hallawa came up with.

  • rendering/MarkerSubrange.h: Added.

(WebCore::MarkerSubrange::MarkerSubrange):

Tools:

Add unit tests for the subdivision algorithm.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/MarkerSubrange.cpp: Added.

(WebCore::operator<<):
(WebCore::operator==):
(TestWebKitAPI::TEST):

4:08 PM Changeset in webkit [222297] by keith_miller@apple.com
  • 8 edits
    1 move
    2 adds in trunk

JSC Xcode build should use unified sources for platform independent files
https://bugs.webkit.org/show_bug.cgi?id=177190

Reviewed by Saam Barati.

.:

Add a macro for collecting the set of "header" source files and adding the bundle
files to the "sources" list.

  • Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

This patch changes the Xcode build to use unified sources. The
main difference from a development perspective is that instead of
added source files to Xcode they need to be added to the shared
sources.txt. For now, platform specific files are still added
to the JavaScriptCore target.

Because Xcode needs to know about all the files before we generate
them all the unified source files need to be added to the
JavaScriptCore framework target. As a result, if we run out of
bundle files more will need to be added to the project. Currently,
there are no spare files. If adding more bundle files becomes
problematic we can change this.

LowLevelInterpreter.cpp can't be added to the unified source list yet
due to a clang bug.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • sources.txt: Added.

Source/WTF:

Add a new directory for build scripts that are forwarded to subsequent framework builds.

  • Scripts/generate-unified-source-bundles.rb: Renamed from Source/WTF/generate-unified-source-bundles.rb.
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
4:05 PM Changeset in webkit [222296] by Michael Catanzaro
  • 4 edits in trunk

REGRESSION(r222194) [WPE] Library and executable output names broken
https://bugs.webkit.org/show_bug.cgi?id=177273

Reviewed by Carlos Alberto Lopez Perez.

.:

Move the WebKit2 output name variables from here to Source/WebKit.

  • Source/cmake/OptionsWPE.cmake:

Source/WebKit:

Move the WebKit2 output name variables to here from Source/cmake, since this is a better
place and where they are set on all other ports. Update them for the changes in r222194.

  • PlatformWPE.cmake:
3:41 PM Changeset in webkit [222295] by fpizlo@apple.com
  • 12 edits
    3 adds in trunk/Tools

WSL should not type-check functions in the standard library that it does not use
https://bugs.webkit.org/show_bug.cgi?id=177269

Reviewed by JS Bastien.

Once we added all of the swizzling operators, the size of the standard library ballooned to the point
where it's just not practical to compile anything anymore. If you want to compile
"int foo(int x) { return x}" then it will take some ridiculous amount of time (many seconds) because WSL
will have to type check all of those swizzling operators.

This change makes it so that after parsing the whole program, we remove the things that we aren't using.
We can make a really good estimate of what we need even before doing any name resolution. In practice,
this change removes almost all of the things from Program before we get to the hard work of type
checking. That's true because the standard library contains _many_ things and you'd have to try very
hard to use all of them.

This is a 13x speed-up for Test.js. It went from 155 seconds to 12 seconds on my machine.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/ConstexprTypeParameter.js:

(ConstexprTypeParameter.prototype.get origin):

  • WebGPUShadingLanguageRI/Intrinsics.js:
  • WebGPUShadingLanguageRI/Lexer.js:

(Lexer):
(Lexer.prototype.get originKind):

  • WebGPUShadingLanguageRI/LexerToken.js:

(LexerToken.prototype.get lexer):
(LexerToken.prototype.get origin):
(LexerToken.prototype.get originKind):
(LexerToken.prototype.get isInternal):

  • WebGPUShadingLanguageRI/NameContext.js:

(isWildcardKind):
(NameContext.prototype.add):
(NameContext.prototype.get let):
(NameContext.prototype.mapFor): Deleted.

  • WebGPUShadingLanguageRI/NameFinder.js: Added.

(NameFinder):
(NameFinder.get worklist):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/OriginKind.js: Added.

(isOriginKind):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):

  • WebGPUShadingLanguageRI/ProgramWithUnnecessaryThingsRemoved.js: Added.

(programWithUnnecessaryThingsRemoved):

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

(doTest):

  • WebGPUShadingLanguageRI/index.html:
3:27 PM Changeset in webkit [222294] by achristensen@apple.com
  • 12 edits in trunk

Remove ActionType::CSSDisplayNoneStyleSheet
https://bugs.webkit.org/show_bug.cgi?id=177275

Reviewed by Andy Estes.

Source/WebCore:

It not a real action type anyways. It was a fake action type
that stored a String indicating which ContentRuleLists had not triggered
an ignore-previous-rules action, so we should apply the default stylesheet,
which is the css-display-none selectors that match everything.

No change in behaviour. Covered by existing tests.

  • contentextensions/ContentExtensionActions.h:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeActions):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):

  • contentextensions/ContentExtensionsBackend.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open):

  • page/UserContentProvider.cpp:

(WebCore::UserContentProvider::actionsForResourceLoad):

  • page/UserContentProvider.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(WebCore::ContentExtensions::operator<<):
(TestWebKitAPI::testRequest):
(TestWebKitAPI::TEST_F):

3:08 PM Changeset in webkit [222293] by Jonathan Bedard
  • 3 edits in trunk/Tools

Device iOS 11 builds fail with FileProvider linker errors
https://bugs.webkit.org/show_bug.cgi?id=177272
<rdar://problem/34557680>

Reviewed by David Kilzer.

For iOS device and simulator, the SYSTEM_LIBRARY_DIR should never
be on the framework search path as neither platform should ever link
with Mac frameworks.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
3:03 PM Changeset in webkit [222292] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

FloatingObject should not hold a raw pointer to RootInlineBox.
https://bugs.webkit.org/show_bug.cgi?id=177266

Reviewed by Simon Fraser.

FloatingObject and RootInlineBox objects' lifetimes are very much independent from each other.

Not testable.

  • rendering/FloatingObjects.cpp:

(WebCore::FloatingObjects::clearLineBoxTreePointers):

  • rendering/FloatingObjects.h:

(WebCore::FloatingObject::originatingLine const):
(WebCore::FloatingObject::clearOriginatingLine):
(WebCore::FloatingObject::setOriginatingLine):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::removeFloatingObject):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::appendFloatingObjectToLastLine):
(WebCore::RenderBlockFlow::reattachCleanLineFloats):
(WebCore::RenderBlockFlow::determineStartPosition):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::RootInlineBox):

  • rendering/RootInlineBox.h:

(WebCore::RootInlineBox::createWeakPtr):

2:59 PM Changeset in webkit [222291] by Chris Dumez
  • 9 edits
    3 deletes in trunk/Source/WebCore

Drop legacy DOMError type
https://bugs.webkit.org/show_bug.cgi?id=177207

Reviewed by Eric Carlson.

Drop legacy DOMError type. It has been removed from the Web standards,
is no longer used by our implementation and was not exposed to the
Web in WebKit (i.e. marked as [NoInterfaceObject]).

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • Modules/mediastream/MediaEndpointSessionDescription.h:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMPromiseDeferred.cpp:
  • dom/DOMAllInOne.cpp:
  • dom/DOMError.cpp: Removed.
  • dom/DOMError.h: Removed.
  • dom/DOMError.idl: Removed.
  • platform/mock/RTCNotifiersMock.cpp:
2:47 PM Changeset in webkit [222290] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.2

Tag Safari-604.3.2.

2:28 PM Changeset in webkit [222289] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

2:17 PM Changeset in webkit [222288] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.7

Tag Safari-605.1.7.

2:09 PM Changeset in webkit [222287] by pvollan@apple.com
  • 5 edits in trunk/Source

[Win] Cannot find script to generate unified sources.
https://bugs.webkit.org/show_bug.cgi?id=177014

Reviewed by Keith Miller.

Source/JavaScriptCore:

The ruby script can now be found in WTF/Scripts in the forwarding headers folder.

Source/WTF:

Copy the ruby script to WTF/Scripts in the forwarding headers folder.

  • wtf/CMakeLists.txt:
2:01 PM Changeset in webkit [222286] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 40

Added a tag for Safari Technology Preview release 40.

2:00 PM Changeset in webkit [222285] by commit-queue@webkit.org
  • 10 edits in trunk

Unreviewed, rolling out r222254.
https://bugs.webkit.org/show_bug.cgi?id=177267

Caused fast/images/animated-gif-webkit-transform.html to time
out, and possible perf regression (Requested by smfr on
#webkit).

Reverted changeset:

"Simplify compositing layer updating"
https://bugs.webkit.org/show_bug.cgi?id=176196
http://trac.webkit.org/changeset/222254

1:54 PM Changeset in webkit [222284] by commit-queue@webkit.org
  • 1 edit
    365 adds in trunk/Source/ThirdParty/libwebrtc

Upstream googletest framework
https://bugs.webkit.org/show_bug.cgi?id=177252

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

This is used by libwebrtc.

  • Source/third_party/googletest: Added.
1:46 PM Changeset in webkit [222283] by achristensen@apple.com
  • 8 edits in trunk

Remove ActionType::InvalidAction
https://bugs.webkit.org/show_bug.cgi?id=177262

Reviewed by Tim Horton.

Source/WebCore:

This was needed before r213322 because we needed to have a default constructor.
With all these cool new C++14/17 types, we don't need this any more.

No change in behaviour.

  • contentextensions/ContentExtensionActions.h:
  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeActions):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:
  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForPingLoad):

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(WebCore::ContentExtensions::operator<<):

1:38 PM Changeset in webkit [222282] by dbates@webkit.org
  • 4 edits in trunk/Source/WebCore

RenderedDocumentMarker.h should include DocumentMarker.h
https://bugs.webkit.org/show_bug.cgi?id=177263

Reviewed by Andy Estes.

RenderedDocumentMarker extends DocumentMarker. RenderedDocumentMarker.h should
include DocumentMarker.h. Otherwise, both DocumentMarker.h and RenderedDocumentMarker.h
must be explicitly included.

  • dom/RenderedDocumentMarker.h:
  • rendering/RenderText.cpp:
  • testing/Internals.cpp:
1:09 PM Changeset in webkit [222281] by Ryan Haddad
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed, rolling out r222278.

This needs more work before it can be landed.

Reverted changeset:

"Work towards: Move test expectations from 'ios-11' to 'ios'
directory"
https://bugs.webkit.org/show_bug.cgi?id=177167
http://trac.webkit.org/changeset/222278

1:07 PM Changeset in webkit [222280] by mmaxfield@apple.com
  • 7 edits
    1 copy
    1 add in trunk/Tools

Make a playground where people can try WSL
https://bugs.webkit.org/show_bug.cgi?id=177125

Reviewed by Filip Pizlo.

This patch creates a webpage, index.html, which lets users type in a WSL program and
run it, and see the results.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitFuncDef):
(Checker.prototype._requireBool):

  • WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js: Copied from Tools/WebGPUShadingLanguageRI/CallFunction.js.

(FlattenedStructOffsetGatherer):
(FlattenedStructOffsetGatherer.prototype.get result):
(FlattenedStructOffsetGatherer.prototype.visitReferenceType):
(FlattenedStructOffsetGatherer.prototype.visitField):
(FlattenedStructOffsetGatherer.prototype.visitNativeType):

  • WebGPUShadingLanguageRI/Func.js:

(Func.prototype.toDeclString):

  • WebGPUShadingLanguageRI/Inline.js:

(resolveInlinedFunction):

  • WebGPUShadingLanguageRI/NameContext.js:

(NameContext.prototype.get let):

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

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

(TEST_shaderTypes):

  • WebGPUShadingLanguageRI/index.html: Added.
1:03 PM Changeset in webkit [222279] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

[WSL] Restrict vertex and fragment entry points according to WSL.md
https://bugs.webkit.org/show_bug.cgi?id=177253

Reviewed by Filip Pizlo.

Entry points can't have template arguments, and their argument/return types need to be restricted.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker):
(Checker.prototype._checkShaderType.NonNumericSearcher):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitArrayRefType):
(Checker.prototype._checkShaderType.NonNumericSearcher.prototype.visitPtrType):
(Checker.prototype._checkShaderType):
(Checker.prototype.visitFuncDef):
(Checker.prototype._requireBool):

  • WebGPUShadingLanguageRI/Func.js:

(Func.prototype.toDeclString):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_shaderTypes):

12:38 PM Changeset in webkit [222278] by Ryan Haddad
  • 2 edits
    1 delete in trunk/LayoutTests

Work towards: Move test expectations from 'ios-11' to 'ios' directory
https://bugs.webkit.org/show_bug.cgi?id=177167

Unreviewed test gardening.

  • platform/ios-11/TestExpectations: Removed.
  • platform/ios/TestExpectations:
12:37 PM Changeset in webkit [222277] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

Clean up content extensions code in preparation for more actions with string arguments
https://bugs.webkit.org/show_bug.cgi?id=177258

Reviewed by Tim Horton.

No change in behaviour. Covered by existing tests.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::serializeString):
(WebCore::ContentExtensions::resolvePendingDisplayNoneActions):
(WebCore::ContentExtensions::serializeActions):
(WebCore::ContentExtensions::serializeSelector): Deleted.

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadAction):
(WebCore::ContentExtensions::loadRule):

  • contentextensions/ContentExtensionRule.cpp:

(WebCore::ContentExtensions::deserializeString):
(WebCore::ContentExtensions::Action::deserialize):
(WebCore::ContentExtensions::Action::deserializeType):
(WebCore::ContentExtensions::Action::serializedLength):

  • contentextensions/ContentExtensionRule.h:

(WebCore::ContentExtensions::Action::Action):

12:30 PM Changeset in webkit [222276] by jdiggs@igalia.com
  • 4 edits
    1 add in trunk

[ATK] atk_table_get_n_rows() and atk_table_get_n_columns() should return values of aria-rowcount and aria-colcount, if present
https://bugs.webkit.org/show_bug.cgi?id=171172

Reviewed by Chris Fleizach.

Source/WebCore:

Modify webKitAccessibleTableGetNColumns() and webkitAccessibleTableGetNRows()
to prefer the ARIA value over the DOM-based value.

No new tests needed: We already have coverage through aria-table-attributes.html.
Platform expectations for this test were updated.

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(webkitAccessibleTableGetNColumns):
(webkitAccessibleTableGetNRows):

LayoutTests:

Generated platform-specific expectations to reflect the new behavior.

  • accessibility/aria-table-attributes.html: Modified to handle platform differences.
  • platform/gtk/accessibility/aria-table-attributes-expected.txt: Added.
12:07 PM WebKitGTK/2.18.x edited by berto@igalia.com
(diff)
12:04 PM Changeset in webkit [222275] by berto@igalia.com
  • 6 edits in trunk

Fix HPPA and Alpha builds
https://bugs.webkit.org/show_bug.cgi?id=177224

Reviewed by Alex Christensen.

.:

  • CMakeLists.txt:

Source/JavaScriptCore:

  • CMakeLists.txt:

Source/WTF:

  • wtf/Platform.h:
12:04 PM Changeset in webkit [222274] by commit-queue@webkit.org
  • 10 edits
    3 moves in trunk/Source/WebCore

Rename CacheStorage to DOMCacheStorage
https://bugs.webkit.org/show_bug.cgi?id=177025

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-20
Reviewed by Chris Dumez.

No change of behavior, just renaming CacheStorage class and files to DOMCacheStorage.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/cache/DOMCacheStorage.cpp: Renamed from Source/WebCore/Modules/cache/CacheStorage.cpp.

(WebCore::DOMCacheStorage::DOMCacheStorage):
(WebCore::DOMCacheStorage::origin const):
(WebCore::doSequentialMatch):
(WebCore::startSequentialMatch):
(WebCore::copyCaches):
(WebCore::DOMCacheStorage::match):
(WebCore::DOMCacheStorage::has):
(WebCore::DOMCacheStorage::retrieveCaches):
(WebCore::logConsolePersistencyError):
(WebCore::DOMCacheStorage::open):
(WebCore::DOMCacheStorage::remove):
(WebCore::DOMCacheStorage::keys):
(WebCore::DOMCacheStorage::stop):
(WebCore::DOMCacheStorage::activeDOMObjectName const):
(WebCore::DOMCacheStorage::canSuspendForDocumentSuspension const):

  • Modules/cache/DOMCacheStorage.h: Renamed from Source/WebCore/Modules/cache/CacheStorage.h.

(WebCore::DOMCacheStorage::create):

  • Modules/cache/DOMCacheStorage.idl: Renamed from Source/WebCore/Modules/cache/CacheStorage.idl.
  • Modules/cache/DOMWindowCaches.cpp:

(WebCore::DOMWindowCaches::caches):
(WebCore::DOMWindowCaches::caches const):

  • Modules/cache/DOMWindowCaches.h:
  • Modules/cache/DOMWindowCaches.idl:
  • Modules/cache/WorkerGlobalScopeCaches.cpp:

(WebCore::WorkerGlobalScopeCaches::caches):
(WebCore::WorkerGlobalScopeCaches::caches const):

  • Modules/cache/WorkerGlobalScopeCaches.h:
  • Modules/cache/WorkerGlobalScopeCaches.idl:
  • WebCore.xcodeproj/project.pbxproj:
11:10 AM Changeset in webkit [222273] by commit-queue@webkit.org
  • 8 edits in trunk/LayoutTests

Make webrtc replace track tests less flaky
https://bugs.webkit.org/show_bug.cgi?id=172645
<rdar://problem/34118218>

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

Improving stability of tests by retrying tests every 50 ms instead of once.
Doing some refactoring to put more helper routines in routine.js
Relaxing black pixel check as compression may introduce some uncertainty.
It is now considered black if RGB < (30, 30, 30).

  • TestExpectations: Marking video-mute.html as Pass/Fail instead of Fail.
  • webrtc/routines.js:
  • webrtc/video-mute.html:
  • webrtc/video-replace-muted-track.html:
  • webrtc/video-replace-track-expected.txt:
  • webrtc/video-replace-track-to-null.html:
  • webrtc/video-replace-track.html:
11:04 AM Changeset in webkit [222272] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] Cygwin 64-bit EWS process cannot find Visual Studio installation.
https://bugs.webkit.org/show_bug.cgi?id=177244

Reviewed by Alex Christensen.

The 64-bit EWS shell process should try to find Visual Studio in the 32-bit program files folder.

  • EWSTools/start-queue-win.sh:
10:55 AM Changeset in webkit [222271] by eric.carlson@apple.com
  • 11 edits in trunk/Source/WebCore

Switch PeerConnection to release logging
https://bugs.webkit.org/show_bug.cgi?id=177193
<rdar://problem/34529014>

Reviewed by Youenn Fablet.

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::PeerConnectionBackend):
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
(WebCore::PeerConnectionBackend::newICECandidate):
(WebCore::PeerConnectionBackend::doneGatheringCandidates):
(WebCore::PeerConnectionBackend::logChannel const):

  • Modules/mediastream/PeerConnectionBackend.h:

(WebCore::PeerConnectionBackend::PeerConnectionBackend): Deleted.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::addTrack):
(WebCore::RTCPeerConnection::removeTrack):
(WebCore::RTCPeerConnection::addTransceiver):
(WebCore::RTCPeerConnection::queuedCreateOffer):
(WebCore::RTCPeerConnection::queuedCreateAnswer):
(WebCore::RTCPeerConnection::queuedSetLocalDescription):
(WebCore::RTCPeerConnection::queuedSetRemoteDescription):
(WebCore::RTCPeerConnection::queuedAddIceCandidate):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):
(WebCore::RTCPeerConnection::createDataChannel):
(WebCore::RTCPeerConnection::setSignalingState):
(WebCore::RTCPeerConnection::updateIceGatheringState):
(WebCore::RTCPeerConnection::updateIceConnectionState):
(WebCore::RTCPeerConnection::updateConnectionState):
(WebCore::RTCPeerConnection::replaceTrack):
(WebCore::RTCPeerConnection::dispatchEvent):
(WebCore::RTCPeerConnection::logChannel const):
(WebCore::rtcIceGatheringStateToString): Deleted.
(WebCore::rtcIceConnectionStateToString): Deleted.

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::LibWebRTCMediaEndpoint):
(WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
(WebCore::LibWebRTCMediaEndpoint::startLoggingStats):
(WebCore::LibWebRTCMediaEndpoint::logChannel const):
(WebCore::LibWebRTCMediaEndpoint::statsLogInterval const):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:

(PAL::LogArgument<webrtc::RTCStats>::toString):

  • platform/mediastream/RTCIceConnectionState.h:

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

  • platform/mediastream/RTCIceGatheringState.h:

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

  • platform/mediastream/RTCPeerConnectionState.h:

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

  • platform/mediastream/RTCSignalingState.h:

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

10:38 AM Changeset in webkit [222270] by Chris Dumez
  • 12 edits in trunk

Video errors should be instances of Error
https://bugs.webkit.org/show_bug.cgi?id=174573
<rdar://problem/34445494>

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Rebaseline tests now that output has changed slightly.

  • web-platform-tests/html/semantics/embedded-content/media-elements/event_pause_noautoplay-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/event_play_noautoplay-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/media-elements/paused_true_during_pause-expected.txt:

Source/WebCore:

Video errors should be instances of DOMException and Error as per:

No new tests, extended existing test.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::rejectPendingPlayPromises):
(WebCore::HTMLMediaElement::noneSupported):
(WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
(WebCore::HTMLMediaElement::pauseInternal):

  • html/HTMLMediaElement.h:

LayoutTests:

  • http/tests/security/video-cross-origin-caching-expected.txt:

Rebaseline test now that output has changed slightly.

  • media/media-play-promise-reject-load-abort-expected.txt:
  • media/media-play-promise-reject-load-abort.html:

Extend test coverage.

10:31 AM Changeset in webkit [222269] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Curl] improve the implementation of FormDataStream
https://bugs.webkit.org/show_bug.cgi?id=177111

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

  • platform/network/curl/FormDataStreamCurl.cpp:

(WebCore::FormDataStream::read):
(WebCore::FormDataStream::hasMoreElements const):

  • platform/network/curl/FormDataStreamCurl.h:

(WebCore::FormDataStream::setHTTPBody):
(WebCore::FormDataStream::FormDataStream): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::prepareSendData):
(WebCore::ResourceHandleCurlDelegate::didFinish):
(WebCore::ResourceHandleCurlDelegate::didFail):
(WebCore::ResourceHandleCurlDelegate::setupFormData):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
10:21 AM Changeset in webkit [222268] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Skip inspector tests that crash after r222259.
https://bugs.webkit.org/show_bug.cgi?id=177249

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:44 AM Changeset in webkit [222267] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

Create vector swizzle operators in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177116

Reviewed by Filip Pizlo.

Because there are 481 possible swizzling operators, StandardLibrary.js generates them
instead of including them by hand.

Adding so many functions slows down the compiler quite a bit.

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(intToString):
(_generateSwizzle):

9:35 AM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
9:19 AM Changeset in webkit [222266] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/mac

Web Inspector: WebView indication highlights sticks around for WebKitLegacy views
https://bugs.webkit.org/show_bug.cgi?id=177101
<rdar://problem/34500648>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-20
Reviewed by Brian Burg.

  • WebInspector/WebNodeHighlight.mm:

Ensure we close the window that we have just removed.

9:16 AM Changeset in webkit [222265] by Jonathan Bedard
  • 2 edits in trunk/Source/WebKit

Removed nullable from UIDragItem property
https://bugs.webkit.org/show_bug.cgi?id=176264
<rdar://problem/31144674>

Unreviewed build fix

When a nullable annotation is used in a header file,
the Objective-C compiler forces annotations on the entire
file. Remove an unneeded annotation in UIKitSPI.h so that
we can build in iOS 11.

  • Platform/spi/ios/UIKitSPI.h:
9:02 AM Changeset in webkit [222264] by magomez@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Completely garbled display in GMail
https://bugs.webkit.org/show_bug.cgi?id=168964

Reviewed by Carlos Garcia Campos.

Do not try to decode images that are bigger than 32768 pixels, as cairo won't be able to render them,
and they will break the rendering of the rest of the page.

Covered by existent tests.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::isOverSize):

9:00 AM WebKitGTK/Gardening/Calendar edited by Ms2ger@igalia.com
(diff)
8:37 AM Changeset in webkit [222263] by Antti Koivisto
  • 27 edits
    4 deletes in trunk/Source/WebCore

Remove RenderNamedFlowThread and FlowThreadController
https://bugs.webkit.org/show_bug.cgi?id=177229

Reviewed by Andreas Kling.

Get rid of some parts of the rendering code for CSS Regions.

The feature is disabled, no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • rendering/FlowThreadController.cpp: Removed.
  • rendering/FlowThreadController.h: Removed.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):
(WebCore::canComputeRegionRangeForBox):
(WebCore::RenderBlock::childBoxIsUnsplittableForFragmentation const):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::determineLogicalLeftPositionForChild):
(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):
(WebCore::RenderBlockFlow::logicalHeightForChildForFragmentation const):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::borderBoxRectInRegion const):
(WebCore::RenderBox::scroll):
(WebCore::RenderBox::renderBoxRegionInfo const):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing const):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned const):
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned const):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent const):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):
(WebCore::RenderElement::hoverAncestor const):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent const):
(WebCore::RenderFlowThread::incrementAutoLogicalHeightRegions):
(WebCore::RenderFlowThread::decrementAutoLogicalHeightRegions):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::updateAlwaysCreateLineBoxes):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::paintFixedLayersInNamedFlows): Deleted.
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows): Deleted.

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

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::computeCompositingRequirementsForNamedFlowFixed): Deleted.
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTreeForNamedFlowFixed): Deleted.

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

(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread const): Deleted.

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp: Removed.
  • rendering/RenderNamedFlowThread.h: Removed.
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionRoot const):
(WebCore::RenderObject::offsetParent const):
(WebCore::RenderObject::currentRenderNamedFlowFragment const):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderGrid const):
(WebCore::RenderObject::isRenderNamedFlowThread const): Deleted.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::attachRegion):

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::parentNamedFlowThread const): Deleted.

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):
(WebCore::writeRenderRegionList): Deleted.
(WebCore::writeRenderNamedFlowThreads): Deleted.

  • rendering/RenderView.cpp:

(WebCore::RenderView::layoutContent):
(WebCore::RenderView::layoutContentInAutoLogicalHeightRegions):
(WebCore::RenderView::layout):
(WebCore::RenderView::selectionBounds const):
(WebCore::RenderView::repaintSelection const):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::styleDidChange):
(WebCore::RenderView::checkTwoPassLayoutForAutoHeightRegions const):
(WebCore::RenderView::pushLayoutStateForCurrentFlowThread):
(WebCore::RenderView::popLayoutStateForCurrentFlowThread):
(WebCore::RenderView::layoutContentToComputeOverflowInRegions): Deleted.
(WebCore::RenderView::splitSelectionBetweenSubtrees): Deleted.
(WebCore::RenderView::hasRenderNamedFlowThreads const): Deleted.
(WebCore::RenderView::flowThreadController): Deleted.

  • rendering/RenderView.h:
  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection): Deleted.

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::setSelectionData):

8:30 AM Changeset in webkit [222262] by Ms2ger@igalia.com
  • 3 edits in trunk/LayoutTests

[WPE] Unreviewed test gardening
https://bugs.webkit.org/show_bug.cgi?id=177233

Unreviewed test gardening.

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

Skip failing resource timing tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177234

Unreviewed test gardening.

  • platform/win/TestExpectations:
7:38 AM Changeset in webkit [222260] by Ms2ger@igalia.com
  • 2 edits
    1 delete in trunk/Tools

[WPE] Update fontconfig to 2.12.4.
https://bugs.webkit.org/show_bug.cgi?id=177228

Reviewed by Carlos Garcia Campos.

  • wpe/jhbuild.modules:
  • wpe/patches/fontconfig-avoid-conflicts-with-integer-width-macros-from-TS-18.patch: Removed.
5:58 AM Changeset in webkit [222259] by Antti Koivisto
  • 77 edits
    12 deletes in trunk

Remove DOM and styling support for CSS Regions
https://bugs.webkit.org/show_bug.cgi?id=177221

Reviewed by Andreas Kling.

Source/WebCore:

This patch removes all CSS Regions (aka "named flow") related code excluding rendering.

The feature is already disabled so no functional changes.

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJSNewlyCreated):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::contentToCSSValue):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::convertToRegionBreak): Deleted.

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator BreakBetween const):

  • css/CSSProperties.json:
  • css/CSSRule.cpp:
  • css/CSSRule.h:
  • css/CSSRule.idl:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchAuthorRules):
(WebCore::ElementRuleCollector::matchUserRules):
(WebCore::ElementRuleCollector::collectMatchingRulesForRegion): Deleted.

  • css/ElementRuleCollector.h:

(WebCore::ElementRuleCollector::setSameOriginOnly):
(WebCore::ElementRuleCollector::setRegionForStyling): Deleted.

  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collect):

  • css/RuleSet.cpp:

(WebCore::determinePropertyWhitelistType):
(WebCore::RuleData::RuleData):
(WebCore::RuleSet::addChildRules):
(WebCore::RuleSet::shrinkToFit):
(WebCore::RuleSet::addRegionRule): Deleted.

  • css/RuleSet.h:

(WebCore::RuleSet:: const):
(WebCore::RuleSet::regionSelectorsAndRuleSets const): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRegionBreakBetween): Deleted.
(WebCore::StyleBuilderConverter::convertRegionBreakInside): Deleted.

  • css/StyleProperties.cpp:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::State::State):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::CascadedProperties::addMatch):
(WebCore::StyleResolver::checkRegionStyle): Deleted.
(WebCore::isValidRegionStyleProperty): Deleted.

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::regionForStyling const): Deleted.
(WebCore::checkRegionSelector): Deleted.

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::destroy):
(WebCore::StyleRuleBase::copy const):
(WebCore::StyleRuleBase::createCSSOMWrapper const):
(WebCore::StyleRuleRegion::StyleRuleRegion): Deleted.

  • css/StyleRule.h:

(WebCore::StyleRuleBase::isStyleRule const):
(WebCore::StyleRuleBase::isRegionRule const): Deleted.

  • css/StyleSheetContents.cpp:

(WebCore::traverseSubresourcesInRules):

  • css/WebKitCSSRegionRule.cpp: Removed.
  • css/WebKitCSSRegionRule.h: Removed.
  • css/WebKitCSSRegionRule.idl: Removed.
  • css/parser/CSSAtRuleID.cpp:

(WebCore::cssAtRuleID):

  • css/parser/CSSAtRuleID.h:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • css/parser/CSSParserImpl.cpp:

(WebCore::CSSParserImpl::consumeAtRule):
(WebCore::CSSParserImpl::consumeRegionRule): Deleted.

  • css/parser/CSSParserImpl.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::isLegacyBreakProperty):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::mapFromLegacyBreakProperty):
(WebCore::CSSPropertyParser::consumeLegacyBreakProperty):
(WebCore::consumeFlowProperty): Deleted.
(WebCore::mapFromRegionBreakBetween): Deleted.

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):

  • dom/DOMNamedFlowCollection.cpp: Removed.
  • dom/DOMNamedFlowCollection.h: Removed.
  • dom/DOMNamedFlowCollection.idl: Removed.
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIfDimensionsOutOfDate):
(WebCore::Document::webkitGetNamedFlows): Deleted.
(WebCore::Document::namedFlows): Deleted.

  • dom/Document.h:
  • dom/Document.idl:
  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
(WebCore::Element::unregisterNamedFlowContentElement): Deleted.
(WebCore::Element::setIsNamedFlowContentElement): Deleted.
(WebCore::Element::clearIsNamedFlowContentElement): Deleted.
(WebCore::Element::rareDataIsNamedFlowContentElement const): Deleted.
(WebCore::Element::setRegionOversetState): Deleted.
(WebCore::Element::regionOversetState const): Deleted.
(WebCore::Element::renderNamedFlowFragment const): Deleted.
(WebCore::Element::shouldMoveToFlowThread const): Deleted.
(WebCore::Element::webkitRegionOverset const): Deleted.
(WebCore::Element::webkitGetRegionFlowRanges const): Deleted.

  • dom/Element.h:

(WebCore::Element::isNamedFlowContentElement const): Deleted.

  • dom/Element.idl:
  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::regionOversetState const): Deleted.
(WebCore::ElementRareData::setRegionOversetState): Deleted.
(WebCore::ElementRareData::isNamedFlowContentElement const): Deleted.
(WebCore::ElementRareData::setIsNamedFlowContentElement): Deleted.

  • dom/EventTargetFactory.in:
  • dom/NamedFlowCollection.cpp: Removed.
  • dom/NamedFlowCollection.h: Removed.
  • dom/PseudoElement.h:
  • dom/WebKitNamedFlow.cpp: Removed.
  • dom/WebKitNamedFlow.h: Removed.
  • dom/WebKitNamedFlow.idl: Removed.
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::resetNonPersistentData):
(WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask): Deleted.
(WebCore::ChangeRegionOversetTask::scheduleFor): Deleted.
(WebCore::ChangeRegionOversetTask::unschedule): Deleted.
(WebCore::ChangeRegionOversetTask::reset): Deleted.
(WebCore::ChangeRegionOversetTask::timerFired): Deleted.
(WebCore::InspectorCSSAgent::didCreateNamedFlow): Deleted.
(WebCore::InspectorCSSAgent::willRemoveNamedFlow): Deleted.
(WebCore::InspectorCSSAgent::didChangeRegionOverset): Deleted.
(WebCore::InspectorCSSAgent::regionOversetChanged): Deleted.
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement): Deleted.
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement): Deleted.
(WebCore::InspectorCSSAgent::getNamedFlowCollection): Deleted.
(WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId): Deleted.
(WebCore::InspectorCSSAgent::buildArrayForRegions): Deleted.
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow): Deleted.

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCreateNamedFlowImpl): Deleted.
(WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl): Deleted.
(WebCore::InspectorInstrumentation::didChangeRegionOversetImpl): Deleted.
(WebCore::InspectorInstrumentation::didRegisterNamedFlowContentElementImpl): Deleted.
(WebCore::InspectorInstrumentation::didUnregisterNamedFlowContentElementImpl): Deleted.

  • inspector/InspectorOverlay.cpp:

(WebCore::buildRendererHighlight):
(WebCore::buildObjectForElementData):
(WebCore::buildObjectForRegion): Deleted.
(WebCore::buildObjectForFlowRegions): Deleted.

  • page/EventHandler.cpp:

(WebCore::handleWheelEventInAppropriateEnclosingBox):

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Deleted.

  • rendering/FlowThreadController.h:
  • rendering/RegionOversetState.h: Removed.
  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::applyBeforeBreak):
(WebCore::RenderBlockFlow::applyAfterBreak):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::getRanges const):
(WebCore::RenderNamedFlowFragment::layoutBlock):
(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::computeStyleInRegion const):
(WebCore::RenderNamedFlowFragment::setRegionObjectsRegionStyle):
(WebCore::RenderNamedFlowFragment::setRegionOversetState): Deleted.
(WebCore::RenderNamedFlowFragment::regionOversetState const): Deleted.
(WebCore::RenderNamedFlowFragment::updateOversetState): Deleted.

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::clearContentElements):
(WebCore::RenderNamedFlowThread::registerNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::unregisterNamedFlowContentElement):
(WebCore::RenderNamedFlowThread::hasContentElement const):
(WebCore::RenderNamedFlowThread::flowThreadName const):
(WebCore::RenderNamedFlowThread::dispatchRegionOversetChangeEventIfNeeded):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
(WebCore::RenderNamedFlowThread::setMarkForDestruction):
(WebCore::RenderNamedFlowThread::resetMarkForDestruction):
(WebCore::RenderNamedFlowThread::isMarkedForDestruction const):
(WebCore::nextNodeInsideContentElement):

  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::installFlowThread):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/WillChangeData.cpp:

(WebCore::WillChangeData::propertyCreatesStackingContext):

  • style/RenderTreePosition.cpp:

(WebCore::RenderTreePosition::previousSiblingRenderer const):
(WebCore::RenderTreePosition::nextSiblingRenderer const):
(WebCore::RenderTreePosition::insertionPositionForFlowThread): Deleted.
(WebCore::RenderTreePosition::isRendererReparented): Deleted.

  • style/RenderTreePosition.h:

(WebCore::RenderTreePosition::RenderTreePosition):

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::RenderTreeUpdater::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::registerElementForFlowThreadIfNeeded): Deleted.

  • style/RenderTreeUpdaterGeneratedContent.cpp:

(WebCore::createContentRenderers):

  • style/StyleChange.cpp:

(WebCore::Style::determineChange):

  • style/StyleTreeResolver.cpp:

(WebCore::Style::TreeResolver::styleForElement):
(WebCore::Style::affectsRenderedSubtree):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::shouldMoveToFlowThread const): Deleted.

  • svg/SVGElement.h:

Source/WebCore/PAL:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKitLegacy/mac:

  • Configurations/FeatureDefines.xcconfig:
  • DOM/DOMCSS.mm:

(kitClass):

  • DOM/DOMElement.mm:

(-[DOMElement webkitRegionOverset]): Deleted.

5:36 AM Changeset in webkit [222258] by Ms2ger@igalia.com
  • 4 edits in trunk/Source/WebCore

Add bindings for optional arguments to some WebGL2 methods.
https://bugs.webkit.org/show_bug.cgi?id=177067

Reviewed by Antti Koivisto.

Add bindings for optional arguments to some WebGL2 methods.

No new tests: not much point in adding tests now; these methods don't
do anything anyway.

  • 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::clearBufferiv):
(WebCore::WebGL2RenderingContext::clearBufferuiv):
(WebCore::WebGL2RenderingContext::clearBufferfv):

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

Sep 19, 2017:

11:40 PM Changeset in webkit [222257] by rniwa@webkit.org
  • 5 edits
    2 adds in trunk

On Mac, dataTransfer claims to contain URL list when dropping files
https://bugs.webkit.org/show_bug.cgi?id=177219

Reviewed by Wenson Hsieh.

Source/WebCore:

Fixed the bug by removing code which was specifically adding local filenames as URLs in "text/uri-list"
when pasting or dropping files. Neither Chrome nor Firefox exhibit this behavior, and exposing local
filenames reveal sensitive information such as username.

Test: editing/pasteboard/datatransfer-types-dropping-text-file.html

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::readString):
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::absoluteURLsFromPasteboard): Deleted.

LayoutTests:

Added a regression test. For now, it only runs on Mac WK1.

  • editing/pasteboard/datatransfer-types-dropping-text-file-expected.txt: Added.
  • editing/pasteboard/datatransfer-types-dropping-text-file.html: Added.
  • platform/ios/TestExpectations:
  • platform/wk2/TestExpectations:
11:32 PM Changeset in webkit [222256] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebDriver

WebDriver: Implement commands to get and set the window rect
https://bugs.webkit.org/show_bug.cgi?id=177134

Reviewed by Brian Burg.

We are currently implementing the selenium legacy ones, we should implement the w3c ones instead.

https://w3c.github.io/webdriver/webdriver-spec.html#resizing-and-positioning-windows

  • Session.cpp:

(WebDriver::Session::getToplevelBrowsingContextRect): Helper to get the window rect. This is used by both get
and set window rect commands.
(WebDriver::Session::moveToplevelBrowsingContextwindow): Helper to ask automation to move the window.
(WebDriver::Session::resizeToplevelBrowsingContextwindow): Helper to ask automation to resize the window.
(WebDriver::Session::getWindowRect): Handle prompts and then call getToplevelBrowsingContextRect().
(WebDriver::Session::setWindowRect): Handle prompts and then move and resize the window according to the given
parameters and finish the operation calling getToplevelBrowsingContextRect().

  • Session.h:
  • WebDriverService.cpp:

(WebDriver::WebDriverService::getWindowRect): Ask the session to get the window rect.
(WebDriver::valueAsNumberInRange): Helper to check a value is a valid number in the given range.
(WebDriver::WebDriverService::setWindowRect): Get and check size and position from parameters and then ask the
session to set the window rect.

  • WebDriverService.h:
11:29 PM Changeset in webkit [222255] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: wrong response in case of errors
https://bugs.webkit.org/show_bug.cgi?id=177127

Reviewed by Brian Burg.

I misunderstood the spec when I implemented this, so we either return a "value" key with the result in case of
success or the error object as the body in case of error. We should always add a "value" key to the body and set
it with either the result or the error object.

https://w3c.github.io/webdriver/webdriver-spec.html#dfn-send-an-error

  • WebDriverService.cpp:

(WebDriver::WebDriverService::sendResponse const):

11:16 PM Changeset in webkit [222254] by Simon Fraser
  • 10 edits in trunk

Simplify compositing layer updating
https://bugs.webkit.org/show_bug.cgi?id=176196

Reviewed by Zalan Bujtas.

Source/WebCore:

Remove compositing layer updating from the updateLayerPositions() code path, which
was problematic because it wasn't pre-order. Instead, just rely on post-layout
compositing updates, which now need to do geometry updates. Micro benchmarking shows
this to be no slower.

We can remove the 'OnHitTest' update type, since we always ensure that layout is updated
before hit testing now.

Also remove a code path that could trigger updateGeometry() during a style change, and
in response to images loads, which were bad because layout may not be up-to-date at this time.

Tested by existing compositing tests. Rebaselined two tests after confirming they are progressions.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects const):

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

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::contentChanged):
(WebCore::RenderLayerBacking::updateAfterLayout): Deleted.

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

(WebCore::RenderLayerCompositor::updateCompositingLayers):
(WebCore::RenderLayerCompositor::layerStyleChanged):
(WebCore::operator<<):

  • rendering/RenderLayerCompositor.h:

LayoutTests:

New baselines.

  • scrollingcoordinator/ios/sync-layer-positions-after-scroll-expected.txt:
  • tiled-drawing/background-transparency-toggle-expected.txt:
11:13 PM Changeset in webkit [222253] by Simon Fraser
  • 48 edits in trunk/Source

Do more math in terms of FloatSizes and FloatPoints
https://bugs.webkit.org/show_bug.cgi?id=177217

Reviewed by Zalan Bujtas.
Source/WebCore:

Add operator/(const FloatSize&, const FloatSize&), GraphicsContext::translate(const FloatPoint&),
FloatRect.scale(FloatSize) and AffineTransform::translate(const FloatSize&)
and use them in lots of places to do math in terms of points and sizes.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawImage):
(WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:offset:]):

  • platform/Theme.cpp:

(WebCore::Theme::drawNamedImage const):

  • platform/graphics/CrossfadeGeneratedImage.cpp:

(WebCore::drawCrossfadeSubimage):
(WebCore::CrossfadeGeneratedImage::draw):

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::center const):
(WebCore::FloatRect::scale):

  • platform/graphics/FloatSize.h:

(WebCore::operator/):

  • platform/graphics/GradientImage.cpp:

(WebCore::GradientImage::draw):

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::scaleFactorForDrawing const):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContext::translate):

  • platform/graphics/Image.cpp:

(WebCore::Image::drawTiled):

  • platform/graphics/ImageBuffer.cpp:

(WebCore::ImageBuffer::clampedSize):
(WebCore::ImageBuffer::createCompatibleBuffer):

  • platform/graphics/LayoutSize.h:
  • platform/graphics/NamedImageGeneratedImage.cpp:

(WebCore::NamedImageGeneratedImage::draw):

  • platform/graphics/Path.cpp:

(WebCore::Path::addRoundedRect):

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::createCompatibleBuffer):

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::transformContextForPainting):
(WebCore::applyRotationForPainting):
(WebCore::PDFDocumentImage::drawPDFPage):

  • platform/graphics/filters/FETile.cpp:

(WebCore::FETile::platformApplySoftware):

  • platform/graphics/transforms/AffineTransform.cpp:

(WebCore::AffineTransform::translate):
(WebCore::makeMapBetweenRects):

  • platform/graphics/transforms/AffineTransform.h:
  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::paint):

  • platform/mac/ThemeMac.mm:

(WebCore::paintToggleButton):
(WebCore::paintButton):
(WebCore::paintStepper):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::beginFilterEffect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects const):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::paintScrollbar):
(WebCore::RenderLayerCompositor::paintContents):

  • rendering/RenderMediaControls.cpp:

(WebCore::getUnzoomedRectAndAdjustCurrentContext):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintImageControlsButton):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
(WebCore::RenderSVGForeignObject::localToParentTransform const):

  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::pathOnlyClipping):
(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
(WebCore::RenderSVGResourceClipper::resourceBoundingBox):

  • rendering/svg/RenderSVGResourceGradient.cpp:

(WebCore::clipToTextMask):
(WebCore::RenderSVGResourceGradient::applyResource):

  • rendering/svg/RenderSVGResourceMarker.cpp:

(WebCore::RenderSVGResourceMarker::markerTransformation const):
(WebCore::RenderSVGResourceMarker::markerContentTransformation const):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):

  • rendering/svg/RenderSVGResourcePattern.cpp:

(WebCore::RenderSVGResourcePattern::buildPattern):
(WebCore::RenderSVGResourcePattern::createTileImage const):

  • rendering/svg/RenderSVGTransformableContainer.cpp:

(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::createImageBuffer):
(WebCore::SVGRenderingContext::bufferForeground):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::buildTransformForProgress):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::localCoordinateSpaceTransform const):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::draw):

Source/WebKit:

Add operator/(const FloatSize&, const FloatSize&), GraphicsContext::translate(const FloatPoint&),
FloatRect.scale(FloatSize) and AffineTransform::translate(const FloatSize&)
and use them in lots of places to do math in terms of points and sizes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:]):

  • UIProcess/ios/DragDropInteractionState.mm:

(WebKit::createTargetedDragPreview):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::paintSnapshotAtSize):
(WebKit::WebPage::snapshotNode):

10:36 PM Changeset in webkit [222252] by mmaxfield@apple.com
  • 12 edits
    1 copy in trunk/Tools

WSL should be able to trap when something fatal happens
https://bugs.webkit.org/show_bug.cgi?id=177110

Reviewed by Filip Pizlo.

WSL programs can include a statement "trap;" which causes the entry
point to immediately return the default value of its return type.
This is implemented by throw/catch and populateDefaultValue().

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/EvaluationCommon.js:
  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitTrapStatement):

  • WebGPUShadingLanguageRI/Parse.js:

(parseStatement):

  • WebGPUShadingLanguageRI/ReturnChecker.js:

(ReturnChecker.prototype.visitTrapStatement):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitTrapStatement):

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:
  • WebGPUShadingLanguageRI/TrapStatement.js: Copied from Tools/WebGPUShadingLanguageRI/EvaluationCommon.js.

(TrapStatement):
(TrapStatement.prototype.get origin):
(TrapStatement.prototype.toString):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

10:25 PM Changeset in webkit [222251] by Ryan Haddad
  • 2 edits in trunk/Tools

Unreviewed follow-up to r222229, remove invalid triggers.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:20 PM Changeset in webkit [222250] by Chris Dumez
  • 16 edits in trunk

IDBRequest and IDBTransaction error properties should be DOMExceptions
https://bugs.webkit.org/show_bug.cgi?id=177201

Reviewed by Alex Christensen.

LayoutTests/imported/w3c:

Rebaseline WPT now that it is passing.

  • web-platform-tests/IndexedDB/error-attributes-expected.txt:

Source/WebCore:

IDBRequest and IDBTransaction error properties should be DOMExceptions:

Previously, we used a DOMError type, which is obsolete.

No new tests, rebaselined existing test.

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onError):
(WebCore::IDBOpenDBRequest::fireErrorAfterVersionChangeCompletion):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore:: const):
(WebCore::IDBRequest::uncaughtExceptionInEventHandler):
(WebCore::IDBRequest::onError):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::error const):
(WebCore::IDBTransaction::abortDueToFailedRequest):
(WebCore::IDBTransaction::didCreateIndexOnServer):
(WebCore::IDBTransaction::connectionClosedFromServer):

  • Modules/indexeddb/IDBTransaction.h:
  • Modules/indexeddb/IDBTransaction.idl:
  • Modules/indexeddb/shared/IDBError.cpp:

(WebCore::IDBError::toDOMException const):

  • Modules/indexeddb/shared/IDBError.h:
9:41 PM Changeset in webkit [222249] by commit-queue@webkit.org
  • 7 edits
    60 moves
    7 adds
    1 delete in trunk/LayoutTests

Move non-upstreamed Resource Timing tests out of web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=177197

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-19
Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/resource-timing/rt-*:

These are not upstream, move them out to http/wpt.

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:

Update expectations for path changes.

  • http/wpt/resource-timing/resources/data.json: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/data.json.
  • http/wpt/resource-timing/resources/resource.css: Added.
  • http/wpt/resource-timing/resources/resource.html: Added.
  • http/wpt/resource-timing/resources/resource.js: Added.
  • http/wpt/resource-timing/resources/resource.png: Added.
  • http/wpt/resource-timing/resources/rt-iframe-1.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-iframe-1.html.
  • http/wpt/resource-timing/resources/rt-iframe-2.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-iframe-2.html.
  • http/wpt/resource-timing/resources/rt-module.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-module.js.
  • http/wpt/resource-timing/resources/rt-revalidation-response.py: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-revalidation-response.py.
  • http/wpt/resource-timing/resources/rt-sub-module.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-sub-module.js.
  • http/wpt/resource-timing/resources/rt-utilities.sub.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-utilities.sub.js.
  • http/wpt/resource-timing/resources/rt-worker-resources.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/resources/rt-worker-resources.js.
  • http/wpt/resource-timing/rt-cors-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors-expected.txt.
  • http/wpt/resource-timing/rt-cors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.html.
  • http/wpt/resource-timing/rt-cors.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.js.
  • http/wpt/resource-timing/rt-cors.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker-expected.txt.
  • http/wpt/resource-timing/rt-cors.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.html.
  • http/wpt/resource-timing/rt-cors.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.js.
  • http/wpt/resource-timing/rt-initiatorType-css-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-css-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-css.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-css.html.
  • http/wpt/resource-timing/rt-initiatorType-element-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-element.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element.html.
  • http/wpt/resource-timing/rt-initiatorType-fetch-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-fetch.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch.html.
  • http/wpt/resource-timing/rt-initiatorType-fetch.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-fetch.js.
  • http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-media-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-media.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-media.html.
  • http/wpt/resource-timing/rt-initiatorType-other-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-other-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-other.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-other.html.
  • http/wpt/resource-timing/rt-initiatorType-script-module-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-script-module-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-script-module.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-script-module.html.
  • http/wpt/resource-timing/rt-initiatorType-xmlhttprequest-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType-xmlhttprequest.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.html.
  • http/wpt/resource-timing/rt-initiatorType-xmlhttprequest.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-xmlhttprequest.js.
  • http/wpt/resource-timing/rt-initiatorType.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker-expected.txt.
  • http/wpt/resource-timing/rt-initiatorType.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker.html.
  • http/wpt/resource-timing/rt-initiatorType.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-initiatorType.worker.js.
  • http/wpt/resource-timing/rt-nextHopProtocol-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol-expected.txt.
  • http/wpt/resource-timing/rt-nextHopProtocol.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.html.
  • http/wpt/resource-timing/rt-nextHopProtocol.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.js.
  • http/wpt/resource-timing/rt-nextHopProtocol.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker-expected.txt.
  • http/wpt/resource-timing/rt-nextHopProtocol.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.html.
  • http/wpt/resource-timing/rt-nextHopProtocol.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-nextHopProtocol.worker.js.
  • http/wpt/resource-timing/rt-performance-extensions-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions-expected.txt.
  • http/wpt/resource-timing/rt-performance-extensions.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.html.
  • http/wpt/resource-timing/rt-performance-extensions.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.js.
  • http/wpt/resource-timing/rt-performance-extensions.worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker-expected.txt.
  • http/wpt/resource-timing/rt-performance-extensions.worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker.html.
  • http/wpt/resource-timing/rt-performance-extensions.worker.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-performance-extensions.worker.js.
  • http/wpt/resource-timing/rt-resource-errors-expected.txt: Added.
  • http/wpt/resource-timing/rt-resource-errors.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-errors.html.
  • http/wpt/resource-timing/rt-resource-ignored-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-ignored-expected.txt.
  • http/wpt/resource-timing/rt-resource-ignored.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resource-ignored.html.
  • http/wpt/resource-timing/rt-resources-per-frame-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-frame-expected.txt.
  • http/wpt/resource-timing/rt-resources-per-frame.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-frame.html.
  • http/wpt/resource-timing/rt-resources-per-worker-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-worker-expected.txt.
  • http/wpt/resource-timing/rt-resources-per-worker.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-resources-per-worker.html.
  • http/wpt/resource-timing/rt-revalidate-requests-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests-expected.txt.
  • http/wpt/resource-timing/rt-revalidate-requests.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-revalidate-requests.html.
  • http/wpt/resource-timing/rt-serialization-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-serialization-expected.txt.
  • http/wpt/resource-timing/rt-serialization.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-serialization.html.
  • http/wpt/resource-timing/rt-shared-resource-in-frames-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-frames-expected.txt.
  • http/wpt/resource-timing/rt-shared-resource-in-frames.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-frames.html.
  • http/wpt/resource-timing/rt-shared-resource-in-workers-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-workers-expected.txt.
  • http/wpt/resource-timing/rt-shared-resource-in-workers.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/resource-timing/rt-shared-resource-in-workers.html.

Move tests and make small modifications to ensure we load "/WebKit/resource-timing"
test resources instead of "/resource-timing" resources (web-platform-tests ones).

9:25 PM Changeset in webkit [222248] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[Curl] Fix r222147
https://bugs.webkit.org/show_bug.cgi?id=177128

Patch by Daewoong Jang <daewoong.jang@naverlabs.com> on 2017-09-19
Reviewed by Alex Christensen.

  • platform/network/curl/CurlSSLHandle.h:
  • platform/network/curl/CurlSSLVerifier.cpp:

(WebCore::CurlSSLVerifier::certVerifyCallback):

  • platform/network/curl/CurlSSLVerifier.h:
9:21 PM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
8:46 PM Changeset in webkit [222247] by Simon Fraser
  • 5 edits in trunk

tiled-drawing/tiled-backing-in-window.html fails on Retina displays
https://bugs.webkit.org/show_bug.cgi?id=177113

Reviewed by Tim Horton.

Source/WebKit:

Make m_customDeviceScaleFactor a std::optional<> instead of having the weird "0 is unset"
behavior.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::deviceScaleFactor const):
(WebKit::WebPageProxy::setCustomDeviceScaleFactor):

  • UIProcess/WebPageProxy.h:

Tools:

This test removes the view from the window, and then dumps the layer tree, at which point
some layers would report a contentsScale of 2 on Retina displays.

This occurs because WebKitTestRunner overrides the default device scale factor on NSWindow,
but windowless views fall back to [NSScreen mainScreen].backingScaleFactor (in WebViewImpl::intrinsicDeviceScaleFactor()).

Fix by having PlatformWebView::changeWindowScaleIfNeeded() call -_setOverrideDeviceScaleFactor: on the view.

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

7:40 PM Changeset in webkit [222246] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Image subclasses should support is<> and downcast<>
https://bugs.webkit.org/show_bug.cgi?id=177209

Reviewed by Tim Horton.

Add SPECIALIZE_TYPE_TRAITS_IMAGE() for Image subclasses.

Also use #pragma once in these headers.

  • platform/graphics/CrossfadeGeneratedImage.h:
  • platform/graphics/GeneratedImage.h:
  • platform/graphics/GradientImage.h:
  • platform/graphics/Image.h:
  • platform/graphics/NamedImageGeneratedImage.h:
7:20 PM Changeset in webkit [222245] by Wenson Hsieh
  • 6 edits
    1 add in trunk

REGRESSION (r215613): Incorrect corners clipping with border-radius
https://bugs.webkit.org/show_bug.cgi?id=176498
<rdar://problem/34112607>

Reviewed by Tim Horton.

Source/WebCore:

http://trac.webkit.org/r215613 introduced an optimization to bail out of repainting borders if the invalidated
rect to paint is fully contained within the inner rounded rect of the border. However, due to issues with
coordinate and intersection math in RoundedRect::contains() and ellipseContainsPoint(), this causes
RenderBoxModelObject::paintBorder to return early even in circumstances where the border requires a repaint.
This patch fixes the contains() helper in RoundedRect and adds a new API test suite for RoundedRect that covers
these changes.

Test: WebCore.RoundedRectContainsRect

  • platform/graphics/GeometryUtilities.cpp:

(WebCore::ellipseContainsPoint):

This function attempts to return early if the Manhattan distance of the transformed point is less than the
radius of the circle that results from applying the same transformation to the ellipse. However, this bails and
returns true if x + y <= R, but this means that if x and y are negative, we'll always end up returning true.
We fix this by adding the absolute values instead, so the check becomes: |x| + |y| <= R.

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::contains const):

Before this patch, otherRect's upper left location was being used to hit-test against the ellipses formed from
each of the 4 corners of the rounded rect. Instead, this should use (x, y), (maxX, y), (x, maxY), (maxX, maxY)
for the top left, top right, bottom left, and bottom right corners, respectively.

Additionally, the checks for the bottom left and bottom right to determine whether the rect corner should be
checked for intersection against the ellipse's corner are incorrect. In the bottom left corner, the check for
otherRect.maxX() >= center.x() should instead be otherRect.x() <= center.x(), and the check for
otherRect.x() <= center.x() should instead be otherRect.maxX() >= center.x().

  • platform/graphics/RoundedRect.h:

Tools:

Add WebCore API tests for RoundedRect::contains().

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebCore/RoundedRectTests.cpp: Added.

(TestWebKitAPI::layoutRect):
(TestWebKitAPI::TEST):

7:12 PM Changeset in webkit [222244] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222226. rdar://problem/34534758

6:56 PM Changeset in webkit [222243] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/images/animated-image-mp4.html on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177216

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:30 PM Changeset in webkit [222242] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark accessibility/crash-table-recursive-layout.html as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177212

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:21 PM Changeset in webkit [222241] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222220. rdar://problem/34534766

6:21 PM Changeset in webkit [222240] by jmarcell@apple.com
  • 9 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222214. rdar://problem/34534751

6:20 PM Changeset in webkit [222239] by ap@apple.com
  • 10 edits
    4 adds in trunk/Source

Layering violation in Editor::createFragment
https://bugs.webkit.org/show_bug.cgi?id=176123

Reviewed by Darin Adler.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • editing/cocoa/WebArchiveResourceFromNSAttributedString.h: Added.
  • editing/cocoa/WebArchiveResourceFromNSAttributedString.mm: Added.

Added a wrapper class for ArchiveResource, suitable for use as a WebResourceHandler.

  • editing/cocoa/WebArchiveResourceWebResourceHandler.h: Added.
  • editing/cocoa/WebArchiveResourceWebResourceHandler.mm: Added.

Objects of this class can be passed as "WebResourceHandler", and created instances
of the above class.

  • editing/cocoa/WebContentReaderCocoa.mm:

(WebCore::attributesForAttributedStringConversion):
(WebCore::createFragment):
On newer OS versions, don't use WebKitLegacy to convert NSAttributedString to a
document fragment. We now only use system frameworks to convert the attributed
string to HTML source, and parse HTML into a fragment directly in WebCore.

  • platform/URL.h: Exported fakeURLWithRelativePart.

Source/WebKitLegacy/mac:

  • Misc/WebNSURLExtras.h:
  • Misc/WebNSURLExtras.mm:
  • WebView/WebFrame.mm:
  • WebView/WebHTMLView.mm:

Removed multiple copies of webkit-fake-url creation code, switching to URL::fakeURLWithRelativePart().

  • WebCoreSupport/WebEditorClient.mm:

(_WebCreateFragment): Added a stub implementation for older OSes. This is needed
because WebKitLegacy.exp is not passed through preprocessor, so there is no sane
way to avoid exporting the symbol just on newer OSes.

5:57 PM Changeset in webkit [222238] by commit-queue@webkit.org
  • 7 edits in trunk

Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-19
Reviewed by Darin Adler.

Source/WebCore:

No change of behavior.
Using WTF::map to go from maps to vectors.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::resourceList):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):

Source/WTF:

Computing the Item type given to the lambda using the iterator instead of ValueType which is specific to Vector.
Adding the possibility to pass a non const container reference and a lambda taking non const references as well.

  • wtf/Vector.h:

(WTF::MapFunctionInspector::acceptsReference):
(WTF::Mapper::map):
(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

5:37 PM Changeset in webkit [222237] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Add missing text after r222226.

  • accessibility/crash-table-recursive-layout.html:
5:15 PM Changeset in webkit [222236] by jmarcell@apple.com
  • 6 edits
    3 adds in branches/safari-604-branch

Cherry-pick r221978. rdar://problem/34508522

5:03 PM Changeset in webkit [222235] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked tiled-drawing/scrolling/scroll-snap/scroll-snap-mandatory-mainframe-vertical-then-horizontal.html as flaky on macOS Debug.
https://bugs.webkit.org/show_bug.cgi?id=171839

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:28 PM Changeset in webkit [222234] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Quiet media player private logging
https://bugs.webkit.org/show_bug.cgi?id=177199

Reviewed by Jer Noble.

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

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

4:17 PM Changeset in webkit [222233] by achristensen@apple.com
  • 66 edits in trunk/Source

Allow modern decoding of Vectors
https://bugs.webkit.org/show_bug.cgi?id=177102

Reviewed by Andy Estes.

Source/WebCore:

  • Modules/cache/DOMCacheEngine.h:

(WebCore::DOMCacheEngine::CacheInfos::decode):
(WebCore::DOMCacheEngine::CacheIdentifierOperationResult::decode):

  • Modules/indexeddb/IDBDatabaseIdentifier.cpp:

(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):

  • Modules/indexeddb/IDBDatabaseIdentifier.h:

(WebCore::IDBDatabaseIdentifier::decode):

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::openInternal):
(WebCore::IDBFactory::deleteDatabase):

  • Modules/indexeddb/IDBGetAllResult.h:

(WebCore::IDBGetAllResult::decode):

  • Modules/indexeddb/IDBGetResult.h:

(WebCore::IDBGetResult::decode):

  • Modules/indexeddb/IDBKeyData.h:

(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/IDBKeyRangeData.h:

(WebCore::IDBKeyRangeData::decode):

  • Modules/indexeddb/IDBValue.h:

(WebCore::IDBValue::decode):

  • Modules/indexeddb/shared/IDBError.h:
  • Modules/indexeddb/shared/IDBIterateCursorData.h:

(WebCore::IDBIterateCursorData::decode):

  • Modules/indexeddb/shared/IDBRequestData.h:

(WebCore::IDBRequestData::decode):

  • Modules/indexeddb/shared/IDBResultData.h:

(WebCore::IDBResultData::decode):

  • page/SecurityOriginData.h:

(WebCore::SecurityOriginData::decode):

  • platform/Cookie.h:

(WebCore::Cookie::decode):

  • platform/mediastream/MediaConstraints.h:

(WebCore::MediaTrackConstraintSetMap::decode):

  • platform/network/FormData.h:

(WebCore::FormDataElement::decode):

  • workers/service/ServiceWorkerJobData.h:

(WebCore::ServiceWorkerJobData::decode):

  • workers/service/ServiceWorkerRegistrationData.h:

(WebCore::ServiceWorkerRegistrationData::decode):

  • workers/service/ServiceWorkerRegistrationKey.h:

(WebCore::ServiceWorkerRegistrationKey::decode):

Source/WebKit:

Rather than allow modern decoding of Vectors of types that only allow legacy decoding,
I just made modern decoders for all types that we need to decode in Vectors.

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::decode):

  • Platform/IPC/ArgumentCoders.cpp:

(IPC::ArgumentCoder<std::chrono::system_clock::time_point>::decode):

  • Platform/IPC/ArgumentCoders.h:
  • Shared/AssistedNodeInformation.cpp:

(WebKit::OptionItem::decode):

  • Shared/AssistedNodeInformation.h:
  • Shared/CallbackID.h:

(WebKit::CallbackID::decode):

  • Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:

(IPC::ArgumentCoder<WebCore::PaymentError>::decode):
(IPC::ArgumentCoder<WebCore::PaymentMethodUpdate>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::LineItem>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::ShippingMethod>::decode):
(IPC::ArgumentCoder<ApplePaySessionPaymentRequest::TotalAndLineItems>::decode):
(IPC::ArgumentCoder<WebCore::ShippingContactUpdate>::decode):
(IPC::ArgumentCoder<WebCore::ShippingMethodUpdate>::decode):

  • Shared/Databases/IndexedDB/WebIDBResult.cpp:

(WebKit::WebIDBResult::decode):

  • Shared/FrameInfoData.cpp:

(WebKit::FrameInfoData::decode):

  • Shared/Gamepad/GamepadData.cpp:

(WebKit::GamepadData::decode):

  • Shared/Gamepad/GamepadData.h:
  • Shared/PlatformPopupMenuData.cpp:

(WebKit::PlatformPopupMenuData::decode):

  • Shared/PlatformPopupMenuData.h:
  • Shared/Plugins/NPIdentifierData.cpp:

(WebKit::NPIdentifierData::decode):

  • Shared/Plugins/NPIdentifierData.h:
  • Shared/Plugins/NPVariantData.cpp:

(WebKit::NPVariantData::decode):

  • Shared/Plugins/NPVariantData.h:
  • Shared/RTCNetwork.cpp:

(WebKit::RTCNetwork::IPAddress::decode):
(WebKit::RTCNetwork::SocketAddress::decode):
(WebKit::RTCNetwork::decode):

  • Shared/RTCNetwork.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:
  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::decode):
(WebKit::RemoteLayerTreeTransaction::decode):

  • Shared/SessionState.cpp:

(WebKit::HTTPBody::Element::decode):
(WebKit::FrameState::decode):
(WebKit::PageState::decode):
(WebKit::BackForwardListItemState::decode):
(WebKit::BackForwardListState::decode):

  • Shared/SessionState.h:
  • Shared/WebCompiledContentRuleListData.cpp:

(WebKit::WebCompiledContentRuleListData::decode):

  • Shared/WebCompiledContentRuleListData.h:
  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::decode):

  • Shared/WebContextMenuItemData.h:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<DOMCacheEngine::CacheInfo>::decode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):
(IPC::ArgumentCoder<FloatRect>::decode):
(IPC::ArgumentCoder<FloatQuad>::decode):
(IPC::ArgumentCoder<IntRect>::decode):
(IPC::ArgumentCoder<RecentSearch>::decode):
(IPC::ArgumentCoder<Region::Span>::decode):
(IPC::ArgumentCoder<MimeClassInfo>::decode):
(IPC::ArgumentCoder<PluginInfo>::decode):
(IPC::ArgumentCoder<SelectionRect>::decode):
(IPC::ArgumentCoder<CompositionUnderline>::decode):
(IPC::ArgumentCoder<DictationAlternative>::decode):
(IPC::ArgumentCoder<GrammarDetail>::decode):
(IPC::ArgumentCoder<TextCheckingResult>::decode):
(IPC::ArgumentCoder<BlobPart>::decode):
(IPC::ArgumentCoder<ResourceLoadStatistics>::decode):
(IPC::ArgumentCoder<MediaConstraints>::decode):
(IPC::ArgumentCoder<CaptureDevice>::decode):
(IPC::ArgumentCoder<ScrollOffsetRange<float>>::decode):
(IPC::ArgumentCoder<MediaSelectionOption>::decode):

  • Shared/WebCoreArgumentCoders.h:
  • Shared/WebEvent.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPlatformTouchPoint.cpp:

(WebKit::WebPlatformTouchPoint::decode):

  • Shared/WebPopupItem.cpp:

(WebKit::WebPopupItem::decode):

  • Shared/WebPopupItem.h:
  • Shared/WebUserContentControllerDataTypes.cpp:

(WebKit::WebUserScriptData::decode):
(WebKit::WebUserStyleSheetData::decode):
(WebKit::WebScriptMessageHandlerData::decode):

  • Shared/WebUserContentControllerDataTypes.h:
  • Shared/WebsiteData/WebsiteData.cpp:

(WebKit::WebsiteData::Entry::decode):

  • Shared/WebsiteData/WebsiteData.h:
  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::decode):

  • Shared/ios/WebPlatformTouchPointIOS.cpp:

(WebKit::WebPlatformTouchPoint::decode):

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<KeypressCommand>::decode):

  • UIProcess/LegacySessionStateCodingNone.cpp:

(WebKit::decodeLegacySessionState):

  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::KeyframeValue::decode):
(WebKit::PlatformCAAnimationRemote::Properties::decode):

4:03 PM October 2017 Meeting edited by Jon Davis
(diff)
3:58 PM October 2017 Meeting edited by Jon Davis
(diff)
3:55 PM October 2017 Meeting edited by Jon Davis
(diff)
3:54 PM October 2017 Meeting edited by Jon Davis
(diff)
3:25 PM Changeset in webkit [222232] by jmarcell@apple.com
  • 4 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222167. rdar://problem/34508525

3:25 PM Changeset in webkit [222231] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r222163. rdar://problem/34508516

3:25 PM Changeset in webkit [222230] by jmarcell@apple.com
  • 8 edits
    2 adds in branches/safari-604-branch

Cherry-pick r222114. rdar://problem/34508510

3:17 PM Changeset in webkit [222229] by Ryan Haddad
  • 9 edits in trunk/Tools

Update bot configuration for iOS 11.
https://bugs.webkit.org/show_bug.cgi?id=177165

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js:

(BubbleQueueServer):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.ios-simulator-10 img.logo): Deleted.
(table.queue-grid tr.platform.ios-10 img.logo): Deleted.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:

(_should_file_trigger_build):

  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

2:50 PM Changeset in webkit [222228] by rniwa@webkit.org
  • 20 edits
    4 adds in trunk

On iOS, getData can't get text set by setData during copy event
https://bugs.webkit.org/show_bug.cgi?id=176980
<rdar://problem/34453915>

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by iOS port not implementing Pasteboard::createPrivate(). Rather than implementing this in iOS,
replace its use for copy & paste events by StaticPasteboard Wenson added for input events. This makes read-write
pasteboard platform agnostic and paves the way to make writing to pasteboard in a single IPC in WebKit2.

Also fixed a bug that iOS port's Pasteboard::types returned the list of all supported types instead of ones
actually present in the pasteboard.

This patch also adds a vector of types to StaticPasteboard to maintain the type order.

Tests: editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy.html

editing/pasteboard/dataTransfer-types-pasting-plaintext.html

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::createForCopyAndPaste): Make StaticPasteboard instead of a private pasteboard.
(WebCore::DataTransfer::createForInputEvent):

  • editing/Editor.cpp:

(WebCore::dispatchClipboardEvent): Call newly added commitToPasteboard on StaticPasteboard.

  • platform/Pasteboard.h:

(WebCore::Pasteboard::isStatic const):

  • platform/PasteboardStrategy.h:
  • platform/StaticPasteboard.cpp:

(WebCore::StaticPasteboard::create): Deleted.
(WebCore::StaticPasteboard::StaticPasteboard):
(WebCore::StaticPasteboard::hasData):
(WebCore::StaticPasteboard::types): Deleted. Now simply returns m_type.
(WebCore::StaticPasteboard::readString): Added.
(WebCore::StaticPasteboard::writeString): Added.
(WebCore::StaticPasteboard::clear): Added.
(WebCore::StaticPasteboard::commitToPasteboard): Added.
(isType): Added.

  • platform/StaticPasteboard.h:

(WebCore::Pasteboard::isStatic const): Added.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.
(WebCore::addHTMLClipboardTypesForCocoaType):
(WebCore::Pasteboard::types): Return the actual list of types in the pasteboard.

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

  • platform/wpe/PasteboardWPE.cpp:

(WebCore::Pasteboard::createPrivate): Deleted.
(WebCore::Pasteboard::writePasteboard): Deleted.

Source/WebKit:

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::copy): Deleted.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::copy): Deleted.

LayoutTests:

Added regression tests to make sure dataTransfer.types returns an empty list when writing to a pasteboard (copy),
and doesn't contain image types when pasting plain text. Unfortunately, pasting image does result in plain text
content being present in the pasteboard in the form of URL so we can't test that scenario.

Also removed failing expectations from a number of tests that are now passing on iOS.

  • editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy-expected.txt: Added.
  • editing/pasteboard/dataTransfer-types-is-initially-empty-on-copy.html: Added.
  • editing/pasteboard/dataTransfer-types-pasting-plaintext-expected.txt: Added.
  • editing/pasteboard/dataTransfer-types-pasting-plaintext.html: Added.
  • platform/ios/TestExpectations:
2:47 PM Changeset in webkit [222227] by Dewei Zhu
  • 13 edits
    1 move in trunk/Websites/perf.webkit.org

Use 'owned commit' instead of 'sub commit' whenever refers to a commit owned by another commit.
https://bugs.webkit.org/show_bug.cgi?id=177178

Reviewed by Ryosuke Niwa.

We use both 'owned commit' and 'sub commit' to refer to a commit owned by an another commit. We should use one term instead of two.
Renaming 'subCommit' to 'ownedCommit', 'ownsSubCommit' to 'ownsCommit' and 'sub-commit' to 'owned-commit'.

  • browser-tests/commit-log-viewer-tests.js:
  • public/api/commits.php:
  • public/api/report-commits.php:
  • public/include/commit-log-fetcher.php:
  • public/v3/components/commit-log-viewer.js:

(CommitLogViewer.prototype._renderCommitList):

  • public/v3/components/owned-commit-viewer.js: Renamed from Websites/perf.webkit.org/public/v3/components/sub-commit-viewer.js.

(OwnedCommitViewer):
(OwnedCommitViewer.prototype.didConstructShadowTree):
(OwnedCommitViewer.prototype._toggleVisibility):
(OwnedCommitViewer.prototype.render):
(OwnedCommitViewer.prototype._renderOwnedCommitTable):
(OwnedCommitViewer.htmlTemplate):
(OwnedCommitViewer.cssTemplate):

  • public/v3/index.html:
  • public/v3/models/commit-log.js:

(CommitLog):
(CommitLog.prototype.updateSingleton):
(CommitLog.prototype.ownsCommits):
(CommitLog.prototype.fetchOwnedCommits):
(CommitLog.prototype._buildOwnedCommitMap):
(CommitLog.diffOwnedCommits):
(CommitLog.prototype.ownsSubCommits): Deleted.
(CommitLog.prototype.fetchSubCommits): Deleted.
(CommitLog.prototype._buildSubCommitMap): Deleted.
(CommitLog.diffSubCommits): Deleted.

  • server-tests/api-commits-tests.js:
  • server-tests/api-report-commits-tests.js:
  • server-tests/tools-os-build-fetcher-tests.js:

(return.waitForInvocationPromise.then):
(string_appeared_here.return.waitForInvocationPromise.then):

  • tools/js/os-build-fetcher.js:

(prototype._fetchAvailableBuilds):
(prototype._addOwnedCommitsForBuild):
(prototype._addSubCommitsForBuild): Deleted.

  • unit-tests/commit-log-tests.js:

(return.commit.fetchOwnedCommits.then):
(return.fetchingPromise.then):
(return.commit.fetchSubCommits.then): Deleted.

2:23 PM Changeset in webkit [222226] by Alan Bujtas
  • 4 edits
    2 adds in trunk

AXObjectCache::performDeferredCacheUpdate is called recursively through FrameView::layout.
https://bugs.webkit.org/show_bug.cgi?id=176218
<rdar://problem/34205612>

Reviewed by Simon Fraser.

Source/WebCore:

There are certain cases when we might re-enter performDeferredCacheUpdate through recursive
layout calls (see webkit.org/b/177176) and mutate m_deferredTextChangedList multiple times.

Test: accessibility/crash-table-recursive-layout.html

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::performDeferredCacheUpdate):

  • accessibility/AXObjectCache.h:

LayoutTests:

  • accessibility/crash-table-recursive-layout-expected.txt: Added.
  • accessibility/crash-table-recursive-layout.html: Added.
2:15 PM Changeset in webkit [222225] by jer.noble@apple.com
  • 23 edits
    5 adds in trunk

[Cocoa] Add an ImageDecoder subclass backed by AVFoundation
https://bugs.webkit.org/show_bug.cgi?id=176825

Reviewed by Eric Carlson.

Source/WebCore:

Add a new concrete subclass of ImageDecoder which uses AVFoundation to parse and decode
image data.

AVFoundation APIs require prior knowledge of the media data's mime type to determine whether
the media data is decodable, so the mime type information must be passed through from the
CachedResource -> CachedImage -> ImageFrameCache -> ImageSource so as to be available when
creating the ImageDecoder:

(Drive-by fix: the createFrameImageAtIndex() method will mutate internal state, so make it
non-const.)

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:

(WebCore::CachedResource::mimeType const):

  • platform/cf/CoreMediaSoftLink.cpp:
  • platform/cf/CoreMediaSoftLink.h:
  • platform/cocoa/VideoToolboxSoftLink.cpp:
  • platform/cocoa/VideoToolboxSoftLink.h:
  • platform/graphics/Image.cpp:

(WebCore::Image::mimeType const):
(WebCore::Image::expectedContentSize const):

  • platform/graphics/Image.h:
  • platform/graphics/ImageDecoder.cpp:

(WebCore::ImageDecoder::create):

  • platform/graphics/ImageDecoder.h:

(WebCore::ImageDecoder::setExpectedContentSize):

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::mimeType const):

  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageObserver.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::ensureDecoderAvailable):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::createFrameImageAtIndex):

  • platform/graphics/cg/ImageDecoderCG.h:

Add the new class, ImageDecoderAVFObjC:

AVFoundation expects to load all the media data for an AVURLAsset itself. To map between the
provided SharedData and AVURLAsset's requirements, create a delegate object
WebCoreSharedBufferResourceLoaderDelegate, which responds to requests from the AVURLAsset by
extracting data from the SharedData object. Ensure AVURLAsset doesn't load any data outside
this delegate by passing the AVURLAssetReferenceRestrictionsKey /
AVAssetReferenceRestrictionForbidAll key and value in the AVURLAsset creation options.

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h: Added.

(WebCore::ImageDecoderAVFObjC::create):
(WebCore::ImageDecoderAVFObjC::mimeType const):
(WebCore::ImageDecoderAVFObjC::RotationProperties::isIdentity const):

  • platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm: Added.

(SOFT_LINK_CONSTANT):
(-[WebCoreSharedBufferResourceLoaderDelegate initWithParent:]):
(-[WebCoreSharedBufferResourceLoaderDelegate setExpectedContentSize:]):
(-[WebCoreSharedBufferResourceLoaderDelegate updateData:complete:]):
(-[WebCoreSharedBufferResourceLoaderDelegate canFulfillRequest:]):
(-[WebCoreSharedBufferResourceLoaderDelegate enqueueRequest:]):
(-[WebCoreSharedBufferResourceLoaderDelegate fulfillPendingRequests]):
(-[WebCoreSharedBufferResourceLoaderDelegate fulfillRequest:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreSharedBufferResourceLoaderDelegate resourceLoader:didCancelLoadingRequest:]):
(WebCore::customSchemeURL):
(WebCore::imageDecoderAssetOptions):
(WebCore::transformToRotationProperties):
(WebCore::ImageDecoderAVFObjC::ImageDecoderAVFObjC):
(WebCore::ImageDecoderAVFObjC::canDecodeType):
(WebCore::ImageDecoderAVFObjC::firstEnabledTrack):
(WebCore::ImageDecoderAVFObjC::readSampleMetadata): Parses the media data using AVSampleCursor to walk

the media sample table, extracting frame presentation time, decode time, and duration.

(WebCore::ImageDecoderAVFObjC::readTrackMetadata): Reads the affine transform and size information from

the AVAssetTrack, and transforms the transform into a rotation value.

(WebCore::ImageDecoderAVFObjC::storeSampleBuffer): Decompress the incoming sample data, optionally rotate

the output, and store the results in the sample data vector.

(WebCore::ImageDecoderAVFObjC::advanceCursor): Wrap around the end of the sample table.
(WebCore::ImageDecoderAVFObjC::setTrack): Reset all sample and track metadata.
(WebCore::ImageDecoderAVFObjC::encodedDataStatus const): Retrieve from sample data.
(WebCore::ImageDecoderAVFObjC::frameCount const): Ditto.
(WebCore::ImageDecoderAVFObjC::repetitionCount const): Ditto.
(WebCore::ImageDecoderAVFObjC::uti const): Ditto.
(WebCore::ImageDecoderAVFObjC::filenameExtension const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameSizeAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameIsCompleteAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameOrientationAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameDurationAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameHasAlphaAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameAllowSubsamplingAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::frameBytesAtIndex const): Ditto.
(WebCore::ImageDecoderAVFObjC::createFrameImageAtIndex): If the sample data has already been

decompressed, return it. Otherwise, walk through the sample table decompressing frames
until the desired frame is decoded.

(WebCore::ImageDecoderAVFObjC::setData):
(WebCore::ImageDecoderAVFObjC::clearFrameBufferCache):

Modify WebCoreDecompressionSession so that it can emit frames which have been converted from
YUV -> RGB as part of the decode operation. Also, add a synchronous decoding operation
method, for use in ImageDecoderAVFObjC.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureDecompressionSession):

  • platform/graphics/cocoa/WebCoreDecompressionSession.h:

(WebCore::WebCoreDecompressionSession::createOpenGL):
(WebCore::WebCoreDecompressionSession::createRGB):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::WebCoreDecompressionSession):
(WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample):
(WebCore::WebCoreDecompressionSession::decodeSample):
(WebCore::WebCoreDecompressionSession::decodeSampleSync):

Other changes:

  • WebCore.xcodeproj/project.pbxproj: Add new files to project.
  • platform/cocoa/VideoToolboxSoftLink.cpp: Add newly referenced methods.
  • platform/cocoa/VideoToolboxSoftLink.h: Ditto.

Source/WTF:

  • wtf/Platform.h:

LayoutTests:

  • fast/images/animated-image-mp4-expected.txt: Added.
  • fast/images/animated-image-mp4.html: Added.
  • fast/images/resources/animated-red-green-blue.mp4: Added.
  • platform/ios/TestExpectations:
2:11 PM Changeset in webkit [222224] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/background-fetch/interfaces-worker.https.html as flaky on El Capitan Debug.
https://bugs.webkit.org/show_bug.cgi?id=176486

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:45 PM Changeset in webkit [222223] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/WebCore

[Curl] Move Authentication related tasks into AuthenticationChallenge class
https://bugs.webkit.org/show_bug.cgi?id=177105

Currently those codes are in ResourceHandle or related companion. It will
be reused with NetworkLoadTask so that it should be separated from them.

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

  • platform/Curl.cmake:
  • platform/network/curl/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge): Deleted.
(WebCore::AuthenticationChallenge::authenticationClient const): Deleted.
(WebCore::AuthenticationChallenge::setAuthenticationClient): Deleted.

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

(WebCore::AuthenticationChallenge::AuthenticationChallenge):
(WebCore::AuthenticationChallenge::protectionSpaceServerTypeFromURI):
(WebCore::AuthenticationChallenge::protectionSpaceFromHandle):
(WebCore::AuthenticationChallenge::removeLeadingAndTrailingQuotes):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::didReceiveAllHeaders):
(WebCore::ResourceHandleCurlDelegate::didReceiveHeader):
(WebCore::removeLeadingAndTrailingQuotes): Deleted.
(WebCore::ResourceHandleCurlDelegate::getProtectionSpace): Deleted.

  • platform/network/curl/ResourceHandleCurlDelegate.h:
1:42 PM Changeset in webkit [222222] by clopez@igalia.com
  • 4 edits in trunk

[CMake] Add ENABLE_WEB_CRYPTO option and make ENABLE_SUBTLE_CRYPTO depend on it.
https://bugs.webkit.org/show_bug.cgi?id=177180

Reviewed by Michael Catanzaro.

This adds a ENABLE_WEB_CRYPTO flag and makes ENABLE_SUBTLE_CRYPTO depend on it.
The GTK and WPE ports enable them and set ENABLE_WEB_CRYPTO to public.

  • Source/cmake/OptionsGTK.cmake: Set both features to ON and ENABLE_WEB_CRYPTO to public. No change in behaviour for GTK.
  • Source/cmake/OptionsWPE.cmake: Do like on the GTK port. The public flag is now ENABLE_WEB_CRYPTO.
  • Source/cmake/WebKitFeatures.cmake: Add the definition of ENABLE_WEB_CRYPTO and make ENABLE_SUBTLE_CRYPTO depend on it.
1:28 PM Changeset in webkit [222221] by Alan Bujtas
  • 10 edits
    2 adds in trunk

Do not mutate RenderText content during layout.
https://bugs.webkit.org/show_bug.cgi?id=176219
<rdar://problem/34205724>

Reviewed by David Hyatt.

Source/WebCore:

Update combined text when the style/content change as opposed to lazily, during layout.
-content mutation during layout might make the inline tree go out of sync.

Test: fast/text/international/dynamic-text-combine-crash.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineTextIfNeeded):
(WebCore::RenderCombineText::combineText): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.h:
  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/text/international/dynamic-text-combine-crash.html: Added.
  • fast/text/text-combine-crash-expected.txt:
1:25 PM Changeset in webkit [222220] by Wenson Hsieh
  • 4 edits
    2 adds in trunk

createMarkupInternal should protect its pointer to the Range's common ancestor
https://bugs.webkit.org/show_bug.cgi?id=177033
<rdar://problem/34265390>

Reviewed by Tim Horton.

Source/WebCore:

Adds basic safeguarding to codepaths hit while executing an outdent command.

Test: editing/execCommand/outdent-with-media-query-listener-in-iframe.html

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::outdentRegion):

Avoid an infinite loop if endOfCurrentParagraph is a null position.

  • editing/markup.cpp:

(WebCore::createMarkupInternal):

Protect the raw pointer to the Range's common ancestor node.

LayoutTests:

Adds a test that removes the common ancestor node of a range in the middle of executing an outdent.

  • editing/execCommand/outdent-with-media-query-listener-in-iframe-expected.txt: Added.
  • editing/execCommand/outdent-with-media-query-listener-in-iframe.html: Added.
1:14 PM Changeset in webkit [222219] by Dewei Zhu
  • 15 edits
    1 add in trunk/Websites/perf.webkit.org

Performance Dashboard backend should support A/B testing for owned components.
https://bugs.webkit.org/show_bug.cgi?id=175978

Reviewed by Ryosuke Niwa.

Add backend change for Performance Dashboard to support A/B testing for owned components.
Added 'commitset_commit_owner' and 'commitset_requires_build' columns to 'commit_set_items' table.
'commitset_commit_owner' referrs to determine a commit with owner.
'commitset_requires_build' indicates whether a root build is required.
This will be set true whenever commit_set_item specifies a patch file,
or commit_set_item is commit with owner commit,
or any other commit from same repository and in same build-request group requires build.
SQL for updating existing database:

'BEGIN;

ALTER TABLE commit_set_items ADD COLUMN commitset_commit_owner integer REFERENCES commits DEFAULT NULL, ADD COLUMN commitset_requires_build boolean DEFAULT FALSE;
UPDATE commit_set_items SET commitset_requires_build = TRUE WHERE commitset_patch_file IS NOT NULL;
UPDATE commit_set_items SET commitset_requires_build = TRUE WHERE commitset_set IN (SELECT requests1.request_commit_set FROM build_requests as requests1 JOIN build_requests as requests2 ON requests1.request_group = requests2.request_group JOIN commit_set_items as item ON item.commitset_set = requests2.request_commit_set WHERE item.commitset_patch_file IS NOT NULL);
ALTER TABLE commit_set_items ADD CONSTRAINT commitset_item_with_patch_must_requires_build CHECK (commitset_patch_file IS NULL OR commitset_requires_build = TRUE),

ADD CONSTRAINT commitset_item_with_owned_commit_must_requires_build CHECK (commitset_commit_owner IS NULL OR commitset_requires_build = TRUE);

END;'

  • init-database.sql: Updated 'commit_set_items' table.
  • public/admin/triggerables.php: Only top level repository should show on triggerables page.
  • public/include/build-requests-fetcher.php: Added 'commitOwner' and 'requireBuild' to 'revision_items'. Added 'commitOwner' field to a commit.
  • public/include/db.php: Should be able to insert boolean value to database without explicted convert to 't' or 'f'.
  • public/privileged-api/create-test-group.php:

Added logic to process 'commitOwner' and 'requireBuild' in 'commit_set_items'.
Removed a 'FIXME' that has been addressed before this commit.

  • public/v3/models/build-request.js:

(BuildRequest.constructBuildRequestsFromData): Set 'commitOwner' field for a commit set item.

  • public/v3/models/commit-set.js:

(CommitSet): Added maps for repository to commit owner and whether a repository requires builds.
(CommitSet.prototype.updateSingleton):
(CommitSet.prototype._updateFromObject):
(CommitSet.prototype.ownerRevisionForRepository): Returns owner revision for a given repository in current commit set.
(CommitSet.prototype.requiresBuildForRepository): Returns whether a repository need to build.
(CommitSet.prototype.equals): Equality check should include 2 new maps.
(CustomCommitSet): CustomCommitSet should be able to store commit with an owner commit.
(CustomCommitSet.prototype.setRevisionForRepository): Added each revision list entry should have 'ownerRevision'(null by default).
(CustomCommitSet.prototype.equals): Equality check should also check the equality of 'ownerRevision'.
(CustomCommitSet.prototype.ownerRevisionForRepository): Returns a owner revision for a given repository.

  • public/v3/models/repository.js:

(Repository.prototype.findOwnedRepositoryByName): Return an repository owned by current repository with a given name.

  • public/v3/models/test-group.js: Added 'ownerRevision' field in each entry of revisionSet.
  • server-tests/api-build-requests-tests.js: Added tests.
  • server-tests/privileged-api-create-test-group-tests.js: Added tests.
  • server-tests/privileged-api-upload-file-tests.js: Fix unit tests by setting'requires_build' field to be true when updating commit_set_item which has a patch..
  • server-tests/resources/mock-data.js: Added mock build requests with commit sets contain owned commits.

(MockData.jscRepositoryId): Returns id for JavaScriptsCore repository.
(MockData.addMockConfiguration): Added mock JavaScriptCore and owned JavaScriptCore repositories and commits associated with them.
(MockData.ownedJSCRepositoryId): Added a JavaScriptCore repository with WebKit as owner.
(MockData.addMockConfiguration): Added mock data for test cases those require a commit with a owner commit.
(MockData.addTestGroupWithOwnedCommits): Added mock data for analysis tasks, the build requires of which contains owned commits.
(MockData.set addAnotherTriggerable): Added another triggerable which has mac, webkit and javascript core repositories as triggerable repository group.
(MockData.set addAnotherMockTestGroup): Added another mock test group.

  • tools/js/v3-models.js: Import CustomCommitSet.
  • unit-tests/resources/mock-v3-models.js: Added an owned webkit repository.
  • unit-tests/commit-set-tests.js: Added unit tests CustomCommitSet.
1:09 PM Changeset in webkit [222218] by Ryan Haddad
  • 10 edits
    2 deletes in trunk

Unreviewed, rolling out r222217 and r222214.
This change introduced two LayoutTest failures.
https://bugs.webkit.org/show_bug.cgi?id=177026

Source/WebCore:

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineText):
(WebCore::RenderCombineText::combineTextIfNeeded): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.cpp:
  • rendering/RenderText.h:
  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/text/international/dynamic-text-combine-crash-expected.txt: Removed.
  • fast/text/international/dynamic-text-combine-crash.html: Removed.
  • fast/text/text-combine-crash-expected.txt:
12:32 PM Changeset in webkit [222217] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Attempt to fix Linux build.

  • rendering/RenderText.cpp:
11:46 AM Changeset in webkit [222216] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Adopt named groups in complex regexes
https://bugs.webkit.org/show_bug.cgi?id=177117

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-19
Reviewed by Matt Baker.

  • UserInterface/Base/URLUtilities.js:

(parseSecurityOrigin):
(parseDataURL):
(parseURL):

  • UserInterface/Models/Color.js:

(WI.Color.fromString):

11:28 AM Changeset in webkit [222215] by fpizlo@apple.com
  • 7 edits in trunk/Tools

Primitive protocol should have capital name
https://bugs.webkit.org/show_bug.cgi?id=177097

Reviewed by JF Bastien.

As soon as I started programming in WSL, I found that I preferred to capitalize protocol names. So, my
early decision to call the primitive protocol "primitive" instead of "Primitive" seems absurd now. This
change reverses that decision.

Aesthetically, this is a slight improvement. For example:

struct Bar<T:Primitive> {

Foo<device T> f;

}

This makes more sense since all of the non-keyword type identifiers are capital.

The one place where this is an aesthetic regression is native primitive typedefs, which now look like:

native Primitive typedef bool;


I'm happy with that tradeoff, since native typedefs are only in the standard library. Users don't see
this.

  • WebGPUShadingLanguageRI/AddressSpace.js:

(protocolSuffix):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType.prototype.toString):
(NativeType):

  • WebGPUShadingLanguageRI/Parse.js:

(parseNative):

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

(TEST_passNullAndNotNullFullPoly):
(TEST_passNullAndNotNullFullPolyReverse):

11:07 AM Changeset in webkit [222214] by Alan Bujtas
  • 9 edits
    2 adds in trunk

Do not mutate RenderText content during layout.
https://bugs.webkit.org/show_bug.cgi?id=176219
<rdar://problem/34205724>

Reviewed by David Hyatt.

Source/WebCore:

Update combined text when the style/content change as opposed to lazily, during layout.
-content mutation during layout might make the inline tree go out of sync.

Test: fast/text/international/dynamic-text-combine-crash.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::styleDidChange):
(WebCore::RenderCombineText::setRenderedText):
(WebCore::RenderCombineText::combineTextIfNeeded):
(WebCore::RenderCombineText::combineText): Deleted.

  • rendering/RenderCombineText.h:
  • rendering/RenderText.h:
  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

LayoutTests:

  • fast/text/international/dynamic-text-combine-crash.html: Added.
  • fast/text/text-combine-crash-expected.txt:
10:56 AM Changeset in webkit [222213] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176240

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
10:45 AM Changeset in webkit [222212] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Expose WKPageRef as a private property on WKWebView on Mac
https://bugs.webkit.org/show_bug.cgi?id=177022
<rdar://problem/34342762>

Reviewed by Andy Estes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _pageRefForTransitionToWKWebView]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:41 AM Changeset in webkit [222211] by achristensen@apple.com
  • 4 edits in trunk/Source/WebKit

Make _WKProcessPoolConfiguration.allowsCellularAccess actually work on iOS
https://bugs.webkit.org/show_bug.cgi?id=177124

Reviewed by Andy Estes.

The boolean added in r213747 was getting lost in two places:

  1. The API::ProcessPoolConfiguration gets copied before it's used, so we need to set the bool on the copy.
  2. The bool was not getting copied from that ProcessPoolConfiguration to the NetworkProcessCreationParameters

to be sent to the NetworkProcess to be given to the NSURLSessionConfiguration in NetworkSessionCocoa.mm.

These two problems were fixed and verified manually with a customized iOS app on my phone.
Unfortunately, this cannot be tested well with our current test infrastructure.

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

9:38 AM Changeset in webkit [222210] by fpizlo@apple.com
  • 5 edits in trunk/Tools

Cannot put typedefs of templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177123

Reviewed by Michael Saboff.

Ever since I wrote the generic type instantiation code in WSL, it had a bizarre stink to it. I
did not know what it was, until I met this test case:

struct Foo { int2 x; }


The problem was that Type has a getter called instantiatedType, which invoked
InstantiateImmediates. That's great. Where we went wrong was that TypeRef overrode
instantiatedType, and then InstantiateImmediates called TypeRef.instantiatedType from its
visitTypeRef. What a mess. None of that was necessary for anything, and it was just wrong. This
patch fixes it so that:

  • Type has an instantiatedType getter, which does InstantiateImmediates. I didn't change this. This was the only part of the status quo that really made sense.


  • TypeRef no longer overrides instantiatedType.


  • InstantianteImmediates.prototype.visitTypeRef now does what TypeRef's instantiatedType would have done.


And voila! This test case passes and so do all of the other test cases.

The reason why that specific test case did not work was that the use of a TypeDef (int2) for
a generic type instantiation (vec2<int>) caused there to be two TypeRef's in a row, sorta like
this, if we could use wrap() to denote a TypeRef that just wrapped another type:

wrap(vec2<int>)


We would call instantiatedType on this monstrosity. Since TypeRef overrode instantiatedType,
we would stop there because that TypeRef has no type arguments - it's just a wrapper. Well,
actually, we'd do something a bit stranger than stopping there - there's more to the story -
but the effect was the same. Now we do InstantiateImmediates, which recursively builds a new
type. This chews through the wrapper and then instantiates the wrapped type, as we want it to.
Also, this approach no longer has the stink. instantiatedType isn't overriden by anyone
anymore!

  • WebGPUShadingLanguageRI/Checker.js:
  • WebGPUShadingLanguageRI/InstantiateImmediates.js:

(InstantiateImmediates.prototype.visitTypeRef):
(InstantiateImmediates.prototype.visitReferenceType): Deleted.

  • WebGPUShadingLanguageRI/Test.js:

(TEST_instantiateStructInStructWithInt2):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.wrap):
(TypeRef.prototype.setTypeAndArguments):
(TypeRef.prototype.toString):
(TypeRef):
(TypeRef.prototype.get instantiatedType): Deleted.

9:03 AM Changeset in webkit [222209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION(r214494): Web Inspector: Ignore cache button does not work in Network tab
https://bugs.webkit.org/show_bug.cgi?id=177114
<rdar://problem/34505265>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-19
Reviewed by Brian Burg.

  • UserInterface/Base/Main.js:

(WI.loaded):
We need to register the settings change handler regardless of what the
initial value of the setting is.

8:53 AM Changeset in webkit [222208] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

webrtc/video-rotation.html is failing and now occasionally times out.
https://bugs.webkit.org/show_bug.cgi?id=175305

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

  • TestExpectations: Marking test as passing.
  • webrtc/video-rotation-expected.txt:
  • webrtc/video-rotation.html: Removing unneded subtest. Purpose of the test is checking that rotation change video size.
8:51 AM Changeset in webkit [222207] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

LayoutTest webrtc/video-getParameters.html is failing
https://bugs.webkit.org/show_bug.cgi?id=170148

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

  • TestExpectations: Marking test as passing.
  • webrtc/video-getParameters.html: Further sanitizing parameters against changes.
8:00 AM Changeset in webkit [222206] by pvollan@apple.com
  • 2 edits in trunk/Tools

[Win] WebKit fails to build with 64-bit Perl.
https://bugs.webkit.org/show_bug.cgi?id=177106

Reviewed by Brent Fulgham.

Visual Studio is installed in the 32-bit program files folder.

  • Scripts/webkitdirs.pm:

(programFilesPathX86):
(visualStudioInstallDir):
(msBuildInstallDir):

2:00 AM Changeset in webkit [222205] by nael.ouedraogo@crf.canon.fr
  • 6 edits
    1 add in trunk

[GTK] The binding code of Media Source Extension of AudioTrack, VideoTrack and TextTrack is not generated
https://bugs.webkit.org/show_bug.cgi?id=174620

Reviewed by Michael Catanzaro.

LayoutTests/imported/w3c:

Fix WPT test that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port.
Already merged in WPT repository (https://github.com/w3c/web-platform-tests/pull/6531).

  • web-platform-tests/media-source/interfaces.html:

Source/WebCore:

Add AudioTrackMediaSource, VideoTrackMediaSource and TextTrackMediaSource IDL files in CMakeLists. Fix WPT test
that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port. PR already merged
in WPT repository.

Remove skipped test that is now passing in TestExpectation. Modify expected file for GTK (same as mac).

  • CMakeLists.txt:

LayoutTests:

Add AudioTrackMediaSource, VideoTrackMediaSource and TextTrackMediaSource IDL files in CMakeLists. Fix WPT test
that checks MSE interfaces. This test failed since webm is not supported for MSE in GTK port. PR already merged
in WPT repository.

Remove skipped test that is now passing in TestExpectation. Modify expected file for GTK (same as mac).

  • platform/gtk/TestExpectations:
  • platform/gtk/imported/w3c/web-platform-tests/media-source/interfaces-expected.txt: Added.

Sep 18, 2017:

11:41 PM Changeset in webkit [222204] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: wrong key name for capabilities in new session response
https://bugs.webkit.org/show_bug.cgi?id=177074

Reviewed by Brian Burg.

We are using "value", it should be "capabilities".
https://w3c.github.io/webdriver/webdriver-spec.html#new-session

  • WebDriverService.cpp:

(WebDriver::WebDriverService::newSession):

11:40 PM Changeset in webkit [222203] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebDriver

WebDriver: HTTP responses should include Cache-Control header with no-cache value
https://bugs.webkit.org/show_bug.cgi?id=177073

Reviewed by Sergio Villar Senin.

6.3 Processing Model.
Set the response’s header with name and value with the following values:

Content-Type "application/json; charset=utf-8"
Cache-Control "no-cache"

https://w3c.github.io/webdriver/webdriver-spec.html#dfn-send-a-response

We were setting the Content-Type, but not the Cache-Control. This is checked by all WPT WebDriver tests.

  • soup/HTTPServerSoup.cpp:

(WebDriver::HTTPServer::listen): Add Cache-Control header.

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

[Harfbuzz] adjustSelectionRectForComplexText() should also pass the character range when shaping
https://bugs.webkit.org/show_bug.cgi?id=177049

Reviewed by Michael Catanzaro.

Now that the shaper support receiving a range we should use that also in
adjustSelectionRectForComplexText(). This will ensure consistent results with
getGlyphsAndAdvancesForComplexText().

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::FontCascade::adjustSelectionRectForComplexText const):

9:15 PM Changeset in webkit [222201] by fpizlo@apple.com
  • 8 edits in trunk/Tools

[WSL] Cannot put templated structs inside structs
https://bugs.webkit.org/show_bug.cgi?id=177120

Reviewed by Myles Maxfield.

It turns out that we still need to instantiate structs even if not passing type arguments,
since its fields may need to be instantiated.

This makes Myles's test case pass. When writing the test case, I encountered parser bugs, and
I fixed them.

  • WebGPUShadingLanguageRI/CallFunction.js:

(callFunction):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitReferenceType):

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):

  • WebGPUShadingLanguageRI/Parse.js:

(parseSuffixOperator):
(parsePossibleSuffix):
(parsePostIncrement):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Test.js:

(checkNumber):
(checkEnum):
(TEST_instantiateStructInStruct):

  • WebGPUShadingLanguageRI/TypeRef.js:

(TypeRef.prototype.get instantiatedType):
(TypeRef.prototype.get isPrimitive):

8:44 PM Changeset in webkit [222200] by fpizlo@apple.com
  • 20 edits
    6 adds in trunk/Tools

WSL should support enum
https://bugs.webkit.org/show_bug.cgi?id=176977

Reviewed by Myles Maxfield.

This implements enum. Enums members are referenced Java-style. For example, if we have an enum like:

enum Bank {

GP,
FP

}


Then you refer to the members by saying Bank.GP and Bank.FP.

Also adds a hack that makes operator- on a literal fold the literal. This fixes two issues:

  • Lets you use negative literals in constexprs.
  • Means that negative literals also get literal type unification.


WSL's constexpr support is really thin, but I think it's all we really need for now.

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

(Checker.prototype.visitEnumType):
(Checker.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/ConstexprFolder.js: Added.

(ConstexprFolder.prototype.visitCallExpression):
(ConstexprFolder.prototype.visitTypeOrVariableRef):
(ConstexprFolder):

  • WebGPUShadingLanguageRI/CreateLiteral.js:

(createLiteral.GenericLiteral.prototype.get valueForSelectedType):
(createLiteral.GenericLiteral.prototype.get negConstexpr):

  • WebGPUShadingLanguageRI/DoubleLiteral.js:

(let.DoubleLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/EnumLiteral.js: Added.

(EnumLiteral):
(EnumLiteral.prototype.get member):
(EnumLiteral.prototype.get type):
(EnumLiteral.prototype.get isConstexpr):
(EnumLiteral.prototype.unifyImpl):
(EnumLiteral.prototype.toString):

  • WebGPUShadingLanguageRI/EnumMember.js: Added.

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

  • WebGPUShadingLanguageRI/EnumType.js: Added.

(EnumType):
(EnumType.prototype.add):
(EnumType.prototype.get origin):
(EnumType.prototype.get name):
(EnumType.prototype.get baseType):
(EnumType.prototype.get memberNames):
(EnumType.prototype.memberByName):
(EnumType.prototype.get members):
(EnumType.prototype.get memberMap):
(EnumType.prototype.get isPrimitive):
(EnumType.prototype.populateDefaultValue):
(EnumType.prototype.get size):
(EnumType.prototype.toString):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitGenericLiteral):
(Evaluator.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/FloatLiteral.js:

(let.FloatLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/FoldConstexprs.js: Added.

(foldConstexprs):

  • WebGPUShadingLanguageRI/IntLiteral.js:

(let.IntLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitProtocolDecl):

  • WebGPUShadingLanguageRI/Parse.js:

(parseConstexpr):
(parsePossibleSuffix):
(parseEnumMember):
(parseEnumType):
(parse):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitEnumType):
(Rewriter.prototype.visitEnumMember):
(Rewriter.prototype.visitEnumLiteral):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.get origin):
(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/SynthesizeEnumFunctions.js: Added.

(synthesizeEnumFunctions):

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

(checkEnum):
(TEST_simpleEnum):
(TEST_enumWithManualValues):
(TEST_enumWithoutZero):
(TEST_enumConstexprGenericFunction):
(TEST_enumConstexprGenericStruct):

  • WebGPUShadingLanguageRI/UintLiteral.js:

(let.UintLiteral.createLiteral.negConstexpr):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolDecl):

8:19 PM Changeset in webkit [222199] by fpizlo@apple.com
  • 5 edits
    2 adds in trunk/Tools

WSL prepare() should cache the parsed standard library
https://bugs.webkit.org/show_bug.cgi?id=177118

Reviewed by Myles Maxfield.

The execution time of Test.js is too damn high!

So I made it 2x faster by caching the parsed standard library.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CloneProgram.js: Added.

(cloneProgram):

  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):
(prepare): Deleted.

  • WebGPUShadingLanguageRI/StatementCloner.js: Added.

(StatementCloner.prototype.visitFuncDef):
(StatementCloner.prototype.visitNativeFunc):
(StatementCloner.prototype.visitNativeType):
(StatementCloner.prototype.visitTypeDef):
(StatementCloner.prototype.visitStructType):
(StatementCloner.prototype.visitConstexprTypeParameter):
(StatementCloner.prototype.visitProtocolDecl):

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

(doTest):

7:55 PM Changeset in webkit [222198] by dino@apple.com
  • 5 edits in trunk

[WebGL] VideoTextureCopierCV doesn't correctly restore vertex attribute state
https://bugs.webkit.org/show_bug.cgi?id=176771
<rdar://problem/34386621>

Reviewed by Antoine Quint.

Source/WebCore:

The OpenGL context in VideoTextureCopierCV wasn't being restored to
the state it had before rendering a video to a texture. Specifically
the vertex attribute values were never recorded by the state saver.

Update the existing test of VideoTextureCopierCV so that it is
explicitly doing something different from the WebCore code, which
means that state will have to be correctly restored for the test
to pass.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Make sure
to record the vertex attribute state once we know the location of the position attribute.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):
(WebCore::VideoTextureCopierCV::GC3DStateSaver::saveVertexAttribState): Save all the
applicable vertex attribute state information.

  • platform/graphics/cv/VideoTextureCopierCV.h: GC3DStateSaver can use a reference

to the GC3D rather than a pointer.

LayoutTests:

Tweak this test to make sure it does something different from
the code in WebCore to render a video into a texture, thus
ensuring that we're testing state is correctly restored.

  • fast/canvas/webgl/texImage2D-video-flipY-true.html:
7:52 PM Changeset in webkit [222197] by dino@apple.com
  • 12 edits
    6 adds in trunk

[WebGL] accelerated texImage2D for video doesn't respect flipY
https://bugs.webkit.org/show_bug.cgi?id=176491
<rdar://problem/33833511>

Reviewed by Jer Noble.

(Take 3 - this was rolled out due to a test failure)

Source/WebCore:

Previously, if UNPACK_FLIP_Y_WEBGL was set to true, we'd either fall
back to software or fail to upload texture data. Fix this by intercepting
the texImage2D call, checking the orientation of the video, and running
a small shader program to flip it if necessary.

While there, implement UNPACK_PREMULTIPLY_ALPHA_WEBGL as well, although
none of our media decoders support video with alpha, so unfortunately
this will have no visible change.

Tests: fast/canvas/webgl/texImage2D-video-flipY-false.html

fast/canvas/webgl/texImage2D-video-flipY-true.html

  • platform/cocoa/CoreVideoSoftLink.cpp: Add link to CVOpenGL(ES)TextureGetCleanTexCoords,

which is used to check the orientation of the source video.

  • platform/cocoa/CoreVideoSoftLink.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): We can
now handle flipped or premultiplied requests.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture): Ditto.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::VideoTextureCopierCV): Rename readFramebuffer to
simply framebuffer.
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV): Delete the program and buffer
if they were created.
(WebCore::VideoTextureCopierCV::initializeContextObjects): Sets up the shader program
and the vertex buffer for drawing. Also records the location of the uniforms.
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Create a new
framebuffer object, and render the video texture into that framebuffer using a
shader that can flip the coordinates.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver): Helper to restore
the state of the user's GraphicsContext3D while we're intercepting calls.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):

  • platform/graphics/cv/VideoTextureCopierCV.h:
  • platform/graphics/GraphicsContext3D.h: Add two new entry points, for direct shader

compilation and attribute access. This avoids going through ANGLE.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compileShaderDirect):
(WebCore::GraphicsContext3D::getAttribLocationDirect):

LayoutTests:

Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
path.

  • fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
  • fast/canvas/webgl/resources/orientation-normal.mp4: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
  • fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
  • platform/ios/TestExpectations: This test is macOS only.
  • platform/mac/TestExpectations: Mark an existing WebGL test as flakey, while a bug exposed here is investigated.
7:45 PM Changeset in webkit [222196] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Make ImageFrame::duration() return Seconds instead of float
https://bugs.webkit.org/show_bug.cgi?id=177103

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-18
Reviewed by Simon Fraser.

ScalableImageDecoder stores milliseconds for the duration of its ImageFrames.
But ImageFrameCache store seconds for the duration of its ImageFrames.
To fix this issue use Seconds for the ImageFrame duration.

  • platform/graphics/BitmapImage.h:
  • platform/graphics/ImageDecoder.h:
  • platform/graphics/ImageFrame.h:

(WebCore::ImageFrame::setDuration):
(WebCore::ImageFrame::duration const):

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::frameDurationAtIndex):

  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageSource.h:

(WebCore::ImageSource::frameDurationAtIndex):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::frameDurationAtIndex const):

  • platform/graphics/cg/ImageDecoderCG.h:
  • platform/image-decoders/ScalableImageDecoder.cpp:

(WebCore::ScalableImageDecoder::frameDurationAtIndex const):

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::frameComplete):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::readChunks):
(WebCore::PNGImageDecoder::frameHeader): Deleted.
(WebCore::PNGImageDecoder::init): Deleted.
(WebCore::PNGImageDecoder::clearFrameBufferCache): Deleted.
(WebCore::PNGImageDecoder::initFrameBuffer): Deleted.
(WebCore::PNGImageDecoder::frameComplete): Deleted.
(WebCore::PNGImageDecoder::processingStart): Deleted.
(WebCore::PNGImageDecoder::processingFinish): Deleted.
(WebCore::PNGImageDecoder::fallbackNotAnimated): Deleted.

6:56 PM Changeset in webkit [222195] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[Win] Compile error in InbandTextTrackPrivateAVCF::readNativeSampleBuffer.
https://bugs.webkit.org/show_bug.cgi?id=177108

Reviewed by Brent Fulgham.

The InbandTextTrackPrivateAVF::m_sampleInputBuffer is private and not accessible in this method.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
5:29 PM Changeset in webkit [222194] by Michael Catanzaro
  • 69 edits
    1 move in trunk

[CMake] Rename WebKit target to WebKitLegacy and rename WebKit2 target to WebKit
https://bugs.webkit.org/show_bug.cgi?id=174558

Reviewed by Alex Christensen.

.:

  • CMakeLists.txt:
  • Source/PlatformGTK.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:
  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFS.cmake:

Source/WebDriver:

  • CMakeLists.txt:

Source/WebKit:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • PlatformMac.cmake:
  • PlatformWPE.cmake:
  • PlatformWin.cmake:
  • Shared/gtk/WebKitWaylandProtocol.xml: Renamed from Source/WebKit/Shared/gtk/WebKit2WaylandProtocol.xml.
  • UIProcess/gtk/WaylandCompositor.cpp:
  • WebProcess/gtk/WaylandCompositorDisplay.cpp:

Source/WebKitLegacy:

With help from Stephan Szabo, thanks!

  • CMakeLists.txt:
  • PlatformMac.cmake:
  • PlatformWin.cmake:

Tools:

With help from Stephan Szabo, thanks!

  • DumpRenderTree/PlatformMac.cmake:
  • DumpRenderTree/PlatformWin.cmake:
  • DumpRenderTree/win/AccessibilityControllerWin.cpp:
  • DumpRenderTree/win/DRTDesktopNotificationPresenter.h:
  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/EditingDelegate.h:
  • DumpRenderTree/win/EventSender.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.cpp:
  • DumpRenderTree/win/FrameLoadDelegate.h:
  • DumpRenderTree/win/GCControllerWin.cpp:
  • DumpRenderTree/win/HistoryDelegate.cpp:
  • DumpRenderTree/win/HistoryDelegate.h:
  • DumpRenderTree/win/PolicyDelegate.h:
  • DumpRenderTree/win/ResourceLoadDelegate.cpp:
  • DumpRenderTree/win/ResourceLoadDelegate.h:
  • DumpRenderTree/win/TestRunnerWin.cpp:
  • DumpRenderTree/win/TextInputControllerWin.cpp:
  • DumpRenderTree/win/UIDelegate.cpp:
  • DumpRenderTree/win/UIDelegate.h:
  • DumpRenderTree/win/WorkQueueItemWin.cpp:
  • MiniBrowser/gtk/CMakeLists.txt:
  • MiniBrowser/mac/CMakeLists.txt:
  • MiniBrowser/win/AccessibilityDelegate.cpp:
  • MiniBrowser/win/AccessibilityDelegate.h:
  • MiniBrowser/win/CMakeLists.txt:
  • MiniBrowser/win/Common.cpp:
  • MiniBrowser/win/DOMDefaultImpl.h:
  • MiniBrowser/win/MiniBrowser.cpp:
  • MiniBrowser/win/MiniBrowser.h:
  • MiniBrowser/win/MiniBrowserWebHost.cpp:
  • MiniBrowser/win/MiniBrowserWebHost.h:
  • MiniBrowser/win/PageLoadTestClient.h:
  • MiniBrowser/win/PrintWebUIDelegate.cpp:
  • MiniBrowser/win/PrintWebUIDelegate.h:
  • MiniBrowser/win/ResourceLoadDelegate.cpp:
  • MiniBrowser/win/ResourceLoadDelegate.h:
  • MiniBrowser/win/WebDownloadDelegate.h:
  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/PlatformWPE.cmake:
  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/Tests/WebKitLegacy/win/ScaleWebView.cpp:
  • TestWebKitAPI/Tests/WebKitLegacy/win/WebViewDestruction.cpp:
  • TestWebKitAPI/glib/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
  • WebKitTestRunner/PlatformGTK.cmake:
  • WebKitTestRunner/PlatformWPE.cmake:
5:19 PM Changeset in webkit [222193] by Ryan Haddad
  • 5 edits
    1 copy
    1 add in trunk/LayoutTests

Unreviewed test gardening for macOS.

  • platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
  • platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/loader/file-url-mimetypes-3-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
4:44 PM Changeset in webkit [222192] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/css/display-contents-style-update.html as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177109

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:42 PM Changeset in webkit [222191] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Fill out vector types in WSL's standard library
https://bugs.webkit.org/show_bug.cgi?id=177063

Reviewed by Filip Pizlo.

Now that we have struct types, operator&[], and operator==, fill out a few of the builtin vector types in the
standard library. This patch creates three new types: vec2, vec3, and vec4, each of which takes a type
argument, so you can say vec4<float>. This patch also adds typedefs of int4, uint4, float4, and double4 (along
with their 2- and 3- length siblings).

This patch does not include the swizzling operators, so you can't say float4.yzw.

  • WebGPUShadingLanguageRI/StandardLibrary.js:

(operator.T.vec2.T):
(bool.operator.T.Equatable):
(thread.T.operator.T):
(operator.T.vec3.T):
(operator.T.vec4.T):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_builtinVectors):

4:36 PM Changeset in webkit [222190] by timothy_horton@apple.com
  • 14 edits in trunk

Support min() and max() in calc()
https://bugs.webkit.org/show_bug.cgi?id=167000
<rdar://problem/30153481>

Reviewed by David Hyatt.
Patch originally by Myles Maxfield.

Source/WebCore:

Add two new toplevel functions to CSS, min() and max(), which take an
arbirary number of arguments and resolve to the minimum and maximum of
the resolved value of the arguments, respectively. It is also possible
to use min() and max() inside calc(), and to use calc()-like math
inside min() and max().

  • css/CSSCalculationValue.cpp:

(WebCore::determineCategory):
min and max operators don't use determineCategory; we have a specific
implementation for them in createMinOrMax.

(WebCore::resolvedTypeForMinOrMax):
The spec says that min() and max() should be marked as invalid if they
have values of more than one type, but that percentages should resolve
against the destination type before making this determination. So,
if the destination type is length, percent turns into percent-length,
and similarly for number.

(WebCore::isIntegerResult):
Add an n-way implementation of isIntegerResult.

(WebCore::isSamePair):
(WebCore::CSSCalcOperation::createMinOrMax): Create a min() or max()
operation, as long as the types of arguments are all the same. Allow
lengths to upgrade the whole operation to percent-length, and numbers
to percent-number, which will cause us to use CalculationValue and friends
in order to do proper resolution of all of the parameters instead of
just comparing their numeric values.

(WebCore::CSSCalcOperation::createCalcExpression):
(WebCore::CSSCalcOperation::doubleValue):
(WebCore::CSSCalcOperation::computeLengthPx):
(WebCore::CSSCalcOperation::customCSSText):
(WebCore::CSSCalcOperation::primitiveType):
(WebCore::CSSCalcOperation::CSSCalcOperation):
(WebCore::CSSCalcOperation::evaluate):
(WebCore::CSSCalcOperation::evaluateOperator):
Adapt to child counts greater than two.

(WebCore::CSSCalcOperation::buildCssText):
Add support for min() and max().

(WebCore::CSSCalcExpressionNodeParser::parseCalc):
parseCalc now accepts a CSSValueID parameter indicating which calc function
it should parse (calc, webkit-calc, min, or max), and delegates to either
parseValueExpression or parseMinMaxExpression.

(WebCore::CSSCalcExpressionNodeParser::operatorValue):
(WebCore::CSSCalcExpressionNodeParser::parseValue):
If min() or max() are found while parsing a value (i.e. nested inside
either calc or themselves), use parseMinMaxExpression on that subtree.

(WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
(WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
(WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.

(WebCore::CSSCalcExpressionNodeParser::parseMinMaxExpression):
Added. Parse an arbitrary number of comma-and-whitespace-separated children.

(WebCore::createBlendHalf):
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.

(WebCore::createCSS):
Build the CSSCalcOperation for the platform-independent min and max operations.

(WebCore::CSSCalcValue::create):
Pass the function being parsed and the destination calc category for the
property being parsed for into create, and then into the parser so that
it can know which function it is parsing for, and what kind of result it
needs (as previously mentioned above in resolvedTypeForMinOrMax).

  • css/CSSCalculationValue.h:
  • css/CSSValueKeywords.in:

Add min and max functions as CSS keywords.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertLength):
(WebCore::StyleBuilderConverter::convertTo100PercentMinusLength):

  • platform/Length.cpp:

(WebCore::convertTo100PercentMinusLength):
Adapt to the CalcExpressionOperation constructor taking a vector of
arguments instead of two.

  • css/parser/CSSPropertyParserHelpers.cpp:

(WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser):
Store and pass the specific function being parsed down into CSSCalcValue.

(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumePositiveIntegerRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeFontWeightNumber):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumeLengthOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeAngle):
(WebCore::CSSPropertyParserHelpers::consumeTime):
Pass the destination type into each calc parser.

  • platform/CalculationValue.cpp:

(WebCore::CalcExpressionOperation::evaluate const):
(WebCore::CalcExpressionOperation::operator== const):
(WebCore::CalcExpressionOperation::dump const):
(WebCore::operator<<):
(WebCore::CalcExpressionBinaryOperation::evaluate const): Deleted.
(WebCore::CalcExpressionBinaryOperation::operator== const): Deleted.
(WebCore::CalcExpressionBinaryOperation::dump const): Deleted.

  • platform/CalculationValue.h:

(WebCore::CalcExpressionOperation::CalcExpressionOperation):
(WebCore::operator==):
(WebCore::toCalcExpressionOperation):
(WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation): Deleted.
(WebCore::toCalcExpressionBinaryOperation): Deleted.
Adjust to the CSSCalcBinaryOperation->CSSCalcOperation rename.
Adjust to having n>2 children.
Support min() and max() operators in various places.

LayoutTests:

  • css3/calc/minmax-errors-expected.txt:
  • css3/calc/minmax-errors.html:
  • css3/calc/simple-minmax-expected.txt:
  • css3/calc/simple-minmax.html:

Revive previously-unused tests for an earlier never-implemented version
of this feature, and add a bunch more interesting test cases from reading the spec.

4:32 PM Changeset in webkit [222189] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark imported/blink/fast/events/panScroll-panIcon.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177077

Unreviewed test gardening.

  • platform/win/TestExpectations:
4:14 PM Changeset in webkit [222188] by Matt Baker
  • 12 edits in trunk

Web Inspector: RemoteObject.resolveNode should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=177042

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Update RemoteObject.resolveNode to return a promise instead of taking a
callback. If the promise is fulfilled, remoteObject will be non-null.

  • UserInterface/Controllers/DOMTreeManager.js:

(WI.DOMTreeManager.prototype.inspectNodeObject.nodeAvailable):
(WI.DOMTreeManager.prototype.inspectNodeObject):
(WI.DOMTreeManager.prototype.getNodeContentFlowInfo.domNodeResolved): Deleted.

  • UserInterface/Models/DOMNode.js:

(WI.DOMNode.prototype.toggleClass.WI.RemoteObject.resolveNode.then):
(WI.DOMNode.prototype.toggleClass):
(WI.DOMNode.prototype.scrollIntoView.WI.RemoteObject.resolveNode.then):
(WI.DOMNode.prototype.scrollIntoView):
(WI.DOMNode.prototype.toggleClass.resolvedNode.inspectedPage_node_toggleClass): Deleted.
(WI.DOMNode.prototype.toggleClass.resolvedNode): Deleted.
(WI.DOMNode.prototype.scrollIntoView.resolvedNode.inspectedPage_node_scrollIntoView): Deleted.
(WI.DOMNode.prototype.scrollIntoView.resolvedNode): Deleted.

  • UserInterface/Protocol/RemoteObject.js:

(WI.RemoteObject.resolveNode):

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.WI.RemoteObject.resolveNode.then):
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput):
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.toggleInlineStyleProperty): Deleted.
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode.didToggle): Deleted.
(WI.BoxModelDetailsSectionRow.prototype._applyUserInput.resolvedNode): Deleted.

  • UserInterface/Views/CanvasDetailsSidebarPanel.js:
  • UserInterface/Views/ContextMenuUtilities.js:

(WI.appendContextMenuItemsForDOMNode):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved.inspectedPage_node_collectPrototypes): Deleted.
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodeResolved): Deleted.
(WI.DOMNodeDetailsSidebarPanel.prototype._refreshProperties.nodePrototypesReady): Deleted.

  • UserInterface/Views/DOMTreeElement.js:

(WI.DOMTreeElement.prototype._createTooltipForNode.WI.RemoteObject.resolveNode.then):
(WI.DOMTreeElement.prototype._createTooltipForNode):
(WI.DOMTreeElement.prototype._createTooltipForNode.resolvedNode.dimensions): Deleted.
(WI.DOMTreeElement.prototype._createTooltipForNode.resolvedNode): Deleted.

  • UserInterface/Views/DOMTreeOutline.js:

(WI.DOMTreeOutline.prototype._hideElement.injectStyleAndToggleClass):
(WI.DOMTreeOutline.prototype._hideElement):
(WI.DOMTreeOutline):
(WI.DOMTreeOutline.prototype._hideElement.resolvedNode.injectStyleAndToggleClass): Deleted.
(WI.DOMTreeOutline.prototype._hideElement.resolvedNode): Deleted.

LayoutTests:

Updated tests to use promises instead of callbacks.

  • inspector/dom/highlightNode.html:
4:02 PM Changeset in webkit [222187] by commit-queue@webkit.org
  • 7 edits
    1 add in trunk/Source/WebCore

[Curl] Move error generation task into ResourceError
https://bugs.webkit.org/show_bug.cgi?id=176963

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

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

(WebCore::CurlHandle::errorDescription):
(WebCore::CurlHandle::errorDescription const):

  • platform/network/curl/CurlContext.h:
  • platform/network/curl/ResourceError.h:

(WebCore::ResourceError::setSslErrors):
(WebCore::ResourceError::hasSSLConnectError const): Deleted.
(WebCore::ResourceError::doPlatformIsolatedCopy): Deleted.

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

(WebCore::ResourceError::httpError):
(WebCore::ResourceError::sslError):
(WebCore::ResourceError::hasSSLConnectError const):
(WebCore::ResourceError::doPlatformIsolatedCopy):
(WebCore::ResourceError::platformCompare):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::didFail):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
3:41 PM Changeset in webkit [222186] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

ErrorInstance and Exception need destroy methods
https://bugs.webkit.org/show_bug.cgi?id=177095

Reviewed by Saam Barati.

When I made ErrorInstance and Exception into JSDestructibleObjects, I forgot to make them
follow that type's protocol.

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::destroy): Implement this to fix leaks.

  • runtime/ErrorInstance.h:
  • runtime/Exception.h: Change how this is declared now that this is a DestructibleObject.
3:39 PM Changeset in webkit [222185] by mmaxfield@apple.com
  • 11 edits in trunk/Tools

WSL needs to annotate vertex shaders and fragment shaders
https://bugs.webkit.org/show_bug.cgi?id=177066

Reviewed by Filip Pizlo.

Metal Shading Language requires annotating vertex and fragment shaders, so this information needs to be in
the source WSL file.

  • WebGPUShadingLanguageRI/Func.js:

(Func):
(Func.prototype.get shaderType):

  • WebGPUShadingLanguageRI/FuncDef.js:

(FuncDef):

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):

  • WebGPUShadingLanguageRI/Parse.js:

(parseFuncDecl):
(parseProtocolFuncDecl):
(parseFuncDef):
(parseNativeFunc):

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/Test.js:
3:36 PM Changeset in webkit [222184] by fpizlo@apple.com
  • 6 edits in trunk/Tools

WSL should know that constexpr parameters are not lvalues
https://bugs.webkit.org/show_bug.cgi?id=177104

Reviewed by Saam Barati.

This should be an error:

void foo<int x>()
{

x = 42;

}


Previously, it wasn't, because VariableRef always thought that it was an LValue. This patch
teaches the type checker that not all VariableRefs are LValues.

  • WebGPUShadingLanguageRI/ConstexprTypeParameter.js:

(ConstexprTypeParameter.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/FuncParameter.js:

(FuncParameter.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_nonArrayRefArrayLengthSucceed):
(TEST_nonArrayRefArrayLengthFail):
(TEST_nonArrayRefArrayLength): Deleted.
(TEST_assignLength): Deleted.

  • WebGPUShadingLanguageRI/VariableDecl.js:

(VariableDecl.prototype.get varIsLValue):

  • WebGPUShadingLanguageRI/VariableRef.js:

(VariableRef.prototype.get isLValue):

3:35 PM Changeset in webkit [222183] by aestes@apple.com
  • 16 edits
    2 adds in trunk/Source

[Cocoa] Upstream sandbox-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=177047

Reviewed by Daniel Bates.

Source/WebKit:

  • NetworkProcess/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::encode const):

  • Platform/spi/mac/QuarantineSPI.h: Added.
  • Shared/SandboxExtension.h:

(): Deleted.

  • Shared/mac/ChildProcessMac.mm:

(WebKit::enableSandboxStyleFileQuarantine):
(WebKit::ChildProcess::initializeSandbox):

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtensionImpl::create):
(WebKit::SandboxExtensionImpl::SandboxExtensionImpl):
(WebKit::SandboxExtensionImpl::~SandboxExtensionImpl):
(WebKit::SandboxExtensionImpl::consume):
(WebKit::SandboxExtensionImpl::invalidate):
(WebKit::SandboxExtensionImpl::getSerializedFormat):
(WebKit::SandboxExtension::Handle::Handle):
(WebKit::SandboxExtension::Handle::~Handle):
(WebKit::SandboxExtension::Handle::encode const):
(WebKit::SandboxExtension::Handle::decode):
(WebKit::SandboxExtension::createHandleWithoutResolvingPath):
(WebKit::SandboxExtension::createHandleForReadWriteDirectory):
(WebKit::SandboxExtension::createHandleForTemporaryFile):
(WebKit::SandboxExtension::createHandleForGenericExtension):
(WebKit::SandboxExtension::SandboxExtension):
(WebKit::SandboxExtension::~SandboxExtension):
(WebKit::SandboxExtension::revoke):
(WebKit::SandboxExtension::consume):
(WebKit::SandboxExtension::consumePermanently):
(WebKit::wkSandboxExtensionType): Deleted.

  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::createSandboxExtensionsIfNeeded):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/Downloads/DownloadProxy.cpp:

(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::grantSandboxExtensionsToStorageProcessForBlobs):

  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::getSandboxExtensionsForBlobFiles):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::didChooseFilesForOpenPanel):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::processDidFinishLaunching):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::startMemorySampler):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/FileAPI/BlobRegistryProxy.cpp:

(WebKit::BlobRegistryProxy::registerFileBlobURL):

Source/WTF:

  • wtf/spi/darwin/SandboxSPI.h:
3:27 PM Changeset in webkit [222182] by webkit@devinrousso.com
  • 8 edits
    1 add in trunk/LayoutTests

Web Inspector: make Canvas recording tests more human readable
https://bugs.webkit.org/show_bug.cgi?id=176441

Reviewed by Joseph Pecoraro.

  • inspector/canvas/resources/recording-utilities.js: Added.

(TestPage.registerInitializer):
Create common functions for requesting and printing a recording.

  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-2d.html:
  • inspector/canvas/recording-webgl-expected.txt:
  • inspector/canvas/recording-webgl.html:
  • inspector/canvas/recording-webgl-snapshots-expected.txt:
  • inspector/canvas/recording-webgl-snapshots.html:
2:33 PM Changeset in webkit [222181] by BJ Burg
  • 11 edits
    3 copies in trunk/Source/WebInspectorUI

Web Inspector: introduce an AppController class and shared instance of it
https://bugs.webkit.org/show_bug.cgi?id=177024

Reviewed by Matt Baker.

WebInspectorUI currently has an app controller singleton that's distributed
among many properties on the WI object, which also serves as a namespace for
classes, enums, and other frontend objects. The singleton should be a proper
class so that we can think more easily about what state is global.

In the process of moving pieces of Main.js into AppController, I intend to move
most UI related code into a view controller class for the top level view.
AppController really shouldn't be doing anything to the view hierarchy or DOM.
It is yet to be determined how responsibility for global DOM events, such as
those for keyboard shortcuts, will be handled.

This larger refactoring project will let us more easily do things like connect
to multiple debuggables in the same Inspector instance, and switch between views
of different debuggable targets. Even if this never comes to pass, the code will
be a lot easier to reason about and maintain in the future.

For the first patch, introduce {AppController, TestAppController} <: AppControllerBase.
Shared code goes in the base class. In the Main.html and Test.html files, first
construct the AppController and then call .initialize() to avoid cyclic dependencies
on the global singleton WI.sharedApp.

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

(WI.loaded):

  • UserInterface/Base/Main.js:

(WI.loaded):
Move some shared code out of here into AppControllerBase.constructor.
Eventually WI.loaded should not exist, and its code will move elsewhere.

(WI.contentLoaded):
Adopt global reference.

  • UserInterface/Controllers/AppControllerBase.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/MainTarget.js.

(WI.AppControllerBase):
(WI.AppControllerBase.prototype.get hasExtraDomains):
(WI.AppControllerBase.prototype.get debuggableType):
(WI.AppControllerBase.prototype.initialize):

  • UserInterface/Controllers/AppController.js: New.

(WI.AppController):
(WI.AppController.prototype.get hasExtraDomains):
(WI.AppController.prototype.get debuggableType):
(WI.AppController.prototype.activateExtraDomains):

  • UserInterface/Test/TestAppController.js: New.

(WI.TestAppController):
(WI.TestAppController.prototype.get hasExtraDomains):
(WI.TestAppController.prototype.get debuggableType):

  • UserInterface/Controllers/TimelineManager.js:

(WI.TimelineManager.defaultTimelineTypes):
(WI.TimelineManager.availableTimelineTypes):
(WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted):
(WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped):
(WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):

  • UserInterface/Models/TimelineRecording.js:

(WI.TimelineRecording.sourceCodeTimelinesSupported):

  • UserInterface/Protocol/InspectorObserver.js:

(WI.InspectorObserver.prototype.inspect):
(WI.InspectorObserver.prototype.activateExtraDomains):
(WI.InspectorObserver):

  • UserInterface/Protocol/MainTarget.js:

(WI.MainTarget):
(WI.MainTarget.prototype.get displayName):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WI.ResourceSidebarPanel):
(WI.ResourceSidebarPanel.prototype.initialLayout):
(WI.ResourceSidebarPanel.prototype._addScript):
(WI.ResourceSidebarPanel.prototype._extraDomainsActivated):

  • UserInterface/Views/Toolbar.js:

Use WI.sharedApp.{debuggableType, hasExtraDomains}.

2:04 PM Changeset in webkit [222180] by Ryan Haddad
  • 7 edits in trunk

Unreviewed, rolling out r222170.

The API test added with this change is failing.

Reverted changeset:

"Allow WTF::map to use any class that is iterable and has a
size getter"
https://bugs.webkit.org/show_bug.cgi?id=177026
http://trac.webkit.org/changeset/222170

2:03 PM Changeset in webkit [222179] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

Add a section in WSL's documentation about how API objects and WSL interact
https://bugs.webkit.org/show_bug.cgi?id=177089

Reviewed by Filip Pizlo.

No global variables; entry points accept arguments. Buffers are array references ([]),
and texture and sampler opaque types exist. Data is passed between stages in return
values.

  • WebGPUShadingLanguageRI/WSL.md:
2:01 PM Changeset in webkit [222178] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Another WK1 unflake attempt.

  • transitions/transition-display-property-2.html:
1:48 PM Changeset in webkit [222177] by don.olmstead@sony.com
  • 4 edits in trunk/Source/WebCore

[Curl] Forward declare SSL context

Unreviewed build fix after r222147. OpenSSL's SHA1 declaration conflicts with WTF's.

No new tests. No change in behavior.

  • platform/network/curl/CurlSSLHandle.h:
  • platform/network/curl/CurlSSLVerifier.cpp:
  • platform/network/curl/CurlSSLVerifier.h:
1:38 PM Changeset in webkit [222176] by rniwa@webkit.org
  • 4 edits in trunk

getData('text/plain') doesn't work on iOS 10
https://bugs.webkit.org/show_bug.cgi?id=177034

Reviewed by Wenson Hsieh.

Source/WebCore:

The bug was caused by the mispatch of UTI between reading & writing plain text.
Use kUTTypeText (instead of kUTTypePlainText) to read from UIPasteboard on iOS 10.

Re-enabled tests were passing on iOS 11 and continues to pass after this code change.

Tests: editing/pasteboard/clipboard-event.html

editing/pasteboard/datatransfer-items-paste-plaintext.html
editing/pasteboard/get-data-text-plain-paste.html

  • platform/ios/PasteboardIOS.mm:

(WebCore::cocoaTypeFromHTMLClipboardType):

LayoutTests:

Removed the failing test expectations from tests that now pass on iOS.

  • platform/ios/TestExpectations:
1:06 PM Changeset in webkit [222175] by Yusuke Suzuki
  • 3 edits in trunk/Source/JavaScriptCore

[JSC] Consider dropping JSObjectSetPrototype feature for JSGlobalObject
https://bugs.webkit.org/show_bug.cgi?id=177070

Reviewed by Saam Barati.

Due to the security reason, our global object is immutable prototype exotic object.
It prevents users from injecting proxies into the prototype chain of the global object[1].
But our JSC API does not respect this attribute, and allows users to change Prototype?
of the global object after instantiating it.

This patch removes this feature. Once global object is instantiated, we cannot change Prototype?
of the global object. It drops JSGlobalObject::resetPrototype use, which involves GlobalThis
edge cases.

[1]: https://github.com/tc39/ecma262/commit/935dad4283d045bc09c67a259279772d01b3d33d

  • API/JSObjectRef.cpp:

(JSObjectSetPrototype):

  • API/tests/CustomGlobalObjectClassTest.c:

(globalObjectSetPrototypeTest):

12:35 PM Changeset in webkit [222174] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: console.assert messages shouldn't end in an exclamation point
https://bugs.webkit.org/show_bug.cgi?id=177054

Reviewed by Joseph Pecoraro.

  • UserInterface/Base/EventListener.js:
  • UserInterface/Base/EventListenerSet.js:

(WI.EventListenerSet.prototype.register):
Drive-by: make assertions the same in both.

  • UserInterface/Views/LayoutTimelineView.js:

(WI.LayoutTimelineView.prototype._processPendingRecords):

  • UserInterface/Views/Resizer.js:

(WI.Resizer.prototype._currentPosition):

12:14 PM Changeset in webkit [222173] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Unreviewed, fix typo.

  • WebGPUShadingLanguageRI/WSL.md:
11:57 AM Changeset in webkit [222172] by fpizlo@apple.com
  • 3 edits in trunk/Tools

WSL cannot use typedefs of arrays
https://bugs.webkit.org/show_bug.cgi?id=177061

Reviewed by Saam Barati.

This test case didn't work before because of a missing visit call in Checker.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_typedefArray):

11:56 AM Changeset in webkit [222171] by webkit@devinrousso.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION(r221901): Single frame recordings don't reset the recording navigation item
https://bugs.webkit.org/show_bug.cgi?id=176893

Reviewed by Matt Baker.

  • UserInterface/Controllers/CanvasManager.js:

(WI.CanvasManager.prototype.recordingFinished):
Set the _recordingCanvas to null whenever a recording has finished and been sent to the
frontend. It is also necessary to do this inside stopRecording, as it is possible for the
user to start and stop a recording before any actions are recorded, meaning that no
recording would be sent to the frontend and this function will never get called.

11:52 AM Changeset in webkit [222170] by commit-queue@webkit.org
  • 7 edits in trunk

Allow WTF::map to use any class that is iterable and has a size getter
https://bugs.webkit.org/show_bug.cgi?id=177026

Patch by Youenn Fablet <youenn@apple.com> on 2017-09-18
Reviewed by Darin Adler.

Source/WebCore:

No change of behavior.
Using WTF::map to go from maps to vectors.

  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::resourceList):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchAllPendingUnloadEvents):

Source/WTF:

Computing the Item type given to the lambda using the iterator instead of ValueType which is specific to Vector.
Adding the possibility to pass a non const container reference and a lambda taking non const references as well.

  • wtf/Vector.h:

(WTF::MapFunctionInspector::acceptsReference):
(WTF::Mapper::map):
(WTF::map):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

11:51 AM Changeset in webkit [222169] by fpizlo@apple.com
  • 49 edits
    13 adds
    4 deletes in trunk/Tools

Figure out how WSL will support field overloads like float4.xz and friends
https://bugs.webkit.org/show_bug.cgi?id=177031

Reviewed by JF Bastien.

WSL needs to support getters and setters, so that we can do things like:

float4 vec;
vec.zx = float2(1, 2);
z = 1, x = 2


There's no way to express this float4.zx returning a pointer to something, since it's doing swizzling.
It could return a crazy smart pointer, but that sounds like a lot of work. So, I decided to go for
lvalue emulation instead.

The idea of lvalue emulation is that when we try to make an lvalue work for an assignment or RMW
operation (like += and friends), we consider the possibility that we have to first load the value using
a getter and then store it with a setter. This patch makes this work recursively, so that this will
work:

float4 vec;
vec.zwx.y = 42;
now w is 42


This works because we decompose it automatically:

float4 vec;
float3 tmp = vec.zwx;
tmp.y = 42;
vec.zwx = tmp;


This'll work to any depth.

To check if this works, this patch adds two substantial new tests called TEST_genericAccessors() and
TEST_bitSubscriptAccessor(). This tests that this stuff works with a lot of generic types, and that it's
possible to turn integers into bitvectors using subscript overloading. This patch also adds smaller unit
tests also.

Oh, and it's now possible to get an array's length.

  • WebGPUShadingLanguageRI/AddressSpace.js:

(needsPrimitiveProtocol):
(protocolSuffix):

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/AnonymousVariable.js: Added.

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

  • WebGPUShadingLanguageRI/ArrayRefType.js:

(ArrayRefType.prototype.argumentForAndOverload):
(ArrayRefType.prototype.argumentTypeForAndOverload):

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType.prototype.argumentForAndOverload):
(ArrayType.prototype.argumentTypeForAndOverload):
(ArrayType):

  • WebGPUShadingLanguageRI/Assignment.js:

(Assignment):

  • WebGPUShadingLanguageRI/CallAssignment.js: Removed.
  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.resolve):
(CallExpression.prototype.resolve):
(CallExpression.prototype.resolveToOverload):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitProgram):
(Checker.prototype.visitFuncDef):
(Checker.prototype.visitNativeFunc):
(Checker.prototype.visitProtocolDecl):
(Checker.prototype.visitIdentityExpression):
(Checker.prototype.visitReadModifyWriteExpression):
(Checker.prototype.visitAnonymousVariable):
(Checker.prototype.visitMakeArrayRefExpression):
(Checker.prototype._finishVisitingPropertyAccess):
(Checker.prototype.visitDotExpression):
(Checker.prototype.visitIndexExpression):
(Checker.prototype.visitCallExpression):
(Checker):
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitTypeRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable.prototype.visitVariableRef): Deleted.
(Checker.prototype.visitProtocolDecl.NoticeTypeVariable): Deleted.
(Checker.prototype.visitProtocolDecl.set throw): Deleted.

  • WebGPUShadingLanguageRI/CommaExpression.js:
  • WebGPUShadingLanguageRI/DotExpression.js:

(DotExpression):
(DotExpression.prototype.get struct):
(DotExpression.prototype.get getFuncName):
(DotExpression.prototype.get andFuncName):
(DotExpression.prototype.get setFuncName):

  • WebGPUShadingLanguageRI/EBuffer.js:
  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype.visitAnonymousVariable):
(EBufferBuilder.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitIdentityExpression):
(Evaluator.prototype.visitMakePtrExpression):
(Evaluator.prototype.visitAnonymousVariable):
(Evaluator.prototype.visitDotExpression): Deleted.
(Evaluator.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/ExpressionFinder.js:

(ExpressionFinder.prototype.visitReadModifyWriteExpression):
(ExpressionFinder.prototype.visitIdentityExpression):

  • WebGPUShadingLanguageRI/ForLoop.js:

(ForLoop.prototype.toString):
(ForLoop):

  • WebGPUShadingLanguageRI/Func.js:

(Func):

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitFuncDef):
(FuncInstantiator.prototype.getUnique.Instantiate.prototype.visitNativeFunc):
(FuncInstantiator.prototype.getUnique.Instantiate):
(FuncInstantiator.prototype.getUnique):
(FuncInstantiator):

  • WebGPUShadingLanguageRI/IdentityExpression.js: Added.

(IdentityExpression):
(IdentityExpression.prototype.get target):
(IdentityExpression.prototype.get unifyNode):
(IdentityExpression.prototype.get isConstexpr):
(IdentityExpression.prototype.get isLValue):
(IdentityExpression.prototype.get addressSpace):
(IdentityExpression.prototype.toString):

  • WebGPUShadingLanguageRI/IndexExpression.js: Added.

(IndexExpression):
(IndexExpression.prototype.get array):
(IndexExpression.prototype.get index):
(IndexExpression.prototype.get isLValue):
(IndexExpression.prototype.get addressSpace):
(IndexExpression.prototype.get getFuncName):
(IndexExpression.prototype.get andFuncName):
(IndexExpression.prototype.get setFuncName):
(IndexExpression.prototype.toString):

  • WebGPUShadingLanguageRI/InferTypesForCall.js:

(inferTypesForCall):

  • WebGPUShadingLanguageRI/Inline.js:

(_inlineFunction):

  • WebGPUShadingLanguageRI/Inliner.js:

(Inliner.prototype.visitCallExpression):
(Inliner.prototype.visitDotExpression): Deleted.

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/LetExpression.js: Removed.
  • WebGPUShadingLanguageRI/MakeArrayRefExpression.js:

(MakeArrayRefExpression.prototype.becomeConvertPtrToArrayRefExpression): Deleted.

  • WebGPUShadingLanguageRI/NameContext.js:

(NameContext):
(NameContext.prototype.add):
(NameContext.prototype.doStatement):
(NameContext.prototype.handleDefining): Deleted.
(NameContext.prototype.isDefined): Deleted.
(NameContext.prototype.define): Deleted.
(NameContext.prototype.defineAll): Deleted.

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.doStatement):
(NameResolver.prototype.visitProtocolDecl):
(NameResolver.prototype.visitProgram): Deleted.

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):

  • WebGPUShadingLanguageRI/NativeFuncInstance.js:

(NativeFuncInstance):
(NativeFuncInstance.prototype.get implementationData):

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.visit):
(Node.visit):
(Node.unify): Deleted.

  • WebGPUShadingLanguageRI/NormalUsePropertyResolver.js: Added.

(NormalUsePropertyResolver.prototype.visitDotExpression):
(NormalUsePropertyResolver.prototype.visitIndexExpression):
(NormalUsePropertyResolver):

  • WebGPUShadingLanguageRI/Parse.js:

(finishParsingPostIncrement):
(parsePossibleSuffix):
(finishParsingPreIncrement):
(genericParseCommaExpression):
(parseFuncName):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/Program.js:

(Program):
(Program.prototype.get globalNameContext):
(Program.prototype.add):

  • WebGPUShadingLanguageRI/PropertyAccessExpression.js: Added.

(PropertyAccessExpression):
(PropertyAccessExpression.prototype.get resultType):
(PropertyAccessExpression.prototype.rewriteAfterCloning):
(PropertyAccessExpression.prototype.updateCallsAfterChangingBase):
(PropertyAccessExpression.prototype.emitGet):
(PropertyAccessExpression.prototype.emitSet):

  • WebGPUShadingLanguageRI/PropertyResolver.js: Added.

(PropertyResolver.prototype._visitPropertyAccess):
(PropertyResolver.prototype.visitDotExpression):
(PropertyResolver.prototype.visitIndexExpression):
(PropertyResolver.prototype._handleReadModifyWrite):
(PropertyResolver.prototype.visitReadModifyWriteExpression):
(PropertyResolver.prototype.visitAssignment):
(PropertyResolver.visitMakePtrExpression):
(PropertyResolver.prototype.visitMakeArrayRefExpression):
(PropertyResolver):

  • WebGPUShadingLanguageRI/PtrType.js:

(PtrType.prototype.argumentForAndOverload):
(PtrType.prototype.argumentTypeForAndOverload):
(PtrType.prototype.returnTypeFromAndOverload):

  • WebGPUShadingLanguageRI/ReadModifyWriteExpression.js: Added.

(ReadModifyWriteExpression):
(ReadModifyWriteExpression.prototype.get lValue):
(ReadModifyWriteExpression.prototype.oldValueRef):
(ReadModifyWriteExpression.prototype.newValueRef):
(ReadModifyWriteExpression.prototype.toString):

  • WebGPUShadingLanguageRI/ResolveNames.js:

(createNameResolver):
(resolveNamesInTypes):
(resolveNamesInProtocols):
(resolveNamesInFunctions):
(resolveNames): Deleted.

  • WebGPUShadingLanguageRI/ResolveOverloadImpl.js:

(resolveOverloadImpl):

  • WebGPUShadingLanguageRI/ResolveProperties.js: Added.

(resolveProperties):

  • WebGPUShadingLanguageRI/ResolveTypeDefs.js:

(resolveTypeDefsInTypes):
(resolveTypeDefsInProtocols):
(resolveTypeDefsInFunctions):
(resolveTypeDefs): Deleted.

  • WebGPUShadingLanguageRI/ReturnChecker.js:

(ReturnChecker.prototype._isBoolCastFromLiteralTrue):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter):
(Rewriter.prototype.visitVariableDecl):
(Rewriter.prototype.visitTypeRef):
(Rewriter.prototype.visitAssignment):
(Rewriter.prototype.visitReadModifyWriteExpression):
(Rewriter.prototype.visitDereferenceExpression):
(Rewriter.prototype._handlePropertyAccessExpression):
(Rewriter.prototype.visitDotExpression):
(Rewriter.prototype.visitIndexExpression):
(Rewriter.prototype.visitReturn):
(Rewriter.prototype.visitGenericLiteralType):
(Rewriter.prototype.visitNullType):
(Rewriter.prototype.processDerivedCallData):
(Rewriter.prototype.visitCallExpression):
(Rewriter.prototype.visitFunctionLikeBlock):
(Rewriter.prototype.visitIfStatement):
(Rewriter.prototype.visitForLoop):
(Rewriter.prototype.visitAnonymousVariable):
(Rewriter.prototype.visitIdentityExpression):
(Rewriter.prototype.visitLetExpression): Deleted.

  • WebGPUShadingLanguageRI/StandardLibrary.js:
  • WebGPUShadingLanguageRI/StructLayoutBuilder.js:

(StructLayoutBuilder.prototype.visitNativeFuncInstance):
(StructLayoutBuilder):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Substitution.js:

(Substitution.prototype.get map):

  • WebGPUShadingLanguageRI/SuffixCallAssignment.js: Removed.
  • WebGPUShadingLanguageRI/SynthesizeStructAccessors.js: Added.

(synthesizeStructAccessors.createTypeParameters):
(synthesizeStructAccessors.):
(synthesizeStructAccessors.createFieldType):
(synthesizeStructAccessors.createTypeRef):
(synthesizeStructAccessors.setupAnder):
(synthesizeStructAccessors):

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

(checkNumber):
(TEST_simpleProtocol):
(TEST_assignLength):
(TEST_simpleSetter):
(TEST_genericAccessors):

  • WebGPUShadingLanguageRI/Type.js:

(Type.prototype.get isRef):
(Type.prototype.argumentForAndOverload):
(Type.prototype.argumentTypeForAndOverload):
(Type.prototype.returnTypeFromAndOverload):
(Type):

  • WebGPUShadingLanguageRI/TypeParameterRewriter.js: Added.

(TypeParameterRewriter.prototype.visitConstexprTypeParameter):
(TypeParameterRewriter.prototype.visitTypeVariable):
(TypeParameterRewriter):

  • WebGPUShadingLanguageRI/TypeVariableTracker.js: Added.

(TypeVariableTracker):

  • WebGPUShadingLanguageRI/Value.js:

(Value.prototype.become):
(Value):

  • WebGPUShadingLanguageRI/VariableRef.js:

(VariableRef.prototype.get unifyNode):
(VariableRef.prototype.get addressSpace):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitNativeFuncInstance):
(Visitor.prototype.visitProtocolDecl):
(Visitor): Deleted.

  • WebGPUShadingLanguageRI/VisitorBase.js: Removed.
11:26 AM Changeset in webkit [222168] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Always update display: contents styles in RenderTreeUpdater.
https://bugs.webkit.org/show_bug.cgi?id=177065

Patch by Emilio Cobos Álvarez <emilio> on 2017-09-18
Reviewed by Antti Koivisto.

Source/WebCore:

Otherwise we keep an old style around, making following style updates wrong.

Test: fast/css/display-contents-style-update.html

  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::updateElementRenderer):

LayoutTests:

  • fast/css/display-contents-style-update-expected.html: Added.
  • fast/css/display-contents-style-update.html: Added.
11:23 AM Changeset in webkit [222167] by Antti Koivisto
  • 4 edits
    2 adds in trunk

Avoid style resolution when clearing focused element.
https://bugs.webkit.org/show_bug.cgi?id=176224
<rdar://problem/34206409>

Reviewed by Zalan Bujtas.

Source/WebCore:

Test: fast/dom/focus-style-resolution.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

Don't do synchronous style resolution with FocusRemovalEventsMode::DoNotDispatch.
Style resolution may dispatch events.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

Move resolveStyleIfNeeded call to setFocusedElement. It is the only client for didBlur.

LayoutTests:

  • fast/dom/focus-style-resolution-expected.txt: Added.
  • fast/dom/focus-style-resolution.html: Added.
11:21 AM Changeset in webkit [222166] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Rolling out the previous to land again with a test.

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

11:17 AM Changeset in webkit [222165] by aestes@apple.com
  • 9 edits
    3 copies in trunk

[Cocoa] Upstream WKSetCrashReportApplicationSpecificInformation() from WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=177048

Reviewed by Alex Christensen.

Source/WebKit:

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::sendMessage):
(IPC::readFromMachPort):

  • Platform/cocoa/CrashReporter.h: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.
  • Platform/cocoa/CrashReporter.mm: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.

(WebKit::setCrashReportApplicationSpecificInformation):

  • Platform/spi/Cocoa/CrashReporterClientSPI.h: Copied from Source/WebKit/Shared/Cocoa/ChildProcessCocoa.mm.
  • Shared/Cocoa/ChildProcessCocoa.mm:

(WebKit::ChildProcess::didReceiveInvalidMessage):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::_WKSetCrashReportApplicationSpecificInformation):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest):

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL):

11:14 AM Changeset in webkit [222164] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Avoid style resolution when clearing focused element.
https://bugs.webkit.org/show_bug.cgi?id=176224
<rdar://problem/34206409>

Reviewed by Zalan Bujtas.

Test: fast/dom/focus-style-resolution.html

  • dom/Document.cpp:

(WebCore::Document::setFocusedElement):

Don't do synchronous style resolution with FocusRemovalEventsMode::DoNotDispatch.
Style resolution may dispatch events.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::didBlur):

Move resolveStyleIfNeeded call to setFocusedElement. It is the only client for didBlur.

11:01 AM Changeset in webkit [222163] by pvollan@apple.com
  • 2 edits in trunk/Source/WebCore

[WK1] Layout Test fast/events/beforeunload-dom-manipulation-crash.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=177071

Reviewed by Brent Fulgham.

The Page pointer in the history controller's frame is null. Add a null pointer check before
accessing the page.

No new tests, covered by exiting tests.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::updateForStandardLoad):
(WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
(WebCore::HistoryController::updateForClientRedirect):

10:54 AM Changeset in webkit [222162] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Try to unflake a test.

Unreviewed.

  • transitions/transition-display-property-2.html:
10:23 AM Changeset in webkit [222161] by Ryan Haddad
  • 2 edits
    1 copy
    1 delete in trunk/LayoutTests

Move baseline for editing/mac/attributed-string/font-style-variant-effect.html to mac-sierra.

Unreviewed test gardening.

  • platform/mac-sierra/editing/mac/attributed-string/font-style-variant-effect-expected.txt: Renamed from LayoutTests/platform/mac-elcapitan/editing/mac/attributed-string/font-style-variant-effect-expected.txt.
  • platform/win/TestExpectations: Drive by fix for an accidental commit.
9:54 AM Changeset in webkit [222160] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

build-webkit spawns fewer subprocesses than ninja uses by default
https://bugs.webkit.org/show_bug.cgi?id=177057

Reviewed by Alex Christensen.

  • Scripts/build-webkit:

By default, ninja will parallelize over (cores + 2) jobs. build-webkit
specifies -j(cores), which overrides this. Remove our override if building
with ninja; just let it do its own thing. In my testing, this minor
change is the difference between ~10% idle CPU time and 0.

9:53 AM Changeset in webkit [222159] by Lucas Forschler
  • 1 edit in trunk/Tools/ChangeLog

Land a patch to verify svn->git update is working.

9:26 AM Changeset in webkit [222158] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177072

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222157] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/ChangeLog

Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177071

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222156] by Ryan Haddad
  • 1 edit in trunk/LayoutTests/ChangeLog

Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=160447

Unreviewed test gardening.

  • platform/win/TestExpectations:
9:26 AM Changeset in webkit [222155] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog

Update my status.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
9:26 AM Changeset in webkit [222154] by Ryan Haddad
  • 1 edit in trunk/Source/WebCore/ChangeLog

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.

9:26 AM Changeset in webkit [222153] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog

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.
9:26 AM Changeset in webkit [222152] by Ryan Haddad
  • 1 edit in trunk/Tools/ChangeLog
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):

9:24 AM Changeset in webkit [222151] by jer.noble@apple.com
  • 22 edits
    2 moves
    2 adds in trunk/Source/WebCore

Virtualize ImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=176118

Reviewed by Eric Carlson.

Add an explicit, abstract base class ImageDecoder, and convert ImageDecoderCG to a true
subclass. This will allow multiple ImageDecoder subclasses to exist simultaneously at
runtime.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ImageDecoders.cmake:
  • platform/graphics/ImageDecoder.cpp: Added.

(WebCore::ImageDecoder::create):
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties):

  • platform/graphics/ImageDecoder.h: Added.

(WebCore::ImageDecoder::isSizeAvailable):
(WebCore::ImageDecoder::isAllDataReceived const):

  • platform/graphics/cg/ImageDecoderCG.cpp:

(WebCore::ImageDecoderCG::ImageDecoderCG):
(WebCore::ImageDecoderCG::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoderCG::uti const):
(WebCore::ImageDecoderCG::filenameExtension const):
(WebCore::ImageDecoderCG::encodedDataStatus const):
(WebCore::ImageDecoderCG::frameCount const):
(WebCore::ImageDecoderCG::repetitionCount const):
(WebCore::ImageDecoderCG::hotSpot const):
(WebCore::ImageDecoderCG::frameSizeAtIndex const):
(WebCore::ImageDecoderCG::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderCG::frameOrientationAtIndex const):
(WebCore::ImageDecoderCG::frameDurationAtIndex const):
(WebCore::ImageDecoderCG::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderCG::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderCG::frameBytesAtIndex const):
(WebCore::ImageDecoderCG::createFrameImageAtIndex const):
(WebCore::ImageDecoderCG::setData):
(WebCore::ImageDecoder::ImageDecoder): Deleted.
(WebCore::ImageDecoder::bytesDecodedToDetermineProperties): Deleted.
(WebCore::ImageDecoder::uti const): Deleted.
(WebCore::ImageDecoder::filenameExtension const): Deleted.
(WebCore::ImageDecoder::encodedDataStatus const): Deleted.
(WebCore::ImageDecoder::frameCount const): Deleted.
(WebCore::ImageDecoder::repetitionCount const): Deleted.
(WebCore::ImageDecoder::hotSpot const): Deleted.
(WebCore::ImageDecoder::frameSizeAtIndex const): Deleted.
(WebCore::ImageDecoder::frameIsCompleteAtIndex const): Deleted.
(WebCore::ImageDecoder::frameOrientationAtIndex const): Deleted.
(WebCore::ImageDecoder::frameDurationAtIndex const): Deleted.
(WebCore::ImageDecoder::frameAllowSubsamplingAtIndex const): Deleted.
(WebCore::ImageDecoder::frameHasAlphaAtIndex const): Deleted.
(WebCore::ImageDecoder::frameBytesAtIndex const): Deleted.
(WebCore::ImageDecoder::createFrameImageAtIndex const): Deleted.
(WebCore::ImageDecoder::setData): Deleted.

  • platform/graphics/cg/ImageDecoderCG.h:

(WebCore::ImageDecoderCG::create):
(WebCore::ImageDecoder::create): Deleted.
(WebCore::ImageDecoder::isSizeAvailable): Deleted.
(WebCore::ImageDecoder::isAllDataReceived const): Deleted.
(WebCore::ImageDecoder::clearFrameBufferCache): Deleted.

  • platform/graphics/win/ImageDecoderDirect2D.cpp:

(WebCore::ImageDecoderDirect2D::ImageDecoderDirect2D):
(WebCore::ImageDecoderDirect2D::systemImagingFactory):
(WebCore::ImageDecoderDirect2D::bytesDecodedToDetermineProperties):
(WebCore::ImageDecoderDirect2D::filenameExtension const):
(WebCore::ImageDecoderDirect2D::isSizeAvailable const):
(WebCore::ImageDecoderDirect2D::encodedDataStatus const):
(WebCore::ImageDecoderDirect2D::size const):
(WebCore::ImageDecoderDirect2D::frameCount const):
(WebCore::ImageDecoderDirect2D::repetitionCount const):
(WebCore::ImageDecoderDirect2D::hotSpot const):
(WebCore::ImageDecoderDirect2D::frameSizeAtIndex const):
(WebCore::ImageDecoderDirect2D::frameIsCompleteAtIndex const):
(WebCore::ImageDecoderDirect2D::frameOrientationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameDurationAtIndex const):
(WebCore::ImageDecoderDirect2D::frameAllowSubsamplingAtIndex const):
(WebCore::ImageDecoderDirect2D::frameHasAlphaAtIndex const):
(WebCore::ImageDecoderDirect2D::frameBytesAtIndex const):
(WebCore::ImageDecoderDirect2D::setTargetContext):
(WebCore::ImageDecoderDirect2D::createFrameImageAtIndex const):
(WebCore::ImageDecoderDirect2D::setData):

  • platform/graphics/win/ImageDecoderDirect2D.h:

(WebCore::ImageDecoderDirect2D::create):
(WebCore::ImageDecoder::create): Deleted.
(WebCore::ImageDecoder::isAllDataReceived const): Deleted.
(WebCore::ImageDecoder::clearFrameBufferCache): Deleted.

  • platform/image-decoders/ScalableImageDecoder.cpp: Renamed from Source/WebCore/platform/image-decoders/ImageDecoder.cpp.

(WebCore::ScalableImageDecoder::create):
(WebCore::ScalableImageDecoder::frameIsCompleteAtIndex const):
(WebCore::ScalableImageDecoder::frameHasAlphaAtIndex const):
(WebCore::ScalableImageDecoder::frameBytesAtIndex const):
(WebCore::ScalableImageDecoder::frameDurationAtIndex const):
(WebCore::ScalableImageDecoder::createFrameImageAtIndex):
(WebCore::ScalableImageDecoder::prepareScaleDataIfNecessary):
(WebCore::ScalableImageDecoder::upperBoundScaledX):
(WebCore::ScalableImageDecoder::lowerBoundScaledX):
(WebCore::ScalableImageDecoder::upperBoundScaledY):
(WebCore::ScalableImageDecoder::lowerBoundScaledY):
(WebCore::ScalableImageDecoder::scaledY):

  • platform/image-decoders/ScalableImageDecoder.h: Renamed from Source/WebCore/platform/image-decoders/ImageDecoder.h.

(WebCore::ScalableImageDecoder::ScalableImageDecoder):
(WebCore::ScalableImageDecoder::~ScalableImageDecoder):
(WebCore::ScalableImageDecoder::premultiplyAlpha const):
(WebCore::ScalableImageDecoder::isAllDataReceived const):
(WebCore::ScalableImageDecoder::size const):
(WebCore::ScalableImageDecoder::scaledSize):
(WebCore::ScalableImageDecoder::setSize):
(WebCore::ScalableImageDecoder::setIgnoreGammaAndColorProfile):
(WebCore::ScalableImageDecoder::ignoresGammaAndColorProfile const):
(WebCore::ScalableImageDecoder::rgbColorProfile):
(WebCore::ScalableImageDecoder::subsamplingLevelForScale):
(WebCore::ScalableImageDecoder::inputDeviceColorProfile):
(WebCore::ScalableImageDecoder::setFailed):
(WebCore::ScalableImageDecoder::failed const):

  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::BMPImageDecoder):
(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::setFailed):

  • platform/image-decoders/bmp/BMPImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageReader.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::setSize):
(WebCore::GIFImageDecoder::setFailed):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::ICOImageDecoder):
(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::size):
(WebCore::ICOImageDecoder::setSize):
(WebCore::ICOImageDecoder::setFailed):

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setSize):
(WebCore::JPEGImageDecoder::setFailed):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::decode):
(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::setSize):
(WebCore::PNGImageDecoder::frameBufferAtIndex):
(WebCore::PNGImageDecoder::setFailed):

  • platform/image-decoders/png/PNGImageDecoder.h:
  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::WEBPImageDecoder):
(WebCore::WEBPImageDecoder::decode):

  • platform/image-decoders/webp/WEBPImageDecoder.h:
9:21 AM Changeset in webkit [222150] by aestes@apple.com
  • 36 edits
    5 copies
    1 move
    1 add in trunk/Source

[Mac] Upstream miscellaneous WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=177029

Reviewed by Alex Christensen.

Source/WebCore:

  • Configurations/WebCore.xcconfig: Used -force_load of libPAL instead of -ObjC. This forces

the linker to load both Objective-C and C PAL symbols in WebCore. This change is needed for
PAL::popUpMenu(), which is used by WebKit and WebKitLegacy but not WebCore.

  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::contextMenuItemTagSearchWeb):

  • platform/cocoa/ScrollController.mm:

(WebCore::elasticDeltaForTimeDelta):
(WebCore::elasticDeltaForReboundDelta):
(WebCore::reboundDeltaForElasticDelta):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):

  • platform/mac/CursorMac.mm:

(WebCore::WKCoreCursor_coreCursorType):
(WebCore::createCoreCursorClass):
(WebCore::coreCursorClass):
(WebCore::cursor):
(WebCore::Cursor::ensurePlatformCursor const):

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

(WebCore::RenderThemeMac::paintTextArea):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/spi/cf/CFUtilitiesSPI.h:
  • pal/spi/cocoa/LaunchServicesSPI.h: Renamed from Source/WebCore/PAL/pal/spi/ios/LaunchServicesSPI.h.
  • pal/spi/mac/HIServicesSPI.h:
  • pal/spi/mac/NSCellSPI.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/spi/mac/NSMenuSPI.h:
  • pal/spi/mac/NSScrollViewSPI.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/spi/mac/NSScrollerImpSPI.h:
  • pal/system/cf/DefaultSearchProvider.cpp: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.

(PAL::defaultSearchProviderDisplayName):

  • pal/system/cf/DefaultSearchProvider.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/system/mac/PopupMenu.h: Copied from Source/WebCore/PAL/pal/spi/cf/CFUtilitiesSPI.h.
  • pal/system/mac/PopupMenu.mm: Added.

(PAL::popUpMenu):

Source/WebKit:

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::initializeProcessName):

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::initializeProcessName):

  • StorageProcess/mac/StorageProcessMac.mm:

(WebKit::StorageProcess::initializeProcessName):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::trackingAreaOptions):
(WebKit::WebViewImpl::mightBeginScrollWhileInactive):

  • UIProcess/mac/WebPopupMenuProxyMac.mm:

(WebKit::WebPopupMenuProxyMac::showPopupMenu):

  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:

(WebKit::NetscapePlugin::popUpContextMenu):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleContextMenuEvent):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::updateActivePages):

Source/WebKitLegacy/mac:

  • DefaultDelegates/WebDefaultContextMenuDelegate.mm:

(-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy):

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::show):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setDataSource:]):
(-[WebHTMLView attachRootLayer:]):

  • WebView/WebView.mm:

(-[WebView _needsAdobeFrameReloadingQuirk]):
(-[WebView _needsLinkElementTextCSSQuirk]):
(-[WebView _needsIsLoadingInAPISenseQuirk]):
(-[WebView _needsFrameLoadDelegateRetainQuirk]):
(-[WebView _preferencesChanged:]):

9:09 AM Changeset in webkit [222149] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Fix invalid line in TestExpectations.

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:44 AM Changeset in webkit [222148] by commit-queue@webkit.org
  • 10 edits
    1 move in trunk

[Win][PAL] Move WebCoreHeaderDetection.h to PAL
https://bugs.webkit.org/show_bug.cgi?id=176990

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-18
Reviewed by Alex Christensen.

.:

Create DerivedSources directory for PAL if WebCore build is enabled.

  • Source/cmake/WebKitCommon.cmake:
  • Source/cmake/WebKitFS.cmake:

Source/WebCore:

  • PlatformWin.cmake:

Stop generating WebCoreHeaderDetection.h in WebCore.

  • config.h:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
  • platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:

Include PALHeaderDetection.h instead of WebCoreHeaderDetection.h

Source/WebCore/PAL:

  • AVFoundationSupport.py: Renamed from Source/WebCore/AVFoundationSupport.py.

(lookFor):
(fileContains):

  • pal/PlatformWin.cmake:

Add a custom target PAL_PreBuild to generate PALHeaderDetection.h

8:41 AM Changeset in webkit [222147] by commit-queue@webkit.org
  • 8 edits
    2 moves
    2 adds in trunk/Source/WebCore

[Curl] Create classes dedicated to handle SSL related tasks
and separate verifier and certificate management.
https://bugs.webkit.org/show_bug.cgi?id=176910

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

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

(WebCore::CurlContext::CurlContext):
(WebCore::CurlHandle::setCACertPath):
(WebCore::certificatePath): Deleted.
(WebCore::CurlHandle::enableCAInfoIfExists): Deleted.
(WebCore::CurlHandle::setSslErrors): Deleted.
(WebCore::CurlHandle::getSslErrors): Deleted.

  • platform/network/curl/CurlContext.h:

(WebCore::CurlContext::sslHandle):
(WebCore::CurlContext::getCertificatePath const): Deleted.
(WebCore::CurlContext::shouldIgnoreSSLErrors const): Deleted.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::setupRequest):

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

(WebCore::CurlSSLHandle::CurlSSLHandle):
(WebCore::CurlSSLHandle::getCACertPathEnv):
(WebCore::CurlSSLHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::CurlSSLHandle::isAllowedHTTPSCertificateHost):
(WebCore::CurlSSLHandle::canIgnoredHTTPSCertificate):
(WebCore::CurlSSLHandle::setClientCertificateInfo):
(WebCore::CurlSSLHandle::getSSLClientCertificate):

  • platform/network/curl/CurlSSLHandle.h: Renamed from Source/WebCore/platform/network/curl/SSLHandle.h.

(WebCore::CurlSSLHandle::shouldIgnoreSSLErrors const):
(WebCore::CurlSSLHandle::getCACertPath const):

  • platform/network/curl/CurlSSLVerifier.cpp: Renamed from Source/WebCore/platform/network/curl/SSLHandle.cpp.

(WebCore::CurlSSLVerifier::setSslCtx):
(WebCore::CurlSSLVerifier::certVerifyCallback):
(WebCore::CurlSSLVerifier::getPemDataFromCtx):
(WebCore::CurlSSLVerifier::convertToSSLCertificateFlags):

  • platform/network/curl/CurlSSLVerifier.h: Added.

(WebCore::CurlSSLVerifier::setCurlHandle):
(WebCore::CurlSSLVerifier::setHostName):
(WebCore::CurlSSLVerifier::sslErrors):

  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::setHostAllowsAnyHTTPSCertificate):
(WebCore::ResourceHandle::setClientCertificateInfo):

  • platform/network/curl/ResourceHandleCurlDelegate.cpp:

(WebCore::ResourceHandleCurlDelegate::ResourceHandleCurlDelegate):
(WebCore::ResourceHandleCurlDelegate::setupRequest):
(WebCore::ResourceHandleCurlDelegate::notifyFail):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtx):
(WebCore::ResourceHandleCurlDelegate::willSetupSslCtxCallback):

  • platform/network/curl/ResourceHandleCurlDelegate.h:
8:29 AM Changeset in webkit [222146] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/websocket/tests/hybi/secure-cookie-secure-connection.pl as a failure on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177072

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:23 AM Changeset in webkit [222145] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark fast/events/beforeunload-dom-manipulation-crash.html as a crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=177071

Unreviewed test gardening.

  • platform/win/TestExpectations:
8:04 AM Changeset in webkit [222144] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark http/tests/security/video-cross-origin-caching.html as a flaky crash on Windows.
https://bugs.webkit.org/show_bug.cgi?id=160447

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:47 AM Changeset in webkit [222143] by Yusuke Suzuki
  • 27 edits
    2 adds in trunk

[DFG] Remove ToThis more aggressively
https://bugs.webkit.org/show_bug.cgi?id=177056

Reviewed by Saam Barati.

JSTests:

  • stress/generator-with-this-strict.js: Added.

(shouldBe):
(generator):
(target):

  • stress/generator-with-this.js: Added.

(shouldBe):
(generator):
(target):

Source/JavaScriptCore:

The variation of toThis() implementation is limited. So, we attempts to implement common toThis operation in AI.
We move scope related toThis to JSScope::toThis. And AI investigates proven value/structure's toThis methods
and attempts to fold/convert to efficient nodes.

We introduces GetGlobalThis, which just loads globalThis from semantic origin's globalObject. Using this,
we can implement JSScope::toThis in DFG. This can avoid costly toThis indirect function pointer call.

Currently, we just emit GetGlobalThis if necessary. We can further convert it to constant if we can put
watchpoint to JSGlobalObject's globalThis change. But we leave it for a future patch for now.

This removes GetGlobalThis from ES6 generators in common cases.

spread-generator.es6 303.1550+-9.5037 290.9337+-8.3487 might be 1.0420x faster

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::isToThisAnIdentity):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetGlobalThis):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetGlobalThis):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileGetGlobalThis):

  • runtime/JSGlobalLexicalEnvironment.cpp:

(JSC::JSGlobalLexicalEnvironment::toThis): Deleted.

  • runtime/JSGlobalLexicalEnvironment.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::toThis): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::addressOfGlobalThis):

  • runtime/JSLexicalEnvironment.cpp:

(JSC::JSLexicalEnvironment::toThis): Deleted.

  • runtime/JSLexicalEnvironment.h:
  • runtime/JSScope.cpp:

(JSC::JSScope::toThis):

  • runtime/JSScope.h:
  • runtime/StrictEvalActivation.cpp:

(JSC::StrictEvalActivation::toThis): Deleted.

  • runtime/StrictEvalActivation.h:
1:10 AM Changeset in webkit [222142] by Ms2ger@igalia.com
  • 2 edits in trunk/Tools

Update my status.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:

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:
Note: See TracTimeline for information about the timeline view.