⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 2, 2017:

9:42 PM Changeset in webkit [221546] by oliver@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Need an API to get the global context from JSObjectRef
https://bugs.webkit.org/show_bug.cgi?id=176291

Reviewed by Saam Barati.

Very simple additional API, starting off as SPI on principle.

  • API/JSObjectRef.cpp:

(JSObjectGetGlobalContext):

  • API/JSObjectRefPrivate.h:
  • API/tests/testapi.c:

(main):

9:05 PM Changeset in webkit [221545] by commit-queue@webkit.org
  • 4 edits in trunk

DOMMatrix/DOMMatrixReadOnly validation is incorrect for NaN values
https://bugs.webkit.org/show_bug.cgi?id=176287

Patch by Sam Weinig <sam@webkit.org> on 2017-09-02
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/css/geometry-1/DOMMatrixInit-validate-fixup-expected.txt:

Update test results.

Source/WebCore:

  • css/DOMMatrixReadOnly.cpp:

(WebCore::sameValueZero): Added.
(WebCore::DOMMatrixReadOnly::validateAndFixup):

Switch from using standard != to added sameValueZero helper
which implements https://tc39.github.io/ecma262/#sec-samevaluezero

9:02 PM Changeset in webkit [221544] by Chris Dumez
  • 8 edits
    2 adds in trunk

Implement FileSystemFileEntry.file()
https://bugs.webkit.org/show_bug.cgi?id=176166
<rdar://problem/34187756>

Reviewed by Sam Weinig.

Source/WebCore:

Implement FileSystemFileEntry.file():

Test: editing/pasteboard/datatransfer-items-drop-fileEntry-file.html

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::validatePathIsExpectedType):
(WebCore::DOMFileSystem::listDirectory):
(WebCore::DOMFileSystem::getParent):
(WebCore::DOMFileSystem::getFile):

  • Modules/entriesapi/DOMFileSystem.h:
  • Modules/entriesapi/FileSystemFileEntry.cpp:

(WebCore::FileSystemFileEntry::file):

LayoutTests:

Add layout test coverage. I have verified that this test passes in Chrome as well.

  • editing/pasteboard/datatransfer-items-drop-fileEntry-file-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-drop-fileEntry-file.html: Added.
  • platform/wk2/TestExpectations:
8:43 PM Changeset in webkit [221543] by aestes@apple.com
  • 20 edits in trunk/Source

[CA] Upstream QuartzCore-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176270

Reviewed by Tim Horton.

Source/WebCore:

  • platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:

(PlatformCALayerCocoa::enumerateRectsBeingDrawn):

  • platform/graphics/cocoa/WebCoreCALayerExtras.h:
  • platform/graphics/cocoa/WebCoreCALayerExtras.mm:

(+[CALayer _web_renderLayerWithContextID:]):

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

Source/WebCore/PAL:

  • pal/spi/cocoa/QuartzCoreSPI.h:

Source/WebKit:

  • Platform/mac/LayerHostingContext.mm:

(WebKit::LayerHostingContext::createForPort):
(WebKit::LayerHostingContext::createForExternalHostingProcess):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::createLayer):

  • WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:

(WebKit::makeRenderLayer):

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost):

  • Plugins/Hosted/WebHostedNetscapePluginView.h:
  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(WebKit::SoftwareCARenderer::SoftwareCARenderer):
(WebKit::SoftwareCARenderer::~SoftwareCARenderer):
(WebKit::SoftwareCARenderer::context const):
(WebKit::SoftwareCARenderer::renderContext const):
(WebKit::SoftwareCARenderer::render):
(-[WebHostedNetscapePluginView createPlugin]):
(-[WebHostedNetscapePluginView createPluginLayer]):
(-[WebHostedNetscapePluginView destroyPlugin]):
(-[WebHostedNetscapePluginView drawRect:]):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

7:31 PM Changeset in webkit [221542] by commit-queue@webkit.org
  • 9 edits in trunk

Wrong getComputedStyle result for pseudo-elements in display: none subtrees.
https://bugs.webkit.org/show_bug.cgi?id=176259

Patch by Emilio Cobos Álvarez <emilio> on 2017-09-02
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/cssom/getComputedStyle-pseudo-expected.txt:

Source/WebCore:

Before this patch, we were wrongly returning the parent style when there wasn't
a cached pseudo style.

With this, the only remaining failures in getComputedStyle-pseudo is a
serialisation bug for the "content" property, and the display: contents test,
which is because we don't support pseudo-elements of display: contents elements
yet.

Tests: imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo.html

  • dom/Document.cpp:

(WebCore::Document::styleForElementIgnoringPendingStylesheets):

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

(WebCore::Element::resolvePseudoElementStyle):
(WebCore::Element::computedStyle):

  • dom/Element.h:
4:52 PM Changeset in webkit [221541] by timothy_horton@apple.com
  • 4 edits
    6 copies
    9 moves
    2 adds
    1 delete in trunk/Source/WebKit

Move UI Process part of the Remote Layer Tree code out of a Mac-specific directory
https://bugs.webkit.org/show_bug.cgi?id=176273

Reviewed by Dan Bernstein.

UI-side compositing works on all Cocoa platforms, so the code should
not live inside Mac/. Also merge the Scrolling directory in here,
since those files are very related.

  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h: Renamed from SourceebKit/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in: Renamed from UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.messages.in.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: Renamed from UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.h: Renamed from UIProcess/mac/RemoteLayerTreeHost.h.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: Renamed from UIProcess/mac/RemoteLayerTreeHost.mm.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.h: Renamed from UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.h.
  • UIProcess/RemoteLayerTree/RemoteLayerTreeScrollingPerformanceData.mm: Renamed from UIProcess/Cocoa/RemoteLayerTreeScrollingPerformanceData.mm.
  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp: Renamed from UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp.
  • UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h: Renamed from UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h.
  • UIProcess/RemoteLayerTree/RemoteScrollingTree.cpp: Renamed from UIProcess/Scrolling/RemoteScrollingTree.cpp.
  • UIProcess/RemoteLayerTree/RemoteScrollingTree.h: Renamed from UIProcess/Scrolling/RemoteScrollingTree.h.
  • UIProcess/RemoteLayerTree/ios/RemoteLayerTreeHostIOS.mm: Renamed from UIProcess/ios/RemoteLayerTreeHostIOS.mm.
  • UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm: Renamed from UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm.
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.h: Renamed from UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.h.
  • UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Renamed from UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm.
  • WebKit.xcodeproj/project.pbxproj:
2:31 PM Changeset in webkit [221540] by Chris Dumez
  • 7 edits
    2 adds in trunk

Implement FileSystemDirectoryEntry.getDirectory()
https://bugs.webkit.org/show_bug.cgi?id=176168
<rdar://problem/34187787>

Reviewed by Darin Adler.

Source/WebCore:

Implement FileSystemDirectoryEntry.getDirectory() as per:

Test: editing/pasteboard/datatransfer-items-drop-getDirectory.html

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::isValidVirtualPath):
(WebCore::resolveRelativeVirtualPath):
(WebCore::DOMFileSystem::getEntry):

  • Modules/entriesapi/DOMFileSystem.h:
  • Modules/entriesapi/FileSystemDirectoryEntry.cpp:

(WebCore::FileSystemDirectoryEntry::getEntry):
(WebCore::FileSystemDirectoryEntry::getFile):
(WebCore::FileSystemDirectoryEntry::getDirectory):

  • Modules/entriesapi/FileSystemDirectoryEntry.h:

LayoutTests:

Add layout test coverage.

  • editing/pasteboard/datatransfer-items-drop-getDirectory-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-drop-getDirectory.html: Added.
  • platform/wk2/TestExpectations:
11:31 AM Changeset in webkit [221539] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebCore

Performance / PerformanceObserver leaks seen on bots
https://bugs.webkit.org/show_bug.cgi?id=176269

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-02
Reviewed by Darin Adler.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::removeAllEventListeners):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::removeAllEventListeners):
Also use this opportunity to break up the reference cycle
between PerformanceObservers and the Performance object.

  • page/Performance.h:
  • page/Performance.cpp:

(WebCore::Performance::removeAllObservers):
Disassociate and clear observers.

  • page/PerformanceObserver.h:
  • page/PerformanceObserver.cpp:

(WebCore::PerformanceObserver::disassociate):
Clear the back-reference to the Performance object to
break the cycle.

11:29 AM Changeset in webkit [221538] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Web Automation: -[_WKAutomationSession init] leaks
https://bugs.webkit.org/show_bug.cgi?id=176268

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-02
Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/_WKAutomationSession.mm:

(-[_WKAutomationSession init]):

3:48 AM Changeset in webkit [221537] by timothy_horton@apple.com
  • 12 edits in trunk/Source/WebKit

Fix some style issues in the Web Process part of the Remote Layer Tree code
https://bugs.webkit.org/show_bug.cgi?id=176272

Reviewed by Dan Bernstein.

In bug 176271, the style bot noticed some existing style issues in the UI-side
compositing code. Fix them, because there aren't many and they're straightforward.

  • WebProcess/WebPage/Cocoa/RemoteLayerTree/GraphicsLayerCARemote.cpp:
  • WebProcess/WebPage/Cocoa/RemoteLayerTree/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/Cocoa/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::setValues):

  • WebProcess/WebPage/Cocoa/RemoteLayerTree/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::appendSublayer):
(WebKit::PlatformCALayerRemote::insertSublayer):
(WebKit::PlatformCALayerRemote::replaceSublayer):

  • WebProcess/WebPage/Cocoa/RemoteLayerTree/PlatformCALayerRemote.h:
  • WebProcess/WebPage/Cocoa/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::clone const):

  • WebProcess/WebPage/Cocoa/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.h:
  • WebProcess/WebPage/Cocoa/RemoteLayerTree/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/Cocoa/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):

  • WebProcess/WebPage/Cocoa/RemoteLayerTree/RemoteScrollingCoordinator.h:
  • WebProcess/WebPage/Cocoa/RemoteLayerTree/RemoteScrollingCoordinator.mm:
2:38 AM Changeset in webkit [221536] by timothy_horton@apple.com
  • 4 edits
    3 copies
    16 moves
    1 add
    1 delete in trunk/Source/WebKit

Move Web Process part of the Remote Layer Tree code out of a Mac-specific directory
https://bugs.webkit.org/show_bug.cgi?id=176271

Rubber-stamped by Dan Bernstein.

UI-side compositing works on all Cocoa platforms, so the code should
not live inside Mac/. Also merge the Scrolling directory in here,
since those files are very related.

  • WebKit.xcodeproj/project.pbxproj:
  • DerivedSources.make:
  • PlatformMac.cmake:
  • WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.cpp: Renamed from WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp.
  • WebProcess/WebPage/RemoteLayerTree/GraphicsLayerCARemote.h: Renamed from WebProcess/WebPage/mac/GraphicsLayerCARemote.h.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.h: Renamed from WebProcess/WebPage/mac/PlatformCAAnimationRemote.h.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm: Renamed from WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.cpp: Renamed from WebProcess/WebPage/mac/PlatformCALayerRemote.cpp.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemote.h: Renamed from WebProcess/WebPage/mac/PlatformCALayerRemote.h.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.h: Renamed from WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm: Renamed from WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.cpp: Renamed from WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp.
  • WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteTiledBacking.h: Renamed from WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h.
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h: Renamed from WebProcess/WebPage/mac/RemoteLayerTreeContext.h.
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm: Renamed from WebProcess/WebPage/mac/RemoteLayerTreeContext.mm.
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.h: Renamed from WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.h.
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm: Renamed from WebProcess/WebPage/Cocoa/RemoteLayerTreeDisplayRefreshMonitor.mm.
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h: Renamed from WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h.
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm: Renamed from WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm.
  • WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.h: Renamed from WebProcess/Scrolling/RemoteScrollingCoordinator.h.
  • WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.messages.in: Renamed from WebProcess/Scrolling/RemoteScrollingCoordinator.messages.in.
  • WebProcess/WebPage/RemoteLayerTree/RemoteScrollingCoordinator.mm: Renamed from WebProcess/Scrolling/RemoteScrollingCoordinator.mm.
2:14 AM Changeset in webkit [221535] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.18

Merge r221501 - Wrong getComputedStyle behavior for pseudo-elements for layout-dependent properties.
https://bugs.webkit.org/show_bug.cgi?id=175936

Patch by Emilio Cobos Álvarez <emilio> on 2017-09-01
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/cssom/getComputedStyle-pseudo-expected.txt:
  • web-platform-tests/cssom/getComputedStyle-pseudo.html: Sync test with upstream.

Source/WebCore:

Before this patch we may wrongly end up using the wrong renderer to resolve
this.

Tests: imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::styledElement const):
(WebCore::ComputedStyleExtractor::styledRenderer const):
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSComputedStyleDeclaration.h:
2:13 AM Changeset in webkit [221534] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.18

transformCanLikelyUseFastPath() can read off the end of a string
https://bugs.webkit.org/show_bug.cgi?id=176232
rdar://problem/33851237

Reviewed by Tim Horton.
Source/WebCore:

Code added in r220382 could read one byte past the end of the string when looking for the 'z'
of a rotateZ() function. The code was actually incorrect, testing for the 'z at i+6 after
already incrementing i by 6. This patch makes the code correctly detect rotateZ().

Also, rotate functions at the end of a string could be ignored because kShortestValidTransformStringLength
was too long, so set it to the length of "rotate(0)", the shortest transform function that we currently
fast-parse.

There's an implicit assumption in this code that chars is not indexed past i+kShortestValidTransformStringLength.
If the 'translate' path is taken, i is incremented by 9 (==kShortestValidTransformStringLength), but that's
OK because WTF::find() doesn't index into chars if i >= length.

Test: fast/css/transform-fast-paths.html

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::transformCanLikelyUseFastPath):

LayoutTests:

  • fast/css/transform-fast-paths-expected.txt: Added.
  • fast/css/transform-fast-paths.html: Added.
2:13 AM Changeset in webkit [221533] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r221474 - [GTK] Improve the way unit test are run and the results reported
https://bugs.webkit.org/show_bug.cgi?id=176104

Reviewed by Carlos Alberto Lopez Perez.

There are several issues with the way unit tests are run by run-gtk-tests and also with the way results are
reported:

  • The results summary only mentions the test binaries, not the actual test cases, so you always have to scroll up to find the actual test cases failing.
  • The number of reported failures is the number of test binaries that failed, so if a new test case fails for the same binary in a new revision, we won't notice it just looking at the number of failures.
  • We show detailed information about skipped test in the results summary, which is just noise.
  • In the case of glib tests, when a test case times out, we finish the test suite, instead of continuing with the rest of the test cases like we do for normal failures or crashes. If a new test case fails after a test case that timed out we will not notice it until we fix or skip the test cases timing out.
  • In the case of glib tests, the timeout is applied to the whole suite, instead of per test case, we have a hack to make it longer only for that. It has worked so far, but it doesn't scale, and it's an ugly hack.
  • It's not currently possible to detect flaky tests, because again, we know the binaries/suites that failed but not the actual test cases.

This patch fixes all these issues and makes it possible to add support for flaky tests in a follow up patch.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunGtkAPITests.commandComplete): Update the RunGtkAPITests step to parse the new output.

  • Scripts/run-gtk-tests:

(TestRunner._start_timeout): Helper to start the timeout if needed.
(TestRunner._start_timeout._alarm_handler): Raise timeout exception.
(TestRunner._stop_timeout): Helper to stop the timeout if needed.
(TestRunner._waitpid): Merged waitpid and return_code_from_exit_status.
(TestRunner._run_test_glib): Do not double the timeout anymore, we now start/stop the timeout for every test
case. Return a dictionary where keys are test cases and values the results only in case of failures.
(TestRunner._run_test_glib.parse_line): Update the parser to also detect test cases and the results.
(TestRunner._run_test_glib.parse_line.set_test_result): Helper to set the result of a test case.
(TestRunner._run_google_test): Return a dictionary where key is the test case and value is the result only in
case of failure.
(TestRunner._run_google_test_suite): Updated now that _run_google_test returns a dictionary.
(TestRunner.run_tests): Handle the results dictionary and show the results with information about test cases
failing and grouped by test binaries.

1:53 AM Changeset in webkit [221532] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore

Merge r221469 - Another attempt to fix the Apple Windows build following <https://trac.webkit.org/changeset/221459>
(https://bugs.webkit.org/show_bug.cgi?id=176171)

Temporarily weaken the size check for RenderStyle from a strict equality to <=.

  • rendering/style/RenderStyle.cpp:
1:53 AM Changeset in webkit [221531] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore

Merge r221467 - Attempt to fix the Apple Windows and WinCairo build following <https://trac.webkit.org/changeset/221459>
(https://bugs.webkit.org/show_bug.cgi?id=176171)

Explicitly cast PseudoIds to unsigned before computing a difference between two PseudoIds.

  • rendering/style/RenderStyle.h:
1:53 AM Changeset in webkit [221530] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore

Merge r221459 - Make RenderStyle's non-inherited flags more human friendly
https://bugs.webkit.org/show_bug.cgi?id=176171

Reviewed by Antti Koivisto.

Revert r166465 as we never followed through and made the CSS JIT update
RenderStyle's non-inherited flags directly.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::hashForTextAutosizing const):
(WebCore::RenderStyle::equalForTextAutosizing const):
(WebCore::RenderStyle::changeRequiresLayout const):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::styleType const):
(WebCore::RenderStyle::setStyleType):
(WebCore::RenderStyle::setHasViewportUnits):
(WebCore::RenderStyle::hasViewportUnits const):
(WebCore::RenderStyle::affectedByHover const):
(WebCore::RenderStyle::affectedByActive const):
(WebCore::RenderStyle::affectedByDrag const):
(WebCore::RenderStyle::setAffectedByHover):
(WebCore::RenderStyle::setAffectedByActive):
(WebCore::RenderStyle::setAffectedByDrag):
(WebCore::RenderStyle::isFloating const):
(WebCore::RenderStyle::display const):
(WebCore::RenderStyle::position const):
(WebCore::RenderStyle::floating const):
(WebCore::RenderStyle::overflowX const):
(WebCore::RenderStyle::overflowY const):
(WebCore::RenderStyle::verticalAlign const):
(WebCore::RenderStyle::unicodeBidi const):
(WebCore::RenderStyle::clear const):
(WebCore::RenderStyle::tableLayout const):
(WebCore::RenderStyle::hasExplicitlySetDirection const):
(WebCore::RenderStyle::isLink const):
(WebCore::RenderStyle::setDisplay):
(WebCore::RenderStyle::setOriginalDisplay):
(WebCore::RenderStyle::setPosition):
(WebCore::RenderStyle::setFloating):
(WebCore::RenderStyle::setOverflowX):
(WebCore::RenderStyle::setOverflowY):
(WebCore::RenderStyle::setVerticalAlign):
(WebCore::RenderStyle::setUnicodeBidi):
(WebCore::RenderStyle::setClear):
(WebCore::RenderStyle::setTableLayout):
(WebCore::RenderStyle::setHasExplicitlySetDirection):
(WebCore::RenderStyle::setIsLink):
(WebCore::RenderStyle::hasExplicitlySetWritingMode const):
(WebCore::RenderStyle::setHasExplicitlySetWritingMode):
(WebCore::RenderStyle::hasExplicitlySetTextAlign const):
(WebCore::RenderStyle::setHasExplicitlySetTextAlign):
(WebCore::RenderStyle::unique const):
(WebCore::RenderStyle::setUnique):
(WebCore::RenderStyle::emptyState const):
(WebCore::RenderStyle::setEmptyState):
(WebCore::RenderStyle::firstChildState const):
(WebCore::RenderStyle::setFirstChildState):
(WebCore::RenderStyle::lastChildState const):
(WebCore::RenderStyle::setLastChildState):
(WebCore::RenderStyle::setHasExplicitlyInheritedProperties):
(WebCore::RenderStyle::hasExplicitlyInheritedProperties const):
(WebCore::RenderStyle::inheritUnicodeBidiFrom):
(WebCore::RenderStyle::NonInheritedFlags::operator!= const):
(WebCore::RenderStyle::NonInheritedFlags::hasAnyPublicPseudoStyles const):
(WebCore::RenderStyle::originalDisplay const):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
(WebCore::RenderStyle::NonInheritedFlags::hasPseudoStyle const):
(WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyle):
(WebCore::RenderStyle::NonInheritedFlags::overflowX const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOverflowX): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::overflowY const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOverflowY): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::clear const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setClear): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::effectiveDisplay const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setEffectiveDisplay): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::position const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setPosition): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::originalDisplay const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOriginalDisplay): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::unicodeBidi const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setUnicodeBidi): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasViewportUnits const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasViewportUnits): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::verticalAlign const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setVerticalAlign): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlyInheritedProperties const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlyInheritedProperties): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isFloating const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::floating const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFloating): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::tableLayout const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setTableLayout): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::styleType const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setStyleType): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isUnique const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setIsUnique): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::emptyState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setEmptyState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::firstChildState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFirstChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::lastChildState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setLastChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByHover const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByHover): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByActive const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByActive): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByDrag const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByDrag): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isLink const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setIsLink): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetDirection const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetDirection): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetWritingMode const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetWritingMode): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetTextAlign const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetTextAlign): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagsMemoryOffset): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsaffectedByActive): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsaffectedByHover): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagPseudoStyle): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFirstChildStateFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setLastChildStateFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsUnique): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagFirstChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagLastChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::NonInheritedFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyles): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::updateBoolean): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::getBoolean const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::updateValue): Deleted.
(WebCore::RenderStyle::InheritedFlags::operator== const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::getValue const): Deleted.
(WebCore::adjustForAbsoluteZoom): Deleted.
(WebCore::adjustFloatForAbsoluteZoom): Deleted.
(WebCore::adjustLayoutUnitForAbsoluteZoom): Deleted.
(WebCore::collapsedBorderStyle): Deleted.
(WebCore::RenderStyle::hasBackground const): Deleted.
(WebCore::RenderStyle::autoWrap): Deleted.
(WebCore::RenderStyle::preserveNewline): Deleted.
(WebCore::RenderStyle::collapseWhiteSpace): Deleted.
(WebCore::RenderStyle::isCollapsibleWhiteSpace const): Deleted.
(WebCore::RenderStyle::breakOnlyAfterWhiteSpace const): Deleted.
(WebCore::RenderStyle::breakWords const): Deleted.
(WebCore::RenderStyle::hasInlineColumnAxis const): Deleted.
(WebCore::RenderStyle::imageOrientation const): Deleted.
(WebCore::RenderStyle::setLogicalWidth): Deleted.
(WebCore::RenderStyle::setLogicalHeight): Deleted.
(WebCore::RenderStyle::setBorderRadius): Deleted.
(WebCore::RenderStyle::setZoom): Deleted.
(WebCore::RenderStyle::setEffectiveZoom): Deleted.
(WebCore::RenderStyle::setTextOrientation): Deleted.
(WebCore::RenderStyle::adjustBackgroundLayers): Deleted.
(WebCore::RenderStyle::adjustMaskLayers): Deleted.
(WebCore::RenderStyle::clearAnimations): Deleted.
(WebCore::RenderStyle::clearTransitions): Deleted.
(WebCore::RenderStyle::setShapeOutside): Deleted.
(WebCore::RenderStyle::setShapeImageThreshold): Deleted.
(WebCore::RenderStyle::setClipPath): Deleted.
(WebCore::RenderStyle::willChangeCreatesStackingContext const): Deleted.
(WebCore::RenderStyle::isDisplayRegionType const): Deleted.
(WebCore::RenderStyle::setWritingMode): Deleted.
(WebCore::RenderStyle::getShadowInlineDirectionExtent const): Deleted.
(WebCore::RenderStyle::getShadowBlockDirectionExtent const): Deleted.
(WebCore::RenderStyle::isDisplayReplacedType): Deleted.
(WebCore::RenderStyle::isDisplayInlineType): Deleted.
(WebCore::RenderStyle::isDisplayFlexibleBox): Deleted.
(WebCore::RenderStyle::isDisplayGridBox): Deleted.
(WebCore::RenderStyle::isDisplayFlexibleOrGridBox): Deleted.
(WebCore::RenderStyle::hasAnyPublicPseudoStyles const): Deleted.
(WebCore::RenderStyle::hasPseudoStyle const): Deleted.
(WebCore::RenderStyle::setHasPseudoStyle): Deleted.
(WebCore::RenderStyle::setHasPseudoStyles): Deleted.
(WebCore::RenderStyle::setBoxReflect): Deleted.
(WebCore::pseudoElementRendererIsNeeded): Deleted.

1:39 AM Changeset in webkit [221529] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.18
Merge r221423 - REGRESSION (r220052): ASSERTION FAILED: !frame().isMainFrame()
!needsStyleRecalcOrLayout() in WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()

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

Reviewed by Simon Fraser and Antti Koivisto.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::Document): Initialize m_styleRecalcTimer with a lamdba so it can work
with a function that returns a bool and ignore the return value.
(WebCore::Document::updateStyleIfNeeded): Added a boolean return value indicating if the
function did any work or not.

  • dom/Document.h: Updated for above change.
  • page/FrameView.cpp:

(WebCore::appendRenderedChildren): Added helper that will later replace the
FrameView::renderedChildFrameViews function and is used below.
(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): Instead of always doing two
passes of style and layout update do up to 25 passes, but stop as soon as a pass does
no work. This is slightly more efficient in cases where no layout and style update is
needed, and works correctly when a additional passes are needed, which is what happens
in the test that was failing. We can eventually improve this further, but this resolves
the immediate problem we are seeing in the test.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Re-enable the disabled test.
1:35 AM Changeset in webkit [221528] by Yusuke Suzuki
  • 27 edits
    5 adds in trunk

[DFG] Relax arity requirement
https://bugs.webkit.org/show_bug.cgi?id=175523

Reviewed by Saam Barati.

JSTests:

  • stress/arity-mismatch-arguments-length.js: Added.

(shouldBe):
(test1):
(test):

  • stress/arity-mismatch-get-argument.js: Added.

(shouldBe):
(builtin.createBuiltin):
(test):

  • stress/arity-mismatch-inlining-extra-slots.js: Added.

(shouldBe):
(inlineTarget):
(test):

  • stress/arity-mismatch-inlining.js: Added.

(shouldBe):
(inlineTarget):
(test):

  • stress/arity-mismatch-rest.js: Added.

(shouldBe):
(test2):
(test1):
(test):

Source/JavaScriptCore:

Our DFG pipeline gives up inlining when the arity of the target function is more than the number of the arguments.
It effectively prevents us from inlining and optimizing functions, which takes some optional arguments in the form
of the pre-ES6.

This patch removes the above restriction by performing the arity fixup in DFG.

SixSpeed shows improvement when we can inline arity-mismatched functions. (For example, calling generator.next()).

baseline patched

defaults.es5 1232.1226+-20.6775 442.3326+-26.1883 definitely 2.7855x faster
rest.es6 5.3406+-0.8588 3.5812+-0.5388 definitely 1.4913x faster
spread-generator.es6 320.9107+-12.4808 310.4295+-12.0047 might be 1.0338x faster
generator.es6 318.3514+-9.6023 286.4974+-12.6203 definitely 1.1112x faster

  • bytecode/InlineCallFrame.cpp:

(JSC::InlineCallFrame::dumpInContext const):

  • bytecode/InlineCallFrame.h:

(JSC::InlineCallFrame::InlineCallFrame):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGArgumentsEliminationPhase.cpp:
  • dfg/DFGArgumentsUtilities.cpp:

(JSC::DFG::argumentsInvolveStackSlot):
(JSC::DFG::emitCodeToGetArgumentsArrayLength):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::getArgumentCount):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCommonData.cpp:

(JSC::DFG::CommonData::validateReferences):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::forAllLocalsLiveInBytecode):

  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::emitRestoreArguments):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGPreciseLocalClobberize.h:

(JSC::DFG::PreciseLocalClobberizeAdaptor::readTop):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitGetLength):
(JSC::DFG::SpeculativeJIT::compileCreateDirectArguments):

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileGetMyArgumentByVal):
(JSC::FTL::DFG::LowerDFGToB3::getArgumentsLength):

  • ftl/FTLOperations.cpp:

(JSC::FTL::operationMaterializeObjectInOSR):

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::readInlinedFrame):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::argumentsStart):

  • jit/SetupVarargsFrame.cpp:

(JSC::emitSetupVarargsFrameFastCase):

  • runtime/ClonedArguments.cpp:

(JSC::ClonedArguments::createWithInlineFrame):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::numberOfExtraSlots):
(JSC::CommonSlowPaths::numberOfStackPaddingSlots):
(JSC::CommonSlowPaths::numberOfStackPaddingSlotsWithExtraSlots):
(JSC::CommonSlowPaths::arityCheckFor):

  • runtime/StackAlignment.h:

(JSC::stackAlignmentBytes):
(JSC::stackAlignmentRegisters):

1:20 AM Changeset in webkit [221527] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.18

Merge r221420 - [GTK] Several InputMethodFilter tests are failing and crashing
https://bugs.webkit.org/show_bug.cgi?id=176158

Reviewed by Carlos Alberto Lopez Perez.

Source/WebKit:

  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::confirmCurrentComposition): Return early in testing mode because the page is not available.
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting): Use hexadecimal numbers for
logging key codes.

Tools:

This started to happen after the GTK+ upgrade from 3.16 to 3.22 in the internal jhbuild. Now, GtkIMContext
doesn't emit the preedit signals when using the compose key (GDK_KEY_Multi_key). The composition results are
committed directly when they are ready. The test InputMethodFilterComposeKey was failing because it expected
preedit events that no longer happen. Tests InputMethodFilterContextFocusOutDuringOngoingComposition and
InputMethodFilterContextMouseClickDuringOngoingComposition were crashing because InputMethodFilter::confirmCurrentComposition()
accessed the WebPageProxy unconditionally, that is not available in testing mode. I wonder how this ever
worked. Other tests results have also been updated because logHandleKeyboardEventWithCompositionResultsForTesting()
now uses hexadecimal numbers for the key codes, for consistency with all other event logs.

  • TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:

(TestWebKitAPI::TestInputMethodFilter::TestInputMethodFilter):
(TestWebKitAPI::TEST):
(TestWebKitAPI::verifyCanceledComposition): Deleted.

1:20 AM Changeset in webkit [221526] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.18

Merge r221419 - [GTK][Wayland] Crash when gdk_keymap_get_entries_for_keyval returns TRUE but n_keys=0
https://bugs.webkit.org/show_bug.cgi?id=176154

Reviewed by Carlos Alberto Lopez Perez.

Source/WebKit:

In Wayland gdk_keymap_get_entries_for_keyval() can return TRUE with n_keys=0. We have several places in WebKit
where we just check the return value of gdk_keymap_get_entries_for_keyval() and then use the returned array to
get the first position assuming it has at least one item. This has always worked in X11 because the GDK X11
backend does the right thing, but it's crashing in Wayland now. It should be fixed in GTK+ but in the meantime
it's easy to workaround by also checking n_keys > 0.

  • UIProcess/Automation/gtk/WebAutomationSessionGtk.cpp:

(WebKit::doKeyStrokeEvent):

Tools:

Also check the n_keys > 0 when using gdk_keymap_get_entries_for_keyval().

  • TestWebKitAPI/Tests/WebKit/gtk/InputMethodFilter.cpp:

(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):

  • TestWebKitAPI/Tests/WebKitGtk/TestPrinting.cpp: Remove duplicated code and use WebViewTest::keyStroke instead.
  • TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp:

(WebViewTest::keyStroke):

  • TestWebKitAPI/gtk/PlatformWebViewGtk.cpp:

(TestWebKitAPI::doKeyStroke):

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::keyDown):

1:16 AM Changeset in webkit [221525] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r221416 - Unreviewed. Fix GTK+ test /webkit2/WebKitAutomationSession/request-session.

It fails when comparing the browser version if micro version is 0 (or if both micro and minor are 0 too).

  • TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Use a helper method to convert major, minor, micro

numbers into a version string, using the same approach as WebKitAutomationSession.

1:15 AM Changeset in webkit [221524] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.18/Source/WebCore/platform/gtk/po

Merge r221411 - [l10n] [pt_BR] Updated Brazilian Portuguese translation
https://bugs.webkit.org/show_bug.cgi?id=176107

Patch by Rafael Fontenelle <rafaelff@gnome.org> on 2017-08-30
Rubber-stamped by Michael Catanzaro.

  • pt_BR.po:
1:14 AM Changeset in webkit [221523] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.18

Merge r221408 - Previous elements with lang= can affect fonts selected for subsequent elements
https://bugs.webkit.org/show_bug.cgi?id=175959
<rdar://problem/33785853>

Reviewed by Zalan Bujtas.

Source/WebCore:

FontCascade::update() was erroneously getting a cache hit. Elements with different lang=
should be distinct inside the FontCascadeCache. We should be keying off of the locale
string instead of the script enum because the string is the thing we actually pass to the
platform APIs when performing font selection. This is a regression because we only
recently (within the past few years) started making font selection sensitive to lang= at
all.

Test: fast/text/lang-font-selection-cache.html

  • platform/graphics/FontCache.h:

(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::operator== const):
(WebCore::FontDescriptionKey::computeHash const):

LayoutTests:

  • fast/text/lang-font-selection-cache-expected.html: Added.
  • fast/text/lang-font-selection-cache.html: Added.
1:10 AM Changeset in webkit [221522] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.18

Merge r221400 - semicolon is being interpreted as an = in the LiteralParser
https://bugs.webkit.org/show_bug.cgi?id=176114

Reviewed by Oliver Hunt.

JSTests:

  • stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added.
  • stress/resources/literal-parser-test-case.js: Added.

Source/JavaScriptCore:

When lexing a semicolon in the LiteralParser, we were properly
setting the TokenType on the current token, however, we were
*returning* the wrong TokenType. The lex function both returns
the TokenType and sets it on the current token. Semicolon was
setting the TokenType to semicolon, but returning the TokenType
for '='. This caused programs like x;123 to be interpreted as
x=123.

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::Lexer::lex):
(JSC::LiteralParser<CharType>::Lexer::next):

1:10 AM Changeset in webkit [221521] by Carlos Garcia Campos
  • 5 edits in trunk/Source

[GTK][Wayland] Use fast malloc to allocate backing store cairo surfaces data
https://bugs.webkit.org/show_bug.cgi?id=176226

Reviewed by Michael Catanzaro.

Source/WebCore:

It reduces the memory consumption and improves the performance. Also, since performance is better we don't need
to keep the scroll surface allocated all the time, we can create it on demand and keep it allocated only while
scrolling too fast.

  • platform/graphics/cairo/BackingStoreBackendCairoImpl.cpp:

(WebCore::createCairoImageSurfaceWithFastMalloc): Helper to create a cairo image surface using fast malloc.
(WebCore::BackingStoreBackendCairoImpl::BackingStoreBackendCairoImpl): Create the main surface, but no the
scroll one. Initialize the hysteresis activity to discard the scroll surface after scrolling.
(WebCore::BackingStoreBackendCairoImpl::scroll): Create the scroll surface only if it's nullptr, and notify the
hysteresis activity.

  • platform/graphics/cairo/BackingStoreBackendCairoImpl.h:

Source/WebKit:

Do not create the cairo surface for BackingStoreBackendCairoImpl. When not using X11 we are going to use an
image surface anyway, so we don't really need to use the create similar. This way we only need to pass the size
and device scale factor to BackingStoreBackendCairoImpl that will create the image surface using fast malloc to
allocate the data.

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::createBackend):

1:01 AM Changeset in webkit [221520] by Carlos Garcia Campos
  • 27 edits
    7 adds in releases/WebKitGTK/webkit-2.18

Merge r221377 - The SVG fragment identifier is not respected if it is a part of an HTTP URL
https://bugs.webkit.org/show_bug.cgi?id=163811

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-08-30
Reviewed by Darin Adler.

Source/WebCore:

If an image is referenced more than once in a page and the URL to that
image is an HTTP URL, one CachedImage is created for all the renderers
even if the original URLs have different fragmentIdentifiers. In this
case the fragment will be removed from the request which is associated
with the shared CachedImage. This CachedImage creates an SVGImage with
a URL but without a fragmentIdentifier. So SVGImage::draw() does not call
FrameView::scrollToFragment() and therefore the viewport is not setup
correctly for displaying the SVG in this case.

The fix is to move the url from the SVGImage to SVGImageForContainer.
Because there is one SVGImageForContainer created for every renderer,
we can move the full URL there. The drawing of an SVGImage has to start
from the SVGImageForContainer::draw() because the SVGImage may not have
an intrinsic size and the SVGImageForContainer is the one which knows
the destination rectangle. So SVGImageForContainer can pass the full url
to SVGImage::drawForContainer() which can be used to scrollToFragment()
before calling SVGImage::draw().

For clarity and consistency, all setContainerSizeForRenderer() will be
changed to setContainerContext() and the pair SizeAndZoom will be replaced
by the struct ContainerContext.

Tests: http/tests/svg/svg-fragment-background.html

http/tests/svg/svg-fragment-image.html

  • css/CSSCursorImageValue.h:
  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::fillImageSet):

  • css/CSSImageSetValue.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::didRemoveClient):
(WebCore::CachedImage::switchClientsToRevalidatedResource):
(WebCore::CachedImage::allClientsRemoved):
(WebCore::CachedImage::setContainerContextForClient):
(WebCore::CachedImage::clear):
(WebCore::CachedImage::createImage):
(WebCore::CachedImage::setContainerSizeForRenderer): Deleted.

  • loader/cache/CachedImage.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry const):
(WebCore::RenderBoxModelObject::paintNinePieceImage):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::updateInnerContentRect):
(WebCore::RenderImage::repaintOrMarkForLayout):

  • rendering/RenderImageResource.cpp:

(WebCore::RenderImageResource::setContainerContext):
(WebCore::RenderImageResource::setContainerSizeForRenderer): Deleted.

  • rendering/RenderImageResource.h:
  • rendering/RenderImageResourceStyleImage.cpp:

(WebCore::RenderImageResourceStyleImage::setContainerContext):
(WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Deleted.

  • rendering/RenderImageResourceStyleImage.h:
  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::updateContent):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage const):

  • rendering/style/StyleCachedImage.cpp:

(WebCore::StyleCachedImage::imageURL):
(WebCore::StyleCachedImage::setContainerContextForRenderer):
(WebCore::StyleCachedImage::setContainerSizeForRenderer): Deleted.

  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:
  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::updateImageViewport):

  • svg/SVGImageElement.h:
  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::SVGImage):
(WebCore::SVGImage::drawForContainer):
(WebCore::SVGImage::drawPatternForContainer):
(WebCore::SVGImage::draw):
(WebCore::SVGImage::dump const): Deleted.

  • svg/graphics/SVGImage.h:
  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::setContainerContextForClient):
(WebCore::SVGImageCache::setContainerSizeForRenderer): Deleted.

  • svg/graphics/SVGImageCache.h:
  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::size const):
(WebCore::SVGImageForContainer::draw):
(WebCore::SVGImageForContainer::drawPattern):

  • svg/graphics/SVGImageForContainer.h:

LayoutTests:

  • http/tests/svg/resources/rgb-icons-1.svg: Added.
  • http/tests/svg/resources/rgb-icons-2.svg: Added.
  • http/tests/svg/resources/rgb-icons-3.svg: Added.
  • http/tests/svg/svg-fragment-background-expected.html: Added.
  • http/tests/svg/svg-fragment-background.html: Added.
  • http/tests/svg/svg-fragment-image-expected.html: Added.
  • http/tests/svg/svg-fragment-image.html: Added.
12:50 AM Changeset in webkit [221519] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.18

Merge r221335 - Assertion failure when opening a file with a missing tag closing bracket
https://bugs.webkit.org/show_bug.cgi?id=176061

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-08-29
Reviewed by Darin Adler.

Source/WebCore:

If a tag is missing its closing bracket, the tokenizer just needs to advance()
the character position without checking m_currentCharacter != '\n'. Newline
character is a valid ending for partially closed tags.

Test: fast/tokenizer/missing-script-tag-closing-bracket.html

  • html/parser/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::commitToPartialEndTag):

LayoutTests:

  • fast/tokenizer/missing-script-tag-closing-bracket-expected.txt: Added.
  • fast/tokenizer/missing-script-tag-closing-bracket.html: Added.
12:48 AM Changeset in webkit [221518] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.18/Tools

Merge r221295 - Unreviewed. REGRESSION(r221219): Fix unit tests using resources from WebKit directory.

The WebKit2 directory was renamed as WebKit in r221219, but neither run-gtk-tests script nor
Test::getResourcesDir() were updated to use the new name.

  • Scripts/run-gtk-tests:

(TestRunner._setup_testing_environment):

  • TestWebKitAPI/glib/WebKitGLib/TestMain.h:

(Test::getResourcesDir):

12:47 AM Changeset in webkit [221517] by Carlos Garcia Campos
  • 4 edits
    250 moves
    3 adds in releases/WebKitGTK/webkit-2.18/Tools

Merge r221219 - Rename TestWebKitAPI/Tests/WebKit2* to WebKit* following Source directory rename.

Rubber-stamped by Brady Eidson.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLs.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsPlugin.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AdditionalReadAccessAllowedURLsProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AllAhem.svg: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AlwaysRevalidatedURLSchemes.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AnimatedResize.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ApplicationCache.db-wal: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/AutoLayoutIntegration.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegatePlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleEditingDelegateProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParameters.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleParametersPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandle.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandlePlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/BundleRangeHandleProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresource.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CancelFontSubresourcePlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CommandBackForward.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFiltering.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ContentFilteringPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CookieAcceptPolicy.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/CookieMessage.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Copying.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DecidePolicyForNavigationAction.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Download.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestBlobURL.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURL2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DownloadRequestOriginalURLFrame.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/DuplicateCompletionHandlerCalls.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/EditorStateTests.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/EmptyGrandfatheredResourceLoadStatistics.plist: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FixedLayoutSize.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenTopContentInset.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Geolocation.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/GeolocationGetCurrentPositionResult.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBDeleteRecovery.sqlite3-wal: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IDBIndexUpgradeToV2.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.blob: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexUpgrade.sqlite3: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBDatabaseProcessKill.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess-3.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBMultiProcess.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence-2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBPersistence.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibility.sqlite3-wal: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityRead.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/IndexedDBStructuredCloneBackwardCompatibilityWrite.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/InitialWarmedProcessUsed.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/InteractionDeadlockAfterCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LineBreaking.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LoadAlternateHTMLString.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LoadDataWithNilMIMEType.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LoadInvalidURLRequest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageClear.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.localstorage-shm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageNullEntries.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkEnabled.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/LocalStorageQuirkTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ModalAlerts.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/NSFileManagerExtras.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/NowPlayingControlsTests.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ObservedRenderingProgressEventsAfterCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/OverrideContentSecurityPolicy.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PictureInPictureDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ProvisionalURLNotChange.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/QuickLook.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptions.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RenderedImageWithOptionsProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RequiresUserActionForPlayback.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ResourceLoadStatistics.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/RunOpenPanel.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ShouldOpenExternalURLsInNewWindowActions.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/SnapshotStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobThenDelete.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/StoreBlobToBeDeleted.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UIDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentController.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorld.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldPlugIn.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserContentWorldProtocol.h: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserInitiatedActionInNavigationAction.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/UserMediaDisabled.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/VisibleContentRect.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKContentExtensionStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKContentViewEditingActions.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKHTTPCookieStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKNSNumber.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKObject.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFView.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewResizeCrash.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKPDFViewStablePresentationUpdateCallback.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKRequestActivatedElementInfo.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-leaks.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewCandidateTests.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDefaultNavigationDelegate.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDiagnosticLogging.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewDoesNotLogDuringInitialization.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewGetContents.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewSnapshot.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewTextInput.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-1.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup-2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebProcessKillIDBCleanup.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsiteDataStoreCustomPaths.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/WebsitePolicies.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/_WKUserContentExtensionStore.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/apple.gif: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/attachment-element.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/autofocus-contenteditable.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/autofocused-text-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/background-image-link-and-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/blinking-div.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-click.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/change-video-source-on-end.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/compressed-files.zip: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-target.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-and-textarea.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/contenteditable-in-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/disableGetUserMedia.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/div-and-large-image.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/double-click-does-not-select-trailing-space.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-change-selection-offscreen.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/dragstart-clear-selection.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/duplicate-completion-handler-calls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/editable-body.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/editor-state-test-harness.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/enormous-video-with-sound.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/enormous.svg: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/file-uploading.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/focus-inputs.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/full-size-autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/gif-and-file-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-and-contenteditable.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-and-textarea.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-in-link-and-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/image-map.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/input-field-in-scrollable-document.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-input-field-focus-onload.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-hides-controls-after-seek-to-end.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-mutes-onplaying.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-offscreen.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-playing-scroll-away.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-after-ending.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-seek-to-beginning-and-play-after-ending.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-test-now-playing.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-with-audio.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-video-without-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-click-to-pause.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-autoplaying-scroll-to-video.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-paused-video-hides-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-muted-video-hides-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-playing-video-keeps-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio-autoplay.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/large-videos-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/link-and-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/offscreen-iframe-of-media-document.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-with-csp.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/page-without-csp.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/password-protected.pages: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/play-audio-on-click.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/prevent-operation.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/prevent-start.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/rendered-image-excluding-overflow.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/rich-and-plain-text.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/silence-long.m4a: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/skinny-autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/text-and-password-inputs.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/textarea-to-input.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/two-paragraph-contenteditable.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Cocoa/wide-autoplaying-video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/AccessibilityTestServer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/AutocleanupsTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMClientRectTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMDOMWindowTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeFilterTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMNodeTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/DOMXPathNSResolverTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/InspectorTestServer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestAutocleanups.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMClientRect.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMDOMWindow.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestEditor.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestOptionMenu.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitAccessibility.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitVersion.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebViewEditor.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/UserContentTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextGroupTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2ObjC/WKBrowsingContextLoadDelegateTest.mm: Removed.
  • TestWebKitAPI/Tests/WebKitCocoa: Copied from TestWebKitAPI/Tests/WebKit2Cocoa.
  • TestWebKitAPI/Tests/WebKitGtk: Copied from TestWebKitAPI/Tests/WebKit2Gtk.
  • TestWebKitAPI/Tests/WebKitObjC: Copied from TestWebKitAPI/Tests/WebKit2ObjC.
  • TestWebKitAPI/glib/PlatformGTK.cmake:
12:42 AM Changeset in webkit [221516] by Carlos Garcia Campos
  • 5 edits
    202 moves
    3 adds in releases/WebKitGTK/webkit-2.18/Tools

Merge r221218 - Rename TestWebKitAPI/Tests/WebKit2 to WebKit following Source directory rename.

Rubber-stamped by Brady Eidson.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/PlatformWin.cmake:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit: Copied from TestWebKitAPI/Tests/WebKit2.
  • TestWebKitAPI/Tests/WebKit2: Removed.
  • TestWebKitAPI/Tests/WebKit2/18-characters.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/Ahem.ttf: Removed.
  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/CookieManager.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DeferredViewInWindowStateChange.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DidRemoveFrameFromHiearchyInPageCache_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EnumerateMediaDevices.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EnvironmentUtilitiesTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EphemeralSessionPushStateNoHistoryCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EvaluateJavaScript.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/EventModifiers.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/Find.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FrameHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/Geolocation.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/GetUserMediaNavigation.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/InjectedBundleMakeAllShadowRootsOpen_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LimitTitleSize.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/MediaStreamTrackDetached.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/MenuTypesForMouseEvents.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ModalAlertsSPI.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NavigationClientDefaultCrypto.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NetworkProcessCrashWithPendingConnection.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PageGroup.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PendingAPIRequestURL.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PreventEmptyUserAgent.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ProcessDidTerminate.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ProvisionalURLAfterWillSendRequestCallback_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimer.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/RestoreSessionState.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateWithoutNavigation.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/StopLoadingDuringDidFailProvisionalLoad_bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/UserMedia.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/UserMessage.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/UserMessage_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/ViewportSizeForViewportUnits.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKBackForwardList.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKBundleFileHandle_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKImageCreateCGImageCrash.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageConfiguration.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageCopySessionStateWithFiltering.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPageIsPlayingAudio.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKRetainPtr.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKString.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKStringJSString.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKThumbnailView.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/WKURL.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebArchive.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebArchive_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WebCoreStatisticsWithNoWebProcess.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/all-content-in-one-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/associate-form-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/auto-submitting-form.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-check-frame.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-check-in-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-check.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-inherits-gesture-from-document.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-muted-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-no-audio-check.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/autoplay-zero-volume-check.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/bundle-file.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/chinese-character-with-image.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/close-from-within-create-page.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/closed-shadow-tree-test.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/cocoa: Removed.
  • TestWebKitAPI/Tests/WebKit2/cocoa/WeakObjCPtr.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/contentBlockerCheck.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/custom-protocol-sync-xhr.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/encrypted.pdf: Removed.
  • TestWebKitAPI/Tests/WebKit2/enumerateMediaDevices.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/execCopy.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/file-with-anchor.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/file-with-mse.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/file-with-video.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/find.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/findRanges.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPosition.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationGetCurrentPositionWithHighAccuracy.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationWatchPosition.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/geolocationWatchPositionWithHighAccuracy.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/getUserMedia.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/gtk: Removed.
  • TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/icon.png: Removed.
  • TestWebKitAPI/Tests/WebKit2/input-focus-blur.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/js-autoplay-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/js-play-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/large-red-square-image.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/link-with-download-attribute-with-slashes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/link-with-download-attribute.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/link-with-title.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-iframes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-images.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-text-vertical-lr.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/lots-of-text.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/AttributedSubstringForProposedRangeWithImage.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/ContextMenuDownload.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor_Bundle.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/InjectedBundleAppleEvent_Bundle.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/mac/RestoreStateAfterTermination.mm: Removed.
  • TestWebKitAPI/Tests/WebKit2/many-iframes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mediastreamtrack-detached.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/modal-alerts-in-new-about-blank-window.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mouse-button-listener.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/mouse-move-listener.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/navigation-client-default-crypto.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/no-autoplay-with-controls.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/open-and-close-window.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/push-state.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/set-long-title.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/should-open-external-schemes.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-accelerated-compositing.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-form.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-iframe.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple-tall.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple2.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/simple3.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/spacebar-scrolling.html: Removed.
  • TestWebKitAPI/Tests/WebKit2/test-mse.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2/test-without-audio-track.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2/test.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit2/test.pdf: Removed.
  • TestWebKitAPI/Tests/WebKit2/webfont.html: Removed.
12:38 AM Changeset in webkit [221515] by Carlos Garcia Campos
  • 2 edits
    11 moves
    3 adds in releases/WebKitGTK/webkit-2.18/Tools

Merge r221217 - Rename TestWebKitAPI/Tests/WebKit to WebKitLegacy following Source directory rename.

Rubber-stamped by Brady Eidson.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit: Removed.
  • TestWebKitAPI/Tests/WebKit/ios: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/AudioSessionCategoryIOS.mm: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/SnapshotViaRenderInContext.mm: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/audio-only.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-audio.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio-and-webaudio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-with-muted-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-without-audio.html: Removed.
  • TestWebKitAPI/Tests/WebKit/ios/video-without-audio.mp4: Removed.
  • TestWebKitAPI/Tests/WebKit/win: Removed.
  • TestWebKitAPI/Tests/WebKit/win/ScaleWebView.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp: Removed.
  • TestWebKitAPI/Tests/WebKitLegacy: Copied from TestWebKitAPI/Tests/WebKit.
12:05 AM Changeset in webkit [221514] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit

[GTK][Wayland] Opening FedoraProject's pastebin chews CPU
https://bugs.webkit.org/show_bug.cgi?id=175942

Reviewed by Žan Doberšek.

This regressed when we introduced the display refresh monitor. The monitor schedules updates immediately,
because we removed the option to not do frame sync in X11 to let swapBuffers do the throttling, but that's
not happening in Wayland because the nested compositor is dispatching frame callbacks on surface commit.
We need to ensure that frame callbacks are dispatched on every monitor refresh, because swapBuffers waits for
frame callbacks to be queued on display.

  • UIProcess/gtk/WaylandCompositor.cpp:

(WebKit::WaylandCompositor::Surface::~Surface): Destroy pending frame callbacks too.
(WebKit::WaylandCompositor::Surface::setWebPage): Add a tick callback to the web view widget to flush all
committed frame callbacks on every frame update.
(WebKit::WaylandCompositor::Surface::requestFrame): Add the callbacks to m_pendingFrameCallbackList.
(WebKit::WaylandCompositor::Surface::flushFrameCallbacks): Dispatch all committed frame callabcks.
(WebKit::WaylandCompositor::Surface::flushPendingFrameCallbacks): Dispatch all pending frame callbacks.
(WebKit::WaylandCompositor::Surface::commit): Do not dispatch frame callbacks here, move them to the list of
committed frame callbacks that will be dispatched on the next frame clock update.

  • UIProcess/gtk/WaylandCompositor.h:

(WebKit::WaylandCompositor::Surface::setWebPage): Moved to the cpp.

  • WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp:

(WebKit::AcceleratedSurfaceWayland::AcceleratedSurfaceWayland): Move surface initialization and destruction to
the compositing thread.
(WebKit::AcceleratedSurfaceWayland::initialize):
(WebKit::AcceleratedSurfaceWayland::finalize):
(WebKit::AcceleratedSurfaceWayland::~AcceleratedSurfaceWayland): Deleted.

  • WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.h:

Sep 1, 2017:

7:33 PM Changeset in webkit [221513] by fpizlo@apple.com
  • 5 edits
    4 adds in trunk/Tools

WSL should check unreachable code and no returns
https://bugs.webkit.org/show_bug.cgi?id=176262

Reviewed by Myles Maxfield.

This adds phases to check whether non-void functions return and whether there is any code after
a return in any block. Added tests for simple versions of both of those things. We cannot add
more complex versions until we support control flow statements.

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

(checkReturns):

  • WebGPUShadingLanguageRI/CheckUnreachableCode.js: Added.

(checkUnreachableCode):

  • WebGPUShadingLanguageRI/Parse.js:

(parseReturn):

  • WebGPUShadingLanguageRI/Prepare.js:

(prepare):

  • WebGPUShadingLanguageRI/ReturnChecker.js: Added.

(ReturnChecker.prototype.visitFuncDef):
(ReturnChecker.prototype.visitBlock):
(ReturnChecker.prototype.visitReturn):
(ReturnChecker):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_simpleNoReturn):

  • WebGPUShadingLanguageRI/UnreachableCodeChecker.js: Added.

(UnreachableCodeChecker.prototype.visitBlock):
(UnreachableCodeChecker):

6:38 PM Changeset in webkit [221512] by weinig@apple.com
  • 21 edits in trunk

DOMMatrix and DOMMatrixReadOnly should be available in workers
https://bugs.webkit.org/show_bug.cgi?id=176255

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/geometry-1/DOMMatrix-css-string.worker-expected.txt:
  • web-platform-tests/css/geometry-1/interfaces.worker-expected.txt:

Update test results.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Add GlobalPerformance.idl to the project. It was missing.

  • bindings/scripts/CodeGeneratorJS.pm:

(IsAlwaysExposedOnInterface):
(NeedsRuntimeCheck):
(GenerateRuntimeEnableConditionalStringForExposed):
(GenerateRuntimeEnableConditionalString):

Adds support for [Exposed] extended attributes on operations, attributes and
constants. This allows an interface that is exposed to both windows and workers
(with [Exposed=(Window,Worker)]), to indicate that a specific property should
only be be exposed somewhere, e.g only the window. This is need by DOMMatrixReadOnly's
stringifier, which is only exposed in the window environment.

  • bindings/scripts/IDLParser.pm:

(parseExtendedAttributeRest2):

Fix bug where array extended attributes, like those found in Exposed expressions
where being converter to scalars.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/TestObj.idl:

Add tests and update results. Some results are just improved
includes.

  • css/DOMMatrix.cpp:
  • css/DOMMatrix.h:
  • css/DOMMatrix.idl:
  • css/DOMMatrixReadOnly.cpp:
  • css/DOMMatrixReadOnly.h:
  • css/DOMMatrixReadOnly.idl:


Expose DOMMatrix and DOMMatrixReadOnly to workers and update the constructors
to match the current spec, throwing if the argument is a string, and the context
is not the window / document context. Also did some refactoring to avoid allocating
the DOMMatrix or DOMMatrixReadOnly until after all the exceptional cases were handled.

LayoutTests:

  • js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
  • platform/mac-wk1/js/dom/global-constructors-attributes-dedicated-worker-expected.txt
  • platform/wpe/js/dom/global-constructors-attributes-dedicated-worker-expected.txt
5:57 PM Changeset in webkit [221511] by fpizlo@apple.com
  • 7 edits in trunk/Tools

WSL should use & for getting a and @ for getting a []
https://bugs.webkit.org/show_bug.cgi?id=176245

Reviewed by Myles Maxfield.

Using \ as an operator was a bad decision since that's an escape character in so many contexts.

Henceforth, & is for making pointers, for example:

thread int foo() { int x; return &x; }

And @ is for making array references, for example:

thread int[] foo() { int[42] x; return @x; }

Having separate operators makes it easy to have pointers to fixed-size arrays:

thread int[42]
foo() { int[42] x; return &x; }

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics):

  • WebGPUShadingLanguageRI/Lexer.js:

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

  • WebGPUShadingLanguageRI/MakePtrExpression.js:

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

  • WebGPUShadingLanguageRI/Parse.js:

(parsePossibleSuffix):
(parsePossiblePrefix):
(parseFuncName):

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

(TEST_simpleMakePtr):

5:19 PM Changeset in webkit [221510] by Chris Dumez
  • 6 edits
    2 adds in trunk

Implement FileSystemDirectoryEntry.getFile()
https://bugs.webkit.org/show_bug.cgi?id=176167
<rdar://problem/34187775>

Reviewed by Andreas Kling.

Source/WebCore:

Implement FileSystemDirectoryEntry.getFile():

Test: editing/pasteboard/datatransfer-items-drop-getFile.html

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::isValidPathNameCharacter):
(WebCore::isValidPathSegment):
(WebCore::isValidRelativeVirtualPath):
(WebCore::isValidAbsoluteVirtualPath):
(WebCore::isValidVirtualPath):
Implement various path validation functions as per:

(WebCore::resolveRelativeVirtualPath):

  • Use StringView for second parameter for efficiency. Had to keep a String for the first parameter because I need the split to return a Vector.
  • If the input path is absolute, call recursively with '/' as base path so that the virtual path gets sanitized (i.e. '..' and '.' in the absolute URL get resolved).

(WebCore::DOMFileSystem::listDirectory):
Use String instead of auto. It is not much longer and is clearer.

(WebCore::validatePathIsDirectory):
(WebCore::DOMFileSystem::getParent):
Move logic to validate that the path is a directory from getParent() to a
separate function. This only makes sure the ScriptExecutionContext is only
ref'd / deref'd on the main thread.

(WebCore::validatePathIsFile):
Logic for validating that a path is a file, used by getFile().

(WebCore::DOMFileSystem::getFile):
Implement getFile() as per:

  • Modules/entriesapi/DOMFileSystem.h:
  • Modules/entriesapi/FileSystemDirectoryEntry.cpp:

(WebCore::FileSystemDirectoryEntry::getFile):
Add implementation of FileSystemDirectoryEntry::getFile() which merely calls
DOMFileSystem::getFile().

LayoutTests:

Add layout test coverage.

  • editing/pasteboard/datatransfer-items-drop-getFile-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-drop-getFile.html: Added.
4:59 PM Changeset in webkit [221509] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: taken.get() == &job in WebCore::ServiceWorkerContainer::jobDidFinish(WebCore::ServiceWorkerJob &).
https://bugs.webkit.org/show_bug.cgi?id=176234

Rubberstamped by Tim Horton, reluctantly.

  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::jobDidFinish): It's valid for the job to be missing after navigations, which is

why this was hitting downstream tests.

4:54 PM Changeset in webkit [221508] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

WSL's lexer will never emit keyword tokens
https://bugs.webkit.org/show_bug.cgi?id=176248

Reviewed by Filip Pizlo.

Because all tokens are also identified as idents, we need to handle them together.

  • WebGPUShadingLanguageRI/Lexer.js:

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

  • WebGPUShadingLanguageRI/Test.js:

(doLex):
(checkLexerToken):
(TEST_lexerKeyword):

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

Skipped multiple webgl tests.
<rdar://problem/34209038>

Unreviewed test gardening.

  • platform/ios-11/TestExpectations:
4:28 PM Changeset in webkit [221506] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Do not Reject CacheStorage promises when updating the persistent filesystem data fails
https://bugs.webkit.org/show_bug.cgi?id=176241

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

Source/WebCore:

Open/Remove caches may succeed in updating the memory representation but the write-to-disk operation may fail.
In that case, the corresponding promise is now resolved since the web page can still proceeed.

There is no way to test that currently as this would require a write disk failure to be triggered.

  • Modules/cache/CacheStorage.cpp:

(WebCore::logConsolePersistencyError):
(WebCore::CacheStorage::open):
(WebCore::CacheStorage::remove):

  • Modules/cache/DOMCacheEngine.h:

(WebCore::DOMCacheEngine::CacheIdentifierOperationResult::encode const):
(WebCore::DOMCacheEngine::CacheIdentifierOperationResult::decode):

Source/WebKit:

Open/Remove caches may succeed in the memory representation but the write-to-disk operation may fail.
In that case, the callback does not return an error but a value containing the cache identifier.
The value will also contain a boolean flag set to true to notify the client that persistent storage failed this time.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::open):
(WebKit::CacheStorage::Engine::remove):

  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::open):
(WebKit::CacheStorage::Caches::remove):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:
3:56 PM Changeset in webkit [221505] by achristensen@apple.com
  • 193 edits in trunk/Tools

Rename WebKit2 API tests after directory rename
https://bugs.webkit.org/show_bug.cgi?id=176250

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/Lots of files...

Renamed WebKit2 to WebKit and WebKit1 to WebKitLegacy.

3:53 PM Changeset in webkit [221504] by commit-queue@webkit.org
  • 15 edits
    7 adds in trunk

[Fetch API] Add support for consuming a Request ReadableStream body
https://bugs.webkit.org/show_bug.cgi?id=176182

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

Source/WebCore:

Tests: http/wpt/fetch/request-stream-empty.html

http/wpt/fetch/request-stream-error.html

Adding a ReadableStreamSink which allows to pipe all ReadableStream data back to C++ code.
This sink only takes BufferSource as the only user is Fetch which has this restriction.
This sink is tied to the readableStreamPipeTo builtin internal function that reads all data from the ReadableStream
and send it to the sink.

Adding a ReadableStreamToSharedBufferSink specialization to get the data as a SharedBuffer.

Use that class in FetchBodyConsumer to get the data back from the ReadableStream and transform it according
the desired body type (text, JSON, ArrayBuffer).

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/fetch/FetchBody.cpp:

(WebCore::FetchBody::consume):
(WebCore::FetchBody::loadingSucceeded):

  • Modules/fetch/FetchBodyConsumer.cpp:

(WebCore::resolveWithTypeAndData):
(WebCore::FetchBodyConsumer::clean):
(WebCore::FetchBodyConsumer::resolveWithData):
(WebCore::FetchBodyConsumer::resolve):

  • Modules/fetch/FetchBodyConsumer.h:
  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::finishConsumingStream):

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamPipeTo):

  • Modules/streams/ReadableStreamSink.cpp: Added.

(WebCore::ReadableStreamToSharedBufferSink::ReadableStreamToSharedBufferSink):
(WebCore::ReadableStreamToSharedBufferSink::pipeFrom):
(WebCore::ReadableStreamToSharedBufferSink::enqueue):
(WebCore::ReadableStreamToSharedBufferSink::close):
(WebCore::ReadableStreamToSharedBufferSink::error):

  • Modules/streams/ReadableStreamSink.h: Added.
  • Modules/streams/ReadableStreamSink.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ReadableStream.cpp:

(WebCore::ReadableStream::pipeTo):

  • bindings/js/ReadableStream.h:

LayoutTests:

  • http/wpt/fetch/request-stream-disturbed-1-expected.txt:
  • http/wpt/fetch/request-stream-disturbed-2-expected.txt:
  • http/wpt/fetch/request-stream-disturbed-3-expected.txt:
  • http/wpt/fetch/request-stream-empty-expected.txt: Added.
  • http/wpt/fetch/request-stream-empty.html: Added.
  • http/wpt/fetch/request-stream-error-expected.txt: Added.
  • http/wpt/fetch/request-stream-error.html: Added.
3:25 PM Changeset in webkit [221503] by achristensen@apple.com
  • 12 edits in trunk

Add WKUIDelegatePrivate equivalent of WKPageUIClient's toolbarsAreVisible
https://bugs.webkit.org/show_bug.cgi?id=176246
<rdar://problem/29270035>

Reviewed by Tim Horton.

Source/WebKit:

  • UIProcess/API/APIUIClient.h:

(API::UIClient::toolbarsAreVisible):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

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

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::toolbarsAreVisible):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::getToolbarsAreVisible):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[ToolbarDelegate _webView:getToolbarsAreVisibleWithCompletionHandler:]):
(-[ToolbarDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):

3:19 PM Changeset in webkit [221502] by achristensen@apple.com
  • 9 edits
    2 moves
    1 add in trunk/Source/WebKit

Make PageClientImplCocoa a proper superclass of PageClientImpls for Mac and iOS
https://bugs.webkit.org/show_bug.cgi?id=176239

Reviewed by Tim Horton.

  • UIProcess/Cocoa/PageClientImplCocoa.h: Added.

(WebKit::PageClientImplCocoa::PageClientImplCocoa):

  • UIProcess/Cocoa/PageClientImplCocoa.mm:

(WebKit::PageClientImplCocoa::isPlayingAudioWillChange):
(WebKit::PageClientImplCocoa::isPlayingAudioDidChange):
(WebKit::PageClientImpl::isPlayingAudioWillChange): Deleted.
(WebKit::PageClientImpl::isPlayingAudioDidChange): Deleted.

  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::PageClientImpl):

  • UIProcess/mac/PageClientImpl.h: Removed.
  • UIProcess/mac/PageClientImpl.mm: Removed.
  • UIProcess/mac/PageClientImplMac.h: Copied from Source/WebKit/UIProcess/mac/PageClientImpl.h.
  • UIProcess/mac/PageClientImplMac.mm: Copied from Source/WebKit/UIProcess/mac/PageClientImpl.mm.

(WebKit::PageClientImpl::PageClientImpl):

  • UIProcess/mac/WebContextMenuProxyMac.mm:
  • UIProcess/mac/WebPageProxyMac.mm:
  • UIProcess/mac/WebPopupMenuProxyMac.mm:
  • WebKit.xcodeproj/project.pbxproj:
3:16 PM Changeset in webkit [221501] by commit-queue@webkit.org
  • 6 edits in trunk

Wrong getComputedStyle behavior for pseudo-elements for layout-dependent properties.
https://bugs.webkit.org/show_bug.cgi?id=175936

Patch by Emilio Cobos Álvarez <emilio> on 2017-09-01
Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

  • web-platform-tests/cssom/getComputedStyle-pseudo-expected.txt:
  • web-platform-tests/cssom/getComputedStyle-pseudo.html: Sync test with upstream.

Source/WebCore:

Before this patch we may wrongly end up using the wrong renderer to resolve
this.

Tests: imported/w3c/web-platform-tests/cssom/getComputedStyle-pseudo.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::styledElement const):
(WebCore::ComputedStyleExtractor::styledRenderer const):
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSComputedStyleDeclaration.h:
3:14 PM Changeset in webkit [221500] by eric.carlson@apple.com
  • 2 edits in trunk/Tools

Switch HTMLMediaElement to release logging
https://bugs.webkit.org/show_bug.cgi?id=176065

Unreviewed build fix.

  • TestWebKitAPI/Tests/WebCore/Logging.cpp:
3:09 PM Changeset in webkit [221499] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

http/tests/misc/slow-loading-animated-image.html is flaky on iOS simulator and Windows.
https://bugs.webkit.org/show_bug.cgi?id=157916

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:47 PM Changeset in webkit [221498] by pvollan@apple.com
  • 6 edits
    3 moves in trunk/Source/WebCore

[Win] Compile error, 'Cache' is not declared.
https://bugs.webkit.org/show_bug.cgi?id=176062

Reviewed by Youenn Fablet.

Rename Cache to DOMCache.

No new tests, covered by existing tests.

  • DerivedSources.make:
  • Modules/cache/Cache.cpp: Removed.
  • Modules/cache/Cache.h: Removed.
  • Modules/cache/Cache.idl: Removed.
  • Modules/cache/CacheStorage.cpp:

(WebCore::doSequentialMatch):
(WebCore::startSequentialMatch):
(WebCore::copyCaches):
(WebCore::CacheStorage::match):
(WebCore::CacheStorage::retrieveCaches):
(WebCore::CacheStorage::open):

  • Modules/cache/CacheStorage.h:
  • Modules/cache/DOMCache.cpp: Copied from Source/WebCore/Modules/cache/Cache.cpp.

(WebCore::DOMCache::DOMCache):
(WebCore::DOMCache::~DOMCache):
(WebCore::DOMCache::match):
(WebCore::DOMCache::doMatch):
(WebCore::DOMCache::matchAll):
(WebCore::DOMCache::add):
(WebCore::DOMCache::requestFromInfo):
(WebCore::DOMCache::addAll):
(WebCore::DOMCache::put):
(WebCore::DOMCache::remove):
(WebCore::DOMCache::keys):
(WebCore::DOMCache::retrieveRecords):
(WebCore::DOMCache::queryCache):
(WebCore::DOMCache::queryCacheWithTargetStorage):
(WebCore::DOMCache::batchDeleteOperation):
(WebCore::DOMCache::batchPutOperation):
(WebCore::DOMCache::updateRecords):
(WebCore::DOMCache::stop):
(WebCore::DOMCache::activeDOMObjectName const):
(WebCore::DOMCache::canSuspendForDocumentSuspension const):
(WebCore::Cache::Cache): Deleted.
(WebCore::Cache::~Cache): Deleted.
(WebCore::Cache::match): Deleted.
(WebCore::Cache::doMatch): Deleted.
(WebCore::Cache::matchAll): Deleted.
(WebCore::Cache::add): Deleted.
(WebCore::Cache::requestFromInfo): Deleted.
(WebCore::Cache::addAll): Deleted.
(WebCore::Cache::put): Deleted.
(WebCore::Cache::remove): Deleted.
(WebCore::Cache::keys): Deleted.
(WebCore::Cache::retrieveRecords): Deleted.
(WebCore::Cache::queryCache): Deleted.
(WebCore::Cache::queryCacheWithTargetStorage): Deleted.
(WebCore::Cache::batchDeleteOperation): Deleted.
(WebCore::Cache::batchPutOperation): Deleted.
(WebCore::Cache::updateRecords): Deleted.
(WebCore::Cache::stop): Deleted.
(WebCore::Cache::activeDOMObjectName const): Deleted.
(WebCore::Cache::canSuspendForDocumentSuspension const): Deleted.

  • Modules/cache/DOMCache.h: Copied from Source/WebCore/Modules/cache/Cache.h.
  • Modules/cache/DOMCache.idl: Copied from Source/WebCore/Modules/cache/Cache.idl.
  • WebCore.xcodeproj/project.pbxproj:
2:45 PM Changeset in webkit [221497] by fpizlo@apple.com
  • 3 edits in trunk/Tools

WSL should have more tests of type checking failures
https://bugs.webkit.org/show_bug.cgi?id=176244

Reviewed by Myles Maxfield.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitProtocolDecl.set throw):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_typeMismatchReturn):

2:35 PM Changeset in webkit [221496] by fpizlo@apple.com
  • 19 edits
    1 add in trunk/Tools

WSL should be be able to call a function declared in a protocol from a generic function
https://bugs.webkit.org/show_bug.cgi?id=176242

Reviewed by Myles Maxfield.

It turns out that we need to know when a function is resolved to a protocol signature, so we
need to have a type for this. This introduces ProtocolFuncDecl.

Also, this introduces parsing of protocol decls.

When instantiating a function, we need to rewrite its CallExpressions if they were previously
resolved to a PrtococolFuncDecl instead of a FuncDef or NativeFunc. In that case, we need to
rerun the resolution on the program. That resolution is guaranteed to succeed if the type
system works correctly.

  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.prototype.resolve):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitProtocolDecl.set throw):

  • WebGPUShadingLanguageRI/EBufferBuilder.js:

(EBufferBuilder.prototype._createEPtr):

  • WebGPUShadingLanguageRI/Func.js:

(Func):
(Func.prototype.get origin):

  • WebGPUShadingLanguageRI/FuncDef.js:

(FuncDef):
(FuncDef.prototype.get origin): Deleted.

  • WebGPUShadingLanguageRI/FuncInstantiator.js:

(FuncInstantiator):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution.prototype.visitCallExpression):
(FuncInstantiator.prototype.getUnique.InstantiationSubstitution):

  • WebGPUShadingLanguageRI/NativeFunc.js:

(NativeFunc):
(NativeFunc.prototype.get origin): Deleted.

  • WebGPUShadingLanguageRI/NativeFuncInstance.js:

(NativeFuncInstance):

  • WebGPUShadingLanguageRI/Node.js:

(Node.prototype.substitute):

  • WebGPUShadingLanguageRI/Parse.js:

(parseProtocolFuncDecl):
(parseProtocolDecl):
(parse):

  • WebGPUShadingLanguageRI/Program.js:

(Program):
(Program.prototype.get protocols):
(Program.prototype.add):

  • WebGPUShadingLanguageRI/ProtocolDecl.js:

(ProtocolDecl.prototype.add):
(ProtocolDecl.prototype.hasHeir):
(ProtocolDecl.prototype.addSignature): Deleted.

  • WebGPUShadingLanguageRI/ProtocolFuncDecl.js: Added.

(ProtocolFuncDecl):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitStructType):
(Rewriter.prototype.visitTypeVariable):
(Rewriter.prototype.visitProtocolFuncDecl):
(Rewriter.prototype.visitCallExpression):

  • WebGPUShadingLanguageRI/StructType.js:

(StructType.prototype.instantiate):

  • WebGPUShadingLanguageRI/Substitution.js:

(Substitution):
(Substitution.mapping): Deleted.

  • WebGPUShadingLanguageRI/Test.js:

(TEST_simpleGeneric):
(TEST_simpleAssignment):
(TEST_simpleDefault):
(TEST_simpleDereference):
(TEST_dereferenceStore):
(TEST_simpleMakePtr):
(TEST_threadArrayLoad):
(TEST_deviceArrayLoad):
(TEST_threadArrayStore):
(TEST_deviceArrayStore):
(TEST_simpleProtocol):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitProtocolFuncDecl):

2:33 PM Changeset in webkit [221495] by beidson@apple.com
  • 7 edits in trunk/Source/WebCore

Move ServiceWorkerJob from FetchLoader to ThreadableLoader.
https://bugs.webkit.org/show_bug.cgi?id=176231

Reviewed by Youenn Fablet.

No new tests (No behavior change).

  • WebCore.xcodeproj/project.pbxproj:

Re-indent these headers. Yuck!

  • loader/ThreadableLoader.h:

(WebCore::ThreadableLoader::ref):
(WebCore::ThreadableLoader::deref):
(WebCore::ThreadableLoader::ThreadableLoader):
(WebCore::ThreadableLoader::~ThreadableLoader):

  • loader/ThreadableLoaderClient.h:

(WebCore::ThreadableLoaderClient::didSendData):
(WebCore::ThreadableLoaderClient::didReceiveResponse):
(WebCore::ThreadableLoaderClient::didReceiveData):
(WebCore::ThreadableLoaderClient::didFinishLoading):
(WebCore::ThreadableLoaderClient::didFail):
(WebCore::ThreadableLoaderClient::didFinishTiming):
(WebCore::ThreadableLoaderClient::ThreadableLoaderClient):
(WebCore::ThreadableLoaderClient::~ThreadableLoaderClient):

Move from FetchLoaderClient to ThreadableLoaderClient:

  • workers/service/ServiceWorkerJob.cpp:

(WebCore::ServiceWorkerJob::fetchScriptWithContext):
(WebCore::ServiceWorkerJob::didReceiveResponse):
(WebCore::ServiceWorkerJob::didReceiveData):
(WebCore::ServiceWorkerJob::didFinishLoading):
(WebCore::ServiceWorkerJob::didFail):
(WebCore::ServiceWorkerJob::didSucceed): Deleted.

  • workers/service/ServiceWorkerJob.h:
  • workers/service/server/SWClientConnection.cpp: Add a now-required include.
1:40 PM Changeset in webkit [221494] by eric.carlson@apple.com
  • 12 edits
    1 add in trunk

Switch HTMLMediaElement to release logging
https://bugs.webkit.org/show_bug.cgi?id=176065

Reviewed by Jer Noble.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::privateBrowsingStateDidChange): Disable the logger when private browsing
mode is enabled.
(WebCore::Document::logger const):

  • dom/Document.h:

Convert debug-only logging to configurable release logging.

  • html/HTMLMediaElement.cpp:

(PAL::LogArgument<WebCore::URL>::toString): Logger template for URL that returns the url as a
String when only when the LOG_DISABLED build flag is not defined. Returns "[url]" when it is.

  • html/HTMLMediaElement.h:

Source/WTF:

  • wtf/MediaTime.cpp:

(WTF::MediaTime::dump const): Use toString.
(WTF::MediaTime::toString const): New.

  • wtf/MediaTime.h:

(PAL::LogArgument<WTF::MediaTime>::toString): Logger template.

Tools:

  • TestWebKitAPI/Tests/WebCore/Logging.cpp:

(TestWebKitAPI::LogObserver::level const):

12:47 PM Changeset in webkit [221493] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Try again to fix the Internal iOS Simulator build after r221485.

  • pal/spi/cg/CoreGraphicsSPI.h:
12:31 PM Changeset in webkit [221492] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

Try to fix the Internal iOS Simulator build after r221485.

  • pal/spi/cg/CoreGraphicsSPI.h:
12:13 PM Changeset in webkit [221491] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

download-latest-github-release.py should have friendlier output for non-404 errors
https://bugs.webkit.org/show_bug.cgi?id=176201

Patch by Ross Kirsling <Ross Kirsling> on 2017-09-01
Reviewed by Brent Fulgham.

  • Scripts/download-latest-github-release.py:
11:57 AM Changeset in webkit [221490] by fpizlo@apple.com
  • 3 edits in trunk/Tools

[WSL] Add tests for storing to arrays
https://bugs.webkit.org/show_bug.cgi?id=176237

Reviewed by Myles Maxfield.

Storing to arrays works now.

  • WebGPUShadingLanguageRI/ArrayType.js:

(ArrayType):

  • WebGPUShadingLanguageRI/Test.js:

(TEST_threadArrayStore):
(TEST_deviceArrayStore):

11:54 AM Changeset in webkit [221489] by achristensen@apple.com
  • 19 edits
    1 add in trunk

Replace WKUIDelegatePrivate's isPlayingMediaDidChange with KVO _isPlayingAudio on WKWebView
https://bugs.webkit.org/show_bug.cgi?id=176212

Reviewed by Tim Horton.

Source/WebKit:

Dan suggested this in bug 176203, I think it's a good idea,
and I'll need to add more KVO properties soon anyways so I'd better learn how.
Determining if audio playing changed is important for Safari, so WKPageUIClient's
isPlayingAudioDidChange was correctly named but incorrectly fired if either audio
or video playing changed and had you check if audio was playing, possibly too often.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::isPlayingMediaDidChange):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

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

(-[WKWebView _isPlayingAudio]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/glib/WebKitUIClient.cpp:
  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::isPlayingMediaDidChange): Deleted.

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

(WebKit::WebViewImpl::isPlayingAudioWillChange):
(WebKit::WebViewImpl::isPlayingAudioDidChange):

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

(WebKit::WebPageProxy::isPlayingMediaDidChange):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isPlayingAudioDidChange):
(WebKit::PageClientImpl::isPlayingAudioWillChange):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:

(-[AudioObserver observeValueForKeyPath:ofObject:change:context:]):
(TEST):
(-[MediaDelegate _webView:isPlayingMediaDidChange:]): Deleted.

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

transformCanLikelyUseFastPath() can read off the end of a string
https://bugs.webkit.org/show_bug.cgi?id=176232
rdar://problem/33851237

Reviewed by Tim Horton.
Source/WebCore:

Code added in r220382 could read one byte past the end of the string when looking for the 'z'
of a rotateZ() function. The code was actually incorrect, testing for the 'z at i+6 after
already incrementing i by 6. This patch makes the code correctly detect rotateZ().

Also, rotate functions at the end of a string could be ignored because kShortestValidTransformStringLength
was too long, so set it to the length of "rotate(0)", the shortest transform function that we currently
fast-parse.

There's an implicit assumption in this code that chars is not indexed past i+kShortestValidTransformStringLength.
If the 'translate' path is taken, i is incremented by 9 (==kShortestValidTransformStringLength), but that's
OK because WTF::find() doesn't index into chars if i >= length.

Test: fast/css/transform-fast-paths.html

  • css/parser/CSSParserFastPaths.cpp:

(WebCore::transformCanLikelyUseFastPath):

LayoutTests:

  • fast/css/transform-fast-paths-expected.txt: Added.
  • fast/css/transform-fast-paths.html: Added.
11:48 AM Changeset in webkit [221487] by fpizlo@apple.com
  • 5 edits in trunk/Tools

WSL Rewriter should be an identity on things that aren't inside function bodies
https://bugs.webkit.org/show_bug.cgi?id=176208

Reviewed by Myles Maxfield.

Previously, if the Rewriter encountered a FunctionDef, StructType, NativeType, etc., then it
would either crash or try to rewrite them. That's unfortunate because we use the Rewriter to
rewrite struct and function bodies. If a function calls another function, then rewriting the
caller should not mean also rewriting the callee. Previously we "fixed" this by religiously
wrapping references to types with TypeDef and doing other such hacks. But that's subtly wrong.
It only worked because Rewriter wasn't rewriting TypeRef.type. I think that Rewriter has to
rewrite that in the long run because it may refer to another TypeRef, and it may be an
instantiation that is using types that themselves need to be rewritten.

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitProtocolDecl.set throw):

  • WebGPUShadingLanguageRI/NullType.js:

(NullType):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitFuncDef):
(Rewriter.prototype.visitNativeFunc):
(Rewriter.prototype.visitNativeFuncInstance):
(Rewriter.prototype.visitNativeType):
(Rewriter.prototype.visitTypeDef):
(Rewriter.prototype.visitStructType):
(Rewriter.prototype.visitTypeVariable):
(Rewriter.prototype.visitConstexprTypeParameter):
(Rewriter.prototype.visitNativeTypeInstance):
(Rewriter.prototype.visitTypeRef):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitNativeTypeInstance):

11:47 AM Changeset in webkit [221486] by achristensen@apple.com
  • 6 edits in trunk

Disable ObjC WebGL policy SPI on iOS
https://bugs.webkit.org/show_bug.cgi?id=176233

Reviewed by Tim Horton.
Source/WebKit:


In r221465 I uploaded new SPI that is only needed on Mac with a beautiful test that only works on Mac.
Since it fails on iOS and is not needed on iOS, let's just disable it on iOS.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebGLPolicy.mm:
11:37 AM Changeset in webkit [221485] by aestes@apple.com
  • 32 edits
    1 copy in trunk/Source

[CG] Upstream CoreGraphics-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176200

Reviewed by Tim Horton.

Source/WebCore:

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::subsamplingLevelForScaleFactor):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::clipOut):
(WebCore::applyShadowOffsetWorkaroundIfNeeded):

  • platform/graphics/cg/PatternCG.cpp:

(WebCore::Pattern::createPlatformPattern const):

  • platform/graphics/cocoa/GraphicsContextCocoa.mm:

(WebCore::GraphicsContext::focusRingColor):
(WebCore::drawFocusRingAtTime):
(WebCore::drawFocusRing):
(WebCore::drawFocusRingToContext):
(WebCore::drawFocusRingToContextAtTime):

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/PasteboardMac.mm:

(WebCore::flipImageSpec):
(WebCore::setDragImageImpl):
(WebCore::Pasteboard::setDragImage):

  • platform/mac/PlatformEventFactoryMac.mm:
  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::linenBackgroundColor):

  • platform/mac/ThemeMac.mm:

(WebCore::drawCellFocusRingWithFrameAtTime):
(WebCore::drawCellFocusRing):

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

(flipRect):
(mainWindowServerConnectionID):
(setScaledFrameForWindow):
(-[WebWindowScaleAnimation setCurrentProgress:]):
(-[WebWindowFadeAnimation setCurrentProgress:]):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cg/CoreGraphicsSPI.h:
  • pal/spi/mac/HIServicesSPI.h:
  • pal/spi/mac/NSGraphicsSPI.h: Copied from Source/WebCore/PAL/pal/spi/mac/HIServicesSPI.h.

Source/WebKit:

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializeProcess):

  • UIProcess/mac/WindowServerConnection.h:
  • UIProcess/mac/WindowServerConnection.mm:

(WebKit::registerOcclusionNotificationHandler):
(WebKit::WindowServerConnection::WindowServerConnection):
(WebKit::WindowServerConnection::applicationWindowModificationsStarted): Deleted.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKitLegacy/mac:

  • Carbon/HIWebView.mm:

(-[NSWindowGraphicsContext _web_setGraphicsPort:]):
(overrideCGContext):
(restoreCGContext):
(Draw):

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(+[WebHostedNetscapePluginView initialize]):

  • Plugins/WebBaseNetscapePluginView.h:
  • Plugins/WebBaseNetscapePluginView.mm:

(WebKit::sendUserChangeNotifications):

  • Plugins/WebNetscapePluginView.mm:

(+[WebNetscapePluginView initialize]):
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebView/WebFrame.mm:

(-[WebFrame _paintBehaviorForDestinationContext:]):

  • WebView/WebFullScreenController.mm:

(setClipRectForWindow):
(-[WebFullScreenController finishedEnterFullScreenAnimation:]):
(-[WebFullScreenController finishedExitFullScreenAnimation:]):
(-[WebFullScreenController _startEnterFullScreenAnimationWithDuration:]):
(-[WebFullScreenController _startExitFullScreenAnimationWithDuration:]):

11:33 AM Changeset in webkit [221484] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked webrtc/datachannel/bufferedAmountLowThreshold.html as flaky on Mac WK1.
https://bugs.webkit.org/show_bug.cgi?id=172334

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:16 AM Changeset in webkit [221483] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Reject promises in case of internal CacheStorage engine errors.
https://bugs.webkit.org/show_bug.cgi?id=176194

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

No new tests as this covers error cases that should not happen in regular cases.
Replacing lambdas that take no parameters to lambdas taking an optional error.
Reject promise if an error is found.

  • Modules/cache/Cache.cpp:

(WebCore::Cache::doMatch):
(WebCore::Cache::matchAll):
(WebCore::Cache::keys):
(WebCore::Cache::retrieveRecords):
(WebCore::Cache::queryCache):

  • Modules/cache/Cache.h:
  • Modules/cache/CacheStorage.cpp:

(WebCore::CacheStorage::match):
(WebCore::CacheStorage::has):
(WebCore::CacheStorage::retrieveCaches):
(WebCore::CacheStorage::open):
(WebCore::CacheStorage::remove):
(WebCore::CacheStorage::keys):

  • Modules/cache/CacheStorage.h:
10:53 AM Changeset in webkit [221482] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed WPE build fix after r221439.

  • html/canvas/WebGL2RenderingContext.cpp: Add the HeapInlines.h

header include in order to properly inline a Heap::vm() call.

10:37 AM Changeset in webkit [221481] by Chris Dumez
  • 18 edits
    6 adds in trunk

Implement FileSystemEntry.getParent()
https://bugs.webkit.org/show_bug.cgi?id=176165
<rdar://problem/34187743>

Reviewed by Andreas Kling.

Source/WebCore:

Implement FileSystemEntry.getParent():

Tests: editing/pasteboard/datatransfer-items-drop-getParent-root.html

editing/pasteboard/datatransfer-items-drop-getParent.html
editing/pasteboard/datatransfer-items-drop-getParent2.html

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::toFileSystemEntries):
Take a ScriptExecutionContext now that FileSystemEntry is an ActiveDOMObject.

(WebCore::isAbsoluteVirtualPath):
Add utility function to determine if a virtual path is absolute:

(WebCore::DOMFileSystem::root):
Take a ScriptExecutionContext now that FileSystemEntry is an ActiveDOMObject.

(WebCore::DOMFileSystem::fileAsEntry):
Take a ScriptExecutionContext now that FileSystemEntry is an ActiveDOMObject.

(WebCore::resolveRelativePath):
Add implementation for:

(WebCore::DOMFileSystem::listDirectory):
Take a ScriptExecutionContext now that FileSystemEntry is an ActiveDOMObject.

(WebCore::DOMFileSystem::getParent):
Add implementation of getParent() as per:

  • Modules/entriesapi/DOMFileSystem.h:

(WebCore::DOMFileSystem::createEntryForFile):

  • Modules/entriesapi/DOMFileSystem.idl:
  • Modules/entriesapi/FileSystemDirectoryEntry.cpp:

(WebCore::FileSystemDirectoryEntry::FileSystemDirectoryEntry):

  • Modules/entriesapi/FileSystemDirectoryEntry.h:
  • Modules/entriesapi/FileSystemDirectoryReader.cpp:

(WebCore::FileSystemDirectoryReader::readEntries):
Take a ScriptExecutionContext now that FileSystemEntry is an ActiveDOMObject.

  • Modules/entriesapi/FileSystemEntry.cpp:

(WebCore::FileSystemEntry::FileSystemEntry):
(WebCore::FileSystemEntry::activeDOMObjectName const):
(WebCore::FileSystemEntry::canSuspendForDocumentSuspension const):
(WebCore::FileSystemEntry::getParent):

  • Modules/entriesapi/FileSystemEntry.h:
  • Modules/entriesapi/FileSystemEntry.idl:
  • Add implementation of FileSystemEntry.getParent() which relies on DOMFileSystem::getParent()
  • Make FileSystemEntry an ActiveDOMObject as getParent() is an asynchronous operation which causes delayed JS execution.
  • Modules/entriesapi/FileSystemFileEntry.cpp:

(WebCore::FileSystemFileEntry::FileSystemFileEntry):

  • Modules/entriesapi/FileSystemFileEntry.h:
  • dom/DataTransferItem.cpp:

(WebCore::DataTransferItem::getAsEntry const):

  • dom/DataTransferItem.h:
  • dom/DataTransferItem.idl:

Take a ScriptExecutionContext now that FileSystemEntry is an ActiveDOMObject.

LayoutTests:

  • editing/pasteboard/datatransfer-items-drop-getParent-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-drop-getParent-root-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-drop-getParent-root.html: Added.
  • editing/pasteboard/datatransfer-items-drop-getParent.html: Added.
  • editing/pasteboard/datatransfer-items-drop-getParent2-expected.txt: Added.
  • editing/pasteboard/datatransfer-items-drop-getParent2.html: Added.

Add layout test coverage for FileSystemEntry.getParent().

  • http/wpt/entries-api/interfaces-expected.txt:

Rebaseline test now that one more check is passing.

  • platform/wk2/TestExpectations:

Skip new tests on WK2 since they rely on beginDragWithFiles.

10:17 AM Changeset in webkit [221480] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Ensure RenderStyle and SameSizeAsRenderStyle have the same size
https://bugs.webkit.org/show_bug.cgi?id=176210

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-09-01
Reviewed by Daniel Bates.

SameSizeAsRenderStyle::m_nonInheritedFlags requires a 64 bit alignment,
which currently produces an extra 32 bit padding with 32 bit build.

  • rendering/style/RenderStyle.cpp:

Make m_nonInheritedFlags 32 bit aligned and restore the size check.

9:05 AM Changeset in webkit [221479] by Yusuke Suzuki
  • 2 edits in trunk/Source/JavaScriptCore

[FTL] FTL allocation for async Function is incorrect
https://bugs.webkit.org/show_bug.cgi?id=176214

Reviewed by Saam Barati.

In FTL, allocating async function / async generator function was incorrectly using
JSFunction logic. While it is not observable right now since sizeof(JSFunction) == sizeof(JSAsyncFunction),
but it is a bug.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNewFunction):

8:08 AM Changeset in webkit [221478] by pvollan@apple.com
  • 26 edits
    2 moves in trunk/Source

[Win] Compile error, 'Cache' is not declared.
https://bugs.webkit.org/show_bug.cgi?id=176062

Reviewed by Youenn Fablet.

Rename DOMCache to DOMCacheEngine.

Source/WebCore:

No new tests, covered by existing tests.

  • Modules/cache/Cache.cpp:

(WebCore::Cache::addAll):
(WebCore::Cache::put):
(WebCore::queryCacheMatch):
(WebCore::Cache::batchDeleteOperation):
(WebCore::toConnectionRecord):
(WebCore::Cache::batchPutOperation):

  • Modules/cache/Cache.h:
  • Modules/cache/CacheStorage.cpp:

(WebCore::CacheStorage::open):
(WebCore::CacheStorage::remove):

  • Modules/cache/CacheStorageConnection.cpp:
  • Modules/cache/CacheStorageConnection.h:

(WebCore::CacheStorageConnection::clearMemoryRepresentation):
(WebCore::CacheStorageConnection::openCompleted):
(WebCore::CacheStorageConnection::removeCompleted):
(WebCore::CacheStorageConnection::doOpen):
(WebCore::CacheStorageConnection::doRemove):
(WebCore::CacheStorageConnection::doBatchDeleteOperation):
(WebCore::CacheStorageConnection::doBatchPutOperation):

  • Modules/cache/DOMCache.cpp: Removed.
  • Modules/cache/DOMCache.h: Removed.
  • Modules/cache/DOMCacheEngine.cpp: Copied from Source/WebCore/Modules/cache/DOMCache.cpp.

(WebCore::DOMCacheEngine::isolatedResponseBody):
(WebCore::DOMCacheEngine::copyResponseBody):
(WebCore::DOMCache::errorToException): Deleted.
(WebCore::DOMCache::queryCacheMatch): Deleted.
(WebCore::DOMCache::isolatedResponseBody): Deleted.
(WebCore::DOMCache::copyResponseBody): Deleted.
(WebCore::DOMCache::Record::copy const): Deleted.

  • Modules/cache/DOMCacheEngine.h: Copied from Source/WebCore/Modules/cache/DOMCache.h.
  • Modules/cache/WorkerCacheStorageConnection.cpp:
  • Modules/cache/WorkerCacheStorageConnection.h:
  • WebCore.xcodeproj/project.pbxproj:
  • testing/Internals.cpp:

(WebCore::Internals::clearCacheStorageMemoryRepresentation):

Source/WebKit:

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::queryCache):
(WebKit::CacheStorage::Engine::writeFile):

  • NetworkProcess/cache/CacheStorageEngine.h:
  • NetworkProcess/cache/CacheStorageEngineCache.h:
  • NetworkProcess/cache/CacheStorageEngineCaches.cpp:

(WebKit::CacheStorage::Caches::initialize):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:
  • NetworkProcess/cache/CacheStorageEngineConnection.cpp:
  • NetworkProcess/cache/CacheStorageEngineConnection.h:
  • NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<DOMCacheEngine::CacheInfo>::encode):
(IPC::ArgumentCoder<DOMCacheEngine::CacheInfo>::decode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::encode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):
(IPC::ArgumentCoder<DOMCache::CacheInfo>::encode): Deleted.
(IPC::ArgumentCoder<DOMCache::CacheInfo>::decode): Deleted.
(IPC::ArgumentCoder<DOMCache::Record>::encode): Deleted.
(IPC::ArgumentCoder<DOMCache::Record>::decode): Deleted.

  • Shared/WebCoreArgumentCoders.h:
  • WebProcess/Cache/WebCacheStorageConnection.cpp:
  • WebProcess/Cache/WebCacheStorageConnection.h:
  • WebProcess/Cache/WebCacheStorageConnection.messages.in:
5:44 AM Changeset in webkit [221477] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Mark audio-mpeg-supported.html as passing.
https://bugs.webkit.org/show_bug.cgi?id=131535

Unreviewed test gardening.

The last time it intermittently timed out was on r194436.
(It also timed out between r200951 and r201016, but that was consistent
and unrelated.)

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-01

  • platform/gtk/TestExpectations:
5:27 AM WebKitGTK/2.18.x edited by clopez@igalia.com
(diff)
5:19 AM WebKitGTK/2.18.x edited by clopez@igalia.com
(diff)
4:47 AM Changeset in webkit [221476] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Mark media-ended.html as passing.
https://bugs.webkit.org/show_bug.cgi?id=131534

Unreviewed test gardening.

The test needs to run through the entire audio file twice, so it will
take several seconds by design. GTK used to have a shorter timeout,
which was extended in r218270. The test hasn't timed out since.

Patch by Ms2ger <Ms2ger@igalia.com> on 2017-09-01

  • platform/gtk/TestExpectations:
Note: See TracTimeline for information about the timeline view.