Timeline



Oct 13, 2017:

9:45 PM Changeset in webkit [223316] by commit-queue@webkit.org
  • 28 edits in trunk/Source/WTF

Adopt type trait template aliases everywhere in WTF
https://bugs.webkit.org/show_bug.cgi?id=178299

Patch by Sam Weinig <sam@webkit.org> on 2017-10-13
Reviewed by Yusuke Suzuki.

Adopt type trait template aliases (e.g. replace 'typename std::make_unsigned<Source>::type'
with 'std::make_unsigned_t<Source>'). Also adopt using over typedef consistently.

  • wtf/Atomics.h:
  • wtf/CagedUniquePtr.h:
  • wtf/CheckedArithmetic.h:
  • wtf/CompletionHandler.h:
  • wtf/Function.h:
  • wtf/HashCountedSet.h:
  • wtf/HashFunctions.h:
  • wtf/HashMap.h:
  • wtf/HashSet.h:
  • wtf/HashTable.h:
  • wtf/HashTraits.h:
  • wtf/IndexedContainerIterator.h:
  • wtf/IteratorAdaptors.h:
  • wtf/KeyValuePair.h:
  • wtf/LEBDecoder.h:
  • wtf/ListHashSet.h:
  • wtf/MathExtras.h:
  • wtf/NeverDestroyed.h:
  • wtf/OptionSet.h:
  • wtf/RetainPtr.h:
  • wtf/SizeLimits.cpp:
  • wtf/StdLibExtras.h:
  • wtf/SystemFree.h:
  • wtf/ThreadSpecific.h:
  • wtf/TypeCasts.h:
  • wtf/Vector.h:
  • wtf/text/IntegerToStringConversion.h:
7:38 PM Changeset in webkit [223315] by jer.noble@apple.com
  • 7 edits
    1 add in trunk/Source

Performance: Skip texture upload if source image and destination texture haven't changed
https://bugs.webkit.org/show_bug.cgi?id=178254
<rdar://problem/34968181>

Reviewed by Dean Jackson.

Source/WebCore:

Update GraphicsContext3D to track which texture is bound to which texture unit, and also to
track when those bound textures have their backing stores modified. This new "seed" value
will be used to determine whether a given texture which has previously had image data
uploaded to it needs to be re-updated.

In VideoTextureCopierCV, track whether the texture's seed changed, whether the IOSurface is
the same, whether the IOSurface's seed has changed, and whether the "flipY" parameter
changed since the last time the copier was asked to upload to the texture.

  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::textureSeed):
(WebCore::GraphicsContext3D::GraphicsContext3DState::currentBoundTexture):
(WebCore::GraphicsContext3D::GraphicsContext3DState::boundTexture):
(WebCore::GraphicsContext3D::GraphicsContext3DState::setBoundTexture):

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):

  • platform/graphics/cv/VideoTextureCopierCV.h:

(WebCore::VideoTextureCopierCV::lastTextureSeed):

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):
(WebCore::GraphicsContext3D::bindTexture):
(WebCore::GraphicsContext3D::texStorage2D):
(WebCore::GraphicsContext3D::texStorage3D):
(WebCore::GraphicsContext3D::framebufferTexture2D):
(WebCore::GraphicsContext3D::texSubImage2D):
(WebCore::GraphicsContext3D::compressedTexImage2D):
(WebCore::GraphicsContext3D::compressedTexSubImage2D):
(WebCore::GraphicsContext3D::createTexture):
(WebCore::GraphicsContext3D::deleteTexture):
(WebCore::GraphicsContext3D::texImage2DDirect):

Source/WTF:

Add a new class, UnsafePointer, for safely holding pointers to objects with uncontrolled lifetimes.

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

(WTF::UnsafePointer::UnsafePointer):
(WTF::UnsafePointer::operator== const):
(WTF::UnsafePointer::operator!= const):
(WTF::UnsafePointer::operator bool const):
(WTF::operator==):
(WTF::operator!=):

5:50 PM Changeset in webkit [223314] by pvollan@apple.com
  • 10 edits in trunk/Source

[Win] When built with VS2017, MiniBrowser crashes on startup.
https://bugs.webkit.org/show_bug.cgi?id=175209

Reviewed by Daniel Bates.

Source/WebCore:

Generated StaticStringImpl objects are not initialized compile-time with VS2017.
When compiling with VS2017, the global, static, StaticStringImpl objects needs to
be defined with the constexpr specifier, in order for the objects to be initialized
at compile time. Since the StaticStringImpl objects will be const then, we need to
be able to create an AtomicString object from a const StaticStringImpl object.
This constructor has been added to the AtomicString class.

No new tests, covered by existing tests.

  • bindings/scripts/StaticString.pm:

(GenerateStrings):
(GenerateStringAsserts):

  • dom/QualifiedName.cpp:

(WebCore::createQualifiedName):

  • dom/QualifiedName.h:
  • dom/make_names.pl:

(printDefinitions):

Source/WTF:

Add AtomicString(const StaticStringImpl*) constructor. This is needed since
this patch adds constexpr to the static, global StaticStringImpl objects
generated in WebCore/bindings/scripts/StaticString.pm.

  • wtf/text/AtomicString.h:

(WTF::AtomicString::AtomicString):

  • wtf/text/AtomicStringImpl.cpp:

(WTF::addStatic):
(WTF::AtomicStringImpl::add):

  • wtf/text/AtomicStringImpl.h:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::assertHashIsCorrect const):
(WTF::StringImpl::assertHashIsCorrect): Deleted.

5:44 PM Changeset in webkit [223313] by Brent Fulgham
  • 3 edits
    2 adds in trunk

Protect FrameView during style calculations
https://bugs.webkit.org/show_bug.cgi?id=178300
<rdar://problem/34869329>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Protect the FrameView during layout and style updates in case arbitrary script
is run that might clear it.

Test: fast/html/marquee-reparent-check.html

  • page/FrameView.cpp:

(WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):

LayoutTests:

  • fast/html/marquee-reparent-check-expected.txt: Added.
  • fast/html/marquee-reparent-check.html: Added.
5:42 PM Changeset in webkit [223312] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark http/tests/cache-storage/cache-clearing-origin.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=178305

Unreviewed test gardening.

  • platform/mac/TestExpectations:
5:25 PM Changeset in webkit [223311] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

http/tests/cache-storage/cache-clearing-origin.https.html is flaky on Sierra
https://bugs.webkit.org/show_bug.cgi?id=178303

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-13

5:05 PM Changeset in webkit [223310] by webkit@devinrousso.com
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: make split console full width of view
https://bugs.webkit.org/show_bug.cgi?id=176635

Reviewed by Timothy Hatcher.

  • UserInterface/Main.html:
  • UserInterface/Views/Main.css:

(#main):
(#content):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
(.sidebar > .panel.details.css-style > .content ~ .options-container):

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

Crash under ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData
https://bugs.webkit.org/show_bug.cgi?id=178279

Reviewed by Alex Christensen.

Check if the connection is valid before calling ResourceHandleClient::didSendData.

No new tests, covered by existing tests.

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):

4:52 PM Changeset in webkit [223308] by webkit@devinrousso.com
  • 64 edits in trunk/Source/WebInspectorUI

Web Inspector: fix ESLint errors
https://bugs.webkit.org/show_bug.cgi?id=175065

Reviewed by Joseph Pecoraro.

Removed trailing whitespace, extra parenthesis, and some unnecessary escape characters.
Added missing semicolons, spacing around default values for parameters, and changed == to
=== where applicable.

Specific changes to each file were removed for brevity.

  • .eslintrc:

Alphabetize each list of global variables and add some missing utility functions.

  • UserInterface/Base/EventListener.js:
  • UserInterface/Base/EventListenerSet.js:
  • UserInterface/Base/Main.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Base/TextUtilities.js:
  • UserInterface/Base/URLUtilities.js:
  • UserInterface/Base/Utilities.js:
  • UserInterface/Base/YieldableTask.js:
  • UserInterface/Controllers/AppControllerBase.js:
  • UserInterface/Controllers/CanvasManager.js:
  • UserInterface/Controllers/CodeMirrorCompletionController.js:
  • UserInterface/Controllers/DOMDebuggerManager.js:
  • UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
  • UserInterface/Controllers/RuntimeManager.js:
  • UserInterface/Controllers/SourceMapManager.js:
  • UserInterface/Debug/DebugContentView.js:
  • UserInterface/Debug/UncaughtExceptionReporter.js:
  • UserInterface/Models/CSSKeywordCompletions.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Models/DOMNodeStyles.js:
  • UserInterface/Models/KeyboardShortcut.js:
  • UserInterface/Models/ProfileNode.js:
  • UserInterface/Models/Resource.js:
  • UserInterface/Models/ResourceCollection.js:
  • UserInterface/Models/Script.js:
  • UserInterface/Models/ScriptSyntaxTree.js:
  • UserInterface/Models/ScriptTimelineRecord.js:
  • UserInterface/Protocol/Connection.js:
  • UserInterface/Test/FrontendTestHarness.js:
  • UserInterface/Test/TestHarness.js:
  • UserInterface/Views/CSSStyleDeclarationSection.js:
  • UserInterface/Views/ChartDetailsSectionRow.js:
  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/CodeMirrorFormatters.js:
  • UserInterface/Views/CodeMirrorRegexMode.js:
  • UserInterface/Views/ContentBrowserTabContentView.js:
  • UserInterface/Views/DataGrid.js:
  • UserInterface/Views/DataGridNode.js:
  • UserInterface/Views/FindBanner.js:
  • UserInterface/Views/GroupNavigationItem.js:
  • UserInterface/Views/HierarchicalPathNavigationItem.js:
  • UserInterface/Views/NetworkTableContentView.js:
  • UserInterface/Views/NetworkTimelineView.js:
  • UserInterface/Views/ObjectTreePropertyTreeElement.js:
  • UserInterface/Views/ObjectTreeView.js:
  • UserInterface/Views/RecordingContentView.js:
  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
  • UserInterface/Views/ResourceCookiesContentView.js:
  • UserInterface/Views/ResourceDetailsSection.js:
  • UserInterface/Views/ResourceHeadersContentView.js:
  • UserInterface/Views/ResourceTimelineDataGridNode.js:
  • UserInterface/Views/SettingEditor.js:
  • UserInterface/Views/Sidebar.js:
  • UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
  • UserInterface/Views/Table.js:
  • UserInterface/Views/TextEditor.js:
  • UserInterface/Views/TimelineDataGridNode.js:
  • UserInterface/Views/TreeElement.js:
  • UserInterface/Views/TreeOutline.js:
  • UserInterface/Views/WebSocketDataGridNode.js:
  • UserInterface/Workers/Formatter/EsprimaFormatter.js:
  • UserInterface/Workers/Formatter/FormatterWorker.js:
4:28 PM Changeset in webkit [223307] by Brent Fulgham
  • 6 edits
    5 adds in trunk

CMD+R / CMD+Q keyboard shortcuts are treated as user interaction with page
https://bugs.webkit.org/show_bug.cgi?id=178183
<rdar://problem/33327730>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Key events are granted user interaction credit (in terms of updating the last time of user
interaction), even if the key event was not handled. Instead, we should defer granting
access until the key event has been handled.

Add a new default constructor argument to UserGestureIndicator to be used when handling key
events, so we can delay a decision about whether to grant ResourceLoadStatistics
'hasHadUserInteraction' until we confirm that the event was handled by the page.

This change does not affect other aspects of user interaction.

Tests: fast/events

http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html
http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html

  • dom/UserGestureIndicator.cpp:

(WebCore::UserGestureIndicator::UserGestureIndicator): Add check based on constructor argument.
Also: Drive by fix to avoid calling 'currentToken' when not on the main thread.

  • dom/UserGestureIndicator.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::keyEvent): If the key event was handled, grant user interaction credit
for ResourceLoadStatistics processing.
(WebCore::EventHandler::internalKeyEvent): Use the new UserGestureIndicator constructor argument.

LayoutTests:

  • http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown-expected.txt: Added.
  • http/tests/resourceLoadStatistics/prevalent-resource-handled-keydown.html: Added.
  • http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown-expected.txt: Added.
  • http/tests/resourceLoadStatistics/prevalent-resource-unhandled-keydown.html: Added.
  • http/tests/resourceLoadStatistics/resources: Added.
  • http/tests/resourceLoadStatistics/resources/onclick.html: Added.
  • platform/ios/TestExpectations: Skip tests that require 'keyDown' support, since this is not available on iOS.
4:05 PM DOM Security Mitigation.key attached to October 2017 Meeting by rniwa@webkit.org
DOM Security Mitigation Slides
4:04 PM clipboard-talk.key attached to October 2017 Meeting by rniwa@webkit.org
Clipboard Talk Slides
3:36 PM Changeset in webkit [223306] by Chris Dumez
  • 4 edits in trunk

DOMTokenList shouldn't add empty attributes
https://bugs.webkit.org/show_bug.cgi?id=178280

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline web-platform-test now that all checks are passing.

  • web-platform-tests/dom/nodes/Element-classlist-expected.txt:

Source/WebCore:

DOMTokenList shouldn't add empty attributes after:

Firefox and Chrome follow the latest spec.

No new tests, updating existing test.

  • html/DOMTokenList.cpp:

(WebCore::DOMTokenList::updateAssociatedAttributeFromTokens):
Implement the first step of https://dom.spec.whatwg.org/#concept-dtl-update

3:33 PM October 2017 Meeting edited by Jon Davis
(diff)
3:26 PM Changeset in webkit [223305] by jmarcell@apple.com
  • 5 edits in branches/safari-604-branch/Source/WebCore

Apply patch. rdar://problem/34891297

Cherry-pick of r222803 <rdar://problem/34745579>

2017-10-03 Jer Noble <jer.noble@apple.com>

Implement quality-of-service tiers in WebCoreDecompressionSession
https://bugs.webkit.org/show_bug.cgi?id=177769

Reviewed by Dean Jackson.

VTDecompressionSession will suggest quality-of-service tiers to be used when decompression
can't keep up with playback speed. Use a simple exponential-moving-average heuristic to
determine when to move up and down the tiers.

Drive-by fix: When frames are so late that they miss the display deadline, mark them as
dropped rather than just delayed.

  • platform/graphics/cocoa/WebCoreDecompressionSession.h:
  • platform/graphics/cocoa/WebCoreDecompressionSession.mm: (WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample): (WebCore::WebCoreDecompressionSession::decodeSample): (WebCore::WebCoreDecompressionSession::handleDecompressionOutput): (WebCore::WebCoreDecompressionSession::automaticDequeue): (WebCore::WebCoreDecompressionSession::enqueueDecodedSample): (WebCore::WebCoreDecompressionSession::resetQosTier): (WebCore::WebCoreDecompressionSession::increaseQosTier): (WebCore::WebCoreDecompressionSession::decreaseQosTier): (WebCore::WebCoreDecompressionSession::updateQosWithDecodeTimeStatistics):
  • platform/cocoa/VideoToolboxSoftLink.cpp:
  • platform/cocoa/VideoToolboxSoftLink.h:
3:26 PM Changeset in webkit [223304] by jmarcell@apple.com
  • 6 edits in branches/safari-604-branch/Source/WebCore

Apply patch. rdar://problem/34891297

Partial cherry-pick of r222225 <rdar://problem/34745579>, only the changes to WebCoreDecompressionSession.

2017-09-19 Jer Noble <jer.noble@apple.com>

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

Reviewed by Eric Carlson.

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

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureDecompressionSession):
  • platform/graphics/cocoa/WebCoreDecompressionSession.h: (WebCore::WebCoreDecompressionSession::createOpenGL): (WebCore::WebCoreDecompressionSession::createRGB):
  • platform/graphics/cocoa/WebCoreDecompressionSession.mm: (WebCore::WebCoreDecompressionSession::WebCoreDecompressionSession): (WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample): (WebCore::WebCoreDecompressionSession::decodeSample): (WebCore::WebCoreDecompressionSession::decodeSampleSync):
3:07 PM Changeset in webkit [223303] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

3:06 PM Changeset in webkit [223302] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.3

Tag Safari-604.4.3.

3:03 PM Changeset in webkit [223301] by Adrian Perez de Castro
  • 2 edits in trunk/Tools

[WPE] Fontconfig fails build in JHBuild with “error: conflicting types for ‘FcObjectTypeHash’”
https://bugs.webkit.org/show_bug.cgi?id=178283

Reviewed by Žan Doberšek.

  • wpe/jhbuild.modules: Flag Fontconfig to be built inside the source directory, otherwise

compilation fails. While at it, pass "--disable-docs" to cut a bit on build time.

2:58 PM Changeset in webkit [223300] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked http/tests/inspector/network/resource-sizes-memory-cache.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177687

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:04 PM October 2017 Meeting edited by Jon Davis
(diff)
2:04 PM NextGenerationLayoutAndRendering created by Jon Davis
1:45 PM October 2017 Meeting edited by Jon Davis
(diff)
1:31 PM Changeset in webkit [223299] by commit-queue@webkit.org
  • 16 edits in trunk

Implement listing origins for which CacheStorage is storing data
https://bugs.webkit.org/show_bug.cgi?id=178236

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

Source/WebKit:

Cache storage is split on per-origin folders which name is obfuscated through salting.
To retrieve the origin for each folder, an origin file is now stored within each folder.
This file contains the actual origin.

Adding support to get the list of origin by iterating through each folder and
getting the actual origin by reading the content of the 'origin' file.

Adding C API for WebKitTestRunner.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::fetchEntries):
(WebKit::CacheStorage::ReadOriginsTaskCounter::create):
(WebKit::CacheStorage::ReadOriginsTaskCounter::~ReadOriginsTaskCounter):
(WebKit::CacheStorage::ReadOriginsTaskCounter::addOrigin):
(WebKit::CacheStorage::ReadOriginsTaskCounter::ReadOriginsTaskCounter):

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

(WebKit::CacheStorage::cachesOriginFilename):
(WebKit::CacheStorage::Caches::retrieveOriginFromDirectory):
(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::storeOrigin):
(WebKit::CacheStorage::Caches::readOrigin):
(WebKit::CacheStorage::Caches::initialize):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:

(WebKit::CacheStorage::Caches::origin const):

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreGetFetchCacheOrigins):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:

Tools:

Adding hasDOMCache API for checking whether origin is storing data through Cache API.

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

(WTR::TestRunner::hasDOMCache):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::FetchCacheOriginsCallbackContext::FetchCacheOriginsCallbackContext):
(WTR::fetchCacheOriginsCallback):
(WTR::TestController::hasDOMCache):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

  • http/tests/cache-storage/cache-clearing-origin.https.html:
1:24 PM Changeset in webkit [223298] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix; wrap more functions in USE(IOSURFACE) so that
they do not generate "unused function" errors.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:
1:14 PM October 2017 Meeting edited by Jon Davis
(diff)
1:13 PM WebKitGoalsFor2018 created by Jon Davis
1:12 PM October 2017 Meeting edited by Jon Davis
(diff)
1:08 PM October 2017 Meeting edited by Jon Davis
(diff)
1:06 PM OptimizingzlibforARM created by Jon Davis
12:55 PM Changeset in webkit [223297] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

One last unreviewed build fix; since the IOSurface APIs don't exist at
all on the simulator, just wrap the entirety of the implementation of
copyImageToPlatformTexture() in a #if USE(IOSURFACE) check.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):

12:08 PM WebKitGTK/2.18.x edited by Adrian Perez de Castro
(diff)
12:04 PM Changeset in webkit [223296] by Adrian Perez de Castro
  • 3 edits
    2 adds in trunk/Source/WebCore/PAL

[WPE][GTK] Provide an implementation of PAL::logLevelString()
https://bugs.webkit.org/show_bug.cgi?id=178263

Reviewed by Carlos Alberto Lopez Perez.

Provide an implementation of PAL::logLevelString() which picks the value from the
WEBCORE_DEBUG environment variable. Logging of notImplemented() calls is always enabled,
which is the same behavior as in WebCore::logLevelString().

  • pal/PlatformGTK.cmake: Add LoggingUnix.cpp to the list of sources.
  • pal/PlatformWPE.cmake: Add LoggingUnix.cpp to the list of sources.
  • pal/unix/LoggingUnix.cpp: Added.

(PAL::logLevelString):

11:55 AM Changeset in webkit [223295] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for the previous build fix; use the right PAL path for IOSurfaceSPI.h.

  • platform/graphics/cv/VideoTextureCopierCV.cpp:
11:48 AM Changeset in webkit [223294] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed build fix; add definitions for IOSurface methods missing on some platforms.

Source/WebCore:

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

Source/WebCore/PAL:

  • pal/spi/cocoa/IOSurfaceSPI.h:
11:47 AM October 2017 Meeting edited by Simon Fraser
(diff)
11:45 AM October 2017 Meeting edited by Simon Fraser
(diff)
11:45 AM October 2017 Meeting edited by Simon Fraser
(diff)
11:43 AM Changeset in webkit [223293] by jmarcell@apple.com
  • 2 edits
    2 adds in tags/Safari-605.1.10.1/Source/WebCore/PAL

Cherry-pick r223241. rdar://problem/34974253

11:42 AM Changeset in webkit [223292] by jmarcell@apple.com
  • 7 edits in tags/Safari-605.1.10.1/Source

Versioning.

11:23 AM Changeset in webkit [223291] by achristensen@apple.com
  • 7 edits
    1 delete in trunk

Remove Editor::simplifyMarkup
https://bugs.webkit.org/show_bug.cgi?id=178271

Reviewed by Wenson Hsieh.

Source/WebCore:

An API test became flaky, and it turns out this isn't used anywhere, so let's remove it!
It was used in Mountain Lion, Mavericks, and Yosemite, but not since then.
See <rdar://problem/10726177>

  • editing/Editor.cpp:

(WebCore::Editor::simplifyMarkup): Deleted.

  • editing/Editor.h:

Source/WebKitLegacy/mac:

  • WebView/WebView.mm:

(-[WebView _simplifyMarkup:endNode:]):

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/SimplifyMarkup.mm: Removed.
11:17 AM Changeset in webkit [223290] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.10.1

New tag.

11:16 AM Changeset in webkit [223289] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix; forward declare the type of IOSurfaceRef.

  • platform/cocoa/CoreVideoSoftLink.cpp:
  • platform/cocoa/CoreVideoSoftLink.h:
11:03 AM Changeset in webkit [223288] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

http/tests/cache-storage/cache-origins.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=178266

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-13

  • http/tests/cache-storage/cache-clearing-origin.https.html:
10:41 AM Changeset in webkit [223287] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix; add soft link macros for newly called CoreVideo methods.

  • platform/cocoa/CoreVideoSoftLink.cpp:
  • platform/cocoa/CoreVideoSoftLink.h:
10:30 AM Changeset in webkit [223286] by achristensen@apple.com
  • 3 edits in trunk/Source/WebKit

Fix API tests after r223269.
https://bugs.webkit.org/show_bug.cgi?id=178246

  • UIProcess/API/APIContentRuleListStore.cpp:

(API::ContentRuleListStore::getContentRuleListSource):
Version 10 also has the ability to recover content rule list source.

10:30 AM Changeset in webkit [223285] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix; add UNUSED_PARAM macros.

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::texImageIOSurface2D):

10:19 AM Changeset in webkit [223284] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Modernize LayoutTests/http/tests/cache-storage/cache-clearing-*.https.html
https://bugs.webkit.org/show_bug.cgi?id=178245

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

Using await/async to improve the testing.
Taking benefit of clearDOMCache to wait for completion to simplify both tests as well.

  • http/tests/cache-storage/cache-clearing-all.https.html:
  • http/tests/cache-storage/cache-clearing-origin.https.html:
10:14 AM Changeset in webkit [223283] by Nikita Vasilyev
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Styles Redesign: hook up autocompletion to property names and values
https://bugs.webkit.org/show_bug.cgi?id=177313
<rdar://problem/34577057>

Reviewed by Joseph Pecoraro.

  • Arrow Right accept the current completion item and places the text caret after it.
  • Arrow Left hides the completion popover.
  • Arrow Up selects the previous completion item.
  • Arrow Down selects the next completion item.
  • Enter and Tab accept the current completion item and navigate to the next focusable item.
  • Escape hides the completion popover, if there is one.
  • UserInterface/Views/CompletionSuggestionsView.js:

(WI.CompletionSuggestionsView):
(WI.CompletionSuggestionsView.prototype._mouseDown):
Add a preventBlur option so clicking on an completion item doesn't change the focus and
doesn't cause "blur" event on the target text field.

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:

(.spreadsheet-style-declaration-editor .completion-hint):

  • UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:

(WI.SpreadsheetCSSStyleDeclarationEditor):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.detached):
Call detached on every SpreadsheetTextField to hide CompletionSuggestionsView once
SpreadsheetCSSStyleDeclarationEditor is removed from the DOM.

(WI.SpreadsheetCSSStyleDeclarationEditor.prototype._addBlankProperty):
Remove index argument since it is no longer used.

  • UserInterface/Views/SpreadsheetStyleProperty.js:

(WI.SpreadsheetStyleProperty):
(WI.SpreadsheetStyleProperty.prototype.detached):
(WI.SpreadsheetStyleProperty.prototype._remove):
(WI.SpreadsheetStyleProperty.prototype._update):
(WI.SpreadsheetStyleProperty.prototype._nameCompletionDataProvider):
(WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
Add an extra parameter to SpreadsheetTextField to pass a completion data provider.

  • UserInterface/Views/SpreadsheetTextField.js:

(WI.SpreadsheetTextField):
(WI.SpreadsheetTextField.prototype.get suggestionHint):
(WI.SpreadsheetTextField.prototype.set suggestionHint):
(WI.SpreadsheetTextField.prototype.startEditing):
(WI.SpreadsheetTextField.prototype.stopEditing):
(WI.SpreadsheetTextField.prototype.detached):
(WI.SpreadsheetTextField.prototype.completionSuggestionsSelectedCompletion):
(WI.SpreadsheetTextField.prototype.completionSuggestionsClickedCompletion):
(WI.SpreadsheetTextField.prototype._getPrefix):
(WI.SpreadsheetTextField.prototype._handleBlur):
(WI.SpreadsheetTextField.prototype._handleKeyDown):
(WI.SpreadsheetTextField.prototype._handleKeyDownForSuggestionView):
(WI.SpreadsheetTextField.prototype._handleInput):
(WI.SpreadsheetTextField.prototype._updateCompletions):
(WI.SpreadsheetTextField.prototype._getCaretRect):
(WI.SpreadsheetTextField.prototype._getCompletionPrefix):
(WI.SpreadsheetTextField.prototype._applyCompletionHint):
(WI.SpreadsheetTextField.prototype._hideCompletions):
Provide text completion based on the existing CompletionSuggestionsView when completionProvider is passed to SpreadsheetTextField.

10:07 AM Changeset in webkit [223282] by gns@gnome.org
  • 8 edits in trunk

[GLib] WebKitNavigationAction should tell whether it is a redirect
https://bugs.webkit.org/show_bug.cgi?id=178178

Source/WebKit:

There is no good way to know whether a given navigation action has been caused
by a redirect through the glib API. This is necessary to implement some app mode
heuristics for Epiphany.

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/glib/WebKitNavigationAction.cpp:

(webkit_navigation_action_is_redirect): returns whether the navigation action is a redirect.

  • UIProcess/API/glib/WebKitNavigationActionPrivate.h: add isRedirect to the wrapper object.

(_WebKitNavigationAction::_WebKitNavigationAction):

  • UIProcess/API/gtk/WebKitNavigationAction.h: add the new API.
  • UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: ditto.
  • UIProcess/API/wpe/WebKitNavigationAction.h: ditto.

Tools:

Test that WebKitNavigationAction properly reports being a redirect.

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp:

(testNavigationPolicy): test that loading /redirect leads to a redirect WebKitNavigationAction.
(serverCallback): add a /redirect path to the server, which causes a redirect.

10:05 AM Changeset in webkit [223281] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed, fix webkitpy failure after r223273

  • Scripts/webkitpy/w3c/test_importer_unittest.py:

(TestImporterTest.test_harnesslinks_conversion):

9:32 AM Changeset in webkit [223280] by jer.noble@apple.com
  • 11 edits in trunk/Source/WebCore

Performance: do pixel conformance and texturing in a single step.
https://bugs.webkit.org/show_bug.cgi?id=178219
<rdar://problem/34937237>

Reviewed by Dean Jackson.

No new tests; performance improvements should have no behavior change.

Rather than asking the VTDecompressionSession to conform the output CVPixelBuffer into a
pixel format compatible with OpenGL (& ES), don't constrain the output at all, and only do a
conformance step if the output is not already compatible with OpenGL. This eliminates one
copy (in hardware) operation.

Move the TextureCacheCV object into VideoTextureCopierCV; it will be conditionally used to
create the texture if the pixel buffer is compatible.

Refactor copyVideoTextureToPlatformTexture(CVOpenGLTextureRef) in VideoTextureCopierCV. The
new entry point, copyImageToPlatformTexture(), will attempt to use the texture cache first,
and call a new common copyVideoTextureToPlatformTexture(Platform3DObject) with the result.

The new copyImageToPlatformTexture() will pull planar YUV frames into two textures, and combine
the two with a color transfer function when drawing to the output texture.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::texImageIOSurface2D):

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::ensureDecompressionSessionForSample):

  • platform/graphics/cv/TextureCacheCV.h:
  • platform/graphics/cv/TextureCacheCV.mm:

(WebCore::TextureCacheCV::textureFromImage):

  • platform/graphics/cv/VideoTextureCopierCV.cpp:

(WebCore::pixelRangeFromPixelFormat):
(WebCore::transferFunctionFromString):
(WebCore::YCbCrToRGBMatrixForRangeAndTransferFunction):
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV):
(WebCore::VideoTextureCopierCV::initializeUVContextObjects):
(WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture):

  • platform/graphics/cv/VideoTextureCopierCV.h:
9:03 AM October 2017 Meeting edited by yoav@yoav.ws
(diff)
9:02 AM October 2017 Meeting edited by yoav@yoav.ws
(diff)
9:02 AM October 2017 Meeting edited by yoav@yoav.ws
(diff)
8:32 AM October 2017 Meeting edited by Jon Davis
(diff)
8:20 AM October 2017 Meeting edited by Jon Davis
(diff)
7:46 AM October 2017 Meeting edited by Jon Davis
(diff)
7:45 AM October 2017 Meeting edited by Jon Davis
(diff)
7:36 AM October 2017 Meeting edited by Jon Davis
(diff)
7:35 AM October 2017 Meeting edited by Jon Davis
(diff)
6:38 AM October 2017 Meeting edited by cavalcantii@gmail.com
(diff)
2:22 AM Changeset in webkit [223279] by romain.bellessort@crf.canon.fr
  • 7 edits in trunk

[Readable Streams API] Align queue with spec for ReadableStreamDefaultController
https://bugs.webkit.org/show_bug.cgi?id=178082

Reviewed by Xabier Rodriguez-Calvar.

LayoutTests/imported/w3c:

Updated test expectations for tests that were previously failing but now pass.

  • web-platform-tests/streams/readable-streams/floating-point-total-queue-size-expected.txt:
  • web-platform-tests/streams/readable-streams/floating-point-total-queue-size.dedicatedworker-expected.txt:

Source/WebCore:

Implemented new queue behavior for dequeueValue (used by ReadableStreamDefaultController),
which fixes rounding errors (as described in https://github.com/whatwg/streams/pull/661).
Also aligned ReadableByteStreamController queue so that both queues are implemented in
the same way.

No new tests (covered by existing tests, especially WPT tests that now pass).

  • Modules/streams/ReadableByteStreamInternals.js:

(privateInitializeReadableByteStreamController): Aligned queue with RSDC.
(readableByteStreamControllerCancel): Aligned queue with RSDC.
(readableByteStreamControllerError): Aligned queue with RSDC.
(readableByteStreamControllerClose): Aligned queue with RSDC.
(readableByteStreamControllerHandleQueueDrain): Aligned queue with RSDC.
(readableByteStreamControllerPull): Aligned queue with RSDC.
(readableByteStreamControllerEnqueue): Aligned queue with RSDC.
(readableByteStreamControllerEnqueueChunk): Aligned queue with RSDC.
(readableByteStreamControllerProcessPullDescriptors): Aligned queue with RSDC.
(readableByteStreamControllerFillDescriptorFromQueue): Aligned queue with RSDC.
(readableByteStreamControllerPullInto): Aligned queue with RSDC.

  • Modules/streams/StreamInternals.js:

(dequeueValue): Updated to match spec.

  • bindings/js/WebCoreBuiltinNames.h: Removed now useless "totalQueuedBytes".
12:14 AM Changeset in webkit [223278] by Wenson Hsieh
  • 5 edits
    7 moves in trunk

"text/html" data is not exposed when dragging and dropping across origins
https://bugs.webkit.org/show_bug.cgi?id=178253
<rdar://problem/34971203>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Minor tweak to DataTransfer::setDataFromItemList to allow "text/html" written from bindings to transfer across
origins without requiring a sanitized representation. Currently, sanitizedData is null, which limits "text/html"
to being treated as custom data, inaccessible across origins. We should instead treat markup supplied via
bindings the same way as we do "text/plain" supplied via bindings.

Modified Tests: editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin.html

editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin.html

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::setDataFromItemList):

LayoutTests:

Renames some existing layout tests, and also augments two tests to verify that "text/html" is preserved when
copying and dragging across origins that don't match.

  • TestExpectations:
  • editing/pasteboard/data-transfer-set-data-ignore-copied-malformed-url-in-null-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-expected.txt.
  • editing/pasteboard/data-transfer-set-data-ignore-copied-malformed-url-in-null-origin-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin-expected.txt.
  • editing/pasteboard/data-transfer-set-data-ignore-copied-malformed-url-in-null-origin.html: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin.html.
  • editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin-expected.txt.
  • editing/pasteboard/data-transfer-set-data-sanitize-url-when-copying-in-null-origin.html: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin.html.
  • editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin-expected.txt: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin-expected.txt.
  • editing/pasteboard/data-transfer-set-data-sanitize-url-when-dragging-in-null-origin.html: Renamed from LayoutTests/editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin.html.
  • platform/mac-wk1/TestExpectations:

Oct 12, 2017:

11:44 PM Changeset in webkit [223277] by beidson@apple.com
  • 15 edits
    4 copies
    2 adds in trunk

SW "Hello world".
https://bugs.webkit.org/show_bug.cgi?id=178187

Reviewed by Andy Estes.

Source/WebCore:

No new tests (Covered by changes to existing tests).

With this patch, SW scripts are actually compiled and run inside a ServiceWorkerGlobalScope environment
in the SW context process.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::initScript):

  • dom/EventTargetFactory.in:
  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::isServiceWorkerGlobalScope const):

  • workers/service/ServiceWorkerContextData.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp.

(WebCore::ServiceWorkerContextData::isolatedCopy const):

  • workers/service/ServiceWorkerContextData.h:

(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):

  • workers/service/ServiceWorkerGlobalScope.cpp:

(WebCore::ServiceWorkerGlobalScope::ServiceWorkerGlobalScope):
(WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope):
(WebCore::ServiceWorkerGlobalScope::registration):
(WebCore::ServiceWorkerGlobalScope::eventTargetInterface const):

  • workers/service/ServiceWorkerGlobalScope.h:

(WebCore::ServiceWorkerGlobalScope::create):
(WebCore::ServiceWorkerGlobalScope::serverConnectionIdentifier const):

  • workers/service/context/SWContextManager.cpp: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp.

(WebCore::SWContextManager::singleton):
(WebCore::SWContextManager::SWContextManager):
(WebCore::SWContextManager::startServiceWorkerContext):

  • workers/service/context/SWContextManager.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.h.
  • workers/service/context/ServiceWorkerThread.cpp: Added.

(WebCore::ServiceWorkerThreadProxy::sharedDummyProxy):
(WebCore::ServiceWorkerThread::ServiceWorkerThread):
(WebCore::m_workerObjectProxy):
(WebCore::ServiceWorkerThread::~ServiceWorkerThread):
(WebCore::ServiceWorkerThread::createWorkerGlobalScope):
(WebCore::ServiceWorkerThread::runEventLoop):

  • workers/service/context/ServiceWorkerThread.h: Copied from Source/WebCore/workers/service/ServiceWorkerGlobalScope.h.

(WebCore::ServiceWorkerThread::create):
(WebCore::ServiceWorkerThread::workerObjectProxy const):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::createWorker):

Source/WebKit:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::startServiceWorkerContext):

LayoutTests:

  • http/tests/workers/service/basic-register-exceptions-expected.txt:
  • http/tests/workers/service/basic-register-expected.txt:
  • http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt:
10:35 PM Changeset in webkit [223276] by jmarcell@apple.com
  • 4 edits
    4 adds in branches/safari-604-branch

Cherry-pick r223144. rdar://problem/34958765

10:35 PM Changeset in webkit [223275] by jmarcell@apple.com
  • 9 edits
    8 deletes in branches/safari-604-branch

Cherry-pick r222627. rdar://problem/34938437

7:13 PM Changeset in webkit [223274] by Yusuke Suzuki
  • 9 edits in trunk

WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData
https://bugs.webkit.org/show_bug.cgi?id=178210

Reviewed by Saam Barati.

JSTests:

  • wasm/function-tests/trap-from-start-async.js:

(async.StartTrapsAsync):

  • wasm/function-tests/trap-from-start.js:

(StartTraps):

  • wasm/js-api/web-assembly-function.js:

(assert.eq.Object.getPrototypeOf):

  • wasm/js-api/wrapper-function.js:

(return.new.WebAssembly.Module):
(assert.throws.makeInstance): Deleted.
(assert.throws.Bar): Deleted.
(assert.throws): Deleted.

Source/JavaScriptCore:

In Wasm, we have two JS functions exposed to users: WebAssemblyFunction and WebAssemblyWrapperFunction.
The former is an exported wasm function and the latter is an imported & exported function. Since they
have Call?, they should be categorized into "function" in typeof operation.

However, these functions do not implement our function protocol correctly. They inherit JSFunction.
But JSType of WebAssemblyFunction is WebAssemblyFunctionType, and one of WebAssemblyWrapperFunction is
ObjectType. Since both do not have TypeOfShouldCallGetCallData, they return "object" when performing
typeof operation.

In this patch, we address the above issue by the following 2 fixes.

  1. We add TypeOfShouldCallGetCallData to WebAssemblyFunction. This is the same way how we implement

InternalFunction. Since WebAssemblyFunction requires WebAssemblyFunctionType for fast checking in Wasm
implementation, we cannot make this JSFunctionType.

  1. On the other hand, WebAssemblyWrapperFunction does not require a specific JSType. So this patch

changes JSType of WebAssemblyWrapperFunction to JSFunctionType. JSFunctionType can be usable for derived
classes of JSFunction (e.g. JSCustomGetterSetterFunction).

  • wasm/js/WebAssemblyFunction.h:

(JSC::WebAssemblyFunction::signatureIndex const): Deleted.
(JSC::WebAssemblyFunction::wasmEntrypointLoadLocation const): Deleted.
(JSC::WebAssemblyFunction::callableFunction const): Deleted.
(JSC::WebAssemblyFunction::jsEntrypoint): Deleted.
(JSC::WebAssemblyFunction::offsetOfWasmEntrypointLoadLocation): Deleted.

  • wasm/js/WebAssemblyWrapperFunction.cpp:

(JSC::WebAssemblyWrapperFunction::createStructure):

  • wasm/js/WebAssemblyWrapperFunction.h:

(JSC::WebAssemblyWrapperFunction::signatureIndex const): Deleted.
(JSC::WebAssemblyWrapperFunction::wasmEntrypointLoadLocation const): Deleted.
(JSC::WebAssemblyWrapperFunction::callableFunction const): Deleted.
(JSC::WebAssemblyWrapperFunction::function): Deleted.

7:04 PM Changeset in webkit [223273] by Chris Dumez
  • 523 edits in trunk

import-w3c-tests modifies test sources and sometimes causes them to fail
https://bugs.webkit.org/show_bug.cgi?id=178234

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Resync tests now that they no longer get re-written by the importer.
Most changes are about casing and spacing.

Also note that some tests are now passing and that they have been rebaselined.

  • web-platform-tests/FileAPI/url/multi-global-origin-serialization.sub.html:
  • web-platform-tests/IndexedDB/abort-in-initial-upgradeneeded.html:
  • web-platform-tests/IndexedDB/close-in-upgradeneeded.html:
  • web-platform-tests/IndexedDB/cursor-overloads.htm:
  • web-platform-tests/IndexedDB/idbkeyrange_incorrect.htm:
  • web-platform-tests/IndexedDB/key_invalid.htm:
  • web-platform-tests/IndexedDB/key_valid.html:
  • web-platform-tests/IndexedDB/keyorder.htm:
  • web-platform-tests/IndexedDB/keypath.htm:
  • web-platform-tests/IndexedDB/keypath_invalid.htm:
  • web-platform-tests/IndexedDB/string-list-ordering.htm:
  • web-platform-tests/WebIDL/current-realm.html:
  • web-platform-tests/css/css-display-3/display-contents-before-after-001.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-before-after-001.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-002-none.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-flex-003-none.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-inline-flex-001-none.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-list-001-none.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-multicol-001-none.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-001-none.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-inline-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-inline.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-dynamic-table-002-none.html:
  • web-platform-tests/css/css-display-3/display-contents-flex-002-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-flex-002.html:
  • web-platform-tests/css/css-display-3/display-contents-flex-003-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-flex-003.html:
  • web-platform-tests/css/css-display-3/display-contents-inline-flex-001-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-inline-flex-001.html:
  • web-platform-tests/css/css-display-3/display-contents-list-001-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-list-001.html:
  • web-platform-tests/css/css-display-3/display-contents-multicol-001-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-multicol-001.html:
  • web-platform-tests/css/css-display-3/display-contents-table-001-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-table-001.html:
  • web-platform-tests/css/css-display-3/display-contents-table-002-expected.html:
  • web-platform-tests/css/css-display-3/display-contents-table-002.html:
  • web-platform-tests/css/css-display-3/display-flow-root-001-expected.html:
  • web-platform-tests/css/css-display-3/display-flow-root-001.html:
  • web-platform-tests/css/css-grid-1/grid-definition/fr-unit-expected.html:
  • web-platform-tests/css/css-grid-1/grid-definition/fr-unit-with-percentage-expected.html:
  • web-platform-tests/css/css-grid-1/grid-definition/fr-unit-with-percentage.html:
  • web-platform-tests/css/css-grid-1/grid-definition/fr-unit.html:
  • web-platform-tests/css/css-grid-1/grid-items/grid-minimum-size-grid-items-021.html:
  • web-platform-tests/css/css-grid-1/grid-layout-properties.html:
  • web-platform-tests/css/css-grid-1/grid-model/display-grid-expected.html:
  • web-platform-tests/css/css-grid-1/grid-model/display-grid.html:
  • web-platform-tests/css/css-grid-1/grid-model/display-inline-grid-expected.html:
  • web-platform-tests/css/css-grid-1/grid-model/display-inline-grid.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-display-grid-001.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-display-inline-grid-001.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-float-001.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-inline-float-001.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-inline-vertical-align-001.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-support-display-001.html:
  • web-platform-tests/css/css-grid-1/grid-model/grid-vertical-align-001.html:
  • web-platform-tests/css/css-grid-1/test-plan/index.html:
  • web-platform-tests/css/css-pseudo-4/marker-color-expected.html:
  • web-platform-tests/css/css-pseudo-4/marker-color.html:
  • web-platform-tests/css/css-pseudo-4/marker-font-properties.html:
  • web-platform-tests/css/css-shapes-1/shape-outside-invalid-circle-003.html:
  • web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-001.html:
  • web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-002.html:
  • web-platform-tests/css/css-shapes-1/shape-outside-invalid-ellipse-003.html:
  • web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-001.html:
  • web-platform-tests/css/css-shapes-1/shape-outside-invalid-inset-002.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-001.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-002.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-003.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-004.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-005.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-006.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-007.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-008.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-010.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-011.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-012.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-013.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-014.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-015.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-016.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-017.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-018.html:
  • web-platform-tests/css/css-shapes-1/spec-examples/shape-outside-019.html:
  • web-platform-tests/css/css-shapes-1/test-plan/index.html:
  • web-platform-tests/css/css-ui-3/cursor-image-001.html:
  • web-platform-tests/css/css-ui-3/cursor-image-002.html:
  • web-platform-tests/css/css-ui-3/cursor-image-003.html:
  • web-platform-tests/css/css-ui-3/cursor-image-004.html:
  • web-platform-tests/css/css-ui-3/cursor-image-005-nfs.html:
  • web-platform-tests/css/css-ui-3/cursor-image-005.html:
  • web-platform-tests/css/css-ui-3/cursor-image-009.html:
  • web-platform-tests/css/css-ui-3/cursor-image-012.html:
  • web-platform-tests/css/css-ui-3/cursor-image-png-012.html:
  • web-platform-tests/css/css-ui-3/cursor-image-png-013.html:
  • web-platform-tests/css/css-ui-3/cursor-image-png-027.html:
  • web-platform-tests/css/css-ui-3/cursor-image-png-028.html:
  • web-platform-tests/css/css-ui-3/resize-015.html:
  • web-platform-tests/css/css-ui-3/resize-018.html:
  • web-platform-tests/css/css-ui-3/support/cursors/woolly-64.svg:
  • web-platform-tests/css/css-ui-3/support/cursors/woolly.svg:
  • web-platform-tests/css/css-ui-3/text-overflow-002-expected.html:
  • web-platform-tests/css/css-ui-3/text-overflow-004-expected.html:
  • web-platform-tests/css/css-ui-3/text-overflow-008.html:
  • web-platform-tests/css/css-ui-3/text-overflow-011.html:
  • web-platform-tests/css/css-ui-3/text-overflow-012.html:
  • web-platform-tests/css/css-ui-3/text-overflow-013.html:
  • web-platform-tests/css/css-ui-3/text-overflow-022.html:
  • web-platform-tests/css/css-ui-3/text-overflow-023.html:
  • web-platform-tests/cssom-view/elementFromPoint.html:
  • web-platform-tests/cssom-view/elementsFromPoint.html:
  • web-platform-tests/cssom-view/interfaces.html:
  • web-platform-tests/cssom-view/scrollingElement-quirks-dynamic-001-expected.html:
  • web-platform-tests/cssom-view/scrollingElement-quirks-dynamic-001.html:
  • web-platform-tests/cssom-view/scrollingElement-quirks-dynamic-002-expected.html:
  • web-platform-tests/cssom-view/scrollingElement-quirks-dynamic-002.html:
  • web-platform-tests/cssom/cssom-fontfacerule-constructors.html:
  • web-platform-tests/cssom/cssstyledeclaration-csstext.html:
  • web-platform-tests/cssom/cssstyledeclaration-mutability.html:
  • web-platform-tests/cssom/interfaces.html:
  • web-platform-tests/cssom/medialist-interfaces-002.html:
  • web-platform-tests/cssom/style-sheet-interfaces-002.html:
  • web-platform-tests/cssom/ttwf-cssom-document-extension.html:
  • web-platform-tests/dom/collections/HTMLCollection-supported-property-indices.html:
  • web-platform-tests/dom/collections/HTMLCollection-supported-property-names.html:
  • web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html:
  • web-platform-tests/dom/nodes/Document-adoptNode.html:
  • web-platform-tests/dom/nodes/Document-characterSet-normalization.html:
  • web-platform-tests/dom/nodes/Document-constructor-svg.svg:
  • web-platform-tests/dom/nodes/Document-constructor-xml.xml:
  • web-platform-tests/dom/nodes/Document-constructor.html:
  • web-platform-tests/dom/nodes/Document-doctype.html:
  • web-platform-tests/dom/nodes/Document-getElementById.html:
  • web-platform-tests/dom/nodes/Element-matches.html:
  • web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html:
  • web-platform-tests/dom/nodes/MutationObserver-characterData-expected.txt:
  • web-platform-tests/dom/nodes/MutationObserver-characterData.html:
  • web-platform-tests/dom/nodes/Node-compareDocumentPosition.html:
  • web-platform-tests/dom/nodes/Node-contains.html:
  • web-platform-tests/dom/nodes/Node-lookupPrefix.xhtml:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-content.html:
  • web-platform-tests/dom/nodes/ParentNode-querySelector-All-content.xht:
  • web-platform-tests/dom/nodes/getElementsByClassName-14.htm:
  • web-platform-tests/dom/nodes/getElementsByClassName-28.htm:
  • web-platform-tests/dom/traversal/TreeWalker-acceptNode-filter.html:
  • web-platform-tests/dom/traversal/TreeWalker-basic.html:
  • web-platform-tests/dom/traversal/TreeWalker-currentNode.html:
  • web-platform-tests/dom/traversal/TreeWalker-previousNodeLastChildReject.html:
  • web-platform-tests/dom/traversal/TreeWalker-previousSiblingLastChildSkip.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-reject.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip-most.html:
  • web-platform-tests/dom/traversal/TreeWalker-traversal-skip.html:
  • web-platform-tests/dom/traversal/TreeWalker-walking-outside-a-tree.html:
  • web-platform-tests/encrypted-media/clearkey-check-initdata-type.html:
  • web-platform-tests/encrypted-media/clearkey-events-session-closed-event.html:
  • web-platform-tests/encrypted-media/clearkey-events.html:
  • web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input.html:
  • web-platform-tests/encrypted-media/clearkey-invalid-license.html:
  • web-platform-tests/encrypted-media/clearkey-keystatuses-multiple-sessions.html:
  • web-platform-tests/encrypted-media/clearkey-keystatuses.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record-events.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-usage-record.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-usage-record.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-requestmediakeysystemaccess.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-at-same-time.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-the-same-mediakeys.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-to-multiple-video-elements.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeys.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysession.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-syntax-mediakeysystemaccess.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-unique-origin.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-update-disallowed-input.html:
  • web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.html:
  • web-platform-tests/encrypted-media/clearkey-not-callable-after-createsession.html:
  • web-platform-tests/encrypted-media/clearkey-update-non-ascii-input.html:
  • web-platform-tests/encrypted-media/drm-check-initdata-type.html:
  • web-platform-tests/encrypted-media/drm-events-session-closed-event.html:
  • web-platform-tests/encrypted-media/drm-events.html:
  • web-platform-tests/encrypted-media/drm-expiration.html:
  • web-platform-tests/encrypted-media/drm-generate-request-disallowed-input.html:
  • web-platform-tests/encrypted-media/drm-invalid-license.html:
  • web-platform-tests/encrypted-media/drm-keystatuses-multiple-sessions.html:
  • web-platform-tests/encrypted-media/drm-keystatuses.html:
  • web-platform-tests/encrypted-media/drm-mp4-onencrypted.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-destroy-persistent-license.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-persistent-license-events.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-persistent-license.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-persistent-usage-record-events.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-persistent-usage-record.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-retrieve-destroy-persistent-license.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-retrieve-persistent-license.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-retrieve-persistent-usage-record.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-clear-encrypted.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-encrypted-clear-sources.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-encrypted-clear.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-events.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-expired.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-multikey-sequential-readyState.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-multikey-sequential.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-multikey.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-multisession.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-setMediaKeys-after-src.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-setMediaKeys-after-update.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-setMediaKeys-immediately.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-setMediaKeys-onencrypted.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-two-videos.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary-waitingforkey.html:
  • web-platform-tests/encrypted-media/drm-mp4-playback-temporary.html:
  • web-platform-tests/encrypted-media/drm-mp4-requestmediakeysystemaccess.html:
  • web-platform-tests/encrypted-media/drm-mp4-reset-src-after-setmediakeys.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys-again-after-playback.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys-again-after-resetting-src.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys-at-same-time.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys-multiple-times-with-different-mediakeys.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys-multiple-times-with-the-same-mediakeys.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys-to-multiple-video-elements.html:
  • web-platform-tests/encrypted-media/drm-mp4-setmediakeys.html:
  • web-platform-tests/encrypted-media/drm-mp4-syntax-mediakeys.html:
  • web-platform-tests/encrypted-media/drm-mp4-syntax-mediakeysession.html:
  • web-platform-tests/encrypted-media/drm-mp4-syntax-mediakeysystemaccess.html:
  • web-platform-tests/encrypted-media/drm-mp4-unique-origin.html:
  • web-platform-tests/encrypted-media/drm-mp4-waiting-for-a-key.html:
  • web-platform-tests/encrypted-media/drm-not-callable-after-createsession.html:
  • web-platform-tests/encrypted-media/drm-temporary-license-type.html:
  • web-platform-tests/encrypted-media/resources/clearkey-retrieve-destroy-persistent-license.html:
  • web-platform-tests/encrypted-media/resources/clearkey-retrieve-persistent-license.html:
  • web-platform-tests/encrypted-media/resources/drm-retrieve-destroy-persistent-license.html:
  • web-platform-tests/encrypted-media/resources/drm-retrieve-persistent-license.html:
  • web-platform-tests/encrypted-media/resources/drm-retrieve-persistent-usage-record.html:
  • web-platform-tests/encrypted-media/resources/retrieve-persistent-usage-record.html:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-close.htm:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-constructor-non-same-origin.htm:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-constructor-url-bogus.htm:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-onmesage.htm:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-onopen.htm:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-prototype.htm:
  • web-platform-tests/eventsource/dedicated-worker/eventsource-url.htm:
  • web-platform-tests/eventsource/eventsource-constructor-document-domain.htm:
  • web-platform-tests/eventsource/eventsource-constructor-non-same-origin.htm:
  • web-platform-tests/eventsource/eventsource-onmessage-trusted.htm:
  • web-platform-tests/eventsource/eventsource-prototype.htm:
  • web-platform-tests/eventsource/format-leading-space.htm:
  • web-platform-tests/eventsource/format-mime-bogus.htm:
  • web-platform-tests/eventsource/format-mime-valid-bogus.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-close.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-constructor-non-same-origin.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-constructor-url-bogus.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-eventtarget.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-onmesage.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-onopen.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-prototype.htm:
  • web-platform-tests/eventsource/shared-worker/eventsource-url.htm:
  • web-platform-tests/fetch/api/request/multi-globals/url-parsing.html:
  • web-platform-tests/fetch/api/resources/basic.html:
  • web-platform-tests/fetch/api/response/multi-globals/url-parsing.html:
  • web-platform-tests/fetch/api/response/response-trailer.html:
  • web-platform-tests/fetch/nosniff/stylesheet.html:
  • web-platform-tests/html/browsers/browsing-the-web/history-traversal/unset_context_name.html:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/012.html:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-form-submit.html:
  • web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin-fragment.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/001.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/002.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/003.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/004.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/005.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/006.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/007.html:
  • web-platform-tests/html/browsers/browsing-the-web/scroll-to-fragid/forward-triggers-hashchange.html:
  • web-platform-tests/html/browsers/history/the-history-interface/008.html:
  • web-platform-tests/html/browsers/history/the-location-interface/cross_origin_joined_frame.sub.html:
  • web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken-weird.html:
  • web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-non-broken.html:
  • web-platform-tests/html/browsers/history/the-location-interface/location-protocol-setter-with-colon.sub.html:
  • web-platform-tests/html/browsers/history/the-location-interface/location-tojson.html:
  • web-platform-tests/html/browsers/history/the-location-interface/same_origin_frame.html:
  • web-platform-tests/html/browsers/offline/resources/html/clock.html:
  • web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html:
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_null.tentative.html:
  • web-platform-tests/html/browsers/origin/relaxing-the-same-origin-restriction/document_domain_setter_srcdoc.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-innerwidth-innerheight.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-screenx-screeny.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-top-left.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-negative-width-height.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-height.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerheight.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-innerwidth.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-left.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screenx.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-screeny.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-width.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-innerheight-innerwidth.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-screenx-screeny.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-top-left.html:
  • web-platform-tests/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-tokenization-width-height.html:
  • web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-001.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-002.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-003.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-004.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-005.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-006.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-007.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-008.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-009.html:
  • web-platform-tests/html/dom/elements/global-attributes/the-lang-attribute-010.html:
  • web-platform-tests/html/dom/interfaces.html:
  • web-platform-tests/html/dom/self-origin.sub.html:
  • web-platform-tests/html/semantics/document-metadata/the-meta-element/the-lang-attribute-012.html:
  • web-platform-tests/html/semantics/embedded-content/media-elements/user-interface/muted.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.readonly.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.canvas.reference.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.exists.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.extraargs.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.shared.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.getcontext.unique.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.exists.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.extend.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.prototype.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/2d.type.replace.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.arguments.missing.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.casesensitive.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.emptystring.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badname.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.badsuffix.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.nullsuffix.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/context.unrecognised.unicode.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.basic.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.multiple.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/fallback.nested.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.colour.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.2dstate.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.clip.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.different.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.gradient.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.path.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.pattern.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.same.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.transform.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.dataURI.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.canvas.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.drawImage.image.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.fillStyle.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.strokeStyle.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.canvas.timing.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.create.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.cross.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.fillStyle.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.pattern.image.strokeStyle.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.cross.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/security.reset.redirect.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.default.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.idl.set.zero.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.decimal.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.em.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.empty.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.exp.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.hex.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.junk.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.minus.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.octal.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.onlyspace.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.percent.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.plus.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.space.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.trailingjunk.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.parse.zero.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setcontent.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidl.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.reflect.setidlzero.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.removed.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.decimal.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.em.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.empty.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.exp.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.hex.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.junk.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.minus.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.octal.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.onlyspace.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.percent.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.plus.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.space.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.trailingjunk.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.whitespace.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.setAttribute.zero.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/size.attributes.style.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.1.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.2.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.arguments.3.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.bogustype.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.default.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.alpha.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.primarycolours.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.basic.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.notnumber.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpeg.quality.outsiderange.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.jpg.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.ascii.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.lowercase.unicode.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.nocontext.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.complexcolours.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.png.primarycolours.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.unrecognised.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zeroheight.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerosize.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/toDataURL.zerowidth.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.delete.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.exists.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.extend.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.name.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.prototype.html:
  • web-platform-tests/html/semantics/embedded-content/the-canvas-element/type.replace.html:
  • web-platform-tests/html/semantics/embedded-content/the-embed-element/embed-in-object-fallback.html:
  • web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-3.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/adoption.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/current-pixel-density/basic.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/non-active-document.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/sizes/sizes-iframed.sub.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/parse-a-srcset-attribute.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/srcset/select-an-image-source.html:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set.html:
  • web-platform-tests/html/semantics/forms/form-control-infrastructure/form.html:
  • web-platform-tests/html/semantics/forms/the-form-element/form-elements-filter.html:
  • web-platform-tests/html/semantics/forms/the-form-element/form-nameditem.html:
  • web-platform-tests/html/semantics/grouping-content/the-pre-element/grouping-pre-reftest-001.html:
  • web-platform-tests/html/semantics/interactive-elements/the-details-element/details.html:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-iframe.sub.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/load-error-events-1.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/load-error-events-2.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-01.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-charset-02.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-type-and-language-empty.html:
  • web-platform-tests/html/semantics/scripting-1/the-script-element/script-type-and-language-with-params.html:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/checked.html:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/enabled.html:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/inrange-outofrange.html:
  • web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly.html:
  • web-platform-tests/html/semantics/tabular-data/processing-model-1/span-limits.html:
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-getter-01.html:
  • web-platform-tests/html/semantics/text-level-semantics/the-a-element/a.text-setter-01.html:
  • web-platform-tests/html/semantics/text-level-semantics/the-time-element/001.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-001.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-007.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-009.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-016.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-018.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-030.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-034.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-037.html:
  • web-platform-tests/html/syntax/parsing-html-fragments/the-input-byte-stream-038.html:
  • web-platform-tests/html/syntax/parsing/Element.getElementsByTagName-foreign-02.html:
  • web-platform-tests/html/syntax/parsing/math-parse03.html:
  • web-platform-tests/html/syntax/parsing/named-character-references.html:
  • web-platform-tests/html/syntax/serializing-html-fragments/serializing-expected.txt:
  • web-platform-tests/html/syntax/serializing-html-fragments/serializing.html:
  • web-platform-tests/html/webappapis/atob/base64.html:
  • web-platform-tests/html/webappapis/scripting/events/eventhandler-cancellation.html:
  • web-platform-tests/html/webappapis/scripting/events/resources/compiled-event-handler-settings-objects-support.html:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/compile-error-in-body-onerror.html:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-parse-error.html:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error-throw.html:
  • web-platform-tests/html/webappapis/scripting/processing-model-2/window-onerror-runtime-error.html:
  • web-platform-tests/media-source/mediasource-activesourcebuffers.html:
  • web-platform-tests/media-source/mediasource-addsourcebuffer.html:
  • web-platform-tests/media-source/mediasource-append-buffer.html:
  • web-platform-tests/media-source/mediasource-appendbuffer-quota-exceeded.html:
  • web-platform-tests/media-source/mediasource-appendwindow.html:
  • web-platform-tests/media-source/mediasource-attach-stops-delaying-load-event.html:
  • web-platform-tests/media-source/mediasource-avtracks.html:
  • web-platform-tests/media-source/mediasource-buffered.html:
  • web-platform-tests/media-source/mediasource-closed.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-a-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-audio-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-framesize.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-av-video-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-framerate.html:
  • web-platform-tests/media-source/mediasource-config-change-mp4-v-framesize.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-a-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-av-audio-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-av-framesize.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-av-video-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-v-bitrate.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-v-framerate.html:
  • web-platform-tests/media-source/mediasource-config-change-webm-v-framesize.html:
  • web-platform-tests/media-source/mediasource-detach.html:
  • web-platform-tests/media-source/mediasource-duration-boundaryconditions.html:
  • web-platform-tests/media-source/mediasource-duration.html:
  • web-platform-tests/media-source/mediasource-endofstream-invaliderror.html:
  • web-platform-tests/media-source/mediasource-errors.html:
  • web-platform-tests/media-source/mediasource-getvideoplaybackquality.html:
  • web-platform-tests/media-source/mediasource-is-type-supported.html:
  • web-platform-tests/media-source/mediasource-liveseekable.html:
  • web-platform-tests/media-source/mediasource-multiple-attach.html:
  • web-platform-tests/media-source/mediasource-play-then-seek-back.html:
  • web-platform-tests/media-source/mediasource-play.html:
  • web-platform-tests/media-source/mediasource-preload.html:
  • web-platform-tests/media-source/mediasource-redundant-seek.html:
  • web-platform-tests/media-source/mediasource-remove.html:
  • web-platform-tests/media-source/mediasource-removesourcebuffer.html:
  • web-platform-tests/media-source/mediasource-seek-beyond-duration.html:
  • web-platform-tests/media-source/mediasource-seek-during-pending-seek.html:
  • web-platform-tests/media-source/mediasource-seekable.html:
  • web-platform-tests/media-source/mediasource-sequencemode-append-buffer.html:
  • web-platform-tests/media-source/mediasource-sourcebuffer-mode.html:
  • web-platform-tests/media-source/mediasource-sourcebuffer-trackdefaults.html:
  • web-platform-tests/media-source/mediasource-sourcebufferlist.html:
  • web-platform-tests/media-source/mediasource-timestamp-offset.html:
  • web-platform-tests/media-source/mediasource-trackdefault.html:
  • web-platform-tests/media-source/mediasource-trackdefaultlist.html:
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https.html:
  • web-platform-tests/resource-timing/resource-timing.html:
  • web-platform-tests/resource-timing/resources/resource_timing_test0.xml:
  • web-platform-tests/resources/test/tests/iframe-consolidate-errors.html:
  • web-platform-tests/resources/test/tests/iframe-consolidate-tests.html:
  • web-platform-tests/resources/test/tests/iframe-msg.html:
  • web-platform-tests/service-workers/service-worker/fetch-response-taint.https.html:
  • web-platform-tests/service-workers/service-worker/multi-globals/url-parsing.https.html:
  • web-platform-tests/service-workers/service-worker/multiple-update.https.html:
  • web-platform-tests/service-workers/service-worker/resources/appcache-ordering.is-appcached.html:
  • web-platform-tests/service-workers/service-worker/resources/clients-matchall-client-types-iframe.html:
  • web-platform-tests/service-workers/service-worker/update-after-oneday.https.html:
  • web-platform-tests/service-workers/stub-3.1-service-worker-obj.html:
  • web-platform-tests/service-workers/stub-3.1.1-service-worker-scope.html:
  • web-platform-tests/service-workers/stub-3.1.2-service-worker-url.html:
  • web-platform-tests/service-workers/stub-3.1.3-service-worker-state.html:
  • web-platform-tests/service-workers/stub-3.1.4-service-worker-on-state-change.html:
  • web-platform-tests/service-workers/stub-3.2-navigator-service-worker.html:
  • web-platform-tests/service-workers/stub-3.2.1-navigator-service-worker-installing.html:
  • web-platform-tests/service-workers/stub-3.2.10-navigator-service-worker-oncontrollerchange.html:
  • web-platform-tests/service-workers/stub-3.2.11-navigator-service-worker-onreloadpage.html:
  • web-platform-tests/service-workers/stub-3.2.12-navigator-service-worker-onerror.html:
  • web-platform-tests/service-workers/stub-3.2.2-navigator-service-worker-waiting.html:
  • web-platform-tests/service-workers/stub-3.2.3-navigator-service-worker-active.html:
  • web-platform-tests/service-workers/stub-3.2.4-navigator-service-worker-controller.html:
  • web-platform-tests/service-workers/stub-3.2.5-navigator-service-worker-ready.html:
  • web-platform-tests/service-workers/stub-3.2.6-navigator-service-worker-getAll.html:
  • web-platform-tests/service-workers/stub-3.2.7-navigator-service-worker-register.html:
  • web-platform-tests/service-workers/stub-3.2.8-navigator-service-worker-unregister.html:
  • web-platform-tests/service-workers/stub-3.2.9-navigator-service-worker-onupdatefound.html:
  • web-platform-tests/service-workers/stub-4.1-service-worker-global-scope.html:
  • web-platform-tests/service-workers/stub-4.1.1-service-worker-global-scope-caches.html:
  • web-platform-tests/service-workers/stub-4.1.2-service-worker-global-scope-clients.html:
  • web-platform-tests/service-workers/stub-4.1.3-service-worker-global-scope-scope.html:
  • web-platform-tests/service-workers/stub-4.1.4-service-worker-global-scope-fetch.html:
  • web-platform-tests/service-workers/stub-4.1.5-service-worker-global-scope-update.html:
  • web-platform-tests/service-workers/stub-4.1.6-service-worker-global-scope-unregister.html:
  • web-platform-tests/service-workers/stub-4.1.7-service-worker-global-scope-onmessage.html:
  • web-platform-tests/service-workers/stub-4.2-client.html:
  • web-platform-tests/service-workers/stub-4.3-service-worker-clients.html:
  • web-platform-tests/service-workers/stub-4.3.1-get-serviced-method.html:
  • web-platform-tests/service-workers/stub-4.3.2-reloadall-method.html:
  • web-platform-tests/service-workers/stub-4.5-response-objects.html:
  • web-platform-tests/service-workers/stub-4.5.2-response.html:
  • web-platform-tests/service-workers/stub-4.5.4-opaque-response.html:
  • web-platform-tests/service-workers/stub-4.6-cache-objects.html:
  • web-platform-tests/service-workers/stub-4.6.1-cache-lifetimes.html:
  • web-platform-tests/service-workers/stub-4.6.3-cache-storage.html:
  • web-platform-tests/service-workers/stub-4.7.1-install-phase-event.html:
  • web-platform-tests/service-workers/stub-4.7.1.1-wait-until-method.html:
  • web-platform-tests/service-workers/stub-4.7.2-install-event.html:
  • web-platform-tests/service-workers/stub-4.7.2.1-install-event-section.html:
  • web-platform-tests/service-workers/stub-4.7.2.2-replace-method.html:
  • web-platform-tests/service-workers/stub-4.7.3-activate-event.html:
  • web-platform-tests/service-workers/stub-4.7.4.1-fetch-event-section.html:
  • web-platform-tests/service-workers/stub-4.7.4.2-respond-with-method.html:
  • web-platform-tests/service-workers/stub-4.7.4.3-default-method.html:
  • web-platform-tests/service-workers/stub-4.7.4.4-is-reload-attribute.html:
  • web-platform-tests/service-workers/stub-5.1-origin-relativity.html:
  • web-platform-tests/service-workers/stub-5.2-cross-origin-resources.html:
  • web-platform-tests/shadow-dom/leaktests/get-elements.html:
  • web-platform-tests/tools/pywebsocket/src/example/arraybuffer_benchmark.html:
  • web-platform-tests/tools/pywebsocket/src/example/benchmark.html:
  • web-platform-tests/tools/pywebsocket/src/example/console.html:
  • web-platform-tests/tools/pywebsocket/src/example/eventsource.html:
  • web-platform-tests/tools/pywebsocket/src/example/xhr_benchmark.html:
  • web-platform-tests/tools/pywebsocket/src/example/xhr_event_logger.html:
  • web-platform-tests/url/a-element-origin-xhtml.xhtml:
  • web-platform-tests/url/a-element-origin.html:
  • web-platform-tests/url/a-element-xhtml.xhtml:
  • web-platform-tests/url/a-element.html:
  • web-platform-tests/webrtc/RTCConfiguration-iceCandidatePoolSize.html:
  • web-platform-tests/webrtc/RTCPeerConnection-canTrickleIceCandidates.html:
  • web-platform-tests/webrtc/RTCPeerConnection-idl.html:
  • web-platform-tests/webrtc/RTCPeerConnectionIceEvent-constructor.html:
  • web-platform-tests/webrtc/datachannel-emptystring.html:
  • web-platform-tests/webrtc/datachannel-idlharness.html:
  • web-platform-tests/webrtc/getstats.html:
  • web-platform-tests/webrtc/no-media-call.html:
  • web-platform-tests/webrtc/promises-call.html:
  • web-platform-tests/webrtc/simplecall.html:

Tools:

Update import-w3c-tests to stop rewriting tests as this is causing some tests
to fail unexpectedly.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.import_tests):

6:59 PM Changeset in webkit [223272] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.5.0.3

Tag Safari-604.3.5.0.3.

6:55 PM Changeset in webkit [223271] by achristensen@apple.com
  • 48 edits
    4 deletes in trunk

Use asynchronous ResourceHandleClient calls for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=160677

Reviewed by Brady Eidson.

Source/WebCore:

Covered by existing tests.

  • PlatformAppleWin.cmake:
  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequestAsync):
(WebCore::ResourceLoader::didReceiveResponseAsync):
(WebCore::ResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • loader/ResourceLoader.h:
  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::didReceiveResponseAsync):
(WebCore::ApplicationCacheGroup::willSendRequestAsync):
(WebCore::ApplicationCacheGroup::canAuthenticateAgainstProtectionSpaceAsync):
(WebCore::ApplicationCacheGroup::didReceiveResponse): Deleted.

  • loader/appcache/ApplicationCacheGroup.h:
  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::continueDidReceiveResponse):
(WebCore::BlobResourceHandle::getSizeForNext):
(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):

  • platform/network/PingHandle.h:
  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didReceiveResponse):
(WebCore::ResourceHandle::usesAsyncCallbacks): Deleted.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.cpp:

(WebCore::ResourceHandleClient::~ResourceHandleClient):
(WebCore::ResourceHandleClient::willSendRequest): Deleted.
(WebCore::ResourceHandleClient::willSendRequestAsync): Deleted.
(WebCore::ResourceHandleClient::didReceiveResponseAsync): Deleted.
(WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpaceAsync): Deleted.

  • platform/network/ResourceHandleClient.h:

(WebCore::ResourceHandleClient::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandleClient::didReceiveResponse): Deleted.
(WebCore::ResourceHandleClient::usesAsyncCallbacks): Deleted.
(WebCore::ResourceHandleClient::canAuthenticateAgainstProtectionSpace): Deleted.

  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/SynchronousLoaderClient.cpp:

(WebCore::SynchronousLoaderClient::willSendRequestAsync):
(WebCore::SynchronousLoaderClient::canAuthenticateAgainstProtectionSpaceAsync):
(WebCore::SynchronousLoaderClient::didReceiveResponseAsync):
(WebCore::SynchronousLoaderClient::didFinishLoading):
(WebCore::SynchronousLoaderClient::didFail):
(WebCore::SynchronousLoaderClient::willSendRequest): Deleted.
(WebCore::SynchronousLoaderClient::canAuthenticateAgainstProtectionSpace): Deleted.
(WebCore::SynchronousLoaderClient::didReceiveResponse): Deleted.

  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::shouldUseCredentialStorage):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:

(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::ResourceHandleCFURLConnectionDelegateWithOperationQueue):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::releaseHandle):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFinishLoading):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didFail):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveChallenge):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didSendBodyData):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::shouldUseCredentialStorage):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::continueCanAuthenticateAgainstProtectionSpace):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h:
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Removed.
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Removed.
  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::schedule):
(WebCore::ResourceHandle::makeDelegate):
(WebCore::ResourceHandle::delegate):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::continueWillSendRequest):
(WebCore::ResourceHandle::continueDidReceiveResponse):
(WebCore::ResourceHandle::canAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueCanAuthenticateAgainstProtectionSpace):
(WebCore::ResourceHandle::continueWillCacheResponse):
(WebCore::ResourceHandle::shouldUseCredentialStorage): Deleted.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.h: Removed.
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm: Removed.
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.h:
  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveAuthenticationChallenge:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveData:lengthReceived:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didFailWithError:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::createPingHandle):

LayoutTests:

  • TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:

http/tests/cache/iframe-304-crash.html used to deterministically record its didFinishLoading callback,
but only for WK1. It was marked as flaky for all WK2 ports. It is now flaky in WK1 because the order
of the testRunner.notifyDone call and the didFinishLoading logging is no longer deterministic with
asynchronous loading, but the test still verifies that there is no crash.

http/tests/security/cross-origin-modal-dialog-base.html does navigation during showModalDialog, which
probably should've never worked in WK1 and never worked in WK2. WK1 behavior now matches WK2 behavior.
I'm not aware of any complaints about no navigation working during showModalDialog in WK2 and I imagine
nobody will be regressed by this change, but if we do find such a problem, creative use of MessageQueues
like we do with sync xhr in WK1 now could theoretically fix the problem, but we are trying to get
rid of showModalDialog anyway. The test was written to verify that the SecurityOrigin doesn't fall back
to the wrong origin, and it certainly doesn't now.

These tests dump load delegate call order, which are less deterministic now but the tests still behave correctly.
http/tests/svg/svg-use-external.html
http/tests/loading/text-content-type-with-binary-extension.html
http/tests/security/contentSecurityPolicy/block-all-mixed-content/insecure-iframe-in-main-frame.html

6:10 PM Changeset in webkit [223270] by achristensen@apple.com
  • 7 edits in trunk/Source/WebKit

Remove unnecessary includes in WebKit
https://bugs.webkit.org/show_bug.cgi?id=178235

Reviewed by Tim Horton.

  • Platform/IPC/ArgumentCoders.h:
  • WebProcess/WebProcess.cpp:
  • WebProcess/WebStorage/StorageAreaImpl.h:
6:04 PM Changeset in webkit [223269] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Increment ContentRuleListStore::CurrentContentRuleListFileVersion
https://bugs.webkit.org/show_bug.cgi?id=178246
<rdar://problem/34890057>

Reviewed by Tim Horton.

  • UIProcess/API/APIContentRuleListStore.h:

Things are crashing. Something isn't binary reverse compatible.
Probably something related to r222602.
This is why we have a version number to update.

6:01 PM October 2017 Meeting edited by Simon Fraser
(diff)
6:01 PM October 2017 Meeting edited by Simon Fraser
(diff)
5:47 PM Changeset in webkit [223268] by commit-queue@webkit.org
  • 5 edits
    2 deletes in trunk/Source/WebInspectorUI

Web Inspector: Switch Clear navigation item back to the Trash icon (Console, Timelines, Network)
https://bugs.webkit.org/show_bug.cgi?id=178244
<rdar://problem/34966525>

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-10-12
Reviewed by Brian Burg.

  • UserInterface/Images/NavigationItemClear.svg: Removed.
  • UserInterface/Images/gtk/NavigationItemClear.svg: Removed.
  • UserInterface/Views/LogContentView.js:

(WI.LogContentView):

  • UserInterface/Views/NetworkGridContentView.js:

(WI.NetworkGridContentView):

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):

  • UserInterface/Views/TimelineRecordingContentView.js:

(WI.TimelineRecordingContentView):
Many users found the new Clear icon confusing. Revert to the Trash icon.

5:41 PM Changeset in webkit [223267] by achristensen@apple.com
  • 8 edits in trunk/Source/WebKit

Expose some of WKView's WebViewImpl accessors through WKWebViewPrivate
https://bugs.webkit.org/show_bug.cgi?id=178240
<rdar://problem/34962720>

Reviewed by Tim Horton.

Also renamed createFullScreenWindow to fullScreenWindow to reflect the fact that it returns
an autoreleased NSWindow so we don't make the same naming mistake in the WKWebView SPI.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _dismissContentRelativeChildWindows]):
(-[WKWebView _setFrame:andScrollBy:]):
(-[WKWebView _setTotalHeightOfBanners:]):
(-[WKWebView _totalHeightOfBanners]):
(-[WKWebView _beginDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChangesSync]):
(-[WKWebView _gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _setIgnoresNonWheelEvents:]):
(-[WKWebView _ignoresNonWheelEvents]):
(-[WKWebView _setCustomSwipeViews:]):
(-[WKWebView _setCustomSwipeViewsTopContentInset:]):
(-[WKWebView _tryToSwipeWithEvent:ignoringPinnedState:]):
(-[WKWebView _setDidMoveSwipeSnapshotCallback:]):
(-[WKWebView _fullScreenPlaceholderView]):
(-[WKWebView _fullScreenWindow]):
(-[WKWebView _disableFrameSizeUpdates]):
(-[WKWebView _enableFrameSizeUpdates]):
(-[WKWebView _canChangeFrameLayout:]):
(-[WKWebView _underlayColor]):
(-[WKWebView _setUnderlayColor:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView createFullScreenWindow]):

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

(WebKit::WebViewImpl::fullScreenWindowController):
(WebKit::WebViewImpl::fullScreenWindow):
(WebKit::WebViewImpl::createFullScreenWindow): Deleted.

5:39 PM Changeset in webkit [223266] by achristensen@apple.com
  • 4 edits in trunk/Source/WTF

Add Expected, HashMap, HashSet, and SHA1 to wtf/Forward.h
https://bugs.webkit.org/show_bug.cgi?id=178243

Reviewed by Tim Horton.

  • wtf/Forward.h:
  • wtf/HashMap.h:

Move default parameters to Forward.h like we did with Vector.

  • wtf/HashSet.h:

Also fix indentation.

5:36 PM Changeset in webkit [223265] by commit-queue@webkit.org
  • 11 edits
    1 copy
    1 move
    2 adds in trunk

Layout Test http/tests/cache-storage/cache-clearing.https.html is failing
https://bugs.webkit.org/show_bug.cgi?id=178200

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

Source/WebKit:

Deleting only the per-origin folders inside the CacheStorage engine root folder.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::clearAllCaches):

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreRemoveAllFetchCaches):
(WKWebsiteDataStoreRemoveFetchCacheForOrigin):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:

Tools:

Making clearDOMCache wait for removal completion to exit.
This removes the risk to interact with the cache while deleting it which will end up be racy in tests.

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::clearDOMCache):

  • WebKitTestRunner/TestController.cpp:

(WTR::ClearDOMCacheCallbackContext::ClearDOMCacheCallbackContext):
(WTR::clearDOMCacheCallback):
(WTR::TestController::clearDOMCache):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

LayoutTests:

Splitting cache-clearing.https.html in two sub tests and marking them as Pass/Timeout for the moment.

  • platform/win/TestExpectations: Skipping cache/sw tests.
  • TestExpectations:
  • http/tests/cache-storage/cache-clearing.https.html: Removed.
  • http/tests/cache-storage/cache-clearing-all.https-expected.txt: Added.
  • http/tests/cache-storage/cache-clearing-all.https.html: Added.
  • http/tests/cache-storage/cache-clearing-origin.https-expected.txt: Added.
  • http/tests/cache-storage/cache-clearing-origin.https.html: Added.
5:24 PM Changeset in webkit [223264] by Chris Dumez
  • 28 edits in trunk

[Mac] Add support for MouseEvent.buttons
https://bugs.webkit.org/show_bug.cgi?id=178214

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline test now that more checks are passing.

  • web-platform-tests/dom/events/Event-subclasses-constructors-expected.txt:

Source/WebCore:

Add support for MouseEvent.buttons on Mac as per:

This is supported by Firefox and Chrome already.

No new tests, rebaselined existing test.

  • dom/Element.cpp:

(WebCore::Element::dispatchMouseEvent):

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):
(WebCore::MouseEvent::MouseEvent):

  • dom/MouseEvent.h:

(WebCore::MouseEvent::buttons const):

  • dom/MouseEvent.idl:
  • dom/MouseEventInit.h:
  • dom/MouseEventInit.idl:
  • dom/SimulatedClick.cpp:
  • dom/WheelEvent.cpp:
  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchDragEvent):

  • platform/PlatformMouseEvent.h:

(WebCore::PlatformMouseEvent::buttons const):

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::currentlyPressedMouseButtons):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):

Source/WebKit:

  • Shared/WebEvent.h:

(WebKit::WebMouseEvent::buttons const):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):

  • Shared/WebMouseEvent.cpp:

(WebKit::WebMouseEvent::WebMouseEvent):
(WebKit::WebMouseEvent::encode const):
(WebKit::WebMouseEvent::decode):

  • Shared/mac/WebEventFactory.mm:

(WebKit::currentlyPressedMouseButtons):
(WebKit::WebEventFactory::createWebMouseEvent):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::showContextMenuAtPoint):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::createWebEvent const):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPage::simulateMouseDown):
(WebKit::WebPage::simulateMouseUp):
(WebKit::WebPage::simulateMouseMotion):

Source/WebKitLegacy/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):

5:19 PM Changeset in webkit [223263] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Add API to clean CacheStorage data
https://bugs.webkit.org/show_bug.cgi?id=178034

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-12

  • Shared/WebsiteData/WebsiteDataType.h: fixing the DOMCache value.
3:39 PM October 2017 Meeting edited by cavalcantii@gmail.com
(diff)
3:36 PM Changeset in webkit [223262] by commit-queue@webkit.org
  • 4 edits
    14 adds in trunk/Source/WebKit

[WinCairo] add WebProcess files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=178024

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

  • PlatformWin.cmake:
  • WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Added.

(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):

  • WebProcess/InjectedBundle/win/InjectedBundleWin.cpp: Added.

(WebKit::InjectedBundle::initialize):
(WebKit::InjectedBundle::setBundleParameter):
(WebKit::InjectedBundle::setBundleParameters):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:
  • WebProcess/Plugins/Netscape/win/PluginProxyWin.cpp: Added.

(WebKit::PluginProxy::needsBackingStore const):

  • WebProcess/WebCoreSupport/win/WebContextMenuClientWin.cpp: Added.

(WebKit::WebContextMenuClient::lookUpInDictionary):
(WebKit::WebContextMenuClient::isSpeaking):
(WebKit::WebContextMenuClient::speak):
(WebKit::WebContextMenuClient::stopSpeaking):

  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.cpp: Added.

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
(WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
(WebKit::WebFrameNetworkingContext::storageSession const):
(WebKit::WebFrameNetworkingContext::webFrameLoaderClient const):
(WebKit::WebFrameNetworkingContext::blockedError const):

  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h: Added.

(WebKit::WebFrameNetworkingContext::create):

  • WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp: Added.

(WebKit::WebPopupMenu::setUpPlatformData):

  • WebProcess/WebPage/win/WebInspectorUIWin.cpp: Added.

(WebKit::WebInspectorUI::canSave):
(WebKit::WebInspectorUI::localizedStringsURL):
(WebKit::RemoteWebInspectorUI::localizedStringsURL):

  • WebProcess/WebPage/win/WebPageWin.cpp: Added.

(WebKit::WebPage::platformInitialize):
(WebKit::WebPage::platformDetach):
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::platformPreferencesDidChange):
(WebKit::WebPage::performDefaultBehaviorForKeyEvent):
(WebKit::WebPage::platformHasLocalDataForURL):
(WebKit::WebPage::cachedResponseMIMETypeForURL):
(WebKit::WebPage::platformCanHandleRequest):
(WebKit::WebPage::cachedSuggestedFilenameForURL):
(WebKit::WebPage::cachedResponseDataForURL):
(WebKit::WebPage::platformUserAgent const):
(WebKit::WebPage::interpretKeyEvent):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureWebToStorageProcessConnection):

  • WebProcess/win/WebProcessWin.cpp: Added.

(loadResourceIntoBuffer):
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformTerminate):
(WebKit::WebProcess::platformSetCacheModel):

2:44 PM Changeset in webkit [223261] by ddkilzer@apple.com
  • 4 edits in trunk/Source

[iOS] Fix -Wunused-lambda-capture warnings in WebCore/WebKit with new clang compiler
<https://webkit.org/b/178226>

Reviewed by Chris Fleizach.

Source/WebCore:

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityArticleAncestor]):

  • Remove unused lambda variable 'self'.

Source/WebKit:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:withFlags:]):

  • Remove unused lambda variable 'touch' which was also passed as an argument.

(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):

  • Remove unused lambda variable 'gestureState' which was also passed as an argument.

(-[WKContentView _simulateLongPressActionAtLocation:]):

  • Remove unused lambda variable 'location'.
2:38 PM Changeset in webkit [223260] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Mark more InlineBox member functions as const
https://bugs.webkit.org/show_bug.cgi?id=178217

Reviewed by Andy Estes.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::locationIncludingFlipping const): Mark as const. Also fix some style
nits while I am here.
(WebCore::InlineBox::flipForWritingMode const): Mark as const.
(WebCore::InlineBox::locationIncludingFlipping): Deleted.
(WebCore::InlineBox::flipForWritingMode): Deleted.

  • rendering/InlineBox.h:
2:31 PM Changeset in webkit [223259] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Teach InlineTextBox::clampOffset() about combined text and hyphenation
https://bugs.webkit.org/show_bug.cgi?id=178032

Reviewed by Zalan Bujtas.

Treat combined text and the last character of a word halve plus hyphen as single units.

With regards to combined text, ideally we would allow arbitrary selection inside combined
text. Currently we do not support selection of combined text. To simplify the process of
adding support for selecting combined text we treat combined text as a single unit. Once
we are confident that we correctly implemented such support we can re-evaluate allowing
arbitrary selection of combined text.

With regards to treating the last character of a word halve plus hyphen as a single unit.
This patch extends the targeted fix made for document markers in r223013 to all code that
makes use of clamped offsets as a result the selection rect for inline boxes more accurately
reflect the rectangle(s) that make up the painted selection. This is a step towards reconciling
the difference between the computation of the rectangle that represents an arbitrary
selection and the code that paints the active selection as part of <https://bugs.webkit.org/show_bug.cgi?id=138913>.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::localSelectionRect const): Compute text run, including combined text
or hyphens due to line wrapping now that specified start and end positions are clamped with
respect to combined text and hyphens (computed earlier in this function). Only measure the
text represented by the selection if the start position > 0 or the end position is not equal
to the length of the run.
(WebCore::InlineTextBox::paint): Remove unnecessary code to fix up the selection start and
end positions based on the truncation offset as this is done by clampedOffset(), called by
selectionStartEnd().
(WebCore::InlineTextBox::clampedOffset const): Modified to adjust the clamped offset with
respect to truncation as well as treat combined text or a trailing word halve plus hyphen
as single units. Assert that we are not fully truncated because it does not make sense to
be computing the clamped offset in such a situation since nothing should be painted.
(WebCore::InlineTextBox::selectionStartEnd const): Modified to compute the end of an inside
selection using clampedOffset() to account for truncation, combined text or a hyphen. We
already are using clampedOffset() when computing the start and end position for all other
selection states.
(WebCore::InlineTextBox::paintSelection): Compute text run, including combined text
or hyphens due to line wrapping now that specified start and end positions are clamped with
respect to combined text and hyphens (computed earlier in this function). Remove unnecessary
code to adjust selection end point with respect to truncation, combined text, or an added
hyphen now that selectionStartEnd() takes care of this (via clampedOffset()).
(WebCore::InlineTextBox::paintTextSubrangeBackground): Compute text run, including combined
text or hyphens due to line wrapping now that specified start and end positions are clamped
with respect to combined text and hyphens (computed earlier in this function).
(WebCore::InlineTextBox::paintDocumentMarker): Compute text run, including combined text now
that specified start and end positions are clamped with respect to combined text (computed earlier in this function).
Also remove unnecessary code to adjust end offset of the marker with respect to truncation
and length of the text run as clampedOffset() now does this for us.

2:29 PM Changeset in webkit [223258] by achristensen@apple.com
  • 3 edits in trunk/Source/WTF

Add CompletionHandler and HashCountedSet to wtf/Forward.h
https://bugs.webkit.org/show_bug.cgi?id=178231

Reviewed by Tim Horton.

  • wtf/Forward.h:
  • wtf/HashCountedSet.h:
2:21 PM Changeset in webkit [223257] by dino@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r223063. rdar://problem/34921832

2:16 PM Changeset in webkit [223256] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

Mark some xhtml tests as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=178230

Unreviewed test gardening.

  • platform/win/TestExpectations:
2:15 PM Changeset in webkit [223255] by dino@apple.com
  • 10 edits in branches/safari-604-branch

Cherry-pick r222961. <rdar://problem/34891070>

2:12 PM Changeset in webkit [223254] by Simon Fraser
  • 3 edits
    2 adds in trunk

Don't assert if mix-blend-mode is set to a non-separable blend mode on a composited layer
https://bugs.webkit.org/show_bug.cgi?id=178196
rdar://problem/34942337

Reviewed by Dan Bates.

Source/WebCore:

Core Animation doesn't support non-separable blend modes (hue, saturation, color, luminosity)
on layers, but don't assert if we try to use them.

Test: compositing/filters/blend-mode-saturation.html

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

(PlatformCAFilters::setBlendingFiltersOnLayer):

LayoutTests:

  • compositing/filters/blend-mode-saturation-expected.txt: Added.
  • compositing/filters/blend-mode-saturation.html: Added.
1:13 PM Changeset in webkit [223253] by wilander@apple.com
  • 22 edits
    32 adds in trunk

ResourceLoadObserver::logFrameNavigation() should use redirectResponse.url()
https://bugs.webkit.org/show_bug.cgi?id=175257
<rdar://problem/33359866>

Reviewed by Brent Fulgham.

Source/WebCore:

This patch was joint work between Michael Specter and John Wilander.

Tests: http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html

http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html
http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html
http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html
http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html
http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html
http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html
http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html
http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html
http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html
http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html
http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):

Now sends redirectResponse.url() to WebCore::ResourceLoadObserver::logFrameNavigation().

  • loader/ResourceLoadObserver.cpp:

(WebCore::ResourceLoadObserver::logFrameNavigation):

Now receives the redirect response URL from WebCore::DocumentLoader().

(WebCore::ResourceLoadObserver::nonNullOwnerURL const):

New function to traverse the frame chain upward and find the first non-null URL.

  • loader/ResourceLoadObserver.h:

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _resourceLoadStatisticsIsRegisteredAsSubFrameUnder:topFrameHost:completionHandler:]):
(-[WKWebsiteDataStore _resourceLoadStatisticsIsRegisteredAsRedirectingTo:hostRedirectedTo:completionHandler:]):

Test infrastructure.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::isRegisteredAsSubFrameUnder):
(WebKit::WebResourceLoadStatisticsStore::isRegisteredAsRedirectingTo):

Test infrastructure.

  • UIProcess/WebResourceLoadStatisticsStore.h:

Tools:

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

(WTR::TestRunner::isStatisticsRegisteredAsSubFrameUnder):
(WTR::TestRunner::isStatisticsRegisteredAsRedirectingTo):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):

Not implemented.

(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):

Not implemented.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::isStatisticsRegisteredAsSubFrameUnder):

Implemented platform-specific.

(WTR::TestController::isStatisticsRegisteredAsRedirectingTo):

Implemented platform-specific.

LayoutTests:

Marked new directory as [ Skip ] since these are WK2-only.

  • http/tests/resourceLoadStatistics: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
  • http/tests/resourceLoadStatistics/non-sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/resources: Added.
  • http/tests/resourceLoadStatistics/resources/iframe-report-back-loaded.html: Added.
  • http/tests/resourceLoadStatistics/resources/page-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/resources/page-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/resources/page-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/resources/page-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/resources/redirect.php: Added.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
  • http/tests/resourceLoadStatistics/sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-non-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip-expected.txt: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost-expected.txt: Added.
  • http/tests/resourceLoadStatistics/sandboxed-nesting-iframe-with-sandboxed-iframe-redirect-localhost-to-ip-to-localhost.html: Added.
  • platform/gtk/TestExpectations:

Marked new directory as [ Skip ].

  • platform/wk2/TestExpectations:

Marked new directory as [ Pass ].

  • platform/wpe/TestExpectations:

Marked new directory as [ Skip ].

1:07 PM Changeset in webkit [223252] by jmarcell@apple.com
  • 2 edits in tags/Safari-605.1.10/Source/JavaScriptCore

Cherry-pick r223248. rdar://problem/34956170

1:01 PM Changeset in webkit [223251] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked imported/w3c/web-platform-tests/fetch/security/dangling-markup-mitigation-data-url.tentative.sub.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=177547

Unreviewed test gardening.

  • platform/ios/TestExpectations:
12:51 PM Changeset in webkit [223250] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

12:48 PM Changeset in webkit [223249] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.2

Tag Safari-604.4.2.

12:24 PM Changeset in webkit [223248] by pvollan@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Win64] JSC compile error.
https://bugs.webkit.org/show_bug.cgi?id=178213

Reviewed by Alex Christensen.

Add static cast from int64 to uintptr_t.

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::executeOSRExit):

12:12 PM Changeset in webkit [223247] by aestes@apple.com
  • 5 edits in trunk

[iOS] Conditionally rename DatabaseProcess to StorageProcess when building for iOS devices
https://bugs.webkit.org/show_bug.cgi?id=178181
<rdar://problem/33660282>

Reviewed by Dan Bernstein.

Source/WebKit:

  • Configurations/BaseTarget.xcconfig:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::serviceName):

  • WebKit.xcodeproj/project.pbxproj:

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::databaseProcessName):

11:45 AM Changeset in webkit [223246] by mmaxfield@apple.com
  • 6 edits
    3 adds in trunk/Tools

Emit SPIR-V from WSL compiler (Part 1)
https://bugs.webkit.org/show_bug.cgi?id=177998

Reviewed by Filip Pizlo.

This patch implements the first half of a SPIR-V codegen phase for WSL.
This includes all the operations which aren't actually emitting the contents
of functions themselves. For example, this includes things like representing
WSL types with SPIR-V types, and declaring shaders' inputs and outputs. A
future patch will actually emit the contents of functions.

There are two helper visitors here: SPIRVTypeAnalyzer which generates SPIR-V
types from WSL types, and SPIRVPrimitiveVariableAnalyzer which identifies
input and output variables from a shader (and assigns location values to
each one).

This patch is currently pursuing the "logical mode" detailed in
https://bugs.webkit.org/show_bug.cgi?id=176967. In this mode, each pointer and
array reference operation can be statically traced to the variable or array it
is operating on.

This has the interesting property where accessing a pointer inside an array is
forbidden, because the array index may be computed at runtime, so the compiler
can't know at compile time which variable the pointer operation will be
accessing. However, this isn't true for structs; the program must statically
state which struct member it is accessing. Therefore, pointers or array
references must not transitively appear within an array, but they may appear
within a struct. The same logic applies to array references; those get lowered
to just two indexes in SPIR-V (a lower bound and an upper bound).

So, outside of an array, SPIR-V types don't need to include any pointers because
any operation with the pointer doesn't need access to the runtime value of the
pointer. Inside of an array, pointers are forbidden. Therefore, SPIR-V types
will never include any pointers.

This means that, for example, WSL can represent a linked list in logical mode.
However, a WSL program cannot iterate across the list, because that would require
assigning to a pointer. So instead, a program using a linked list could only say
something like "list.ptr->ptr->ptr->value".

  • WebGPUShadingLanguageRI/LateChecker.js:

(LateChecker.prototype._checkShaderType):

  • WebGPUShadingLanguageRI/SPIR-V.js:

(SPIRV.OperandChecker.prototype._isStar):
(SPIRV.OperandChecker.prototype.nextComparisonType):
(SPIRV.OperandChecker.prototype.finalize):
(SPIRV.OperandChecker):

  • WebGPUShadingLanguageRI/SPIRV.html:
  • WebGPUShadingLanguageRI/SPIRVCodegen.js: Added.

(findEntryPoints):
(emitTypes.doEmitTypes):
(emitTypes):
(ConstantFinder.prototype.visitGenericLiteralType):
(ConstantFinder):
(generateSPIRV):

  • WebGPUShadingLanguageRI/SPIRVTypeAnalyzer.js: Added.

(SPIRVTypeAnalyzer):
(SPIRVTypeAnalyzer.prototype.get program):
(SPIRVTypeAnalyzer.prototype.get typeMap):
(SPIRVTypeAnalyzer.prototype.get currentId):
(SPIRVTypeAnalyzer.prototype.get stack):
(SPIRVTypeAnalyzer.prototype.visitTypeRef):
(SPIRVTypeAnalyzer.prototype._encounterType):
(SPIRVTypeAnalyzer.prototype.visitNullType):
(SPIRVTypeAnalyzer.prototype.visitGenericLiteralType):
(SPIRVTypeAnalyzer.prototype.visitNativeType):
(SPIRVTypeAnalyzer.prototype.visitEnumType):
(SPIRVTypeAnalyzer.prototype.visitPtrType):
(SPIRVTypeAnalyzer.prototype.visitArrayRefType):
(SPIRVTypeAnalyzer.prototype.visitArrayType):
(SPIRVTypeAnalyzer.prototype.visitStructType):

  • WebGPUShadingLanguageRI/SPIRVVariableAnalyzer.js: Added.

(SPIRVPrimitiveVariableAnalyzer):
(SPIRVPrimitiveVariableAnalyzer.prototype.get program):
(SPIRVPrimitiveVariableAnalyzer.prototype.get typeMap):
(SPIRVPrimitiveVariableAnalyzer.prototype.get currentId):
(SPIRVPrimitiveVariableAnalyzer.prototype.get currentLocation):
(SPIRVPrimitiveVariableAnalyzer.prototype.get nameComponents):
(SPIRVPrimitiveVariableAnalyzer.prototype.get result):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitTypeRef):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitNullType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitGenericLiteralType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitNativeType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitEnumType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitPtrType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayRefType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitArrayType):
(SPIRVPrimitiveVariableAnalyzer.prototype.visitStructType):

  • WebGPUShadingLanguageRI/WSL.md:
  • WebGPUShadingLanguageRI/index.html:
11:31 AM Changeset in webkit [223245] by jmarcell@apple.com
  • 5 edits in branches/safari-604-branch

Apply patch. rdar://problem/34891292

11:31 AM Changeset in webkit [223244] by jmarcell@apple.com
  • 11 edits
    4 adds in branches/safari-604-branch

Apply patch. rdar://problem/34893194

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

Edited expectations for http/tests/media/video-buffered-range-contains-currentTime.html.
https://bugs.webkit.org/show_bug.cgi?id=177616

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
11:26 AM Changeset in webkit [223242] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

CacheStorage persistent folder should be in /Library/Cache
https://bugs.webkit.org/show_bug.cgi?id=178193

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-12
Reviewed by Brady Eidson.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultCacheStorageDirectory): Making CacheStorage
directory a subfolder of Caches folder.
(API::WebsiteDataStore::defaultDataStoreConfiguration):

  • UIProcess/WebProcessPool.cpp:

(WebKit::legacyWebsiteDataStoreConfiguration):
(WebKit::WebProcessPool::ensureNetworkProcess): Make sure the web site data store
has the right cache directory path. Also make sure that the quota is set even if there is no folder specified.
Quota may still be useful in case of non persistent sessions.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::resolveDirectoriesIfNecessary):

  • UIProcess/API/glib/APIWebsiteDataStoreGLib.cpp:

(API::WebsiteDataStore::defaultCacheStorageDirectory):

11:21 AM Changeset in webkit [223241] by mmaxfield@apple.com
  • 2 edits
    2 adds in trunk/Source/WebCore/PAL

[Win] Build fix after r223206
https://bugs.webkit.org/show_bug.cgi?id=171523

Unreviewed.

  • pal/PlatformWin.cmake:
  • pal/win/LoggingWin.cpp: Added.

(PAL::logLevelString):

10:42 AM Changeset in webkit [223240] by fred.wang@free.fr
  • 2 edits in trunk/Source/WebCore

Use less specific cast in ScrollingTree::scrollPositionChangedViaDelegatedScrolling
https://bugs.webkit.org/show_bug.cgi?id=178211

Patch by Frederic Wang <fwang@igalia.com> on 2017-10-12
Reviewed by Simon Fraser.

No new tests, behavior is not changed.

ScrollingTree::scrollPositionChangedViaDelegatedScrolling is a generic function that applies
to scrolling nodes. Casting to more specific ScrollingTreeOverflowScrollingNodes is however
not necessary to implement it. This patch moves to the least specific cast necessary so that
this function will be usable for async scrolling of non-main frames in the future. Note that
the function is currently only called from ScrollingTreeScrollingNodeDelegateIOS which in
turn is only used by the ScrollingTreeScrollingOverflowNodeIOS class and so code behavior is
not changed.

  • page/scrolling/ScrollingTree.cpp:

(WebCore::ScrollingTree::scrollPositionChangedViaDelegatedScrolling): Only cast the node to
ScrollingTreeScrollingNode.

9:02 AM Changeset in webkit [223239] by fpizlo@apple.com
  • 22 edits
    6 adds in trunk

Enable gigacage on iOS
https://bugs.webkit.org/show_bug.cgi?id=177586

Reviewed by JF Bastien.
JSTests:


Add tests for when Gigacage gets runtime disabled.

  • stress/disable-gigacage-arrays.js: Added.

(foo):

  • stress/disable-gigacage-strings.js: Added.

(foo):

  • stress/disable-gigacage-typed-arrays.js: Added.

(foo):

Source/bmalloc:


Introduce the ability to disable gigacage at runtime if allocation fails. If any step of gigacage
allocation fails, we free all of the gigacages and turn off gigacage support.

Roll this back in after discussion.

  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Cache.cpp:

(bmalloc::Cache::scavenge):

  • bmalloc/Cache.h:

(bmalloc::Cache::tryAllocate):
(bmalloc::Cache::allocate):
(bmalloc::Cache::deallocate):
(bmalloc::Cache::reallocate):

  • bmalloc/Gigacage.cpp:

(Gigacage::ensureGigacage):
(Gigacage::runway):
(Gigacage::totalSize):
(Gigacage::shouldBeEnabled):
(): Deleted.
(Gigacage::Callback::Callback): Deleted.
(Gigacage::Callback::function): Deleted.
(Gigacage::PrimitiveDisableCallbacks::PrimitiveDisableCallbacks): Deleted.

  • bmalloc/Gigacage.h:

(Gigacage::wasEnabled):
(Gigacage::isEnabled):
(Gigacage::runway): Deleted.
(Gigacage::totalSize): Deleted.

  • bmalloc/HeapKind.cpp: Added.

(bmalloc::isActiveHeapKind):
(bmalloc::mapToActiveHeapKind):

  • bmalloc/HeapKind.h:

(bmalloc::isActiveHeapKindAfterEnsuringGigacage):
(bmalloc::mapToActiveHeapKindAfterEnsuringGigacage):

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::scavenge):

  • bmalloc/bmalloc.h:

(bmalloc::api::tryLargeMemalignVirtual):
(bmalloc::api::freeLargeVirtual):
(bmalloc::api::isEnabled):

Source/JavaScriptCore:

The hardest part of enabling Gigacage on iOS is that it requires loading global variables while
executing JS, so the LLInt needs to know how to load from global variables on all platforms that
have Gigacage. So, this teaches ARM64 how to load from global variables.

Also, this makes the code handle disabling the gigacage a bit better.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::caged):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::cage):
(JSC::AssemblyHelpers::cageConditionally):

  • offlineasm/arm64.rb:
  • offlineasm/asm.rb:
  • offlineasm/instructions.rb:

Tools:


Add a mode to test disabling Gigacage.

  • Scripts/run-jsc-stress-tests:
  • Scripts/webkitruby/jsc-stress-test-writer-default.rb:
8:38 AM Changeset in webkit [223238] by weinig@apple.com
  • 54 edits in trunk

Remove out-parameter variants of copyToVector
https://bugs.webkit.org/show_bug.cgi?id=178155

Reviewed by Tim Horton.

Source/JavaScriptCore:

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchBreakpointActionLog):
(Inspector::ScriptDebugServer::dispatchBreakpointActionSound):
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe):
(Inspector::ScriptDebugServer::dispatchDidParseSource):
(Inspector::ScriptDebugServer::dispatchFailedToParseSource):
(Inspector::ScriptDebugServer::dispatchFunctionToListeners):

Replace out-parameter based copyToVector, with one that returns a Vector.

Source/WebCore:

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::stopTimersForOneShots):
(WebCore::Geolocation::cancelAllRequests):
(WebCore::Geolocation::handleError):
(WebCore::Geolocation::makeSuccessCallbacks):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBGetAllResult.cpp:

(WebCore::IDBGetAllResult::allBlobFilePaths const):

  • Modules/indexeddb/server/MemoryIndex.cpp:

(WebCore::IDBServer::MemoryIndex::notifyCursorsOfValueChange):
(WebCore::IDBServer::MemoryIndex::notifyCursorsOfAllRecordsChanged):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::dispatchInvalidationCallbacks):

  • dom/Document.cpp:

(WebCore::Document::moveNodeIteratorsToNewDocument):
(WebCore::Document::resume):
(WebCore::Document::didAssociateFormControlsTimerFired):

  • dom/IdTargetObserverRegistry.cpp:

(WebCore::IdTargetObserverRegistry::notifyObserversInternal):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::notifyMutationObservers):

  • dom/Node.cpp:

(WebCore::Document::invalidateNodeListAndCollectionCaches):

  • dom/RadioButtonGroups.cpp:
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::dispatchMessagePortEvents):
(WebCore::ScriptExecutionContext::stopActiveDOMObjects):

  • loader/appcache/ApplicationCacheGroup.cpp:

(WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
(WebCore::ApplicationCacheGroup::deliverDelayedMainResources):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::forEachResource):
(WebCore::MemoryCache::pruneDeadResourcesToSize):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::willDestroyCachedFrame):
(WebCore::DOMWindow::willDestroyDocumentInFrame):
(WebCore::DOMWindow::willDetachDocumentFromFrame):
(WebCore::DOMWindow::disconnectDOMWindowProperties):
(WebCore::DOMWindow::reconnectDOMWindowProperties):

  • page/FrameView.cpp:

(WebCore::collectAndProtectWidgets):

  • page/MemoryRelease.cpp:

(WebCore::releaseCriticalMemory):

  • page/Performance.cpp:

(WebCore::Performance::queueEntry):

  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::Pasteboard::typesForLegacyUnsafeBindings):

  • platform/graphics/cocoa/FontCacheCoreText.cpp:

(WebCore::FontCache::systemFontFamilies):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

  • platform/ios/WebCoreMotionManager.mm:

(-[WebCoreMotionManager sendAccelerometerData:]):
(-[WebCoreMotionManager sendMotionData:withHeading:]):

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const):

  • platform/network/cocoa/WebCoreNSURLSession.mm:

(-[WebCoreNSURLSession invalidateAndCancel]):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::endAndCommitUpdateScrollInfoAfterLayoutTransaction):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::setLogicalWidthForTextRun):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::FlexBoxIterator::next):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::paintObject):

Replace out-parameter based copyToVector, with one that returns a Vector.

Source/WebKit:

  • Shared/API/Cocoa/_WKRemoteObjectInterface.mm:

(-[_WKRemoteObjectInterface debugDescription]):

  • Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::dump):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetState):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createNewWebProcess):

  • UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:

(WebKit::WebsiteDataStore::parameters):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::pendingCookies const):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(-[WKProcessAssertionBackgroundTaskManager _notifyClientsOfImminentSuspension]):

  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::getHostnamesWithCookies):

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::internallyFailedLoadTimerFired):

Replace out-parameter based copyToVector, with one that returns a Vector.

Source/WebKitLegacy/ios:

  • Misc/WebGeolocationProviderIOS.mm:

(-[WebGeolocationProviderIOS _handlePendingInitialPosition:]):
(-[WebGeolocationProviderIOS positionChanged:]):
(-[WebGeolocationProviderIOS errorOccurred:]):
(-[WebGeolocationProviderIOS resetGeolocation]):

Replace out-parameter based copyToVector, with one that returns a Vector.

Source/WebKitLegacy/mac:

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView destroyPlugin]):

  • WebView/WebHTMLRepresentation.mm:

(newArrayWithStrings):

Replace out-parameter based copyToVector, with one that returns a Vector.

Source/WTF:

  • wtf/HashMap.h:

(WTF::copyToVector): Deleted.

  • wtf/HashSet.h:

(WTF::copyToVector): Deleted.

Remove copyToVector.


  • wtf/Vector.h:

(WTF::copyToVectorSpecialization):

Add another version of copyToVector, called copyToVectorSpecialization, that allows
you to specify the entire specialization for the Vector you want to copy to. This
can be useful if you want your resulting Vector to have an inline capacity.

Tools:

  • DumpRenderTree/JavaScriptThreading.cpp:

(stopJavaScriptThreads):

6:12 AM Changeset in webkit [223237] by Yusuke Suzuki
  • 31 edits
    1 copy
    18 adds in trunk

Support integrity="" on module scripts
https://bugs.webkit.org/show_bug.cgi?id=177959

Reviewed by Sam Weinig.

Source/JavaScriptCore:

This patch adds Subresource Integrity check for module scripts. Currently,
only top-level module can be verified with integrity parameter since there
is no way to perform integrity check onto the imported modules.

In JSC side, we add parameters to the entry point of the module loader
pipeline. This is fetching parameters and used when fetching modules.

We separately pass this parameters to the pipeline along with the script fetcher.
The script fetcher is only one for module graph since this is the initiator of
this module graph loading. On the other hand, this parameters is for each
module fetching. While setting "integrity" parameters to this script fetcher is
sufficient to pass parameters to top-level-module's fetching, it is not enough
for the future extension.

In the future, we will investigate a way to pass parameters to each non-top-level
module. At that time, this parameters should be per-module. This is because
"integrity" value should be different for each module. For example, we will accept
some form of syntax to add parameters to import. Some proposed syntax is like
https://discourse.wicg.io/t/specifying-nonce-or-integrity-when-importing-modules/1861

import "./xxx.js" integrity "xxxxxxx"

In this case, this parameters will be passed to "./xxx.js" module fetching. This
parameters should be different from the one of top-level-module's one. That's why
we need per-module parameters and why this patch adds parameters to the module pipeline.

On the other hand, we also want to keep script fetcher. This per-module-graph thing
is important to offer module-graph-wide information. For example, import.meta would
have import.meta.scriptElement, which is the script element fetching the module graph
including this. So, we keep the both, script fetcher and parameters.
https://github.com/tc39/proposal-import-meta

This parameters will be finally used by pipeline's fetch hook, and WebCore side
can use this parameters to fetch modules.

We also further clean up the module pipeline by dropping unnecessary features.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • builtins/ModuleLoaderPrototype.js:

(requestFetch):
(requestInstantiate):
(requestSatisfy):
(loadModule):
(loadAndEvaluateModule):
This loadAndEvaluateModule should be implemented by just calling loadModule and
linkAndEvaluateModule. We can drop requestReady and requestLink.

(requestLink): Deleted.
(requestImportModule): Deleted.

  • jsc.cpp:

(GlobalObject::moduleLoaderImportModule):
(GlobalObject::moduleLoaderFetch):
import and fetch hook takes parameters. Currently, we always pass undefined for
import hook. When dynamic import() is extended to accept additional parameters
like integrity, this parameters will be replaced with the actual value.

(functionLoadModule):
(runWithOptions):

  • runtime/Completion.cpp:

(JSC::loadAndEvaluateModule):
(JSC::loadModule):
(JSC::importModule):

  • runtime/Completion.h:
  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncImportModule):

  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::loadAndEvaluateModule):
(JSC::JSModuleLoader::loadModule):
(JSC::JSModuleLoader::requestImportModule):
(JSC::JSModuleLoader::importModule):
(JSC::JSModuleLoader::fetch):

  • runtime/JSModuleLoader.h:
  • runtime/JSScriptFetchParameters.cpp: Added.

(JSC::JSScriptFetchParameters::destroy):

  • runtime/JSScriptFetchParameters.h: Added.

(JSC::JSScriptFetchParameters::createStructure):
(JSC::JSScriptFetchParameters::create):
(JSC::JSScriptFetchParameters::parameters const):
(JSC::JSScriptFetchParameters::JSScriptFetchParameters):
Add ScriptFetchParameters' JSCell wrapper, JSScriptFetchParameters.
It is used in the module pipeline.

  • runtime/JSType.h:
  • runtime/ModuleLoaderPrototype.cpp:

(JSC::moduleLoaderPrototypeFetch):

  • runtime/ScriptFetchParameters.h: Added.

(JSC::ScriptFetchParameters::~ScriptFetchParameters):
Add ScriptFetchParameters. We can define our own custom ScriptFetchParameters
by inheriting this class. WebCore creates ModuleFetchParameters by inheriting
this.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

This patch extends module hooks to accept fetching parameters.
When starting fetching modules, WebCore creates ModuleFetchParameters.
And this parameters is propagated to the fetch hook. Then, fetch
hook can use this parameters to fetch modules.

This parameters only contains integrity field. This "integrity" is
used to perform subresource integrity check in module loader pipeline.
And this error is just proparaged as errors in module pipeline, which
is the same to the other types of errors in module pipeline.

Test: http/tests/subresource-integrity/sri-module.html

  • ForwardingHeaders/runtime/JSScriptFetchParameters.h: Added.
  • ForwardingHeaders/runtime/ScriptFetchParameters.h: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/CachedModuleScriptLoader.cpp:

(WebCore::CachedModuleScriptLoader::create):
(WebCore::CachedModuleScriptLoader::CachedModuleScriptLoader):
Take parameters, which includes "integrity".

  • bindings/js/CachedModuleScriptLoader.h:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::moduleLoaderFetch):
(WebCore::JSDOMWindowBase::moduleLoaderImportModule):
import and fetch hooks take parameters.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::loadModule):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::loadModuleScriptInWorld):
(WebCore::ScriptController::loadModuleScript):
Pass parameters to the entry point of the module pipeline.

  • bindings/js/ScriptController.h:
  • bindings/js/ScriptModuleLoader.cpp:

(WebCore::ScriptModuleLoader::fetch):
If parameters are passed, we set them to CachedModuleScriptLoader.

(WebCore::ScriptModuleLoader::importModule):
Pass parameters to the entry point of dynamic import.

(WebCore::ScriptModuleLoader::notifyFinished):
If script loader has parameters, we perform subresource integrity check here.

  • bindings/js/ScriptModuleLoader.h:
  • dom/LoadableModuleScript.cpp:

(WebCore::LoadableModuleScript::create):
(WebCore::LoadableModuleScript::LoadableModuleScript):
(WebCore::LoadableModuleScript::load):
Create ModuleFetchParameters with "integrity" value.

  • dom/LoadableModuleScript.h:
  • dom/ModuleFetchParameters.h: Copied from Source/WebCore/bindings/js/CachedModuleScriptLoader.h.

(WebCore::ModuleFetchParameters::create):
(WebCore::ModuleFetchParameters::integrity const):
(WebCore::ModuleFetchParameters::ModuleFetchParameters):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestModuleScript):
Pass "integrity" value to the module script.

LayoutTests:

  • http/tests/subresource-integrity/resources/crossorigin-anon-script-module.js: Added.
  • http/tests/subresource-integrity/resources/crossorigin-creds-script-module.js: Added.
  • http/tests/subresource-integrity/resources/crossorigin-ineligible-script-module.js: Added.
  • http/tests/subresource-integrity/resources/matching-digest-module.js: Added.
  • http/tests/subresource-integrity/resources/non-matching-digest-module.js: Added.
  • http/tests/subresource-integrity/resources/sri-utilities.js:

(add_result_callback):
(SRIModuleTest):
(SRIModuleTest.prototype.execute):

  • http/tests/subresource-integrity/sri-module-expected.txt: Added.
  • http/tests/subresource-integrity/sri-module.html: Added.
  • js/dom/modules/module-inline-ignore-integrity-expected.txt: Added.
  • js/dom/modules/module-inline-ignore-integrity.html: Added.
  • js/dom/modules/module-integrity-non-top-level-expected.txt: Added.
  • js/dom/modules/module-integrity-non-top-level.html: Added.
  • js/dom/modules/script-tests/module-integrity-non-top-level-2.js: Added.
  • js/dom/modules/script-tests/module-integrity-non-top-level.js: Added.
5:45 AM Changeset in webkit [223236] by commit-queue@webkit.org
  • 4 edits in trunk

It should be possible to iterate just the values (and not the counts) of a HashCountedSet
https://bugs.webkit.org/show_bug.cgi?id=178169

Patch by Sam Weinig <sam@webkit.org> on 2017-10-12
Reviewed by Daniel Bates.

Source/WTF:

Cleanup (fix indentation, simplify type names, adopt using), and add a values() range to
HashCountedSet. This will allow getting a Vector of all the values (and not the counts)
using the new copyToVector.

  • wtf/HashCountedSet.h:

Tools:

  • TestWebKitAPI/Tests/WTF/HashCountedSet.cpp:

(TestWebKitAPI::TEST):
Add test for HashCountedSet's new values() range.

4:58 AM Changeset in webkit [223235] by tpopela@redhat.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix compilation warning

warning: extra tokens at end of #endif directive [-Wendif-labels]

  • rendering/RenderMediaControls.h:
1:37 AM Changeset in webkit [223234] by fred.wang@free.fr
  • 3 edits in trunk/Tools

run-safari --ios-simulator is no longer working with Xcode 9
https://bugs.webkit.org/show_bug.cgi?id=177595

Patch by Frederic Wang <fwang@igalia.com> on 2017-10-11
Reviewed by Daniel Bates.

In Xcode 9, the path of the simulator application is now in a new CoreSimulator subdirectory
of the iphoneOS SDK platform. This patch updates webkitdirs.pm to use the new path in
Xcode 9 or higher so that it is possible to run Safari on the iOS simulator again. It also
does some minor code refactoring to improve code reuse.

  • Scripts/configure-xcode-for-ios-development: Move sdkDirectory() and sdkPlatformDirectory()

into webkitdirs.
(sdkDirectory): Deleted.
(sdkPlatformDirectory): Deleted.

  • Scripts/webkitdirs.pm: Expose new sdkDirectory() and sdkPlatformDirectory().

(sdkDirectory): Moved from configure-xcode-for-ios-development.
(sdkPlatformDirectory): Ditto.
(XcodeSDKPath): Rely on sdkDirectory() to implement this function.
(iosSimulatorApplicationsPath): In Xcode 9 or higher use the new path. It is calculated
by relying on sdkPlatformDirectory().

Oct 11, 2017:

11:46 PM Changeset in webkit [223233] by jmarcell@apple.com
  • 5 edits in tags/Safari-605.1.10/Source/WebCore

Cherry-pick r223212. rdar://problem/33667497

11:45 PM Changeset in webkit [223232] by Yusuke Suzuki
  • 9 edits
    1 add in trunk

import.meta should not be assignable
https://bugs.webkit.org/show_bug.cgi?id=178202

Reviewed by Saam Barati.

JSTests:

  • modules/import-meta-assignment.js: Added.

(shouldThrow):
(SyntaxError.import.meta.can.shouldThrow):

Source/JavaScriptCore:

import.meta cannot be used for LHS. This patch adds MetaPropertyNode
and make NewTargetNode and ImportMetaNode as derived classes of MetaPropertyNode.
We change the parser not to allow assignments for MetaPropertyNode.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ImportMetaNode::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createImportMetaExpr):
(JSC::ASTBuilder::isMetaProperty):
(JSC::ASTBuilder::isImportMeta):

  • parser/NodeConstructors.h:

(JSC::MetaPropertyNode::MetaPropertyNode):
(JSC::NewTargetNode::NewTargetNode):
(JSC::ImportMetaNode::ImportMetaNode):

  • parser/Nodes.h:

(JSC::ExpressionNode::isMetaProperty const):
(JSC::ExpressionNode::isImportMeta const):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::metaPropertyName):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
(JSC::Parser<LexerType>::parseUnaryExpression):

  • parser/Parser.h:
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createImportMetaExpr):
(JSC::SyntaxChecker::isMetaProperty):
(JSC::SyntaxChecker::isImportMeta):

11:15 PM Changeset in webkit [223231] by jmarcell@apple.com
  • 1 copy in tags/Safari-605.1.10

Tag Safari-605.1.10.

10:20 PM October 2017 Meeting edited by mjs@apple.com
(diff)
9:31 PM Changeset in webkit [223230] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit

Fix debug build

Unreviewed.

Add ENABLE(SERVICE_WORKER) guard.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::createWebPage):

9:24 PM Changeset in webkit [223229] by jmarcell@apple.com
  • 6 edits
    1 copy
    1 add in branches/safari-604-branch/Source/WebKit

Apply patch. rdar://problem/34920294

8:01 PM Changeset in webkit [223228] by Brent Fulgham
  • 7 edits in trunk/Source/WebCore

Correct nullptr deref in selection handling.
https://bugs.webkit.org/show_bug.cgi?id=178189
<rdar://problem/33833012>

Reviewed by Ryosuke Niwa.

The VisibleSelection::toNormalizedRange returns nullptr for certain conditions (e.g., 'isNone'
and 'isOrphaned' cases). It's possible to crash the WebProcess by executing a code path with
an orphaned selection range.

The return value of 'toNormalizedRange' is checked for nullptr in many places, but not everywhere.
This patch adds those missing nullptr checks.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper textMarkerRangeForSelection]):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::styleAtSelectionStart):

  • editing/Editor.cpp:

(WebCore::Editor::misspelledWordAtCaretOrRange const):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::containsNode const):

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):

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

Mark http/tests/cache-storage/cache-clearing.https.html as failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=178200

Unreviewed test gardening.

  • platform/win/TestExpectations:
6:15 PM Changeset in webkit [223226] by Dewei Zhu
  • 3 edits in trunk/Tools

run-benchmark script should set 'XPC_DYLD_FRAMEWORK_PATH' while launching local-built Safari on Mac.
https://bugs.webkit.org/show_bug.cgi?id=178199

Reviewed by Saam Barati.

'XPC_DYLD_FRAMEWORK_PATH' should be set while launching Safari on run-benchmark script.
'force_remove' function should support both file and directory.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver.launch_url):

  • Scripts/webkitpy/benchmark_runner/utils.py:

(force_remove):

6:13 PM Changeset in webkit [223225] by jmarcell@apple.com
  • 7 edits in trunk/Source

Versioning.

6:06 PM Changeset in webkit [223224] by jmarcell@apple.com
  • 7 edits in branches/safari-604.3.5.0-branch/Source

Versioning.

6:03 PM Changeset in webkit [223223] by jmarcell@apple.com
  • 7 edits in branches/safari-604-branch/Source

Versioning.

5:53 PM Changeset in webkit [223222] by sbarati@apple.com
  • 5 edits in trunk

Runtime disable poly proto because it may be a 3-4% Speedometer regression
https://bugs.webkit.org/show_bug.cgi?id=178192

Reviewed by JF Bastien.

Source/JavaScriptCore:

  • runtime/Options.h:
  • runtime/StructureInlines.h:

(JSC::Structure::shouldConvertToPolyProto):

Tools:

  • Scripts/run-jsc-stress-tests:
5:47 PM Changeset in webkit [223221] by Ryan Haddad
  • 7 edits in trunk

Unreviewed, rolling out r223215.

This change broke the Sierra build.

Reverted changeset:

"[Apple Pay] Add subLocality and subAdministrativeArea to
ApplePayPaymentContact"
https://bugs.webkit.org/show_bug.cgi?id=178191
https://trac.webkit.org/changeset/223215

5:46 PM Changeset in webkit [223220] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Add API to clean CacheStorage data
https://bugs.webkit.org/show_bug.cgi?id=178034

Unreviewed.

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-11

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::fetchWebsiteData): Fixing lifetime of aggregator.

5:33 PM Changeset in webkit [223219] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

[JSC] Add ability to build with ARMV8 ILP32 ABI
https://bugs.webkit.org/show_bug.cgi?id=178194

Reviewed by Saam Barati.

For ARMV8 32 bit ABI, use JSVALUE32_64 and the CLOOP.

  • wtf/Platform.h:
5:33 PM Changeset in webkit [223218] by Ryan Haddad
  • 1 edit
    1 add in trunk/LayoutTests

Rebaseline fast/scrolling/adjust-scroll-offset-on-zoom.html for iOS.

Unreviewed test gardening.

  • platform/ios/fast/scrolling/adjust-scroll-offset-on-zoom-expected.txt: Added.
5:27 PM Changeset in webkit [223217] by Chris Dumez
  • 7 edits
    4 deletes in trunk

XMLHttpRequest: do not sniff text/html, and do not sniff XML when responseType is set to "text"
https://bugs.webkit.org/show_bug.cgi?id=168724

Reviewed by Ryosuke Niwa.

LayoutTests/imported/w3c:

Rebaseline web-platform-tests now that all checks are passing.

  • web-platform-tests/XMLHttpRequest/responsetext-decoding-expected.txt:

Source/WebCore:

WebKit enabled HTML / XML charset detection for HTML-ish / XML-ish
responses even when response type is text, which does not match the
specification.

This patch is based on the following Blink patch by Yutaka Hirano <yhirano@chromium.org>:

Tests:
imported/w3c/web-platform-tests/XMLHttpRequest/responsetext-decoding.htm
imported/w3c/web-platform-tests/XMLHttpRequest/responsedocument-decoding.htm

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createDecoder const):
(WebCore::XMLHttpRequest::didReceiveData):

  • xml/XMLHttpRequest.h:

LayoutTests:

Drop outdated test, proper behavior is covered by web-platform-tests.

  • fast/xmlhttprequest/xmlhttprequest-html-response-encoding-expected.txt: Removed.
  • fast/xmlhttprequest/xmlhttprequest-html-response-encoding.html: Removed.
5:17 PM Changeset in webkit [223216] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark imported/w3c/web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm as flaky.
https://bugs.webkit.org/show_bug.cgi?id=178190

Unreviewed test gardening.

  • platform/mac/TestExpectations:
5:14 PM Changeset in webkit [223215] by aestes@apple.com
  • 7 edits in trunk

[Apple Pay] Add subLocality and subAdministrativeArea to ApplePayPaymentContact
https://bugs.webkit.org/show_bug.cgi?id=178191
<rdar://problem/34906367>

Reviewed by Tim Horton.

Source/WebCore:

Added test cases to http/tests/ssl/applepay/ApplePaySession.html.

  • Modules/applepay/ApplePayPaymentContact.h:
  • Modules/applepay/ApplePayPaymentContact.idl:
  • Modules/applepay/cocoa/PaymentContactCocoa.mm:

(WebCore::convert):

LayoutTests:

  • http/tests/ssl/applepay/ApplePaySession-expected.txt:
  • http/tests/ssl/applepay/ApplePaySession.html:
5:00 PM Changeset in webkit [223214] by sbarati@apple.com
  • 4 edits in trunk/JSTests

Unreviewed. Actually skip certain type profiler tests in debug.

  • typeProfiler.yaml:
  • typeProfiler/deltablue-for-of.js:
  • typeProfiler/getter-richards.js:
5:00 PM October 2017 Meeting edited by rniwa@webkit.org
Make Maciej the speaker of feature focus talk, and swap the time slot … (diff)
4:55 PM Changeset in webkit [223213] by commit-queue@webkit.org
  • 26 edits
    1 copy
    2 adds in trunk

Add API to clean CacheStorage data
https://bugs.webkit.org/show_bug.cgi?id=178034

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

Source/WebCore:

Test: http/tests/cache-storage/cache-clearing.https.html

  • platform/FileSystem.h:

Source/WebKit:

Introducing a new website data type for DOMCache.
Adding API to delete DOMCache for a given origin or for all origins.
This is added to WKWebsiteDataStore.

Cleaning a CacheStorage will remove all data in the Cache object but the object will stay live
for the duration of the NetworkProcess.
This allows ensuring that once a cache is cleaned, WebProcess will update to this new state.

Fetching of WebsiteData for DOMCache is not implemented yet since we do not keep a list of all origins for which we have data.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::fetchDOMCacheEntries):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::cachesRootPath):
(WebKit::CacheStorage::Engine::fetchEntries):
(WebKit::CacheStorage::ClearTasksHandler::ClearTasksHandler):
(WebKit::CacheStorage::ClearTasksHandler::~ClearTasksHandler):
(WebKit::CacheStorage::Engine::clearEngines):
(WebKit::CacheStorage::Engine::clearCachesForOrigins):
(WebKit::CacheStorage::Engine::readCachesFromDisk):
(WebKit::CacheStorage::deleteFolder):
(WebKit::CacheStorage::Engine::clearCaches):
(WebKit::CacheStorage::Engine::unlock): Removing the assertion as Cache objects are removed when clearing data.

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

(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::clear):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:

(WebKit::CacheStorage::Caches::create):

  • Shared/WebsiteData/WebsiteDataType.h:
  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreRemoveAllDOMCaches):
(WKWebsiteDataStoreRemoveDOMCacheForOrigin):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(dataTypesToString):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataType):
(WebKit::toWKWebsiteDataTypes):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(+[WKWebsiteDataStore allWebsiteDataTypes]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::computeNetworkProcessAccessTypeForDataFetch):
(WebKit::computeNetworkProcessAccessTypeForDataRemoval):

Source/WTF:

Moving CallbackAggregator pattern into its own class for easier reuse.

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

(WTF::CallbackAggregator::create):
(WTF::CallbackAggregator::~CallbackAggregator):
(WTF::CallbackAggregator::CallbackAggregator):

Tools:

Adding internals API to trigger deleting all or origin-persistent cache storage persistent data.

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

(WTR::TestRunner::clearDOMCache):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::clearDOMCache):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

  • http/tests/cache-storage/cache-clearing.https-expected.txt: Added.
  • http/tests/cache-storage/cache-clearing.https.html: Added.
4:26 PM Changeset in webkit [223212] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Part 2: Fix -Wcast-qual and -Wunused-lambda-capture warnings in WebCore with new clang compiler
<https://webkit.org/b/178036>
<rdar://problem/33667497>

Reviewed by Chris Dumez.

  • Modules/cache/WorkerCacheStorageConnection.cpp:

(WebCore::WorkerCacheStorageConnection::doRemove):

  • Change ASSERT() to ASSERT_UNUSED() to suppress warnings about unused lambda capture for 'cacheIdentifier' in Release builds.
  • bridge/objc/objc_class.mm:

(JSC::Bindings::ObjcClass::classForIsA): Change C-style cast
into reinterpret_cast and const_cast to go from CFTypeRef to
ObjcClass*.

  • crypto/mac/CryptoKeyRSAMac.cpp:

(WebCore::castDataArgumentToCCRSACryptorCreateFromDataIfNeeded):
Add. Introduce method to add a required const_cast for older
OSes since the signature of CCRSACryptorCreateFromData() changed
in iOS 11 & High Sierra.
(WebCore::CryptoKeyRSA::create): Use
castDataArgumentToCCRSACryptorCreateFromDataIfNeeded().

  • platform/graphics/cocoa/WebCoreDecompressionSession.mm:

(WebCore::WebCoreDecompressionSession::handleDecompressionOutput):
Remove unused lambda capture for 'status'.

3:21 PM Changeset in webkit [223211] by Chris Dumez
  • 25 edits
    2 adds in trunk

[Geolocation] Expose Coordinates.floorLevel
https://bugs.webkit.org/show_bug.cgi?id=178173
<rdar://problem/34918936>

Reviewed by Ryosuke Niwa.

Source/WebCore:

Expose Coordinates.floorLevel via the Geolocation API. This is currently
a WebKit-specific extension and it is only populated on iOS / WKTR / DRT.
It is null on other platforms.

Test: fast/dom/Geolocation/floorLevel.html

  • Modules/geolocation/Coordinates.h:

(WebCore::Coordinates::floorLevel const):

  • Modules/geolocation/Coordinates.idl:
  • Modules/geolocation/GeolocationPosition.h:

(WebCore::GeolocationPosition::encode const):
(WebCore::GeolocationPosition::decode):

  • Modules/geolocation/ios/GeolocationPositionIOS.mm:

(WebCore::GeolocationPosition::GeolocationPosition):

  • page/Settings.in:

Source/WebKit:

  • UIProcess/API/C/WKGeolocationPosition.cpp:

(WKGeolocationPositionCreate):
(WKGeolocationPositionCreate_b):
(WKGeolocationPositionCreate_c):

  • UIProcess/API/C/WKGeolocationPosition.h:

Tools:

Add test infrastructure for testing Coordinates.floorLevel.

  • DumpRenderTree/TestRunner.cpp:

(setMockGeolocationPositionCallback):

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

(TestRunner::setMockGeolocationPosition):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setMockGeolocationPosition):

  • WebKitTestRunner/GeolocationProviderMock.cpp:

(WTR::GeolocationProviderMock::setPosition):

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

(WTR::InjectedBundle::setMockGeolocationPosition):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setMockGeolocationPosition):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::setMockGeolocationPosition):

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

Add layout test coverage.

  • fast/dom/Geolocation/floorLevel-expected.txt: Added.
  • fast/dom/Geolocation/floorLevel.html: Added.
2:33 PM Changeset in webkit [223210] by Simon Fraser
  • 5 edits
    2 adds in trunk

Avoid triggering layout from style change
https://bugs.webkit.org/show_bug.cgi?id=178184
Source/WebCore:

rdar://problem/34699113

Reviewed by Zalan Bujtas.

It's bad for RenderBox::styleDidChange() to scroll RenderLayers, because that
can trigger layout via FrameView::updateWidgetPositions() and ScrollingCoordinator::absoluteEventTrackingRegions().
So postpone the scrolling until after layout.

Test: fast/scrolling/adjust-scroll-offset-on-zoom.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::setPostLayoutScrollPosition):
(WebCore::RenderLayer::applyPostLayoutScrollPositionIfNeeded):

  • rendering/RenderLayer.h:

LayoutTests:

Reviewed by Zalan Bujtas.

  • fast/scrolling/adjust-scroll-offset-on-zoom-expected.txt: Added.
  • fast/scrolling/adjust-scroll-offset-on-zoom.html: Added.
1:54 PM Changeset in webkit [223209] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Make 3D objects selectable in Layers visualization
https://bugs.webkit.org/show_bug.cgi?id=178136

Patch by Ross Kirsling <Ross Kirsling> on 2017-10-11
Reviewed by Devin Rousso.

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView):
(WI.Layers3DContentView.prototype.initialLayout):
(WI.Layers3DContentView.prototype._canvasMouseDown):
(WI.Layers3DContentView.prototype._updateLayerGroupSelection):
Implement selection of 3D layer objects.

(WI.Layers3DContentView.prototype._addLayerGroup): Renamed from _addLayer.
(WI.Layers3DContentView.prototype._updateLayerGroupPosition):
(WI.Layers3DContentView.prototype._createLayerMesh):
Refactor -- one group per layer (visible plane and composited outline), not groups by shape.

(WI.Layers3DContentView.prototype.layout):
(WI.Layers3DContentView.prototype._updateLayers):
(WI.Layers3DContentView.prototype._clearLayers): Deleted.
Don't destroy all 3D objects on every LayerTreeDidChange; make use of layerTreeMutations.
(Not only a performance improvement, but also necessary to properly preserve highlighting.)

(WI.Layers3DContentView.prototype.selectLayerById):
Allow selection to be updated from the outside.

  • UserInterface/Views/LayerDetailsSidebarPanel.js:

(WI.LayerDetailsSidebarPanel.prototype.selectNodeByLayerId):
(WI.LayerDetailsSidebarPanel.prototype._buildDataGrid):
(WI.LayerDetailsSidebarPanel.prototype._dataGridSelectedNodeChanged):
Allow selection to be updated from the outside.

(WI.LayerDetailsSidebarPanel.prototype.inspect):
(WI.LayerDetailsSidebarPanel.prototype._updateLayers): Renamed from _updateDisplayWithLayers.
(WI.LayerDetailsSidebarPanel.prototype._updateDataGrid):
(WI.LayerDetailsSidebarPanel.prototype._updateBottomBar):
(WI.LayerDetailsSidebarPanel.prototype._contentForPopover):
(WI.LayerDetailsSidebarPanel.prototype._dataGridNodeForLayer): Deleted.
Cleanup.

  • UserInterface/Views/LayersTabContentView.js:

(WI.LayersTabContentView):
(WI.LayersTabContentView.prototype._detailsSidebarSelectedLayerChanged):
(WI.LayersTabContentView.prototype._contentViewSelectedLayerChanged):
Orchestrate communication of selection state between visualization and sidebar.

1:43 PM Changeset in webkit [223208] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.4.1

Tag Safari-604.4.1.

1:41 PM Changeset in webkit [223207] by commit-queue@webkit.org
  • 21 edits in trunk

Bump default cache storage quota to 20MB
https://bugs.webkit.org/show_bug.cgi?id=178132

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

Source/WebCore:

Covered by http/wpt/cache-storage/cache-quota.any.html.

  • platform/network/NetworkStorageSession.h:

(WebCore::NetworkStorageSession::cacheStoragePerOriginQuota const):
(WebCore::NetworkStorageSession::setCacheStoragePerOriginQuota):

Source/WebKit:

Adding the ability to set the quota per origin through WebsiteDataStore.
Moving cache storage directory setting also in WebsiteDataStore.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::ensureLegacyPrivateBrowsingSession):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession):

  • Shared/WebsiteDataStoreParameters.cpp:

(WebKit::WebsiteDataStoreParameters::encode const):
(WebKit::WebsiteDataStoreParameters::decode):

  • Shared/WebsiteDataStoreParameters.h:
  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::createWithLegacyOptions):
(API::ProcessPoolConfiguration::createWithWebsiteDataStoreConfiguration):
(API::ProcessPoolConfiguration::ProcessPoolConfiguration):
(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:
  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _cacheStoragePerOriginQuota]):
(-[WKWebsiteDataStore _setCacheStoragePerOriginQuota:]):
(-[WKWebsiteDataStore _cacheStorageDirectory]):
(-[WKWebsiteDataStore _setCacheStorageDirectory:]):

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:
  • UIProcess/WebProcessPool.cpp:

(WebKit::legacyWebsiteDataStoreConfiguration):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::setAnyPageGroupMightHavePrivateBrowsingEnabled):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebsiteData/WebsiteDataStore.h:

(WebKit::WebsiteDataStore::cacheStoragePerOriginQuota const):
(WebKit::WebsiteDataStore::setCacheStoragePerOriginQuota):
(WebKit::WebsiteDataStore::cacheStorageDirectory const):
(WebKit::WebsiteDataStore::setCacheStorageDirectory):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::generateContextConfiguration const):

  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::initializeWebViewConfiguration): Setting quota to 400kb

1:30 PM Changeset in webkit [223206] by mmaxfield@apple.com
  • 13 edits
    4 copies
    1 move
    1 add in trunk/Source

Allow PAL to log messages
https://bugs.webkit.org/show_bug.cgi?id=171523

Reviewed by Alex Christensen.

Source/WebCore:

Make the model of WebCore/PAL match the model of WebKit/WebCore. This is because PAL will
need to log things (because existing files in WebCore/platform need to log things).

No new tests because there is no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • page/mac/PageMac.mm:

(WebCore::Page::platformInitialize):

  • platform/Logging.cpp:

(WebCore::registerNotifyCallback): Deleted.

  • platform/Logging.h:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseForWithReason):

Source/WebCore/PAL:

  • PAL.xcodeproj/project.pbxproj:
  • pal/CMakeLists.txt:
  • pal/LogInitialization.h: Copied from Source/WebCore/platform/LogMacros.h.
  • pal/LogMacros.h: Copied from Source/WebCore/platform/LogMacros.h.
  • pal/Logging.cpp: Copied from Source/WebCore/platform/Logging.cpp.

(PAL::isLogChannelEnabled):
(PAL::setLogChannelToAccumulate):
(PAL::initializeLogChannelsIfNecessary):
(PAL::registerNotifyCallback):

  • pal/Logging.h: Copied from Source/WebCore/platform/LogMacros.h.
  • pal/PlatformMac.cmake:
  • pal/cocoa/LoggingCocoa.mm: Renamed from Source/WebCore/platform/LogMacros.h.

(PAL::logLevelString):

Source/WebKit:

  • Platform/Logging.h:
  • Scripts/generate-forwarding-headers.pl:
1:21 PM October 2017 Meeting edited by Jon Davis
(diff)
1:20 PM October 2017 Meeting edited by Jon Davis
(diff)
1:16 PM Changeset in webkit [223205] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix build with some SDKs.

Stop capturing |this| unnecessarily in lambda.

  • Modules/entriesapi/FileSystemDirectoryEntry.cpp:

(WebCore::FileSystemDirectoryEntry::getEntry):

12:51 PM Changeset in webkit [223204] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix build with some SDKs.

Stop capturing |this| unnecessarily in lambda.

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::getFile):

12:40 PM Changeset in webkit [223203] by Chris Dumez
  • 4 edits
    28 adds in trunk/LayoutTests/imported/w3c

Re-sync XMLHttpRequests Web-Platform-Tests
https://bugs.webkit.org/show_bug.cgi?id=178172

Reviewed by Youenn Fablet.

Re-sync XMLHttpRequests Web-Platform-Tests from upstream 2f76ef2c1d.

  • resources/import-expectations.json:
  • web-platform-tests/XMLHttpRequest/abort-after-stop-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/abort-after-stop.htm: Added.
  • web-platform-tests/XMLHttpRequest/event-error-order.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-error-order.sub.html: Added.
  • web-platform-tests/XMLHttpRequest/event-timeout-order-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/event-timeout-order.htm: Added.
  • web-platform-tests/XMLHttpRequest/open-url-worker-origin-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/open-url-worker-origin.htm: Added.
  • web-platform-tests/XMLHttpRequest/preserve-ua-header-on-redirect-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/preserve-ua-header-on-redirect.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsedocument-decoding-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/responsedocument-decoding.htm: Added.
  • web-platform-tests/XMLHttpRequest/responsetext-decoding-expected.txt:
  • web-platform-tests/XMLHttpRequest/responsetext-decoding.htm:
  • web-platform-tests/XMLHttpRequest/send-after-setting-document-domain-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-after-setting-document-domain.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-not-enabled-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-cors-not-enabled.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-cors.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-repeat-no-args-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-repeat-no-args.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic-setrequestheader.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-basic.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-competing-names-passwords-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-authentication-competing-names-passwords.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-basic-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-entity-body-basic.htm: Added.
  • web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub-expected.txt: Added.
  • web-platform-tests/XMLHttpRequest/send-network-error-async-events.sub.htm: Added.
  • web-platform-tests/XMLHttpRequest/w3c-import.log:
12:33 PM Changeset in webkit [223202] by commit-queue@webkit.org
  • 22 edits
    6 deletes in trunk

Unreviewed, rolling out r223113 and r223121.
https://bugs.webkit.org/show_bug.cgi?id=178182

Reintroduced 20% regression on Kraken (Requested by rniwa on
#webkit).

Reverted changesets:

"Enable gigacage on iOS"
https://bugs.webkit.org/show_bug.cgi?id=177586
https://trac.webkit.org/changeset/223113

"Use one virtual allocation for all gigacages and their
runways"
https://bugs.webkit.org/show_bug.cgi?id=178050
https://trac.webkit.org/changeset/223121

12:24 PM Changeset in webkit [223201] by msaboff@apple.com
  • 2 edits in trunk/JSTests

Disable test262 named capture group tests with direct unicode names and with references before definitions
https://bugs.webkit.org/show_bug.cgi?id=178177

Reviewed by Keith Miller.

Bugs to track fixing these test are:
https://bugs.webkit.org/show_bug.cgi?id=178174 -

"Add support in named capture group identifiers for direct surrogate pairs"

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

"Test262 failure with Named Capture Groups - using a reference before the group is defined"

  • test262.yaml:
12:23 PM Changeset in webkit [223200] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.5.0.2

Tag Safari-604.3.5.0.2.

12:19 PM Changeset in webkit [223199] by jmarcell@apple.com
  • 7 edits in branches/safari-604.3.5.0-branch/Source

Versioning.

12:18 PM Changeset in webkit [223198] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

Extract logic to paint composition underlines to its own function
https://bugs.webkit.org/show_bug.cgi?id=178038

Reviewed by Zalan Bujtas.

No functionality changed. So, no new tests.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint): Modified to call paintCompositionUnderlines().
(WebCore::InlineTextBox::paintCompositionUnderlines const): Added; extract code
from InlineTextBox::paint() and modernized it.
(WebCore::InlineTextBox::paintCompositionUnderline const): Added.
(WebCore::InlineTextBox::paintCompositionUnderline): Deleted; made const.

  • rendering/InlineTextBox.h:
12:13 PM Changeset in webkit [223197] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Update JavaScriptCore/ucd/CaseFolding.txt to Unicode database 10.0
https://bugs.webkit.org/show_bug.cgi?id=178106

Reviewed by Keith Miller.

  • ucd/CaseFolding.txt:
12:13 PM Changeset in webkit [223196] by dbates@webkit.org
  • 3 edits in trunk/Source/WebCore

InlineTextBox::isSelected() should only return true for a non-empty selection
and remove incorrect FIXME from InlineTextBox::localSelectionRect()
https://bugs.webkit.org/show_bug.cgi?id=160786

Reviewed by Zalan Bujtas.

Partial revert of r204400 in InlineTextBox::{isSelected, localSelectionRect}().

The function InlineTextBox::isSelected() should only return true for a non-empty selection.
Also remove an incorrect FIXME added to InlineTextBox::localSelectionRect() that questioned
whether it was correct for it to return an empty rectangle. It is correct for it to return
such a rectangle because this function is used to implement Element.getClientRects(). And
Element.getClientRects() can return a rectangle with zero width or zero height by step 3
of algorithm getClientRects() of section Extensions to the Element interface of the
CSSOM View Module spec., <https://drafts.csswg.org/cssom-view/> (Editor's Draft, 15 September 2017).

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::isSelected const): Only return true for a non-empty selection
and remove unnecessary FIXME. Also rename variables to improve readability.
(WebCore::InlineTextBox::localSelectionRect const): Remove inaccurate FIXME comment.

  • rendering/InlineTextBox.h:
12:01 PM Changeset in webkit [223195] by rniwa@webkit.org
  • 42 edits
    14 adds in trunk

Sanitize URL in pasteboard for other applications and cross origin content
https://bugs.webkit.org/show_bug.cgi?id=178060
<rdar://problem/34874518>

Reviewed by Wenson Hsieh.

Source/WebCore:

This patch introduces the sanitization of URL when written from a web content to prevent web content from
exploiting the URL parser of other applications in the system particularly of those that actively monitor
system pasteboard (a.k.a. clipboard on non-Cocoa platforms) and decode or otherwise process URLs.

Because the Web compatibility requires that DataTransfer exposes the original URL to any document in the
same origin as the one which wrote the URL into the pasteboard, we store a string which uniquely identifies
the origin of an originating document into our custom pasteboard data. Note that we expose any URL which
didn't come from WebKit since we don't expect URLs to reveal privacy sensitive information. We use UUID for
the origin identifier of a null origin document.

An alternative approach is to store the pasteboard data from the same origin into the document and invalidate
it when the system pasteboard changes. However, Pasteboard object cannot know about Document (as Pasteboard
is a platform object and Document is a WebCore object), this turns out be quite tricky as there are multiple
places where we create Pasteboard objects, and they all need to be aware of this special same origin
Pasteboard object that hangs off of Document. Also, this approach would result in the same origin code paths
to diverge between null origin and non-null origin documents.

Tests: editing/pasteboard/data-transfer-get-data-on-copying-pasting-malformed-url-in-same-document.html

editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin.html
editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin.html
editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin.html
http/tests/security/clipboard/copy-paste-url-across-origin-sanitizes-url.html
CopyURL.ValidURL
CopyURL.UnescapedURL
CopyURL.MalformedURL
DataInteractionTests.DataTransferSetDataValidURL
DataInteractionTests.DataTransferSetDataUnescapedURL
DataInteractionTests.DataTransferSetDataInvalidURL

  • dom/DataTransfer.cpp:

(WebCore::originForDocument): Extracted from createForCopyAndPaste.
(WebCore::DataTransfer::createForCopyAndPaste):
(WebCore::DataTransfer::getDataForItem const): Read the URL from the custom data when the originating content
is of the same origin. When the originating content is cross origin, or there is no custom data (e.g. written
by another native application; or sanitization didn't result in any difference), then callback to native value.
(WebCore::DataTransfer::setDataFromItemList): Sanitize the URL before writing it to the native pasteboard.
Store the original value if the sanitization resulted in any difference.
(WebCore::DataTransfer::types const):
(WebCore::DataTransfer::commitToPasteboard): Moved the code to write custom data to Pasteboard since we need
to write the origin string with it.
(WebCore::DataTransfer::createForDragStartEvent): Added Document as an argument to compute the origin string.
(WebCore::DataTransfer::createForDrop): Ditto.
(WebCore::DataTransfer::createForUpdatingDropTarget):
(WebCore::DataTransfer::moveDragState):

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

(WebCore::Document::uniqueIdentifier): Added. See above.

  • dom/Document.h:
  • editing/Editor.cpp:

(WebCore::createDataTransferForClipboardEvent):
(WebCore::dispatchClipboardEvent):

  • page/DragController.cpp:

(WebCore::DragController::dispatchTextInputEventFor):

  • page/EventHandler.cpp:

(WebCore::EventHandler::performDragAndDrop):
(WebCore::EventHandler::handleDrag):

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

(WebCore::StaticPasteboard::takeCustomData): Moved the logic to write to native pasteboard to DataTransfer.

  • platform/StaticPasteboard.h:
  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::Pasteboard::typesSafeForBindings):
(WebCore::Pasteboard::readStringInCustomData): Rewritten using readCustomData. See below.
(WebCore::Pasteboard::readOrigin): Added.
(WebCore::Pasteboard::readCustomData): Added. Populates the cache. Because a single Pasteboard object is never
allowed to read values once its content is updated by other applications, we can permanently cache the result.

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::typesSafeForBindings): Now takes the unused origin string.
(WebCore::Pasteboard::readOrigin): Added.

  • platform/gtk/PlatformPasteboardGtk.cpp:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): Now takes the unused origin string.

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::originKeyKeyForTeamData): Added.
(WebCore::customTypesKeyForTeamData): Added. Replaces the use of PasteboardCustomData::cocoaType() in the team
data for clarity since the team data key isn't same as the pasteboard type. We don't have to worry about the
backwards compatibility since drag & drop session doesn't persist across iOS upgrades, and there is no publicly
released iOS with this team data support.
(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): Read the origin string and the custom data
off the team data. Don't expose custom types that are written by cross origin documents.
(WebCore::PlatformPasteboard::write): Add the orign string with custom pasteboard types in the team data.
(WebCore::PlatformPasteboard::readURL): Fixed a bug that this function was not reading NSURL when UIPasteboard
serializes NSURL as a plist. This code is exercised by CopyURL.ValidURL.

  • platform/mac/PlatformPasteboardMac.mm:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): Don't add custom pasteboard types that are
added by cross origin documents.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::typesSafeForBindings): Now takes the unused origin string.
(WebCore::Pasteboard::readOrigin): Added.

  • platform/wpe/PasteboardWPE.cpp:

(WebCore::Pasteboard::typesSafeForBindings): Now takes the unused origin string.
(WebCore::Pasteboard::readOrigin): Added.

  • platform/wpe/PlatformPasteboardWPE.cpp:

(WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): Now takes the unused origin string.

Source/WebKit:

Plubmed the origin identifier through IPC from Pasteboard in WebContent process to PlatformPasteboard in UIProcess.

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):

  • UIProcess/WebPasteboardProxy.cpp:

(WebKit::WebPasteboardProxy::typesSafeForDOMToReadAndWrite):

  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::typesSafeForDOMToReadAndWrite):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WebKitLegacy/mac:

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

(WebPlatformStrategies::typesSafeForDOMToReadAndWrite):

Tools:

Added API tests for sanitizing URLs copied from web content, and that the original URL is exposed to the web content.

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

(readURLFromPasteboard): A helper function.

  • TestWebKitAPI/Tests/WebKitCocoa/copy-url.html: Added.
  • TestWebKitAPI/Tests/ios/DataInteractionTests.mm:

(DataInteractionTests.DataTransferGetDataWhenDroppingCustomData): Rebaselined. https://www.apple.com is no longer
normalized to https://www.apple.com/ by NSURL / UIPasteboard as expected.
(DataInteractionTests.DataTransferSetDataValidURL): Added.
(DataInteractionTests.DataTransferSetDataUnescapedURL): Added.
(DataInteractionTests.qDataTransferSetDataInvalidURL): Added.

LayoutTests:

Added tests for copying & pasting URLs. URLs should be %-escaped and any invalid URL should be stripped away and
invisible to a cross-origin content or a null origin document but the same origin content should have access to
its original form.

  • TestExpectations:
  • editing/pasteboard/data-transfer-get-data-on-copying-pasting-malformed-url-in-same-document-expected.txt: Added.
  • editing/pasteboard/data-transfer-get-data-on-copying-pasting-malformed-url-in-same-document.html: Added.
  • editing/pasteboard/data-transfer-get-data-on-drop-custom-expected.txt: Rebaselined. We no longer normalize

"https://www.apple.com" into "https://www.apple.com/" by NSURL / UIPasteboard within the same origin content.

  • editing/pasteboard/data-transfer-get-data-on-paste-custom-expected.txt: Ditto.
  • editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-expected.txt: Added.
  • editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin-expected.txt: Added.
  • editing/pasteboard/data-transfer-set-data-ignore-copied-walformed-url-in-null-origin.html: Added.
  • editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin-expected.txt: Added.
  • editing/pasteboard/data-transfer-set-data-sanitlize-url-when-copying-in-null-origin.html: Added.
  • editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin-expected.txt: Added.
  • editing/pasteboard/data-transfer-set-data-sanitlize-url-when-dragging-in-null-origin.html: Added.
  • editing/pasteboard/dataTransfer-setData-getData-expected.txt: Rebaselined. More test cases are passing.
  • editing/pasteboard/dataTransfer-setData-getData.html: Updated expectations as the original URL is now preserved.
  • http/tests/security/clipboard/copy-paste-url-across-origin-sanitizes-url-expected.txt: Added.
  • http/tests/security/clipboard/copy-paste-url-across-origin-sanitizes-url.html: Added.
  • http/tests/security/clipboard/resources/copy.html: Added.
  • platform/mac-wk1/TestExpectations:
11:32 AM Changeset in webkit [223194] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Remove some obsolete layout assertions
https://bugs.webkit.org/show_bug.cgi?id=178170

Reviewed by Zalan Bujtas.

We have strong assertions against render tree mutation functions being called in layout. These are unnecessary.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::moveChildTo):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::takeChildInternal):

  • rendering/RenderElement.h:
  • rendering/RenderListItem.cpp:

(WebCore::RenderListItem::layout):

  • rendering/RenderListItem.h:
10:48 AM Changeset in webkit [223193] by aestes@apple.com
  • 13 edits
    2 copies
    3 adds in trunk

[Payment Request] Implement Apple Pay merchant validation
https://bugs.webkit.org/show_bug.cgi?id=178159

Reviewed by Brady Eidson.

Source/WebCore:

When ApplePayPaymentHandler::validateMerchant() is called, dispatch the
applepayvalidatemerchant event to the PaymentRequest object.

The event object is an ApplePayMerchantValidationEvent, on which the client calls complete()
with a merchant session.

Test: http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html

  • DerivedSources.make:
  • Modules/applepay/ApplePayValidateMerchantEvent.h:
  • Modules/applepay/paymentrequest/ApplePayMerchantValidationEvent.cpp: Added.

(WebCore::ApplePayMerchantValidationEvent::create):
(WebCore::ApplePayMerchantValidationEvent::ApplePayMerchantValidationEvent):
(WebCore::ApplePayMerchantValidationEvent::complete):
(WebCore::ApplePayMerchantValidationEvent::eventInterface const):

  • Modules/applepay/paymentrequest/ApplePayMerchantValidationEvent.h: Added.
  • Modules/applepay/paymentrequest/ApplePayMerchantValidationEvent.idl: Added.
  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::ApplePayPaymentHandler::validateMerchant):

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
  • Modules/paymentrequest/PaymentRequest.idl:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/EventNames.h:
  • dom/EventNames.in:
  • testing/Internals.cpp:

(WebCore::Internals::Internals):

  • testing/MockPaymentCoordinator.cpp:

(WebCore::MockPaymentCoordinator::MockPaymentCoordinator):
(WebCore::MockPaymentCoordinator::showPaymentUI):

  • testing/MockPaymentCoordinator.h:

LayoutTests:

  • http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https-expected.txt: Added.
  • http/tests/ssl/applepay/ApplePayMerchantValidationEvent.https.html: Added.
10:47 AM October 2017 Meeting edited by Jon Davis
(diff)
10:41 AM Changeset in webkit [223192] by Chris Dumez
  • 40 edits
    1 copy
    1 add in trunk

Modernize Geolocation code
https://bugs.webkit.org/show_bug.cgi?id=178148

Reviewed by Ryosuke Niwa.

Source/WebCore:

Modernize Geolocation code:

  • Use std::optional<> instead of separate boolean members
  • Make GeolocationPosition a simple struct that can be passed via IPC
  • Replace WebGeolocationPosition::Data with GeolocationPosition
  • Move logic to construct a GeolocationPosition from a CLLocation on iOS in one place to avoid code duplication.
  • Modules/geolocation/Coordinates.cpp:

(WebCore::Coordinates::Coordinates):

  • Modules/geolocation/Coordinates.h:

(WebCore::Coordinates::create):
(WebCore::Coordinates::isolatedCopy const):
(WebCore::Coordinates::latitude const):
(WebCore::Coordinates::longitude const):
(WebCore::Coordinates::altitude const):
(WebCore::Coordinates::accuracy const):
(WebCore::Coordinates::altitudeAccuracy const):
(WebCore::Coordinates::heading const):
(WebCore::Coordinates::speed const):

  • Modules/geolocation/Geolocation.cpp:

(WebCore::createGeoposition):
(WebCore::Geolocation::lastPosition):

  • Modules/geolocation/GeolocationClient.h:
  • Modules/geolocation/GeolocationController.cpp:

(WebCore::GeolocationController::positionChanged):
(WebCore::GeolocationController::lastPosition):

  • Modules/geolocation/GeolocationController.h:
  • Modules/geolocation/GeolocationPosition.h:

(WebCore::GeolocationPosition::GeolocationPosition):
The default constructor is only needed by our IPC decoding code.

(WebCore::GeolocationPosition::encode const):
(WebCore::GeolocationPosition::decode):

  • Modules/geolocation/ios/GeolocationPositionIOS.mm: Copied from Source/WebCore/Modules/geolocation/Coordinates.cpp.

(WebCore::GeolocationPosition::GeolocationPosition):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mock/GeolocationClientMock.cpp:

(WebCore::GeolocationClientMock::lastPosition):
(WebCore::GeolocationClientMock::controllerTimerFired):

  • platform/mock/GeolocationClientMock.h:

Source/WebKit:

  • Shared/WebGeolocationPosition.cpp:

(WebKit::WebGeolocationPosition::create):
(WebKit::WebGeolocationPosition::~WebGeolocationPosition):

  • Shared/WebGeolocationPosition.h:

(WebKit::WebGeolocationPosition::timestamp const):
(WebKit::WebGeolocationPosition::latitude const):
(WebKit::WebGeolocationPosition::longitude const):
(WebKit::WebGeolocationPosition::accuracy const):
(WebKit::WebGeolocationPosition::altitude const):
(WebKit::WebGeolocationPosition::altitudeAccuracy const):
(WebKit::WebGeolocationPosition::heading const):
(WebKit::WebGeolocationPosition::speed const):
(WebKit::WebGeolocationPosition::corePosition const):
(WebKit::WebGeolocationPosition::WebGeolocationPosition):

  • UIProcess/API/C/WKGeolocationPosition.cpp:

(WKGeolocationPositionCreate_b):

  • UIProcess/API/Cocoa/_WKGeolocationPosition.mm:

(WebKit::wrapper):

  • UIProcess/API/glib/WebKitGeolocationProvider.cpp:

(WebKit::WebKitGeolocationProvider::notifyPositionChanged):

  • UIProcess/WebGeolocationManagerProxy.cpp:

(WebKit::WebGeolocationManagerProxy::providerDidChangePosition):

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKLegacyCoreLocationProvider positionChanged:]):

  • WebProcess/Geolocation/WebGeolocationManager.cpp:

(WebKit::WebGeolocationManager::didChangePosition):

  • WebProcess/Geolocation/WebGeolocationManager.h:
  • WebProcess/Geolocation/WebGeolocationManager.messages.in:
  • WebProcess/WebCoreSupport/WebGeolocationClient.cpp:

(WebKit::WebGeolocationClient::lastPosition):

  • WebProcess/WebCoreSupport/WebGeolocationClient.h:

Source/WebKitLegacy/ios:

  • Misc/WebGeolocationCoreLocationProvider.h:
  • Misc/WebGeolocationCoreLocationProvider.mm:

(-[WebGeolocationCoreLocationProvider sendLocation:]):

  • Misc/WebGeolocationProviderIOS.mm:

(-[_WebCoreLocationUpdateThreadingProxy positionChanged:]):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebGeolocationClient.h:
  • WebCoreSupport/WebGeolocationClient.mm:

(WebGeolocationClient::lastPosition):

  • WebView/WebGeolocationPosition.mm:

(-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
(core):
(-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
(-[WebGeolocationPosition initWithGeolocationPosition:]):

  • WebView/WebGeolocationPositionInternal.h:

Source/WebKitLegacy/win:

  • WebCoreSupport/WebGeolocationClient.cpp:

(WebGeolocationClient::lastPosition):

  • WebCoreSupport/WebGeolocationClient.h:
  • WebGeolocationPosition.cpp:

(WebGeolocationPosition::initWithTimestamp):
(core):

  • WebGeolocationPosition.h:

(WebGeolocationPosition::impl const):

Tools:

  • DumpRenderTree/mac/TestRunnerMac.mm:

(TestRunner::setMockGeolocationPosition):

10:34 AM October 2017 Meeting edited by Jon Davis
(diff)
10:27 AM Changeset in webkit [223191] by beidson@apple.com
  • 31 edits
    1 copy in trunk

Add a SW context process (where SW scripts will actually execute).
https://bugs.webkit.org/show_bug.cgi?id=178156
Source/WebCore:

Reviewed by Andy Estes.

No new tests (Covered by changes to existing tests).

This patch adds an auxiliary "ServiceWorker context" WebProcess to a WebProcessPool.

This process is where ServiceWorker scripts will execute, separate from the client WebProcess
hosting the page(s) they are serving.

This patch also adds all of the plumbing to pass along a fetched service worker script to this
context WebProcess, as well as message back failure to actually start the script so we can test.

Touches lots of code sites but is basically just a lot of plumbing.

  • WebCore.xcodeproj/project.pbxproj:
  • workers/service/ServiceWorkerContextData.h: Copied from Source/WebCore/workers/service/server/SWServerWorker.h.

(WebCore::ServiceWorkerContextData::encode const):
(WebCore::ServiceWorkerContextData::decode):

  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::Connection::finishFetchingScriptInServer):
(WebCore::SWServer::Connection::scriptContextFailedToStart):
(WebCore::SWServer::scriptFetchFinished):
(WebCore::SWServer::scriptContextFailedToStart):
(WebCore::SWServer::createWorker):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerRegistration.cpp:

(WebCore::SWServerRegistration::scriptFetchFinished):
(WebCore::SWServerRegistration::scriptContextFailedToStart):

  • workers/service/server/SWServerRegistration.h:
  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):
(WebCore::SWServerWorker::~SWServerWorker):

  • workers/service/server/SWServerWorker.h:

(WebCore::SWServerWorker::create):
(WebCore::SWServerWorker::scriptURL const):
(WebCore::SWServerWorker::script const):
(WebCore::SWServerWorker::type const):
(WebCore::SWServerWorker::workerID const):

Source/WebKit:

Reviewed by Andy Estes.

This patch adds an auxiliary "ServiceWorker context" WebProcess to a WebProcessPool.

This process is where ServiceWorker scripts will execute, separate from the client WebProcess
hosting the page(s) they are serving.

This patch also adds all of the plumbing to pass along a fetched service worker script to this
context WebProcess, as well as message back failure to actually start the script so we can test.

Touches lots of code sites but is basically just a lot of plumbing.

  • StorageProcess/ServiceWorker/WebSWServerConnection.cpp:

(WebKit::WebSWServerConnection::WebSWServerConnection):
(WebKit::WebSWServerConnection::startServiceWorkerContext):
(WebKit::WebSWServerConnection::sendToContextProcess):
(WebKit::WebSWServerConnection::setContextConnection):

  • StorageProcess/ServiceWorker/WebSWServerConnection.h:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::workerContextProcessConnection):
(WebKit::StorageProcess::createWorkerContextProcessConnection):
(WebKit::StorageProcess::didGetWorkerContextProcessConnection):
(WebKit::StorageProcess::serviceWorkerContextFailedToStart):
(WebKit::StorageProcess::registerSWServerConnection):
(WebKit::StorageProcess::unregisterSWServerConnection):

  • StorageProcess/StorageProcess.h:
  • StorageProcess/StorageProcess.messages.in:
  • StorageProcess/StorageToWebProcessConnection.cpp:

(WebKit::StorageToWebProcessConnection::~StorageToWebProcessConnection):
(WebKit::StorageToWebProcessConnection::establishSWServerConnection):
(WebKit::StorageToWebProcessConnection::removeSWServerConnection):
(WebKit::StorageToWebProcessConnection::workerContextProcessConnectionCreated):

  • StorageProcess/StorageToWebProcessConnection.h:
  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::create):
(WebKit::StorageProcessProxy::StorageProcessProxy):
(WebKit::StorageProcessProxy::didClose):
(WebKit::StorageProcessProxy::getWorkerContextProcessConnection):
(WebKit::StorageProcessProxy::didGetWorkerContextProcessConnection):

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

(WebKit::WebProcessPool::ensureStorageProcessAndWebsiteDataStore):
(WebKit::WebProcessPool::getWorkerContextProcessConnection):
(WebKit::WebProcessPool::didGetWorkerContextProcessConnection):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::createWebPage):

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

(WebKit::WebProcessProxy::didGetWorkerContextConnection):

  • UIProcess/WebProcessProxy.h:
  • UIProcess/WebProcessProxy.messages.in:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWorkerContextConnection):
(WebKit::WebProcess::startServiceWorkerContext):

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

LayoutTests:

Reviewed by Andy Estes.

  • http/tests/workers/service/basic-register-exceptions-expected.txt:
  • http/tests/workers/service/basic-register-expected.txt:
  • http/tests/workers/service/registration-task-queue-scheduling-1-expected.txt:
10:04 AM Changeset in webkit [223190] by jdiggs@igalia.com
  • 6 edits
    2 adds in trunk

[ATK] Expose value of aria-keyshortcuts as object attribute
https://bugs.webkit.org/show_bug.cgi?id=171175

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the author-provided string through the "keyshortcuts" object attribute.

Test: accessibility/gtk/aria-keyshortcuts.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::ariaKeyShortcutsValue const):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

  • html/HTMLAttributeNames.in:

LayoutTests:

  • accessibility/gtk/aria-keyshortcuts-expected.txt: Added.
  • accessibility/gtk/aria-keyshortcuts.html: Added.
9:27 AM Changeset in webkit [223189] by commit-queue@webkit.org
  • 6 edits
    71 adds in trunk/LayoutTests

Import media capture WPT tests
https://bugs.webkit.org/show_bug.cgi?id=178138

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

LayoutTests/imported/w3c:

  • resources/import-expectations.json:
  • web-platform-tests/feature-policy/resources/feature-policy-payment.html: Added.
  • web-platform-tests/feature-policy/resources/feature-policy-usb.html: Added.
  • web-platform-tests/feature-policy/resources/feature-policy-webvr.html: Added.
  • web-platform-tests/feature-policy/resources/featurepolicy.js: Added.

(test_feature_availability):
(expect_feature_available_default):
(expect_feature_unavailable_default):
(test_result):
(test_feature_availability_with_post_message_result):
(run_all_fp_tests_allow_self):

  • web-platform-tests/feature-policy/resources/redirect-on-load.html: Added.
  • web-platform-tests/feature-policy/resources/w3c-import.log: Added.
  • web-platform-tests/mediacapture-streams/GUM-api.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-api.https.html: Added.
  • web-platform-tests/mediacapture-streams/GUM-deny.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-deny.https.html: Added.
  • web-platform-tests/mediacapture-streams/GUM-empty-option-param.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-empty-option-param.https.html: Added.
  • web-platform-tests/mediacapture-streams/GUM-impossible-constraint.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-impossible-constraint.https.html: Added.
  • web-platform-tests/mediacapture-streams/GUM-optional-constraint.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-optional-constraint.https.html: Added.
  • web-platform-tests/mediacapture-streams/GUM-trivial-constraint.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-trivial-constraint.https.html: Added.
  • web-platform-tests/mediacapture-streams/GUM-unknownkey-option-param.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/GUM-unknownkey-option-param.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-all.html: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices.html: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-enumerateDevices.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-getUserMedia.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaDevices-getUserMedia.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-preload-none.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-MediaElement-srcObject.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-add-audio-track.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-add-audio-track.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-audio-only.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-audio-only.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https.sub-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https.sub.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-finished-add.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-finished-add.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-gettrackid.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-gettrackid.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-id-manual.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-id-manual.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-idl.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-idl.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-removetrack.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-removetrack.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-video-only.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStream-video-only.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-audio-is-silence.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-audio-is-silence.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-MediaElement-disabled-video-is-black.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-end-manual.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-end-manual.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-getSettings.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-getSettings.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-id.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-id.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-init.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrack-init.https.html: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrackEvent-constructor.https-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/MediaStreamTrackEvent-constructor.https.html: Added.
  • web-platform-tests/mediacapture-streams/OWNERS: Added.
  • web-platform-tests/mediacapture-streams/historical-expected.txt: Added.
  • web-platform-tests/mediacapture-streams/historical.html: Added.
  • web-platform-tests/mediacapture-streams/w3c-import.log: Added.

LayoutTests:

Skipping tests for ports not supporting getUserMedia.

  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wpe/TestExpectations:
9:12 AM Changeset in webkit [223188] by aestes@apple.com
  • 1 edit in trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp

Try to fix the Sierra build after r223163.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::convertAndValidate):

9:09 AM Changeset in webkit [223187] by jmarcell@apple.com
  • 2 edits
    1 add in branches/safari-604-branch

Cherry-pick r222963. rdar://problem/34891307

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

Cherry-pick r223111. rdar://problem/34920353

9:09 AM Changeset in webkit [223185] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r222826. rdar://problem/34792131

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

Cherry-pick r222788. rdar://problem/34771440

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

Cherry-pick r222762. rdar://problem/34771420

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

Cherry-pick r221937. rdar://problem/34893195

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

Cherry-pick r221872. rdar://problem/34891288

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

Cherry-pick r221831. rdar://problem/34891283

8:53 AM Changeset in webkit [223179] by don.olmstead@sony.com
  • 42 edits in trunk/Source/WebKit

Remove ENABLE_NETWORK_CACHE
https://bugs.webkit.org/show_bug.cgi?id=177424

Reviewed by Antti Koivisto.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::storeDerivedDataToCache):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
  • NetworkProcess/NetworkProcess.cpp:

(WebKit::fetchDiskCacheEntries):
(WebKit::clearDiskCacheEntries):
(WebKit::NetworkProcess::setCacheModel):

  • NetworkProcess/NetworkProcess.h:

(WebKit::NetworkProcess::cache):

  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::canUseCachedRedirect const):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::retrieveCacheEntry):
(WebKit::NetworkResourceLoader::startNetworkLoad):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
(WebKit::NetworkResourceLoader::willSendRedirectedRequest):
(WebKit::NetworkResourceLoader::continueWillSendRequest):
(WebKit::NetworkResourceLoader::dispatchWillSendRequestForCacheEntry):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/cache/NetworkCache.cpp:
  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheBlobStorage.cpp:
  • NetworkProcess/cache/NetworkCacheBlobStorage.h:
  • NetworkProcess/cache/NetworkCacheCoders.cpp:
  • NetworkProcess/cache/NetworkCacheCoders.h:
  • NetworkProcess/cache/NetworkCacheCodersCocoa.cpp:
  • NetworkProcess/cache/NetworkCacheCodersSoup.cpp:
  • NetworkProcess/cache/NetworkCacheData.cpp:
  • NetworkProcess/cache/NetworkCacheData.h:
  • NetworkProcess/cache/NetworkCacheDataCocoa.mm:
  • NetworkProcess/cache/NetworkCacheDataSoup.cpp:
  • NetworkProcess/cache/NetworkCacheEntry.cpp:
  • NetworkProcess/cache/NetworkCacheEntry.h:
  • NetworkProcess/cache/NetworkCacheFileSystem.cpp:
  • NetworkProcess/cache/NetworkCacheFileSystem.h:
  • NetworkProcess/cache/NetworkCacheIOChannel.h:
  • NetworkProcess/cache/NetworkCacheIOChannelCocoa.mm:
  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:
  • NetworkProcess/cache/NetworkCacheKey.cpp:
  • NetworkProcess/cache/NetworkCacheKey.h:
  • NetworkProcess/cache/NetworkCacheStatistics.cpp:
  • NetworkProcess/cache/NetworkCacheStatistics.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:
  • NetworkProcess/cache/NetworkCacheStorage.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):
(WebKit::NetworkProcess::clearDiskCache):

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::clearCacheForAllOrigins):

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::clearDiskCache):

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeNetworkProcess):
(WebKit::WebProcessPool::legacyPlatformDefaultNetworkCacheDirectory):
(WebKit::WebProcessPool::isNetworkCacheEnabled):

  • UIProcess/soup/WebProcessPoolSoup.cpp:

(WebKit::WebProcessPool::platformInitializeNetworkProcess):

  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::storeDerivedDataToCache):

  • config.h:
7:51 AM Changeset in webkit [223178] by nael.ouedraogo@crf.canon.fr
  • 4 edits
    1 add in trunk

[GStreamer] Many media source tests crashing with GStreamer-CRITICAL : _gst_util_uint64_scale: assertion 'denom != 0' failed in gst_qtdemux_configure_stream()
https://bugs.webkit.org/show_bug.cgi?id=176804

Reviewed by Michael Catanzaro.

Tools:

Add patch to fix assert in qtdemux.

  • gstreamer/jhbuild.modules:
  • gstreamer/patches/gst-plugins-good-0009-qtdemux-fix-assert-when-moof-contains-one-sample.patch: Added.

LayoutTests:

Update expectations for fixed tests.

  • platform/gtk/TestExpectations:
6:59 AM Changeset in webkit [223177] by tpopela@redhat.com
  • 22 edits in trunk/Tools

Use https for trac changeset and browser links
https://bugs.webkit.org/show_bug.cgi?id=178167

Reviewed by Alexey Proskuryakov.

Switch the http://trac.webkit.org/changeset and
http://trac.webkit.org/browser links that are printed by webkitpy to
https. Also update the test expectations.

  • Scripts/webkitpy/common/checkout/checkout_unittest.py:
  • Scripts/webkitpy/common/config/committervalidator_unittest.py:

(CommitterValidatorTest.test_flag_permission_rejection_message):

  • Scripts/webkitpy/common/config/urls.py:

(view_source_url):
(view_revision_url):

  • Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:

(BugTest.test_commit_revision):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:

(MainTest):
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):

  • Scripts/webkitpy/style/checkers/changelog_unittest.py:

(ChangeLogCheckerTest.test_missing_bug_number):

  • Scripts/webkitpy/tool/bot/feeders_unittest.py:
  • Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:

(IRCBotTest.test_rollout):
(IRCBotTest.test_revert):
(IRCBotTest.test_multi_rollout):
(IRCBotTest.test_rollout_with_r_in_svn_revision):
(IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
(IRCBotTest.test_rollout_invalidate_reason):
(test_multi_rollout_invalidate_reason):

  • Scripts/webkitpy/tool/bot/sheriff_unittest.py:
  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
  • Scripts/webkitpy/tool/commands/queues_unittest.py:
  • Scripts/webkitpy/tool/commands/suggestnominations.py:

(SuggestNominations._count_commit):

  • Scripts/webkitpy/tool/commands/upload_unittest.py:
  • Scripts/webkitpy/tool/servers/data/rebaselineserver/util.js:

(getTracUrl):
(getSortedKeys):

  • Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:

(CloseBugForLandDiffTest.test_empty_state):

  • Scripts/webkitpy/tool/steps/commit_unittest.py:

(CommitTest._test_check_test_expectations):

  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:

(UpdateChangeLogsForRevertTest):

6:51 AM Changeset in webkit [223176] by commit-queue@webkit.org
  • 18 edits
    6 moves
    3 adds
    6 deletes in trunk/LayoutTests

Rebaseline tests at media/modern-media-controls/media-controller
https://bugs.webkit.org/show_bug.cgi?id=178129

Patch by Antoine Quint <Antoine Quint> on 2017-10-11
Reviewed by Sam Weinig.

Rebaseline a series of tests to work with the current modern-media-controls codebase. For the most part, this is accounting
for metrics changes and the refactoring of the auto-hide controller code.

  • media/modern-media-controls/media-controller/media-controller-auto-hide-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-over-controls-bar-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-pause-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-pause.html:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-rewind-with-mouse-enter-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-auto-hide-rewind-with-mouse-enter.html:
  • media/modern-media-controls/media-controller/media-controller-auto-hide.html:
  • media/modern-media-controls/media-controller/media-controller-click-on-video-controls-should-not-pause.html:
  • media/modern-media-controls/media-controller/media-controller-compact-expected.txt: Removed.
  • media/modern-media-controls/media-controller/media-controller-compact.html: Removed.
  • media/modern-media-controls/media-controller/media-controller-fullscreen-change-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-fullscreen-change.html:
  • media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-ios-do-not-hide-controls-when-tapping-button.html:
  • media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-ios-only-enable-tap-gesture-recognizer-with-fades-when-idle.html:
  • media/modern-media-controls/media-controller/media-controller-scale-factor-audio-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-scale-factor-audio.html:
  • media/modern-media-controls/media-controller/media-controller-scale-factor-expected.txt:
  • media/modern-media-controls/media-controller/media-controller-scale-factor.html:
  • media/modern-media-controls/media-controller/media-controller-tight-padding-expected.txt: Removed.
  • media/modern-media-controls/media-controller/media-controller-tight-padding.html: Removed.
  • platform/ios-simulator/TestExpectations:
  • platform/mac-elcapitan/TestExpectations:
  • platform/mac/TestExpectations:
5:59 AM Changeset in webkit [223175] by Caio Lima
  • 5 edits
    2 adds in trunk

Object properties are undefined in super.call() but not in this.call()
https://bugs.webkit.org/show_bug.cgi?id=177230

Reviewed by Saam Barati.

JSTests:

  • stress/super-call-function-subclass.js: Added.

(assert):
(A.prototype.t):
(A):

  • stress/super-dot-call-and-apply.js: Added.

(assert):
(A):
(A.prototype.call):
(A.prototype.apply):
(B.prototype.testSuper):
(B):
(const.obj.new.B.string_appeared_here.obj.testSuper.C):
(D.prototype.testSuper):
(D):

Source/JavaScriptCore:

Bytecode generation for "super.call(...)" or "super.apply(...)"
shouldn't be considered as CallFunctionCallDotNode or
ApplyFunctionCallDotNode because they should be considered as common
super property access as any other function. According to spec[1],
"super" is not refering to parent constructor.

[1] - https://tc39.github.io/ecma262/#sec-super-keyword-runtime-semantics-evaluation

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeFunctionCallNode):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::makeFunctionCallNode):

5:42 AM Changeset in webkit [223174] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

Unreviewed, rolling out r223146.

Better to not expose cairo in the WPE API

Reverted changeset:

"[WPE] Header cairo.h is used in GLib API headers but cannot
be found"
https://bugs.webkit.org/show_bug.cgi?id=178100
http://trac.webkit.org/changeset/223146

5:30 AM Changeset in webkit [223173] by Yusuke Suzuki
  • 12 edits in trunk/Source

[JSC] Drop Instantiate hook in ES6 module loader
https://bugs.webkit.org/show_bug.cgi?id=178162

Reviewed by Sam Weinig.

Source/JavaScriptCore:

This patch is a part of patch series for module loader refactoring to adopt
integrity="" parameters and introduce new whatwg module import mechanism.

In this patch, we drop instantiate hook in module loader. This hook is originally
introduced because it is defined in whatwg/loader spec. But this hook is not
used in our implementation, and this hook won't be used since (1) whatwg/loader
spec is abandoned, and (2) this type of hooks should be done in Service Workers.

In addition, this patch applies some cleaning up of our module loader JS code
to simplify things. This change paves the way to more efficient loader implementation
with great flexibility to adopt integrity="" parameters.

  • builtins/ModuleLoaderPrototype.js:

(requestInstantiate):
(provideFetch):
provide is changed to provideFetch since we only used this function with Fetch stage parameter.

(fulfillInstantiate): Deleted.
(commitInstantiated): Deleted.
(instantiation): Deleted.
They are merged into requestInstantiate code. This is simpler.

(provide): Deleted.

  • jsc.cpp:
  • runtime/Completion.cpp:

(JSC::loadAndEvaluateModule):
(JSC::loadModule):

  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSModuleLoader.cpp:

(JSC::JSModuleLoader::provideFetch):
(JSC::JSModuleLoader::provide): Deleted.
Changed to provideFetch.

(JSC::JSModuleLoader::instantiate): Deleted.
Drop this hook.

  • runtime/JSModuleLoader.h:
  • runtime/ModuleLoaderPrototype.cpp:

(JSC::moduleLoaderPrototypeInstantiate): Deleted.
Drop this hook.

Source/WebCore:

Drop instantiate hooks.
No behavior change.

  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:
3:24 AM WebKitGTK/2.18.x edited by tpopela@redhat.com
(diff)
2:33 AM Changeset in webkit [223172] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[MSE][GStreamer] Add dump of append pipeline
https://bugs.webkit.org/show_bug.cgi?id=178074

Patch by Alicia Boya García <aboya@igalia.com> on 2017-10-11
Reviewed by Xabier Rodriguez-Calvar.

Enable dump of AppendPipeline.

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

(WebCore::appendPipelineStateChangeMessageCallback):
(WebCore::AppendPipeline::AppendPipeline):
(WebCore::AppendPipeline::handleStateChangeMessage):

  • platform/graphics/gstreamer/mse/AppendPipeline.h:
12:59 AM Changeset in webkit [223171] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Avoid "100.00ms" vs "100.0ms" jitter in TimelineRuler labels
https://bugs.webkit.org/show_bug.cgi?id=178143

Reviewed by Brian Burg.

  • UserInterface/Base/Utilities.js:

Allow a small slop factor that wouldn't have changed the display value's
significant figures anyways. This addresses cases where 100.0000000000001
were being treated slightly differently from 100.0.

12:55 AM Changeset in webkit [223170] by Joseph Pecoraro
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Tab - Show initially loaded resources even if network info not logged
https://bugs.webkit.org/show_bug.cgi?id=178098
<rdar://problem/34073529>

Reviewed by Devin Rousso.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.hasResponse):
Resources loaded by Page.getFrameTree have a response but no status code data.
So include finished resources as having a resource.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.closed):
(WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
(WI.NetworkTableContentView.prototype._mainFrameDidChange):
Listen for the first main frame change to perform an initial population.

(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
This path is not currently taken when table is null, but change the code so
that if it is reached without the table it would behave gracefully.

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype._refreshSummarySection):
On first open none of the resources have a statusCode. Show an emDash.

12:54 AM Changeset in webkit [223169] by fred.wang@free.fr
  • 10 edits
    2 adds in trunk

[iOS] Do not flatten frames when async frame scrolling is enabled
https://bugs.webkit.org/show_bug.cgi?id=173704

Patch by Frederic Wang <fwang@igalia.com> on 2017-09-27
Reviewed by Simon Fraser.

Source/WebCore:

This patch disables frame flattening when async frame scrolling is enabled on iOS, as
otherwise you can not scroll them. Once iframe scrolling is implemented in iOS (bug 149264),
developers and beta testers will be able to check it by enabling "Async Frame Scrolling"
in the "Experimental WebKit Features" menu of Safari iOS.

Test: platform/ios/fast/frames/flattening/iframe-flattening-with-async-frame-scrolling.html

  • page/FrameView.cpp:

(WebCore::FrameView::frameFlatteningEnabled): Use effectiveFrameFlattening()

  • page/Settings.cpp:

(WebCore::Settings::effectiveFrameFlattening): New function to return frameFlattening() or do
some exceptions on iOS.

  • page/Settings.h: Declare effectiveFrameFlattening.
  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::flattenFrameSet): Use effectiveFrameFlattening()

  • rendering/RenderIFrame.cpp:

(WebCore::RenderIFrame::flattenFrame): Ditto.

  • rendering/RenderView.cpp:

(WebCore::FrameFlatteningLayoutDisallower::FrameFlatteningLayoutDisallower): Ditto.

Source/WebKit:

This patch disables frame flattening when async frame scrolling is enabled on iOS, as
otherwise you can not scroll them. Once iframe scrolling is implemented in iOS (bug 149264),
developers and beta testers will be able to check it by enabling "Async Frame Scrolling"
in the "Experimental WebKit Features" menu of Safari iOS.

Test: platform/ios/fast/frames/flattening/iframe-flattening-with-async-frame-scrolling.html

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::contentsSizeChanged): Use effectiveFrameFlattening() introduced in
Source/WebCore.

LayoutTests:

Add an iOS test to verify that frame flattening is disabled when async frame scrolling is enabled.

  • platform/ios/fast/frames/flattening/iframe-flattening-with-async-frame-scrolling-expected.txt: Added.
  • platform/ios/fast/frames/flattening/iframe-flattening-with-async-frame-scrolling.html: Added.
12:42 AM WebKitGTK/2.16.x edited by tpopela@redhat.com
(diff)

Oct 10, 2017:

10:48 PM Changeset in webkit [223168] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] Fix double seek requested by downloadbuffer GStreamer element in webkibwebsrc
https://bugs.webkit.org/show_bug.cgi?id=178079

Reviewed by Žan Doberšek.

When the downloadbuffer GStreamer element requests two seeks too
close to each other there's some rare race condition where our
source answers that it is not seekable and ends up with
downloadbuffer element to seek beyond the file size, which causes
the server to issue a 416 HTTP error code eventually, causing our
MediaPlayer to stop.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStop): We only unset he seekable attribute if we are
not seeking.

9:12 PM Changeset in webkit [223167] by rniwa@webkit.org
  • 22 edits in trunk

Enable custom pasteboard data in DumpRenderTree and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=178154

Reviewed by Wenson Hsieh.

Source/WebCore:

Extracted the logic to compute the default enabled-ness of custom pasteboard data as
Settings::defaultCustomPasteboardDataEnabled() to be called by WebKit1 and WebKit2 layers.

  • page/Settings.cpp:

(WebCore::Settings::defaultCustomPasteboardDataEnabled): Extracted from customPasteboardDataEnabled.
(WebCore::Settings::customPasteboardDataEnabled): Deleted. Now inlined in the header file.

  • page/Settings.h:

(WebCore::Settings::customPasteboardDataEnabled):

  • platform/cocoa/PasteboardCocoa.mm:

(WebCore::Pasteboard::read): Fixed a bug that we were adding MIME type to the map before checking that
we could actually read the buffer. We shouldn't skip a type (NSTIFFPboardType and kUTTypeTIFF for now)
if an equivalent type had failed to read.

Source/WebKit:

Plumbed customPasteboardDataEnabled flag to be used in WebKitTestRunner.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetCustomPasteboardDataEnabled):
(WKPreferencesGetCustomPasteboardDataEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Source/WebKitLegacy/mac:

Enable custom pasteboard data by default.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences customPasteboardDataEnabled]): Added.
(-[WebPreferences setCustomPasteboardDataEnabled:]): Added.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Tools:

Fixed the bug that LocalPasteboard would fail to load the promise type if data is set after declaring types
by delaying the call to provideDataForType until when dataForType is called.

Without this fix, fast/events/dropzone-002.html would start failing after enabling custom pasteboard data.
With this fix, fast/events/dropzone-005.html also starts passing.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/mac/DumpRenderTreePasteboard.mm:

(-[LocalPasteboard addTypes:owner:]):
(-[LocalPasteboard dataForType:]):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • editing/pasteboard/dataTransfer-setData-getData-expected.txt: Rebaselined. One more test case is passing now.
  • fast/events/dropzone-002.html: Fixed the test to accept an image since we no longer drop URLs when dropping

an image avoid leaking local file paths.

  • platform/mac/TestExpectations: Enabled dropzone-005.html since it started passing after fixing LocalPasteboard.
8:49 PM Changeset in webkit [223166] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/LayoutTests

Cherry-pick r222450. rdar://problem/34920294

8:49 PM Changeset in webkit [223165] by jmarcell@apple.com
  • 13 edits
    1 add in branches/safari-604-branch

Cherry-pick r223084. rdar://problem/34857469

8:16 PM Changeset in webkit [223164] by BJ Burg
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Quick Open: source mapped files are not shown as search results
https://bugs.webkit.org/show_bug.cgi?id=178151
<rdar://problem/31561718>

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/OpenResourceDialog.js:

(WI.OpenResourceDialog.prototype._addResource):
Also consider matching the query string against SourceMapResources
attached to a resource's source maps.

7:57 PM Changeset in webkit [223163] by aestes@apple.com
  • 15 edits in trunk

[Payment Request] Validate that all PaymentCurrencyAmounts use the same currency code when using Apple Pay
https://bugs.webkit.org/show_bug.cgi?id=178150

Reviewed by Tim Horton.

Source/WebCore:

Apple Pay requires a single currency code, but the Payment Request API allows the client to
specify a currency code for each PaymentCurrencyAmount.

Instead of having a required currencyCode property on ApplePayRequest and ignoring the
currency property on PaymentCurrencyAmount, validate that all PaymentCurrencyAmounts use the
same currency code and use that as ApplePaySessionPaymentRequest's currencyCode.

Added test cases to http/tests/ssl/applepay/PaymentRequest.https.html.

  • Modules/applepay/ApplePayPaymentRequest.h:
  • Modules/applepay/ApplePayPaymentRequest.idl:
  • Modules/applepay/ApplePayRequestBase.cpp:

(WebCore::convertAndValidate):

  • Modules/applepay/ApplePayRequestBase.h:
  • Modules/applepay/ApplePayRequestBase.idl:
  • Modules/applepay/ApplePaySession.cpp:

(WebCore::convertAndValidate):

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::validate):
(WebCore::convertAndValidate):
(WebCore::ApplePayPaymentHandler::show):

  • Modules/applepay/paymentrequest/ApplePayRequest.idl:

LayoutTests:

  • http/tests/paymentrequest/payment-request-abort-method.https.html:
  • http/tests/paymentrequest/payment-request-canmakepayment-method.https.html:
  • http/tests/paymentrequest/payment-request-show-method.https.html:
  • http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
  • http/tests/ssl/applepay/PaymentRequest.https.html:
6:01 PM Changeset in webkit [223162] by Adrian Perez de Castro
  • 4 edits in trunk

[WPE] Remove the possibility of installing the old WebKit2 C API
https://bugs.webkit.org/show_bug.cgi?id=178125

Reviewed by Michael Catanzaro.

.:

  • Source/cmake/OptionsWPE.cmake: Remove definition of the EXPORT_DEPRECATED_WEBKIT2_C_API

build option.

Source/WebKit:

  • PlatformWPE.cmake: Remove support for installing the deprecated C API.
5:53 PM Changeset in webkit [223161] by sbarati@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Prototype structure transition should be a deferred transition
https://bugs.webkit.org/show_bug.cgi?id=177734

Reviewed by Keith Miller.

Absence ObjectPropertyConditions work by verifying both that the Structure
does not have a particular property and that its prototype has
remained constant. However, the prototype transition was firing
the transition watchpoint before setting the object's structure.
This meant that isValid for Absence would never return false because
the prototype changed. Clearly this is wrong. The reason this didn't
break OPCs in general is that we'd also check if we could still watch
the OPC. In this case, we can't still watch it because we're inspecting
a structure with an invalidated transition watchpoint. To fix
this weird quirk of the code, I'm making it so that doing a prototype
transition uses the DeferredStructureTransitionWatchpointFire machinery.

This patch also fixes some dead code that I left in regarding
poly proto in OPC.

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint const):

  • runtime/JSObject.cpp:

(JSC::JSObject::setPrototypeDirect):

  • runtime/Structure.cpp:

(JSC::Structure::changePrototypeTransition):

  • runtime/Structure.h:
5:37 PM Changeset in webkit [223160] by aestes@apple.com
  • 16 edits
    2 adds
    1 delete in trunk

[Payment Request] Implement PaymentRequest.canMakePayment()
https://bugs.webkit.org/show_bug.cgi?id=178048

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

  • web-platform-tests/payment-request/payment-request-canmakepayment-method.https-expected.txt: Removed.

Source/WebCore:

Test: http/tests/paymentrequest/payment-request-canmakepayment-method.https.html

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::ApplePayPaymentHandler::convertData): Moved
ApplePayRequest-to-ApplePaySessionPaymentRequest conversion from here to show().
(WebCore::ApplePayPaymentHandler::show): Returned an exception if
ApplePaySessionPaymentRequest conversion fails.
(WebCore::shouldDiscloseApplePayCapability): Checked if we are in an ephimeral session or if
Settings::applePayCapabilityDisclosureAllowed() is false.
(WebCore::ApplePayPaymentHandler::canMakePayment): Called
PaymentCoordinator::canMakePayments() or PaymentCoordinator::canMakePaymentsWithActiveCard()
depending on shouldDiscloseApplePayCapability().

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
  • Modules/applepay/paymentrequest/ApplePayRequest.h:
  • Modules/applepay/paymentrequest/ApplePayRequest.idl: Defined merchantIdentifier.
  • Modules/paymentrequest/PaymentHandler.h:
  • Modules/paymentrequest/PaymentRequest.cpp:

(WebCore::parse): Moved JSON-parsing to here from show().
(WebCore::PaymentRequest::show): Returned the exception from PaymentHandler::show().
(WebCore::PaymentRequest::canMakePayment): For each payment method, try to create a
PaymentHandler.
For the first valid PaymentHandler, call canMakePayment() and pass a lambda that resolves
the promise.

  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/paymentrequest/PaymentRequest.idl: Added CallWith=Document annotations to show()

and canMakePayment().

LayoutTests:

  • http/tests/paymentrequest/payment-request-canmakepayment-method.https-expected.txt: Added.
  • http/tests/paymentrequest/payment-request-canmakepayment-method.https.html: Added.
  • http/tests/ssl/applepay/PaymentRequest.https.html:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
5:09 PM Changeset in webkit [223159] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Avoid allocating useless landingBlocks in DFGByteCodeParser::handleInlining()
https://bugs.webkit.org/show_bug.cgi?id=177926

Reviewed by Saam Barati.

When doing polyvariant inlining, there used to be a landing block for each callee, each of which was then linked to a continuation block.
With this change, we allocate the continuation block first, and pass it to the inlining routine so that op_ret in the callee link directly to it.
The only subtlety is that when inlining an intrinsic we must do the jump by hand, and also remember to call processSetLocalQueue with nextOffset before it.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):

5:01 PM Changeset in webkit [223158] by Chris Dumez
  • 10 edits in trunk/Source/WebKit

[WK2] Add API to clear service worker registrations
https://bugs.webkit.org/show_bug.cgi?id=178085
<rdar://problem/34866025>

Reviewed by Ryosuke Niwa.

Add API to clear service worker registrations. Although the request to
clear the registration is passed on to the StorageProcess, it is currently
a no-op on StorageProcess side until we actually persist service worker
registrations on disk.

  • Shared/WebsiteData/WebsiteDataType.h:
  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::fetchWebsiteData):
(WebKit::StorageProcess::deleteWebsiteData):
(WebKit::StorageProcess::deleteWebsiteDataForOrigins):

  • UIProcess/API/C/WKWebsiteDataStoreRef.cpp:

(WKWebsiteDataStoreRemoveAllServiceWorkerRegistrations):

  • UIProcess/API/C/WKWebsiteDataStoreRef.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:

(dataTypesToString):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataType):
(WebKit::toWKWebsiteDataTypes):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(+[WKWebsiteDataStore allWebsiteDataTypes]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):

4:46 PM Changeset in webkit [223157] by jmarcell@apple.com
  • 18 edits
    2 copies
    2 adds in branches/safari-604-branch

Cherry-pick r222478. rdar://problem/34771020

4:40 PM Changeset in webkit [223156] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, really fix the build with certain SDKs.

Follow-up to r223154, which fixed the wrong lambda.

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::getEntry):
(WebCore::DOMFileSystem::getFile):

4:14 PM Changeset in webkit [223155] by guijemont@igalia.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix compilation when MASM_PROBE (and therefore DFG) are disabled
https://bugs.webkit.org/show_bug.cgi?id=178134

Reviewed by Saam Barati.

  • bytecode/CodeBlock.cpp:
  • bytecode/CodeBlock.h:

Disable some code when building without DFG_JIT.

4:09 PM Changeset in webkit [223154] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix build with certain SDKs.

Stop capturing |this| unnecessarily in lambda.

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::getEntry):

3:59 PM Changeset in webkit [223153] by Matt Lewis
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r223148.

This caused build failures.

Reverted changeset:

"Fix MSVC build with ENCRYPTED_MEDIA enabled"
https://bugs.webkit.org/show_bug.cgi?id=177803
http://trac.webkit.org/changeset/223148

3:59 PM Changeset in webkit [223152] by Michael Catanzaro
  • 2 edits in trunk

[WPE] Expose ENABLE_XSLT option
https://bugs.webkit.org/show_bug.cgi?id=177857

Reviewed by Carlos Alberto Lopez Perez.

  • Source/cmake/OptionsWPE.cmake:
3:47 PM Changeset in webkit [223151] by Alan Bujtas
  • 9 edits in trunk/Source/WebCore

AccessibilityRenderObject should not hold a raw pointer to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=178144
<rdar://problem/34919287>

Reviewed by Chris Fleizach.

m_renderer's lifetime is not directly tied to the AX wrapper object's lifetime.

Covered by existing tests.

  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::elementAccessibilityHitTest const):

  • accessibility/AccessibilityMathMLElement.cpp:

(WebCore::AccessibilityMathMLElement::isMathFenceOperator const):
(WebCore::AccessibilityMathMLElement::isMathSeparatorOperator const):
(WebCore::AccessibilityMathMLElement::mathLineThickness const):

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::press):
(WebCore::AccessibilityMenuList::isCollapsed const):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
(WebCore::AccessibilityRenderObject::renderBoxModelObject const):
(WebCore::AccessibilityRenderObject::setRenderer):
(WebCore::AccessibilityRenderObject::previousSibling const):
(WebCore::AccessibilityRenderObject::anchorElement const):
(WebCore::AccessibilityRenderObject::helpText const):
(WebCore::AccessibilityRenderObject::boundingBoxRect const):
(WebCore::AccessibilityRenderObject::supportsPath const):
(WebCore::AccessibilityRenderObject::elementPath const):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):
(WebCore::AccessibilityRenderObject::index const):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::observableObject const):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
(WebCore::AccessibilityRenderObject::textChanged):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement const):
(WebCore::AccessibilityRenderObject::roleValueForMSAA const):
(WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable const):
(WebCore::AccessibilityRenderObject::scrollTo const):

  • accessibility/AccessibilityRenderObject.h:

(WebCore::AccessibilityRenderObject::setRenderObject):

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::elementAccessibilityHitTest const):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::computeAccessibilityIsIgnored const):
(WebCore::AccessibilityTableCell::parentTable const):
(WebCore::AccessibilityTableCell::rowIndexRange const):
(WebCore::AccessibilityTableCell::columnIndexRange const):
(WebCore::AccessibilityTableCell::titleUIElement const):

3:37 PM Changeset in webkit [223150] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

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

Breaks the build when EGLNativeWindowType is a pointer
(Requested by aperezdc on #webkit).

Reverted changeset:

"[WPE] Build failure due to invalid cast of
EGLNativeWindowType when targetting 64-bit ARM"
https://bugs.webkit.org/show_bug.cgi?id=178090
http://trac.webkit.org/changeset/223130

3:13 PM Changeset in webkit [223149] by commit-queue@webkit.org
  • 42 edits in trunk/Source

Replace copyKeysToVector/copyValuesToVector with copyToVector(map.keys())/copyToVector(map.values())
https://bugs.webkit.org/show_bug.cgi?id=178102

Patch by Sam Weinig <sam@webkit.org> on 2017-10-10
Reviewed by Tim Horton.

Source/JavaScriptCore:

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::clearInspectorBreakpointState):

Source/WebCore:

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::Watchers::getNotifiersVector const):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::connectionClosedFromServer):

  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::connectionToServerLost):

  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::immediateCloseForUserDelete):

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::getTracks const):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::windowProxies):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::item const):

  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::removeMarkers):

  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::disconnectFromAllWorkerInspectorProxies):

  • inspector/NetworkResourcesData.cpp:
  • loader/DocumentLoader.cpp:

(WebCore::cancelAll):
(WebCore::setAllDefersLoading):
(WebCore::areAllLoadersPageCacheAcceptable):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::forEachSessionResource):

  • loader/mac/DocumentLoaderMac.cpp:

(WebCore::scheduleAll):
(WebCore::unscheduleAll):

  • page/ResourceUsageThread.cpp:

(WebCore::ResourceUsageThread::notifyObservers):

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::tracks const):

Replace copyKeysToVector / copyValuesToVector with copyToVector(map.keys()) / copyToVector(map.values())

Source/WebDriver:

  • SessionHost.cpp:

(WebDriver::SessionHost::inspectorDisconnected):

Source/WebKit:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didClose):

  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.mm:

(WebKit::dumpChangedLayers):

  • UIProcess/API/glib/WebKitWebContext.cpp:

(webkitWebContextInvalidateCustomProtocolRequests):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseContainerForall):

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:

(-[WKWebViewContentProviderRegistry _mimeTypesWithCustomContentProviders]):

  • UIProcess/GenericCallback.h:

(WebKit::invalidateCallbackMap):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::shutDown):
(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didBecomeUnresponsive):
(WebKit::WebProcessProxy::didBecomeResponsive):
(WebKit::WebProcessProxy::willChangeIsResponsive):
(WebKit::WebProcessProxy::didChangeIsResponsive):
(WebKit::WebProcessProxy::disconnectFramesFromPage):
(WebKit::WebProcessProxy::frameCountInPage const):
(WebKit::WebProcessProxy::requestTermination):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::invalidate):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::stopAllStreams):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::cancelAllStreams):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::buildTransaction):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::didClose):

Source/WebKitLegacy:

  • WebCoreSupport/WebResourceLoadScheduler.cpp:

(WebResourceLoadScheduler::servePendingRequests):

Source/WebKitLegacy/mac:

  • History/WebHistory.mm:

(-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::stopAllStreams):

  • WebCoreSupport/WebUserMediaClient.mm:

(WebUserMediaClient::pageDestroyed):

Source/WTF:

  • wtf/HashMap.h:

(WTF::copyKeysToVector): Deleted.
(WTF::copyValuesToVector): Deleted.

Remove copyKeysToVector and copyValuesToVector which are no longer used.

2:51 PM Changeset in webkit [223148] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix MSVC build with ENCRYPTED_MEDIA enabled
https://bugs.webkit.org/show_bug.cgi?id=177803

Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-10-10
Reviewed by Alex Christensen.

As a workaround for MSVC, a weak pointer of "this" is captured
at the outermost lambda expression.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::generateRequest):
(WebCore::MediaKeySession::load):
(WebCore::MediaKeySession::update):
(WebCore::MediaKeySession::close):
(WebCore::MediaKeySession::remove):

  • platform/encryptedmedia/clearkey/CDMClearKey.cpp:

(WebCore::CDMInstanceClearKey::updateLicense):
(WebCore::CDMInstanceClearKey::loadSession):
(WebCore::CDMInstanceClearKey::removeSessionData):

2:40 PM Changeset in webkit [223147] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Tab - Set column initial widths to try allow waterfall column to expand more by default
https://bugs.webkit.org/show_bug.cgi?id=178142
<rdar://problem/34918233>

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

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView.prototype.initialLayout):
Provide initial widths for many columns where the max could fit
but we'd prefer a smaller than max initial width in wide cases.

  • UserInterface/Views/Table.js:

(WI.Table.prototype._resizeColumnsAndFiller):
When auto sizing all columns use the preferred initial widths.

  • UserInterface/Views/TableColumn.js:

(WI.TableColumn.prototype.get preferredInitialWidth):
Save the initial width.

2:32 PM Changeset in webkit [223146] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[WPE] Header cairo.h is used in GLib API headers but cannot be found
https://bugs.webkit.org/show_bug.cgi?id=178100

Reviewed by Michael Catanzaro.

  • wpe/wpe-webkit.pc.in: Add Cairo to the "Requires" field, so its flags get pulled

in and the "cairo.h", used in the WPE WebKit GLib API headers, can be found.

2:29 PM Changeset in webkit [223145] by jdiggs@igalia.com
  • 6 edits in trunk

AX: [ATK] ARIA form role should be mapped to ATK_ROLE_LANDMARK; not ATK_ROLE_FORM
https://bugs.webkit.org/show_bug.cgi?id=178137

Reviewed by Chris Fleizach.

Source/WebCore:

Expose the ARIA form role as ATK_ROLE_LANDMARK; continue to expose the HTML form
element as ATK_ROLE_FORM.

No new tests needed due to existing coverage. Update expectations for roles-exposed.html.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Add handling for ATK_ROLE_LANDMARK resulting from the ARIA form role.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated expectations.
2:29 PM WebKitGTK/2.18.x edited by Michael Catanzaro
(diff)
2:26 PM Changeset in webkit [223144] by mrajca@apple.com
  • 4 edits
    4 adds in trunk

Respect audio rate change restrictions in HTMLMediaElement::setVolume.
https://bugs.webkit.org/show_bug.cgi?id=178140

Reviewed by Eric Carlson.

Source/WebCore:

Tests: media/audio-playback-volume-changes-with-restrictions-and-user-gestures.html

media/audio-playback-volume-changes-with-restrictions.html

It's currently possible for a website to start auto-playing media with a zero volume and then
programmatically set the volume to a non-zero value without a user gesture. This code path didn't
have to be considered previously because volume changes are not supported on iOS.

We currently pause media when an audio track comes in after an element has already started playing silently
in mediaPlayerDidAddAudioTrack. This patch does the same when a non-zero volume is set after a media
element already began playing silently and there is an audio rate change restriction.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setVolume):

LayoutTests:

  • media/audio-playback-volume-changes-with-restrictions-and-user-gestures-expected.txt: Added.
  • media/audio-playback-volume-changes-with-restrictions-and-user-gestures.html: Added.
  • media/audio-playback-volume-changes-with-restrictions-expected.txt: Added.
  • media/audio-playback-volume-changes-with-restrictions.html: Added.
  • platform/ios/TestExpectations:
2:24 PM October 2017 Meeting edited by Jon Davis
(diff)
2:24 PM Changeset in webkit [223143] by Michael Catanzaro
  • 2 edits in trunk/Source/WebKit

CSS constant properties should not be enabled by default
https://bugs.webkit.org/show_bug.cgi?id=177416

Reviewed by Darin Adler.

  • Shared/WebPreferencesDefinitions.h:
2:10 PM Changeset in webkit [223142] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix.

Removed unused lambda capture.

  • yarr/YarrPattern.cpp:

(JSC::Yarr::CharacterClassConstructor::appendInverted):

2:03 PM Changeset in webkit [223141] by beidson@apple.com
  • 5 edits in trunk/Source/WebKit

Random StorageProcess and SWServer cleanup.
https://bugs.webkit.org/show_bug.cgi?id=178141

Reviewed by Andy Estes.

-StorageProcess should own the set of SWServers
-Some renaming and cleanup

  • StorageProcess/StorageProcess.cpp:

(WebKit::StorageProcess::createStorageToWebProcessConnection):
(WebKit::StorageProcess::swServerForSession):

  • StorageProcess/StorageProcess.h:

(WebKit::StorageProcess::queue):

  • StorageProcess/StorageToWebProcessConnection.cpp:

(WebKit::StorageToWebProcessConnection::establishSWServerConnection):

  • StorageProcess/StorageToWebProcessConnection.h:
1:50 PM Changeset in webkit [223140] by rniwa@webkit.org
  • 13 edits in trunk

Loading should be disabled while constructing the fragment in WebContentReader::readWebArchive
https://bugs.webkit.org/show_bug.cgi?id=178118

Reviewed by Antti Koivisto.

Source/WebCore:

Disable image loading while constructing the document fragment in WebContentReader::readWebArchive
as we do in createFragmentAndAddResources for RTF/RTFD. This refactoring is needed to start using
blob URL in the pasted document fragment for webkit.org/b/124391.

Also modified WebContentReader::readWebArchive to take a reference to SharedBuffer instead of a pointer.

No new tests since existing tests have been updated to cover this behavior change.

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

(WebCore::WebContentReader::readWebArchive): Use DeferredLoadingScope to disable the loader and images
while constructing the document fragment.

  • platform/Pasteboard.h:
  • platform/ios/PasteboardIOS.mm:

(WebCore::readPasteboardWebContentDataForType):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::read):

LayoutTests:

Updated the existing tests to wait for images to load in each step explicitly instead of relying on
them being loaded synchronously or that it's loaded within 100-200ms.

  • editing/pasteboard/4641033.html:
  • editing/pasteboard/4947130.html:
  • editing/pasteboard/4989774.html:
  • editing/pasteboard/drag-selected-image-to-contenteditable.html:
  • editing/selection/drag-to-contenteditable-iframe.html:
  • platform/ios/TestExpectations: Skipped editing/selection/drag-to-contenteditable-iframe.html on iOS

since we don't support testing drag & drop on iOS. Also added [ Skip ] to other entires there.

1:36 PM Changeset in webkit [223139] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Layers should be destroyed by RenderLayerModelObject
https://bugs.webkit.org/show_bug.cgi?id=178139

Reviewed by Simon Fraser.

Clean up some FIXMEs.

  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::willBeDestroyed):
(WebCore::RenderLayerModelObject::destroyLayer):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

12:41 PM Changeset in webkit [223138] by Michael Catanzaro
  • 4 edits in trunk/Source/WebKit

Unreviewed, rolling out r223136.

Forgot to update GTK API header

Reverted changeset:

"[WPE] Header cairo.h is used in GLib API headers but cannot
be found"
https://bugs.webkit.org/show_bug.cgi?id=178100
http://trac.webkit.org/changeset/223136

12:24 PM Changeset in webkit [223137] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebInspectorUI

Web Inspector: Views should explicitly remove event listeners from managers/Frame
https://bugs.webkit.org/show_bug.cgi?id=175951

Patch by Ross Kirsling <Ross Kirsling> on 2017-10-10
Reviewed by Brian Burg.

  • UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:

(WI.ApplicationCacheDetailsSidebarPanel.prototype.closed):

  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

(WI.DOMNodeDetailsSidebarPanel.prototype.closed):

  • UserInterface/Views/DebuggerDashboardView.js:

(WI.DebuggerDashboardView.prototype.closed):

  • UserInterface/Views/LogContentView.js:

(WI.LogContentView.prototype.closed):

  • UserInterface/Views/NetworkGridContentView.js:

(WI.NetworkGridContentView.prototype.closed):

  • UserInterface/Views/ProbeDetailsSidebarPanel.js:

(WI.ProbeDetailsSidebarPanel.prototype.closed):

  • UserInterface/Views/QuickConsole.js:

(WI.QuickConsole.prototype.closed):

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WI.ScopeChainDetailsSidebarPanel.prototype.closed):

  • UserInterface/Views/TimelineOverview.js:

(WI.TimelineOverview.prototype.closed):

12:09 PM Changeset in webkit [223136] by Adrian Perez de Castro
  • 4 edits in trunk/Source/WebKit

[WPE] Header cairo.h is used in GLib API headers but cannot be found
https://bugs.webkit.org/show_bug.cgi?id=178100

Reviewed by Žan Doberšek.

Instead of including <cairo.h>, it is better to forward-declare cairo_surface_t,
which is the one and only Cairo declaration needed by the WPE API header.

  • UIProcess/API/glib/WebKitFaviconDatabase.cpp: Add inclusion of <cairo.h>.
  • UIProcess/API/glib/WebKitWebView.cpp: Add inclusion of <cairo.h>.
  • UIProcess/API/wpe/WebKitFaviconDatabase.h: Add forward declaration of cairo_surface_t.
11:42 AM Changeset in webkit [223135] by Chris Dumez
  • 7 edits in trunk

Entries API should recognize path starting with 2 slashes as valid absolute path
https://bugs.webkit.org/show_bug.cgi?id=178135

Reviewed by Ryosuke Niwa.

Source/WebCore:

Entries API should recognize paths starting with 2 slashes as valid absolute paths to match Chrome's behavior.
See https://github.com/WICG/entries-api/commit/990454758005a6039655835503d551015e346d9d

This was causing us to fail some manual web-platform-tests.

No new tests, updated existing tests.

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::isValidPathSegment):
(WebCore::isZeroOrMorePathSegmentsSeparatedBySlashes):
(WebCore::isValidRelativeVirtualPath):
(WebCore::isValidVirtualPath):

LayoutTests:

Add layout test coverage.

  • editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory-expected.txt:
  • editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory.html:
  • editing/pasteboard/entries-api/datatransfer-items-drop-getFile-expected.txt:
  • editing/pasteboard/entries-api/datatransfer-items-drop-getFile.html:
10:58 AM Changeset in webkit [223134] by Matt Lewis
  • 6 edits
    3 deletes in trunk

Unreviewed, rolling out r223110.

This caused consistent failures and timeouts on multiple
platforms.

Reverted changeset:

"Delete button doesn't fully delete certain emoji"
https://bugs.webkit.org/show_bug.cgi?id=178096
http://trac.webkit.org/changeset/223110

10:44 AM Changeset in webkit [223133] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[WPE] Cannot link against libWPEWebkit due to wrong contents of wpe-webkit.pc
https://bugs.webkit.org/show_bug.cgi?id=178133

Reviewed by Žan Doberšek.

  • wpe/wpe-webkit.pc.in: Remove "-lWPE" and replace "Requires.private" with a plain "Requires".
10:08 AM WebKitGTK/2.18.x edited by clopez@igalia.com
(diff)
9:08 AM October 2017 Meeting edited by Jon Davis
Proposed schedule (diff)
8:58 AM Changeset in webkit [223132] by Jonathan Bedard
  • 5 edits in trunk/Tools

run-webkit-tests: upload test results to multiple servers
https://bugs.webkit.org/show_bug.cgi?id=178012
<rdar://problem/34856501>

Reviewed by Lucas Forschler.

Allowing uploading of results to multiple servers makes developing new results
databases much easier, and does not complicate uploading logic.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.upload_results): Iterate through the list of results server hosts and
send results to each one.

  • Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:

(JSONLayoutResultsGenerator.init): Accept a list of test results servers.

  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:

(JSONResultsGenerator.init): Accept a list of test results servers.
(JSONResultsGenerator.get_json): Pick which server to download from by index.
(JSONResultsGenerator.upload_json_files): Upload the JSON to each results server.
(JSONResultsGenerator._get_archived_json_results): Pick which server to download from.

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args): Allow multiple test-results-servers and results-server-hosts to be
passed to run-webkit-tests.

6:02 AM Changeset in webkit [223131] by Antti Koivisto
  • 14 edits in trunk

RenderObject::destroy() should only be invoked after renderer has been removed from the tree
https://bugs.webkit.org/show_bug.cgi?id=178075

Reviewed by Zalan Bujtas.

Source/WebCore:

This patch fixes the remaining cases where the renderer is still in the tree while destroy()
is called and adds the assert.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeLeftoverAnonymousBlock):
(WebCore::RenderBlock::takeChild):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::~RenderLayer):

Null the parent pointers for m_scrollCorner/m_resizer.

(WebCore::RenderLayer::calculateClipRects const):

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

(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::removeFromParentAndDestroyCleaningUpAnonymousWrappers):
(WebCore::RenderObject::destroy):

Use RELEASE_ASSERT as these are cheap and important checks.
Also turn isBeingDestroyed test into RELEASE_ASSERT.
Remove AX call that no longer does anything.

(WebCore::RenderObject::destroyAndCleanupAnonymousWrappers): Deleted.

  • rendering/RenderObject.h:
  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::moveBlockChildren):

  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::collapseAndDestroyAnonymousSiblingRows):
(WebCore::RenderTableRow::destroyAndCollapseAnonymousSiblingRows): Deleted.

Renamed and made this no longer destroy itself. The caller now takes care of that.
Removed an unnecessary lambda.

  • rendering/RenderTableRow.h:
  • style/RenderTreeUpdater.cpp:

(WebCore::RenderTreeUpdater::tearDownRenderers):
(WebCore::RenderTreeUpdater::tearDownRenderer):

  • style/RenderTreeUpdaterListItem.cpp:

(WebCore::RenderTreeUpdater::ListItem::updateMarker):

LayoutTests:

  • accessibility/mac/textbox-role-reports-notifications.html:

This passed because spurious AXValueChanged notifications. Force layout to prevent coalescing between mutations.

5:47 AM Changeset in webkit [223130] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[WPE] Build failure due to invalid cast of EGLNativeWindowType when targetting 64-bit ARM
https://bugs.webkit.org/show_bug.cgi?id=178090

Reviewed by Žan Doberšek.

  • WebProcess/WebPage/wpe/AcceleratedSurfaceWPE.cpp:

(WebKit::AcceleratedSurfaceWPE::window const): Use static_cast instead of reinterpret_cast,
this way extending values of EGLNativeWindowType to 64 bits is allowed.

5:02 AM Changeset in webkit [223129] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[WPE] GLib API headers WebKitScriptDialog.h and WebKitFileChooserRequest.h are not installed
https://bugs.webkit.org/show_bug.cgi?id=178104

Reviewed by Žan Doberšek.

  • PlatformWPE.cmake: Add missing header paths to the WPE_API_INSTALLED_HEADERS variable.
4:27 AM Changeset in webkit [223128] by Adrian Perez de Castro
  • 2 edits in trunk/Source/WebKit

[WPE][CMake] The “install” target should install all public API headers
https://bugs.webkit.org/show_bug.cgi?id=176475

Reviewed by Žan Doberšek.

Install the WPE port GLib-based API headers. The deprecated C API is still available,
but disabled by default behind the "EXPORT_DEPRECATED_WEBKIT2_C_API" CMake option.

  • PlatformWPE.cmake: Always install "wpe-webkit.pc" and the GLib C API for WPE.
3:38 AM Changeset in webkit [223127] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

Add isContinuation bit
https://bugs.webkit.org/show_bug.cgi?id=178084

Reviewed by Zalan Bujtas.

Currently continuations are identified indirectly by comparing renderer pointer with the element renderer pointer.
This is bug prone and fails to cover anonymous continuations.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::firstChildConsideringContinuation):
(WebCore::startOfContinuations):
(WebCore::firstChildIsInlineContinuation):
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const):

Ignore first-letter fragment. This worked before because first-letter renderers
were mistakenly considered inline element continuations (see below).

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::setContinuation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasContinuation const):
(WebCore::RenderElement::isContinuation const):
(WebCore::RenderElement::setIsContinuation):

The new bit.

(WebCore::RenderElement::isElementContinuation const):
(WebCore::RenderElement::isInlineElementContinuation const):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addChildIgnoringContinuation):
(WebCore::RenderInline::cloneAsContinuation const):
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::childBecameNonInline):
(WebCore::RenderInline::clone const): Deleted.

  • rendering/RenderInline.h:
  • rendering/RenderObject.h:

(WebCore::RenderObject::isAnonymousBlock const):
(WebCore::RenderObject::isElementContinuation const): Deleted.

The old continuation test was 'node() && node()->renderer() != this'
This was fragile as nulling the renderer will make it fail.
It was also wrong for first-letter renderers (isElementContinuation was true for them).

(WebCore::RenderObject::isInlineElementContinuation const): Deleted.

Move to RenderElement.

(WebCore::RenderObject::isBlockElementContinuation const): Deleted.

1:55 AM Changeset in webkit [223126] by jdiggs@igalia.com
  • 5 edits
    2 adds in trunk

AX: [ATK] STATE_CHECKABLE should be removed from radio buttons in radiogroups with aria-readonly="true"
https://bugs.webkit.org/show_bug.cgi?id=177931

Reviewed by Chris Fleizach.

Source/WebCore:

Add a check in canSetValueAttribute() for readonly radiogroup ancestors of
radio buttons.

Test: accessibility/gtk/aria-readonly-radiogroup.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canSetValueAttribute const):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::radioGroupAncestor const):

  • accessibility/AccessibilityObject.h:

LayoutTests:

  • accessibility/gtk/aria-readonly-radiogroup-expected.txt: Added.
  • accessibility/gtk/aria-readonly-radiogroup.html: Added.
12:58 AM Changeset in webkit [223125] by sbarati@apple.com
  • 16 edits
    2 moves
    1 add in trunk

The prototype cache should be aware of the Executable it generates a Structure for
https://bugs.webkit.org/show_bug.cgi?id=177907

Reviewed by Filip Pizlo.

JSTests:

  • microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added.

(assert):
(foo.C):
(foo):
(bar.C):
(bar):
(access):
(makeLongChain):
(accessY):

Source/JavaScriptCore:

This patch renames PrototypeMap to StructureCache because
it is no longer a map of the prototypes in the VM. It's
only used to cache Structures during object construction.

The main change of this patch is to guarantee that Structures generated
by the create_this originating from different two different Executables'
bytecode won't hash-cons to the same thing. Previously, we could hash-cons
them depending on the JSObject* prototype pointer. This would cause the last
thing that hash-consed to overwrite the Structure's poly proto watchpoint. This
happened because when we initialize a JSFunction's ObjectAllocationProfile,
we set the resulting Structure's poly proto watchpoint. This could cause a Structure
generating from some Executable e1 to end up with the poly proto watchpoint
for another Executable e2 simply because JSFunctions backed by e1 and e2
shared the same prototype. Then, based on profiling information, we may fire the
wrong Executable's poly proto watchpoint. This patch fixes this bug by
guaranteeing that Structures generating from create_this for different
Executables are unique even if they share the same prototype by adding
the FunctionExecutable* as another field in PrototypeKey.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • bytecode/InternalFunctionAllocationProfile.h:

(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):

  • bytecode/ObjectAllocationProfile.cpp:

(JSC::ObjectAllocationProfile::initializeProfile):

  • dfg/DFGOperations.cpp:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::createSubclassStructureSlow):

  • runtime/IteratorOperations.cpp:

(JSC::createIteratorResultObjectStructure):

  • runtime/JSBoundFunction.cpp:

(JSC::getBoundFunctionStructure):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ObjectConstructor.h:

(JSC::constructEmptyObject):

  • runtime/PrototypeKey.h:

(JSC::PrototypeKey::PrototypeKey):
(JSC::PrototypeKey::executable const):
(JSC::PrototypeKey::operator== const):
(JSC::PrototypeKey::hash const):

  • runtime/PrototypeMap.cpp: Removed.
  • runtime/PrototypeMap.h: Removed.
  • runtime/StructureCache.cpp: Copied from Source/JavaScriptCore/runtime/PrototypeMap.cpp.

(JSC::StructureCache::createEmptyStructure):
(JSC::StructureCache::emptyStructureForPrototypeFromBaseStructure):
(JSC::StructureCache::emptyObjectStructureForPrototype):
(JSC::PrototypeMap::createEmptyStructure): Deleted.
(JSC::PrototypeMap::emptyStructureForPrototypeFromBaseStructure): Deleted.
(JSC::PrototypeMap::emptyObjectStructureForPrototype): Deleted.

  • runtime/StructureCache.h: Copied from Source/JavaScriptCore/runtime/PrototypeMap.h.

(JSC::StructureCache::StructureCache):
(JSC::PrototypeMap::PrototypeMap): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Oct 9, 2017:

10:53 PM Changeset in webkit [223124] by Yusuke Suzuki
  • 9 edits
    6 adds in trunk

async should be able to be used as an imported binding name
https://bugs.webkit.org/show_bug.cgi?id=176573

Reviewed by Saam Barati.

JSTests:

  • modules/import-default-async.js: Added.
  • modules/import-named-async-as.js: Added.
  • modules/import-named-async.js: Added.
  • modules/import-named-async/target.js: Added.
  • modules/import-namespace-async.js: Added.
  • test262.yaml:

Source/JavaScriptCore:

Previously, we have ASYNC keyword in the parser. This is introduced only for performance,
and ECMA262 spec does not categorize "async" to keyword. This makes parser code complicated,
since ASYNC should be handled as IDENT. If we missed this ASYNC keyword, we cause a bug.
For example, import declaration failed to bind imported binding to the name "async" because
the parser considered ASYNC as keyword.

This patch removes ASYNC keyword from the parser. By carefully handling ASYNC, we can keep
the current performance without using this ASYNC keyword.

We also add escaped field to token data since contextual keyword is valid only if it does
not contain any escape sequences. We fix bunch of contextual keyword use with this fix too
e.g. of in for-of. This improves test262 score.

  • parser/Keywords.table:
  • parser/Lexer.cpp:

(JSC::Lexer<LChar>::parseIdentifier):
(JSC::Lexer<UChar>::parseIdentifier):
(JSC::Lexer<CharacterType>::parseIdentifierSlowCase):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseStatementListItem):
(JSC::Parser<LexerType>::parseForStatement):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::maybeParseAsyncFunctionDeclarationStatement):
(JSC::Parser<LexerType>::parseClass):
(JSC::Parser<LexerType>::parseExportDeclaration):
(JSC::Parser<LexerType>::parseAssignmentExpression):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
(JSC::Parser<LexerType>::printUnexpectedTokenText):

  • parser/Parser.h:

(JSC::Parser::matchContextualKeyword):

  • parser/ParserTokens.h:
  • runtime/CommonIdentifiers.h:
10:11 PM Changeset in webkit [223123] by sbarati@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

We don't need to clearEmptyObjectStructureForPrototype because JSGlobalObject* is part of the cache's key
https://bugs.webkit.org/show_bug.cgi?id=177987

Reviewed by Filip Pizlo.

  • runtime/JSProxy.cpp:

(JSC::JSProxy::setTarget):

  • runtime/PrototypeMap.cpp:

(JSC::PrototypeMap::clearEmptyObjectStructureForPrototype): Deleted.

  • runtime/PrototypeMap.h:
9:44 PM Changeset in webkit [223122] by commit-queue@webkit.org
  • 4 edits in trunk

Vector should be able to easily create from a list of movable only items
https://bugs.webkit.org/show_bug.cgi?id=176432

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

Source/WTF:

Adding static from method to construct a Vector from movable-only items.
This may also be used instead of initializer list constructor for types that would benefit of being moved.

  • wtf/Vector.h:

(WTF::Vector::Vector):
(WTF::Vector::from):
(WTF::Vector::uncheckedInitialize): Introduced as an optimization to set the vector size once.
(WTF::Malloc>::reserveInitialCapacity):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

9:28 PM Changeset in webkit [223121] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/bmalloc

Use one virtual allocation for all gigacages and their runways
https://bugs.webkit.org/show_bug.cgi?id=178050

Reviewed by Saam Barati.

  • bmalloc/Gigacage.cpp:

(Gigacage::ensureGigacage):
(Gigacage::runway): Deleted.
(Gigacage::totalSize): Deleted.

  • bmalloc/Gigacage.h:
9:12 PM Changeset in webkit [223120] by jmarcell@apple.com
  • 3 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r221430. rdar://problem/34770998

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

Cherry-pick r222995. rdar://problem/34891302

9:10 PM Changeset in webkit [223118] by Chris Dumez
  • 5 edits in trunk

Calling fileSystemDirectoryEntry.getDirectory() with empty path should not fail
https://bugs.webkit.org/show_bug.cgi?id=178114

Reviewed by Ryosuke Niwa.

Source/WebCore:

Calling fileSystemDirectoryEntry.getDirectory() with empty/null/undefined path should not fail as per:

The empty string is a valid path as per:

This aligns out behavior with Chrome.

No new tests, updated existing test.

  • Modules/entriesapi/DOMFileSystem.cpp:

(WebCore::isValidVirtualPath):
(WebCore::resolveRelativeVirtualPath):

LayoutTests:

Extend layout test coverage.

  • editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory-expected.txt:
  • editing/pasteboard/entries-api/datatransfer-items-drop-getDirectory.html:
8:19 PM Changeset in webkit [223117] by Chris Dumez
  • 5 edits in trunk

It should not be possible to submit a form that is disconnected
https://bugs.webkit.org/show_bug.cgi?id=178099

Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

Rebaseline several WPT tests now that more checks are passing.

  • web-platform-tests/dom/events/Event-dispatch-click-expected.txt:
  • web-platform-tests/html/semantics/forms/the-button-element/button-click-submits-expected.txt:

Source/WebCore:

It should not be possible to submit a form that is disconnected. Both Firefox and Chrome agree with the specification.

This is as per:
https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#form-submission-algorithm (step 1)
which refers to:
https://html.spec.whatwg.org/multipage/links.html#cannot-navigate

Form cannot navigate when it is disconnected.

No new tests, rebaselined existing tests.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::prepareForSubmission):

7:48 PM Changeset in webkit [223116] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSCell::didBecomePrototype is racy
https://bugs.webkit.org/show_bug.cgi?id=178110

Reviewed by Saam Barati.

The indexing type can be modified by any thread using CAS. So, we need to use atomics when
modifying it. We don't need to use atomics when reading it though (since it's just one field).

  • runtime/JSCellInlines.h:

(JSC::JSCell::didBecomePrototype):

7:14 PM Changeset in webkit [223115] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Mark http/tests/paymentrequest/payment-request-abort-method.https.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=178107

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
7:05 PM Changeset in webkit [223114] by Ryan Haddad
  • 2 edits
    2 deletes in trunk/LayoutTests

Rebaseline imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html for iOS.

Unreviewed test gardening.

  • platform/ios-simulator-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt: Removed.
  • platform/ios/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
6:40 PM Changeset in webkit [223113] by fpizlo@apple.com
  • 21 edits
    4 adds in trunk

Enable gigacage on iOS
https://bugs.webkit.org/show_bug.cgi?id=177586

Reviewed by JF Bastien.
JSTests:


Add tests for when Gigacage gets runtime disabled.

  • stress/disable-gigacage-arrays.js: Added.

(foo):

  • stress/disable-gigacage-strings.js: Added.

(foo):

  • stress/disable-gigacage-typed-arrays.js: Added.

(foo):

Source/bmalloc:


Introduce the ability to disable gigacage at runtime if allocation fails. If any step of gigacage
allocation fails, we free all of the gigacages and turn off gigacage support.

Reland this after confirming that the 20% Kraken regression was a one-bot fluke. Local testing on the
same kind of system did not show the regression. Saam and I both tried independently.

  • CMakeLists.txt:
  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Cache.cpp:

(bmalloc::Cache::scavenge):

  • bmalloc/Cache.h:

(bmalloc::Cache::tryAllocate):
(bmalloc::Cache::allocate):
(bmalloc::Cache::deallocate):
(bmalloc::Cache::reallocate):

  • bmalloc/Gigacage.cpp:

(Gigacage::ensureGigacage):
(Gigacage::runway):
(Gigacage::totalSize):
(Gigacage::shouldBeEnabled):
(): Deleted.
(Gigacage::Callback::Callback): Deleted.
(Gigacage::Callback::function): Deleted.
(Gigacage::PrimitiveDisableCallbacks::PrimitiveDisableCallbacks): Deleted.

  • bmalloc/Gigacage.h:

(Gigacage::wasEnabled):
(Gigacage::isEnabled):
(Gigacage::runway): Deleted.
(Gigacage::totalSize): Deleted.

  • bmalloc/HeapKind.cpp: Added.

(bmalloc::isActiveHeapKind):
(bmalloc::mapToActiveHeapKind):

  • bmalloc/HeapKind.h:

(bmalloc::isActiveHeapKindAfterEnsuringGigacage):
(bmalloc::mapToActiveHeapKindAfterEnsuringGigacage):

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::scavenge):

  • bmalloc/bmalloc.h:

(bmalloc::api::tryLargeMemalignVirtual):
(bmalloc::api::freeLargeVirtual):
(bmalloc::api::isEnabled):

Source/JavaScriptCore:

The hardest part of enabling Gigacage on iOS is that it requires loading global variables while
executing JS, so the LLInt needs to know how to load from global variables on all platforms that
have Gigacage. So, this teaches ARM64 how to load from global variables.

Also, this makes the code handle disabling the gigacage a bit better.

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::caged):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::cage):
(JSC::AssemblyHelpers::cageConditionally):

  • offlineasm/arm64.rb:
  • offlineasm/asm.rb:
  • offlineasm/instructions.rb:

Tools:


Add a mode to test disabling Gigacage.

  • Scripts/run-jsc-stress-tests:
  • Scripts/webkitruby/jsc-stress-test-writer-default.rb:
6:30 PM Changeset in webkit [223112] by rmorisset@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Evaluate the benefit of skipping dead code in the DFGByteCodeParser when a function returns in its first block
https://bugs.webkit.org/show_bug.cgi?id=177925

Reviewed by Saam Barati.

We used to do a rather weird "optimisation" in the bytecode parser: when a function would return in its first block,
the rest of the function was skipped. Since it has no actual impact on any benchmarks from what I could see, I removed
that code. It allows some changes to parseBlock(), since it now returns void and no-longer bool (it was returning a boolean that said whether that case happened or not).

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

6:20 PM Changeset in webkit [223111] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

Disable INPUT_TYPE_COLOR in FeatureDefines.h
https://bugs.webkit.org/show_bug.cgi?id=178103
<rdar://problem/34872127>

Reviewed by Simon Fraser.

  • wtf/FeatureDefines.h:

Because FeatureDefines.h overrides features that are not enabled in
FeatureDefines.xcconfig, you currently have to turn INPUT_TYPE_COLOR
off in two places. Since we only ever want it on for Mac, it's OK
to depend on the xcconfig defining it.

6:15 PM Changeset in webkit [223110] by mmaxfield@apple.com
  • 6 edits
    3 adds in trunk

Delete button doesn't fully delete certain emoji
https://bugs.webkit.org/show_bug.cgi?id=178096
<rdar://problem/34785106>

Reviewed by Simon Fraser.

Source/WebCore:

System infrastructure for handling emoji changes every year. Instead of having
custom code to specifically walk over codepoints, we should delegate to the
system handling.

Test: editing/deleting/delete-emoji.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::previousOffset const):
(WebCore::RenderText::previousOffsetForBackwardDeletion const):
(WebCore::RenderText::nextOffset const):
(WebCore::isHangulLVT): Deleted.
(WebCore::isMark): Deleted.
(WebCore::isRegionalIndicator): Deleted.
(WebCore::isInArmenianToLimbuRange): Deleted.

LayoutTests:

  • editing/deleting/delete-emoji-2.html:
  • platform/mac/editing/deleting/delete-emoji-expected.txt:
  • platform/mac/editing/deleting/delete-emoji-2-expected.txt:
  • platform/ios/editing/deleting/delete-emoji-expected.txt:
  • platform/ios/editing/deleting/delete-emoji-2-expected.txt:
  • platform/win/TestExpectations:
5:19 PM Changeset in webkit [223109] by aestes@apple.com
  • 1 edit in trunk/Source/WebCore/testing/Internals.cpp

Fix two test crashes caused by r223076.

  • testing/Internals.cpp:

(WebCore::Internals::Internals):

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

Cherry-pick r222786. rdar://problem/34820881

5:08 PM Changeset in webkit [223107] by jmarcell@apple.com
  • 6 edits in branches/safari-604-branch

Cherry-pick r222779. rdar://problem/34820881

5:08 PM Changeset in webkit [223106] by jmarcell@apple.com
  • 20 edits
    2 adds in branches/safari-604-branch

Cherry-pick r220412. rdar://problem/34771061

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

Cherry-pick r221098. rdar://problem/34771028

5:08 PM Changeset in webkit [223104] by jmarcell@apple.com
  • 12 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r221046. rdar://problem/34891067

5:08 PM Changeset in webkit [223103] by jmarcell@apple.com
  • 7 edits
    10 adds in branches/safari-604-branch

Cherry-pick r222402. rdar://problem/34770839

5:08 PM Changeset in webkit [223102] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/JavaScriptCore

Cherry-pick r222748. rdar://problem/34820919

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

Apply patch. rdar://problem/34770842

Cherry-pick r221083. rdar://problem/34770842, rdar://problem/34770849

5:08 PM Changeset in webkit [223100] by jmarcell@apple.com
  • 3 edits
    1 add in branches/safari-604-branch

Cherry-pick r222598. rdar://problem/34771434

5:08 PM Changeset in webkit [223099] by jmarcell@apple.com
  • 14 edits in branches/safari-604-branch

Cherry-pick r222190. rdar://problem/34771470

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

Cherry-pick r221100. rdar://problem/34771028

5:08 PM Changeset in webkit [223097] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebKit

Cherry-pick r221036. rdar://problem/34771044

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

Cherry-pick r221016. rdar://problem/34770830

5:08 PM Changeset in webkit [223095] by jmarcell@apple.com
  • 3 edits
    2 deletes in branches/safari-604-branch

Cherry-pick r220484. rdar://problem/34770810

5:07 PM Changeset in webkit [223094] by jmarcell@apple.com
  • 14 edits
    2 adds in branches/safari-604-branch

Cherry-pick r220302. rdar://problem/34770803

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

Cherry-pick r221400. rdar://problem/34771396

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

Cherry-pick r221128. rdar://problem/34771005

5:07 PM Changeset in webkit [223091] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Image data should be coalesced if it comes in small chunks before updating the ImageSource
https://bugs.webkit.org/show_bug.cgi?id=175890

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

Coalesce the updates, which an Image makes when receiving encoded data in
small chunks, for all platforms. Ensure the clients of the CachedImage
won't be notified unless an update in the ImageSource happens.

I need to change some functions' names to better implement this patch.
The names of these functions have been confusing:

CachedImage::addData(SharedBuffer&)
CachedImage::addDataBuffer(const char* data, unsigned)
CachedImage::addIncrementalDataBuffer(SharedBuffer&)

The image data is not buffered incrementally into the CachedImage. When
new data is received, SubresourceLoader calls CachedImage to "update" its
m_data with either a SharedBuffer or a data pointer. In either case the
SharedBuffer or the pointer contains all the loaded data. SubresourceLoader
calls CachedImage to update its m_data, to ensure its m_image is created
and to notify its clients with the new data.

The verb "add" in the functions' name is misleading. I am suggesting the
following names instead:

CachedImage::updateBuffer(SharedBuffer&)
CachedImage::updateData(const char*, unsigned)
CachedImage::doUpdateBuffer(SharedBuffer&)

The first two are the virtual ones. They are called form SubresourceLoader.
The third one is the internal implementation to update the m_data member.
The same names will be used in the following classes:

CachedResource which is the base class of CachedImage
CachedRawResource which is derived from CachedResource
CachedTextTrack which is derived from CachedResource

  • html/ImageDocument.cpp:

(WebCore::ImageDocument::updateDuringParsing):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveDataOrBuffer):

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::clearImage): Reset the update back off members.
(WebCore::CachedImage::doUpdateBuffer): Don't update CachedImage with
the new data if it comes in small chunks with fast rate.
(WebCore::CachedImage::shouldDeferUpdateImageData const): This code is moved
from ImageSource::dataChanged().
(WebCore::CachedImage::didUpdateImageData): Ditto.
(WebCore::CachedImage::updateImageData):
(WebCore::CachedImage::updateBuffer):
(WebCore::CachedImage::updateData):
(WebCore::CachedImage::finishLoading):
(WebCore::CachedImage::addIncrementalDataBuffer): Deleted.
(WebCore::CachedImage::setImageDataBuffer): Deleted.
(WebCore::CachedImage::addDataBuffer): Deleted.
(WebCore::CachedImage::addData): Deleted.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::updateBuffer):
(WebCore::CachedRawResource::updateData):
(WebCore::CachedRawResource::addDataBuffer): Deleted.
(WebCore::CachedRawResource::addData): Deleted.

  • loader/cache/CachedRawResource.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::updateBuffer):
(WebCore::CachedResource::updateData):
(WebCore::CachedResource::addDataBuffer): Deleted.
(WebCore::CachedResource::addData): Deleted.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedTextTrack.cpp:

(WebCore::CachedTextTrack::doUpdateBuffer): Rename updateData() to doUpdateBuffer().
(WebCore::CachedTextTrack::updateBuffer): Rename addDataBuffer() to updateBuffer().
(WebCore::CachedTextTrack::finishLoading): Call the internal function doUpdateBuffer().
(WebCore::CachedTextTrack::updateData): Deleted.
(WebCore::CachedTextTrack::addDataBuffer): Deleted.

  • loader/cache/CachedTextTrack.h:
  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::dataChanged): Move the update back off code to CachedImage::updateData().

  • platform/graphics/ImageSource.h:
5:07 PM Changeset in webkit [223090] by jmarcell@apple.com
  • 2 edits in branches/safari-604-branch/Source/WebCore

Cherry-pick r221116. rdar://problem/34771068

5:07 PM Changeset in webkit [223089] by jmarcell@apple.com
  • 19 edits in branches/safari-604-branch

Cherry-pick r220718. rdar://problem/34771041

5:07 PM Changeset in webkit [223088] by jmarcell@apple.com
  • 6 edits in branches/safari-604-branch/Source

Cherry-pick r220496. rdar://problem/34770816

5:05 PM Changeset in webkit [223087] by Chris Dumez
  • 3 edits in trunk/LayoutTests/imported/w3c

usemap-casing.html test passes in browser, fails in LayoutTests because it is taller than 600px
https://bugs.webkit.org/show_bug.cgi?id=178053

Reviewed by Youenn Fablet.

Re-sync html/semantics/embedded-content/the-img-element/usemap-casing.html after:

  • web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing-expected.txt:
  • web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing.html:
4:55 PM Changeset in webkit [223086] by rmorisset@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Refactor the inliner to simplify block linking
https://bugs.webkit.org/show_bug.cgi?id=177922

Reviewed by Saam Barati.

The biggest refactor changes the way blocks are linked. In DFGByteCodeParser, most terminals (such as Jump or Branch) jump to nullptr initially, and have
some metadata indicating the bytecode index corresponding to their targets. They are later linked to the right basic block using two fields of InlineStackEntry:

  • m_unlinkedBlocks is just a worklist of blocks with a terminal that needs to be linked
  • m_linkingTargets is a dictionary from bytecode indices to BasicBlock*

Before refactoring, every block was automatically added to both of these fields, for the InlineStackEntry of whatever function allocated it.
This created a significant number of corner cases, such as blocks allocated in a caller, with a terminal written by an inlined callee and pointing to a block in the callee,
or blocks allocated in an inline callee, with a terminal written by the caller after it returns and pointing to a block in the caller, or blocks with a manually linked
terminal that needs to be taken off m_unlinkedBlocks.
I changed things so that blocks are only added to m_unlinkedBlocks when their terminal gets written (see the LAST_OPCODE macro) making it a lot easier to be in the "right" InlineStackEntry,
that is the one that holds their target in its m_linkingTargets field.

There are a few much smaller refactors in this patch:

  • parse() is now of type void insted of bool (it was always returning true)
  • The 7 and 8 arguments of handleCall were inlined in its 3 arguments version for readability
  • The 9 argument version was cleaned up and simplified
  • I made separate allocateBlock routines because the little dance with adoptRef(* new BasicBlock(...)) was being repeated in lots of places, and typos in that were a major source of bugs during other refactorings
  • Jumps are now created with explicit addJumpTo() functions, providing some sanity checking through asserts and didLink()
  • Blocks are only added to m_unlinkedBlocks if they end in a terminal that linkBlock works with (see LAST_OPCODE)
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::addToGraph):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::refineStatically):
(JSC::DFG::ByteCodeParser::handleRecursiveTailCall):
(JSC::DFG::ByteCodeParser::handleVarargsCall):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parseCodeBlock):
(JSC::DFG::ByteCodeParser::parse):
(JSC::DFG::parse):
(JSC::DFG::ByteCodeParser::cancelLinkingForBlock): Deleted.

  • dfg/DFGByteCodeParser.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

4:45 PM Changeset in webkit [223085] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.3.5.0.1

Tag Safari-604.3.5.0.1.

4:35 PM Changeset in webkit [223084] by jmarcell@apple.com
  • 13 edits
    1 add in branches/safari-604.3.5.0-branch

Apply patch. rdar://problem/34857459

Apply patch. rdar://problem/34857459

4:27 PM Changeset in webkit [223083] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Fix typo of virtual keyword in PageClientImplIOS.h
https://bugs.webkit.org/show_bug.cgi?id=178088

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-10-09
Reviewed by Simon Fraser.

This compile error happens when FULLSCREEN_API is enabled for iOS.
Remove the redundant virtual keyword since function is marked override.

  • UIProcess/ios/PageClientImplIOS.h:
4:27 PM Changeset in webkit [223082] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

[iOS][WK2] Tiles outsides the viewport are sometimes missing after relaunching a crashes WebProcess
https://bugs.webkit.org/show_bug.cgi?id=178095
<rdar://problem/34415016>

Reviewed by Simon Fraser.

Make sure we reset WKWebView._hasScheduledVisibleRectUpdate to NO in WKWebView._processDidExit.
_scheduleVisibleContentRectUpdateAfterScrollInView would otherwise return early because
WKWebView._hasScheduledVisibleRectUpdate is always YES. Normally,
_addUpdateVisibleContentRectPreCommitHandler sets a CATransaction commit handler that
resets _hasScheduledVisibleRectUpdate to NO, but it does not do so when ![webView _isValid]
(which is true when the WebProcess has crashed.

Also reset WKWebView._commitDidRestoreScrollPosition to NO in WKWebView._processDidExit even
though it does not seem to be the cause of this bug. It seems to make sense to reset this member
when the process crashes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _processDidExit]):

4:14 PM Changeset in webkit [223081] by msaboff@apple.com
  • 15 edits
    17 adds in trunk

Implement RegExp Unicode property escapes
https://bugs.webkit.org/show_bug.cgi?id=172069

Reviewed by JF Bastien.

JSTests:

Enabled Unicode Property tests.

  • test262.yaml:

Source/JavaScriptCore:

Added Unicode Properties by extending the existing CharacterClass processing.

Introduced a new Python script, generateYarrUnicodePropertyTables.py, that parses
Unicode Database files to create character class data. The result is a set of functions
that return character classes, one for each of the required Unicode properties.
There are many cases where many properties are handled by one function, primarily due to
property aliases, but also due to Script_Extension properties that are the same as the
Script property for the same script value.

Extended the BuiltInCharacterClassID enum so it can be used also for Unicode property
character classes. Unicode properties are the enum value BaseUnicodePropertyID plus a
zero based value, that value being the index to the corrensponding character class
function. The generation script also creates static hashing tables similar to what we
use for the generated .lut.h lookup table files. These hashing tables map property
names to the function index. Using these hashing tables, we can lookup a property
name and if present convert it to a function index. We add that index to
BaseUnicodePropertyID to create a BuiltInCharacterClassID.

When we do syntax parsing, we convert the property to its corresponding BuiltInCharacterClassID.
When doing real parsing we takes the returned BuiltInCharacterClassID and use it to get
the actual character class by calling the corresponding generated function.

Added a new CharacterClass constructor that can take literal arrays for ranges and matches
to make the creation of large static character classes more efficent.

Since the Unicode character classes typically have more matches and ranges, the character
class matching in the interpreter has been updated to use binary searching for matches and
ranges with more than 6 entries.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Scripts/generateYarrUnicodePropertyTables.py: Added.

(openOrExit):
(openUCDFileOrExit):
(verifyUCDFilesExist):
(ceilingToPowerOf2):
(Aliases):
(Aliases.init):
(Aliases.parsePropertyAliasesFile):
(Aliases.parsePropertyValueAliasesFile):
(Aliases.globalAliasesFor):
(Aliases.generalCategoryAliasesFor):
(Aliases.generalCategoryForAlias):
(Aliases.scriptAliasesFor):
(Aliases.scriptNameForAlias):
(PropertyData):
(PropertyData.init):
(PropertyData.setAliases):
(PropertyData.makeCopy):
(PropertyData.getIndex):
(PropertyData.getCreateFuncName):
(PropertyData.addMatch):
(PropertyData.addRange):
(PropertyData.addMatchUnorderedForMatchesAndRanges):
(PropertyData.addRangeUnorderedForMatchesAndRanges):
(PropertyData.addMatchUnordered):
(PropertyData.addRangeUnordered):
(PropertyData.removeMatchFromRanges):
(PropertyData.removeMatch):
(PropertyData.dumpMatchData):
(PropertyData.dump):
(PropertyData.dumpAll):
(PropertyData.dumpAll.std):
(PropertyData.createAndDumpHashTable):
(Scripts):
(Scripts.init):
(Scripts.parseScriptsFile):
(Scripts.parseScriptExtensionsFile):
(Scripts.dump):
(GeneralCategory):
(GeneralCategory.init):
(GeneralCategory.createSpecialPropertyData):
(GeneralCategory.findPropertyGroupFor):
(GeneralCategory.addNextCodePoints):
(GeneralCategory.parse):
(GeneralCategory.dump):
(BinaryProperty):
(BinaryProperty.init):
(BinaryProperty.parsePropertyFile):
(BinaryProperty.dump):

  • Scripts/hasher.py: Added.

(stringHash):

  • Sources.txt:
  • ucd/DerivedBinaryProperties.txt: Added.
  • ucd/DerivedCoreProperties.txt: Added.
  • ucd/DerivedNormalizationProps.txt: Added.
  • ucd/PropList.txt: Added.
  • ucd/PropertyAliases.txt: Added.
  • ucd/PropertyValueAliases.txt: Added.
  • ucd/ScriptExtensions.txt: Added.
  • ucd/Scripts.txt: Added.
  • ucd/UnicodeData.txt: Added.
  • ucd/emoji-data.txt: Added.
  • yarr/Yarr.h:
  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::Interpreter::testCharacterClass):

  • yarr/YarrParser.h:

(JSC::Yarr::Parser::parseEscape):
(JSC::Yarr::Parser::parseTokens):
(JSC::Yarr::Parser::isUnicodePropertyValueExpressionChar):
(JSC::Yarr::Parser::tryConsumeUnicodePropertyExpression):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::CharacterClassConstructor::appendInverted):
(JSC::Yarr::YarrPatternConstructor::atomBuiltInCharacterClass):
(JSC::Yarr::YarrPatternConstructor::atomCharacterClassBuiltIn):
(JSC::Yarr::YarrPattern::errorMessage):
(JSC::Yarr::PatternTerm::dump):

  • yarr/YarrPattern.h:

(JSC::Yarr::CharacterRange::CharacterRange):
(JSC::Yarr::CharacterClass::CharacterClass):
(JSC::Yarr::YarrPattern::reset):
(JSC::Yarr::YarrPattern::unicodeCharacterClassFor):

  • yarr/YarrUnicodeProperties.cpp: Added.

(JSC::Yarr::HashTable::entry const):
(JSC::Yarr::unicodeMatchPropertyValue):
(JSC::Yarr::unicodeMatchProperty):
(JSC::Yarr::createUnicodeCharacterClassFor):

  • yarr/YarrUnicodeProperties.h: Added.

Source/WebCore:

Refactoring change - Added BuiltInCharacterClassID:: prefix to uses of the enum.

  • contentextensions/URLFilterParser.cpp:

(WebCore::ContentExtensions::PatternParser::atomBuiltInCharacterClass):

LayoutTests:

New test.

  • js/regexp-unicode-properties-expected.txt: Added.
  • js/regexp-unicode-properties.html: Added.
  • js/script-tests/regexp-unicode-properties.js: Added.
3:58 PM Changeset in webkit [223080] by jmarcell@apple.com
  • 7 edits in branches/safari-604.3.5.0-branch/Source

Versioning.

3:49 PM Changeset in webkit [223079] by dino@apple.com
  • 4 edits in trunk/LayoutTests/imported/w3c

ImageBitmap test gardening after https://bugs.webkit.org/show_bug.cgi?id=177963

  • web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt:
  • web-platform-tests/imagebitmap-renderingcontext/context-creation-expected.txt:
  • web-platform-tests/imagebitmap-renderingcontext/context-preserves-canvas-expected.txt:
3:47 PM Changeset in webkit [223078] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Tab - Include remote address in the Headers view
https://bugs.webkit.org/show_bug.cgi?id=178094
<rdar://problem/34895221>

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

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

(WI.ResourceHeadersContentView.prototype._refreshSummarySection):
(WI.ResourceHeadersContentView.prototype._resourceMetricsDidChange):

3:44 PM Changeset in webkit [223077] by jmarcell@apple.com
  • 7 edits in branches/safari-604.3.5.1-branch/Source

Versioning.

3:40 PM Changeset in webkit [223076] by aestes@apple.com
  • 19 edits
    3 copies
    5 adds
    2 deletes in trunk

[Payment Request] Implement PaymentRequest.show() and PaymentRequest.hide()
https://bugs.webkit.org/show_bug.cgi?id=178043
<rdar://problem/34076639>

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

  • web-platform-tests/payment-request/payment-request-abort-method.https-expected.txt: Removed.
  • web-platform-tests/payment-request/payment-request-show-method.https-expected.txt: Removed.

Source/WebCore:

Tests: http/tests/paymentrequest/payment-request-abort-method.https.html

http/tests/paymentrequest/payment-request-show-method.https.html

  • Modules/applepay/PaymentCoordinator.h:
  • Modules/applepay/PaymentSession.h: Virtually inherited from PaymentSessionBase to

accommodate ApplePayPaymentHandler inheriting from both this and PaymentHandler.
(WebCore::PaymentSession::~PaymentSession): Deleted.

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:

(WebCore::paymentCoordinator): Virtually inherited from PaymentSessionBase to accommodate
ApplePayPaymentHandler inheriting from both this and PaymentSession.
(WebCore::ApplePayPaymentHandler::hasActiveSession): Added. Calls PaymentCoordinator::hasActiveSession().
(WebCore::ApplePayPaymentHandler::show): Added. Calls PaymentCoordinator::beginPaymentSession().
(WebCore::ApplePayPaymentHandler::hide): Added. Calls PaymentCoordinator::abortPaymentSession().

  • Modules/applepay/paymentrequest/ApplePayPaymentHandler.h: Inherited from PaymentSession in

addition to PaymentHandler so that this can be PaymentCoordinator active session.

  • Modules/paymentrequest/PaymentHandler.cpp:

(WebCore::PaymentHandler::create):
(WebCore::PaymentHandler::hasActiveSession):

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

(WebCore::PaymentRequest::~PaymentRequest):
(WebCore::PaymentRequest::show): Rejected the promise if PaymentCoordinator has an active session.
(WebCore::PaymentRequest::abort): Called stop().
(WebCore::PaymentRequest::canSuspendForDocumentSuspension const): Returned true if state is
Interactive and there is an active handler showing.
(WebCore::PaymentRequest::stop): Hid the active session if it's showing, then set state to
Closed and rejected the show promise.

  • Modules/paymentrequest/PaymentRequest.h:
  • Modules/paymentrequest/PaymentSessionBase.h: Added. Inherits from

RefCounted<PaymentSessionBase> and defines a virtual destructor. This allows subclasses to
virtually inherit a single ref-count to support multiple inheritance.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/CodeGeneratorJS.pm:

(GetGnuVTableOffsetForType): Added ApplePaySession to the list of classes that need a vtable
offset of 3.

  • page/MainFrame.cpp:

(WebCore::MainFrame::setPaymentCoordinator): Added a setter for m_paymentCoordinator.

  • page/MainFrame.h:
  • testing/Internals.cpp:

(WebCore::Internals::Internals): Set the main frame's payment coordinator to a new
PaymentCoordinator with MockPaymentCoordinator as its client.

  • testing/MockPaymentCoordinator.cpp: Added a mock PaymentCoordinatorClient for testing.

(WebCore::MockPaymentCoordinator::supportsVersion):
(WebCore::MockPaymentCoordinator::canMakePayments):
(WebCore::MockPaymentCoordinator::canMakePaymentsWithActiveCard):
(WebCore::MockPaymentCoordinator::openPaymentSetup):
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::paymentCoordinatorDestroyed):

  • testing/MockPaymentCoordinator.h: Added.

LayoutTests:

Copied payment-request-abort-method.https.html and payment-request-show-method.https.html
from web-platform-tests/payment-request/ and changed the payment method from basic-card to
Apple Pay. This needs to eventually be upstreamed back to WPT.

  • TestExpectations:
  • http/tests/paymentrequest/payment-request-abort-method.https-expected.txt: Added.
  • http/tests/paymentrequest/payment-request-abort-method.https.html: Added.
  • http/tests/paymentrequest/payment-request-show-method.https-expected.txt: Added.
  • http/tests/paymentrequest/payment-request-show-method.https.html: Added.
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:
3:30 PM Changeset in webkit [223075] by jmarcell@apple.com
  • 1 copy in branches/safari-604.3.5.0-branch

New branch.

3:28 PM Changeset in webkit [223074] by jmarcell@apple.com
  • 1 copy in branches/safari-604.3.5.1-branch

New branch.

3:17 PM Changeset in webkit [223073] by commit-queue@webkit.org
  • 31 edits
    3 adds in trunk

Add quota to cache API
https://bugs.webkit.org/show_bug.cgi?id=177552

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

Source/WebCore:

Tests: http/wpt/cache-storage/cache-quota.any.html

Storing padded opaque response body sizes within FetchResponse and CacheStorageConnection.
See https://github.com/whatwg/storage/issues/31 for the rationale about this padding.
Storing in CacheStorageConnection is needed for handling cloned network fetched created responses.
Storing in FetchResponse is needed for handling cloned cache-storage created opaque responses.

Adding internals to query and set the fuzzed size of a response.

  • Modules/cache/CacheStorageConnection.cpp:

(WebCore::computeRealBodySize):
(WebCore::CacheStorageConnection::computeRecordBodySize):
(WebCore::CacheStorageConnection::setResponseBodySizeWithPadding):
(WebCore::CacheStorageConnection::responseBodySizeWithPadding const):

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

(WebCore::DOMCache::toConnectionRecord):
(WebCore::DOMCache::updateRecords):

  • Modules/cache/DOMCache.h:
  • Modules/cache/DOMCacheEngine.cpp:

(WebCore::DOMCacheEngine::errorToException):
(WebCore::DOMCacheEngine::Record::copy const):

  • Modules/cache/DOMCacheEngine.h:
  • Modules/cache/WorkerCacheStorageConnection.cpp:

(WebCore::toCrossThreadRecordData):
(WebCore::fromCrossThreadRecordData):

  • Modules/fetch/FetchResponse.cpp:

(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):

  • Modules/fetch/FetchResponse.h:
  • Modules/fetch/FetchResponse.idl:
  • testing/Internals.cpp:

(WebCore::Internals::setResponseSizeWithPadding):
(WebCore::Internals::responseSizeWithPadding const):

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

Source/WebKit:

Adding support for quota checking in CacheStorage::Caches.
It is passed to NetworkProcess at creation time.
Default quota size is configured to 400Ko by origin per default.
This value is suitable for testing.
Future patch should raise this default value and allows configuring it.

Quota is computed based on the response body size.
This size is padded at WebCore for opaque responses.
Size is stored persistently as opaque response padded size should remain stable.
See https://github.com/whatwg/storage/issues/31 for the rationale about this padding.

In case of putting several records at the same time, the size of all records
is computed so that all records will be written or rejected together.

Sending QuotaExceeded error when quota is exceeded.
Future effort should allow asking UIProcess for quota extension.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::cacheStoragePerOriginQuota const):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode const):
(WebKit::NetworkProcessCreationParameters::decode):

  • NetworkProcess/NetworkProcessCreationParameters.h:
  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::readCachesFromDisk):

  • NetworkProcess/cache/CacheStorageEngineCache.cpp:

(WebKit::CacheStorage::Cache::toRecordInformation):
(WebKit::CacheStorage::isolatedCopy):
(WebKit::CacheStorage::Cache::open):
(WebKit::CacheStorage::Cache::storeRecords):
(WebKit::CacheStorage::Cache::put):
(WebKit::CacheStorage::Cache::writeRecordToDisk):
(WebKit::CacheStorage::Cache::updateRecordToDisk):
(WebKit::CacheStorage::Cache::removeRecordFromDisk):
(WebKit::CacheStorage::Cache::encode):
(WebKit::CacheStorage::Cache::decodeRecordHeader):
(WebKit::CacheStorage::Cache::decode):

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

(WebKit::CacheStorage::Caches::Caches):
(WebKit::CacheStorage::Caches::initialize):
(WebKit::CacheStorage::Caches::initializeSize):
(WebKit::CacheStorage::Caches::requestSpace):
(WebKit::CacheStorage::Caches::writeRecord):
(WebKit::CacheStorage::Caches::removeRecord):
(WebKit::CacheStorage::Caches::removeCacheEntry):

  • NetworkProcess/cache/CacheStorageEngineCaches.h:

(WebKit::CacheStorage::Caches::create):
(WebKit::CacheStorage::Caches::hasEnoughSpace const):

  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::traverse):

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<DOMCacheEngine::Record>::encode):
(IPC::ArgumentCoder<DOMCacheEngine::Record>::decode):

  • UIProcess/API/APIProcessPoolConfiguration.cpp:

(API::ProcessPoolConfiguration::copy):

  • UIProcess/API/APIProcessPoolConfiguration.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::ensureNetworkProcess):

LayoutTests:

  • http/wpt/cache-storage/cache-quota.https.any-expected.txt: Added.
  • http/wpt/cache-storage/cache-quota.https.any.html: Added.
  • http/wpt/cache-storage/cache-quota.https.any.js: Added.
2:57 PM Changeset in webkit [223072] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Remove redundant RenderObject::virtualContinuation
https://bugs.webkit.org/show_bug.cgi?id=178091
<rdar://problem/34892906>

Reviewed by Antti Koivisto.

virtualContinuation sounds like a feature of continuation, while it's just a (not super useful)helper override.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::canMergeContiguousAnonymousBlocks):
(WebCore::RenderBlock::takeChild):

  • rendering/RenderBlock.h:
  • rendering/RenderInline.h:
  • rendering/RenderObject.h:

(WebCore::RenderObject::isBlockElementContinuation const):
(WebCore::RenderObject::virtualContinuation const): Deleted.

2:49 PM Changeset in webkit [223071] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Unskipped http/tests/cache/disk-cache/disk-cache-validation-no-body.html
https://bugs.webkit.org/show_bug.cgi?id=178019

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
2:17 PM Changeset in webkit [223070] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKitLegacy

[Win] Link error: cannot open input file 'WebKitLegacyGUID.lib'
https://bugs.webkit.org/show_bug.cgi?id=178087

Reviewed by Alexey Proskuryakov.

For compatibility reasons, the library still has the name WebKitGUID.lib.

  • PlatformWin.cmake:
2:17 PM Changeset in webkit [223069] by commit-queue@webkit.org
  • 21 edits
    4 deletes in trunk

Unreviewed, rolling out r223015 and r223025.
https://bugs.webkit.org/show_bug.cgi?id=178093

Regressed Kraken on iOS by 20% (Requested by keith_mi_ on
#webkit).

Reverted changesets:

"Enable gigacage on iOS"
https://bugs.webkit.org/show_bug.cgi?id=177586
http://trac.webkit.org/changeset/223015

"Unreviewed, disable Gigacage on ARM64 Linux"
https://bugs.webkit.org/show_bug.cgi?id=177586
http://trac.webkit.org/changeset/223025

1:57 PM Changeset in webkit [223068] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Unreviewed, minified WebInspector opens blank.
<rdar://problem/34892307>

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype._refreshRequestHeadersSection):
Regression introduced in r223006. The minified build has a SyntaxError
causing WebInspector top open blank. Add the missing semicolon.

1:46 PM Changeset in webkit [223067] by Ryan Haddad
  • 2 edits in trunk/JSTests

Update expectations for test262 tests that pass after r223043.
https://bugs.webkit.org/show_bug.cgi?id=176685

Unreviewed test gardening.

  • test262.yaml:
1:45 PM Changeset in webkit [223066] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, sort unified sources again now that they are numbered numerically rather than lexicographically.

1:38 PM Changeset in webkit [223065] by Joseph Pecoraro
  • 10 edits
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: Network Tab - Filter resources based on URL / Text Content
https://bugs.webkit.org/show_bug.cgi?id=178071
<rdar://problem/34071562>

Reviewed by Brian Burg.

  • Localizations/en.lproj/localizedStrings.js:

New strings.

  • UserInterface/Views/FilterBar.css:

(.filter-bar.active > input[type="search"]::-webkit-search-decoration):
(.filter-bar.indicating-progress > input[type="search"]::-webkit-search-decoration):
New icon for progress / active states.

  • UserInterface/Views/FilterBar.js:

(WI.FilterBar.prototype.get inputField):
(WI.FilterBar.prototype.get placeholder):
(WI.FilterBar.prototype.set placeholder):
(WI.FilterBar.prototype.get incremental):
(WI.FilterBar.prototype.set incremental):
(WI.FilterBar.prototype.get indicatingProgress):
(WI.FilterBar.prototype.set indicatingProgress):
(WI.FilterBar.prototype.get indicatingActive):
(WI.FilterBar.prototype.set indicatingActive):
(WI.FilterBar.prototype._handleFilterInputEvent):
When incremental is set to false on the FilterBar still dispatch an
event when the textfield clears.

  • UserInterface/Images/FilterFieldActiveGlyph.svg: Added.
  • UserInterface/Images/gtk/FilterFieldActiveGlyph.svg: Added.

New blue icon for active state.

  • UserInterface/Controllers/FrameResourceManager.js:

(WI.FrameResourceManager.prototype.resourceForIdentifier):
Accessor for arbitrary resource.

  • UserInterface/Views/NetworkTableContentView.css:

(.content-view.network .navigation-bar .filter-bar):
(.content-view.network .warning-banner):
(body[dir=ltr] .content-view.network .warning-banner):
(body[dir=rtl] .content-view.network .warning-banner):
(.content-view.network .warning-banner > a):
Warning banner when the filter produces no results. This matches the
warning in the Debugger tab when breakpoints are disabled.

  • UserInterface/Views/ScopeBar.js:

(WI.ScopeBar.prototype.resetToDefault):
Provide a way to easily reset a scope bar to the default item.

  • UserInterface/Views/RadioButtonNavigationItem.css:

(.navigation-bar .item.radio.button.text-only:active):

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li:active):
Cleanup some styles that should be using a variable.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.get filterNavigationItems):
(WI.NetworkTableContentView.prototype.layout):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._checkTextFilterAgainstFinishedResource):
(WI.NetworkTableContentView.prototype._checkTextFilterAgainstFailedResource):
(WI.NetworkTableContentView.prototype._updateTextFilterActiveIndicator):
(WI.NetworkTableContentView.prototype._updateEmptyFilterResultsWarning):
(WI.NetworkTableContentView.prototype._showEmptyFilterResultsWarning):
(WI.NetworkTableContentView.prototype._hideEmptyFilterResultsWarning):
(WI.NetworkTableContentView.prototype._positionEmptyFilterMessage):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
(WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
(WI.NetworkTableContentView.prototype._networkTimelineRecordAdded):
(WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
(WI.NetworkTableContentView.prototype._hasTypeFilter):
(WI.NetworkTableContentView.prototype._hasTextFilter):
(WI.NetworkTableContentView.prototype._hasActiveFilter):
(WI.NetworkTableContentView.prototype._passTypeFilter):
(WI.NetworkTableContentView.prototype._passTextFilter):
(WI.NetworkTableContentView.prototype._passFilter):
(WI.NetworkTableContentView.prototype._updateFilteredEntries):
(WI.NetworkTableContentView.prototype._resetFilters):
(WI.NetworkTableContentView.prototype._textFilterDidChange):
(WI.NetworkTableContentView.prototype._tableNameColumnDidChangeWidth):
There are now two filters.

  • FilterBar - Filters URL and Full Text Content
  • ScopeBar - Filters Resource Type

The text content filter is asynchronous. We reuse the existing Search
functionality when filtering on text. We need to defer text content
filtering until the resource finishes loading.

1:23 PM Changeset in webkit [223064] by commit-queue@webkit.org
  • 2 edits
    17 adds in trunk/LayoutTests/imported/w3c

REGRESSION: Some bots fail to run LayoutTests due to a WPT Server error
https://bugs.webkit.org/show_bug.cgi?id=178017

Patch by Youenn Fablet <youenn@apple.com> on 2017-10-09
Reviewed by Sam Weinig.

  • resources/import-expectations.json:
  • web-platform-tests/tools/six/: Added.
1:16 PM Changeset in webkit [223063] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[WebGL] Third IOSurface buffer might be allocated with the wrong size
https://bugs.webkit.org/show_bug.cgi?id=178092
<rdar://problem/34893173>

Reviewed by Jer Noble.

If the WebGL canvas resizes after the third buffer was allocated, it
was never getting told that its backing store should be thrown away.

  • platform/graphics/cocoa/WebGLLayer.mm: Allocate the third buffer at

the same time as the first two.
(-[WebGLLayer allocateIOSurfaceBackingStoreWithSize:usingAlpha:]):
(-[WebGLLayer bindFramebufferToNextAvailableSurface]):

1:02 PM Changeset in webkit [223062] by Ryan Haddad
  • 6 edits
    5 deletes in trunk

Unreviewed, rolling out r223022.

This change introduced 18 test262 failures.

Reverted changeset:

"async should be able to be used as an imported binding
name"
https://bugs.webkit.org/show_bug.cgi?id=176573
http://trac.webkit.org/changeset/223022

1:01 PM Changeset in webkit [223061] by commit-queue@webkit.org
  • 10 edits in trunk

Make HashMap::keys() and HashMap::values() work with WTF::map/WTF::copyToVector
https://bugs.webkit.org/show_bug.cgi?id=178072

Patch by Sam Weinig <sam@webkit.org> on 2017-10-09
Reviewed by Darin Adler.

Source/WebCore:

  • platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:

(WebCore::MediaSelectionGroupAVFObjC::options):

Update for type change for HashMap::values().

Source/WebKit:

  • Shared/AsyncRequest.h:

(WebKit::AsyncRequestMap::values):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::pages const):

Update for type change for HashMap::values().

Source/WTF:

Introduce SizedIteratorRange, a variant of IteratorRange that includes
a reference to a backing container in order to get the size of container.
This is useful for algorithms like WTF::map and WTF::copyToVector, that
can use the size to efficiently allocate things of the correct size.

The main beneficiary are HashMap's keys() and values() functions which
used to return IteratorRanges and now return SizedIteratorRange. This
allows us to remove (in a future change) copyKeysToVector() and
copyValuesToVector() by replacing them with copyToVector(map.keys()) and
copyToVector(map.values()) respectively.

  • wtf/HashMap.h:
  • wtf/IteratorRange.h:

(WTF::SizedIteratorRange::SizedIteratorRange):
(WTF::SizedIteratorRange::size const):
(WTF::SizedIteratorRange::begin const):
(WTF::SizedIteratorRange::end const):
(WTF::makeSizedIteratorRange):

Tools:

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

Add tests for HashMap::keys() and HashMap::values() working with copyToVector.

12:55 PM Changeset in webkit [223060] by dino@apple.com
  • 2 edits
    14 adds in trunk/LayoutTests/imported/w3c

Import WPT imagebitmap-renderingcontext
https://bugs.webkit.org/show_bug.cgi?id=177963

Reviewed by Sam Weinig.

  • resources/import-expectations.json:
  • web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource-expected.txt: Added.
  • web-platform-tests/imagebitmap-renderingcontext/bitmaprenderer-as-imagesource.html: Added.
  • web-platform-tests/imagebitmap-renderingcontext/context-creation-expected.txt: Added.
  • web-platform-tests/imagebitmap-renderingcontext/context-creation-with-alpha-expected.txt: Added.
  • web-platform-tests/imagebitmap-renderingcontext/context-creation-with-alpha.html: Added.
  • web-platform-tests/imagebitmap-renderingcontext/context-creation.html: Added.
  • web-platform-tests/imagebitmap-renderingcontext/context-preserves-canvas-expected.txt: Added.
  • web-platform-tests/imagebitmap-renderingcontext/context-preserves-canvas.html: Added.
  • web-platform-tests/imagebitmap-renderingcontext/tranferFromImageBitmap-null-expected.txt: Added.
  • web-platform-tests/imagebitmap-renderingcontext/tranferFromImageBitmap-null.html: Added.
  • web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached-expected.txt: Added.
  • web-platform-tests/imagebitmap-renderingcontext/transferFromImageBitmap-detached.html: Added.
  • web-platform-tests/imagebitmap-renderingcontext/w3c-import.log: Added.
12:32 PM Changeset in webkit [223059] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Tab: Row wrapping (waterfall displaying behind next row's name)
https://bugs.webkit.org/show_bug.cgi?id=178015
<rdar://problem/34858720>

Reviewed by Brian Burg.

  • UserInterface/Views/Table.css:

(.table > .header):
(.table > .data-container > .data-list > li):
Disallow wrapping.

12:32 PM Changeset in webkit [223058] by Joseph Pecoraro
  • 12 edits
    1 copy
    4 adds in trunk

Web Inspector: Network Tab - Cookies Detail View
https://bugs.webkit.org/show_bug.cgi?id=177988
<rdar://problem/34071927>

Reviewed by Brian Burg.

Source/WebInspectorUI:

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

New strings and resources.

  • UserInterface/Models/Cookie.js: Added.

(WI.Cookie):
(WI.Cookie.parseCookieRequestHeader):
(WI.Cookie.parseSetCookieResponseHeader):
Encapsulation for Cookie attributes.

  • UserInterface/Models/Resource.js:

(WI.Resource.prototype.get requestCookies):
(WI.Resource.prototype.get responseCookies):
(WI.Resource.prototype.updateForRedirectResponse):
(WI.Resource.prototype.updateForResponse):
(WI.Resource.prototype.updateWithMetrics):
New computed accessors for requestCookies and responseCookies.

  • UserInterface/Views/NetworkResourceDetailView.js:

(WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
Show the new Cookie View.

  • UserInterface/Views/NetworkTableContentView.css:

(.content-view.network .network-table .icon):
(.network-table li:not(.filler) .cell.name):
(.network-table .cache-type):
(.network-table .error):
(body[dir=ltr] .network-table .cell.name > .status):
(body[dir=rtl] .network-table .cell.name > .status):
(.network-table .cell.name > .status .indeterminate-progress-spinner):
(.showing-detail .network-table .cell:not(.name)):
(.showing-detail .network-table .resizer:not(:first-of-type)):
(.network-table :not(.header) .cell:first-of-type):
Rework these styles to be specific to the .network-table.

  • UserInterface/Views/Table.css:

(.table :not(.header) .cell:first-of-type): Deleted.
Move this to the network table styles, it shouldn't apply to all tables.

  • UserInterface/Views/ResourceCookiesContentView.css:

(.resource-cookies > section > .details.has-table):
(.resource-cookies .table):
(.resource-cookies .table > .header):
Styles for Cookies view and table.

  • UserInterface/Views/ResourceCookiesContentView.js: Added.

(WI.ResourceCookiesContentView):
(WI.ResourceCookiesContentView.prototype.tableNumberOfRows):
(WI.ResourceCookiesContentView.prototype.tableSortChanged):
(WI.ResourceCookiesContentView.prototype.tablePopulateCell):
(WI.ResourceCookiesContentView.prototype.initialLayout):
(WI.ResourceCookiesContentView.prototype._incompleteSectionWithMessage):
(WI.ResourceCookiesContentView.prototype._incompleteSectionWithLoadingIndicator):
(WI.ResourceCookiesContentView.prototype._dataSourceForTable):
(WI.ResourceCookiesContentView.prototype._generateSortComparator):
(WI.ResourceCookiesContentView.prototype._refreshRequestCookiesSection):
(WI.ResourceCookiesContentView.prototype._refreshResponseCookiesSection):
(WI.ResourceCookiesContentView.prototype._sizeForTable):
(WI.ResourceCookiesContentView.prototype._resourceRequestHeadersDidChange):
(WI.ResourceCookiesContentView.prototype._resourceResponseReceived):
Tables for Request and Response cookies. They are simliar with slightly different columns.
Handle simple display and sorting for the tables.

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype._refreshResponseHeadersSection):
Break out Set-Cookie headers as multiple headers. THey should never be combined.

  • UserInterface/Views/Table.js:

(WI.Table.prototype.showColumn):
(WI.Table.prototype.hideColumn):
(WI.Table.prototype._handleHeaderContextMenu):

  • UserInterface/Views/TableColumn.js:

(WI.TableColumn.prototype.get hideable):
(WI.TableColumn.prototype.set hidden):
(WI.TableColumn):
(WI.TableColumn.prototype.setHidden): Deleted.
Make it so some columns can not be hidden. For example the "value" column
in the Cookie tables.

LayoutTests:

  • inspector/unit-tests/cookie-expected.txt: Added.
  • inspector/unit-tests/cookie.html: Added.
12:27 PM Changeset in webkit [223057] by Joseph Pecoraro
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Network Tab - Search Headers Detail View
https://bugs.webkit.org/show_bug.cgi?id=177981

Reviewed by Brian Burg.

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

(WI.LogContentView.prototype.performSearch):
Rename "Dom" to "DOM" in utility function.

  • UserInterface/Views/ResourceHeadersContentView.css:

(.resource-headers.showing-find-banner .search-highlight):
Search highlight styles.

  • UserInterface/Views/ResourceHeadersContentView.js:

(WI.ResourceHeadersContentView.prototype.get supportsSearch):
(WI.ResourceHeadersContentView.prototype.get numberOfSearchResults):
(WI.ResourceHeadersContentView.prototype.get hasPerformedSearch):
(WI.ResourceHeadersContentView.prototype.set automaticallyRevealFirstSearchResult):
(WI.ResourceHeadersContentView.prototype.performSearch):
(WI.ResourceHeadersContentView.prototype.searchCleared):
(WI.ResourceHeadersContentView.prototype.revealPreviousSearchResult):
(WI.ResourceHeadersContentView.prototype.revealNextSearchResult):
(WI.ResourceHeadersContentView.prototype._perfomSearchOnKeyValuePairs):
(WI.ResourceHeadersContentView.prototype._revealSearchResult):
Implement ContentView search behavior.

11:37 AM Changeset in webkit [223056] by sbarati@apple.com
  • 3 edits in trunk/JSTests

3 poly-proto JSC tests timing out on debug after r222827
https://bugs.webkit.org/show_bug.cgi?id=177880
<rdar://problem/34817122>

Unreviewed.

I'm skipping these type profiler tests on debug since they are long running.

  • typeProfiler/deltablue-for-of.js:
  • typeProfiler/getter-richards.js:
11:13 AM Changeset in webkit [223055] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Marked inspector/dom/csp-big5-hash.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=177608

Unreviewed test garding.

  • platform/mac/TestExpectations:
11:04 AM Changeset in webkit [223054] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Unreviewed, another build fix attempt after r223031

The default constructor of DragTargetResponse is also invoked via initializer list in EventHandler.cpp, so we'll
need to explicitly declare this constructor in the header.

  • page/EventHandler.h:
11:01 AM Changeset in webkit [223053] by Ryan Haddad
  • 15 edits
    2 adds
    2 deletes in trunk

Unreviewed, rolling out r223021.

LayoutTests added with this change are failing.

Reverted changeset:

"[Payment Request] Implement PaymentRequest.show() and
PaymentRequest.hide()"
https://bugs.webkit.org/show_bug.cgi?id=178043
http://trac.webkit.org/changeset/223021

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

Blurry captions on retina screens.
https://bugs.webkit.org/show_bug.cgi?id=177560
rdar://problem/17913388

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-10-09
Reviewed by Jer Noble.

No new tests because the contents scale of the captions layer is not exposed to the DOM.

The captions layer contents scale needs to take into account the device screen scale to get the correct resolution for captions.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateTextTrackRepresentation):
(WebCore::MediaControlTextTrackContainerElement::updateSizes):

10:54 AM Changeset in webkit [223051] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Incorrect fullscreen animation when element has a transform.
https://bugs.webkit.org/show_bug.cgi?id=177558
rdar://problem/29603741

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-10-09
Reviewed by Jer Noble.

Use a bit of code from element fullscreen to do this correctly for video fullscreen.
The key is to get the absolute quad from the renderer. This will work for scaling,
But since we still take the bounding box, it won't work for rotations.

  • WebProcess/cocoa/VideoFullscreenManager.mm:

(WebKit::inlineVideoFrame):

10:52 AM WebKitGTK/2.18.x edited by Adrian Perez de Castro
(diff)
10:27 AM Changeset in webkit [223050] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix the Windows build after r223031

Speculative build fix; no change in behavior.

  • page/EventHandler.h:

(WebCore::EventHandler::DragTargetResponse::DragTargetResponse):

10:24 AM Changeset in webkit [223049] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Reduce includes in Document.h
https://bugs.webkit.org/show_bug.cgi?id=178035

Reviewed by Darin Adler.

  • dom/Document.h:
10:12 AM Changeset in webkit [223048] by jdiggs@igalia.com
  • 6 edits
    2 adds in trunk

AX: [ATK] Explicitly-set aria-sort value of "none" should be exposed as an object attribute
https://bugs.webkit.org/show_bug.cgi?id=177955

Reviewed by Chris Fleizach.

Source/WebCore:

Expose "none" as the value of aria-sort when the attribute is present and not
one of the other valid sort types. Also add a new AccessibilitySortDirection,
SortDirectionInvalid. This is currently only being used when the sort direction
is sought for a role which does not support this ARIA attribute, but might come
in handy if we want to add further sanity checks on the author-provided values.

Test: accessibility/gtk/aria-sort-values.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::sortDirection const):

  • accessibility/AccessibilityObject.h:
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

LayoutTests:

  • accessibility/gtk/aria-sort-values-expected.txt: Added.
  • accessibility/gtk/aria-sort-values.html: Added.
9:49 AM Changeset in webkit [223047] by rmorisset@apple.com
  • 50 edits in trunk/Source

Source/JavaScriptCore:
Make the names of the options consistent
https://bugs.webkit.org/show_bug.cgi?id=177933

Reviewed by Saam Barati.

I added an alias so the old spelling still works.
I also fixed a bunch of typos in comments all around the codebase.

  • b3/B3LowerToAir.cpp:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSSAConversionPhase.h:
  • dfg/DFGSpeculativeJIT.h:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::lower):

  • ftl/FTLOSREntry.cpp:

(JSC::FTL::prepareOSREntry):

  • jit/CallFrameShuffler.cpp:

(JSC::CallFrameShuffler::prepareForTailCall):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseExportDeclaration):

  • runtime/Options.h:

Source/WebCore:
Make the names of the options consistent
https://bugs.webkit.org/show_bug.cgi?id=177933

Reviewed by Saam Barati.

No functional change, just fixing comments.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::buffered const):
(WebCore::MediaSource::monitorSourceBuffers):

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::process):

  • bindings/scripts/generate-bindings.pl:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):

  • editing/VisibleUnits.cpp:

(WebCore::closestWordBoundaryForPosition):

  • html/parser/AtomicHTMLToken.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::end):

  • inspector/InspectorOverlayPage.js:

(reset):

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::layoutWidth const):
(WebCore::ViewportConfiguration::layoutHeight const):

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

(WebCore::InbandTextTrackPrivateAVF::processCueAttributes):

  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::texImage2D):

  • platform/mac/WidgetMac.mm:

(WebCore::safeRemoveFromSuperview):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::collapseMarginsWithChildInfo):

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePositionedLogicalWidthReplaced const):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::propagateRepaintToParentWithOutlineAutoIfNeeded const):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::disabledTextColor const):

  • style/ClassChangeInvalidation.cpp:

(WebCore::Style::computeClassChange):

  • style/StyleScope.cpp:

(WebCore::Style::Scope::didChangeStyleSheetEnvironment):

  • svg/SVGAltGlyphDefElement.cpp:

(WebCore::SVGAltGlyphDefElement::hasValidGlyphElements const):

Source/WebKit:
Make the names of the options consistent
https://bugs.webkit.org/show_bug.cgi?id=177933

Reviewed by Saam Barati.

  • NetworkProcess/capture/json.hpp:
  • Platform/IPC/Connection.cpp:

(IPC::Connection::connectionDidClose):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _keyboardWillHide:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runModal):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectedViewFrameDidChange):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):

Source/WebKitLegacy/mac:
Make the names of the options consistent
https://bugs.webkit.org/show_bug.cgi?id=177933

Reviewed by Saam Barati.

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

(-[WebHTMLView setMarkedText:selectedRange:]):

  • WebView/WebView.h:
9:37 AM Changeset in webkit [223046] by Ryan Haddad
  • 2 edits in trunk/LayoutTests

Mark media/media-source/media-source-paint-to-canvas.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=178083

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:04 AM Changeset in webkit [223045] by Adrian Perez de Castro
  • 6 edits in trunk

[WPE][GTK] Propagate libepoxy compiler flags obtained from pkg-config
https://bugs.webkit.org/show_bug.cgi?id=178081

Reviewed by Carlos Alberto Lopez Perez.

.:

  • Source/cmake/FindLibEpoxy.cmake: Define the ${LIBEPOXY_DEFINITIONS} variable when libepoxy

is found by pkg-config. This contains the value of the "Cflags" field from "epoxy.pc".

Source/WebCore:

No new tests needed.

  • CMakeLists.txt: Use ${LIBEPOXY_DEFINITIONS} for building WebCore.

Source/WebKit:

  • CMakeLists.txt: Use ${LIBEPOXY_DEFINITIONS} for building WebKit.
5:53 AM Changeset in webkit [223044] by romain.bellessort@crf.canon.fr
  • 3 edits in trunk/Source/WebCore

[Readable Streams API] Implement canCloseOrEnqueue
https://bugs.webkit.org/show_bug.cgi?id=178005

Reviewed by Youenn Fablet.

Implemented readableStreamDefaultControllerCanCloseOrEnqueue [1]. This is
just a refactoring (based on spec) aiming at factorizing a set of tests
that are done at multiple places.

[1] https://streams.spec.whatwg.org/#readable-stream-default-controller-can-close-or-enqueue

No new tests (refactoring, no new behavior).

  • Modules/streams/ReadableStreamDefaultController.js:

(enqueue): Updated.
(close): Updated.

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamDefaultControllerClose): Updated.
(readableStreamDefaultControllerCanCloseOrEnqueue): Added.

5:48 AM WebKitGTK/2.18.x edited by clopez@igalia.com
(diff)
5:46 AM WebKitGTK/2.16.x edited by clopez@igalia.com
(diff)
2:59 AM Changeset in webkit [223043] by gskachkov@gmail.com
  • 5 edits in trunk

Safari 10 /11 problem with if (!await get(something)).
https://bugs.webkit.org/show_bug.cgi?id=176685

Reviewed by Saam Barati.

JSTests:

  • stress/async-await-basic.js:

(awaitEpression.async):

  • stress/async-await-syntax.js:

(testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax):
(prototype.testTopLevelAsyncAwaitSyntaxStrictMode):

Source/JavaScriptCore:

Using unary operator before await lead to count it as identifier.
According to spec https://tc39.github.io/ecma262/#sec-async-function-definitions
and Note 1 await is as AwaitExpression and it is allowed to use unary operator

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parsePrimaryExpression):

2:08 AM Changeset in webkit [223042] by fred.wang@free.fr
  • 9 edits
    1 add
    1 delete in trunk

Remove WOFF2 from Source/ThirdParty.
https://bugs.webkit.org/show_bug.cgi?id=177862

Patch by Frederic Wang <fwang@igalia.com> on 2017-10-05
Reviewed by Michael Catanzaro.

.:

  • Source/CMakeLists.txt: Do not build the woff2 source.
  • Source/cmake/FindWOFF2Dec.cmake: Added. New cmake module for woff2.
  • Source/cmake/OptionsGTK.cmake: Load the woff2 package.

Source/ThirdParty:

  • woff2/CMakeLists.txt: Removed.
  • woff2/LICENSE: Removed.
  • woff2/README.webkit: Removed.
  • woff2/include/woff2/decode.h: Removed.
  • woff2/include/woff2/encode.h: Removed.
  • woff2/include/woff2/output.h: Removed.
  • woff2/src/buffer.h: Removed.
  • woff2/src/convert_woff2ttf_*.cc: Removed.
  • woff2/src/file.h: Removed.
  • woff2/src/font.cc: Removed.
  • woff2/src/font.h: Removed.
  • woff2/src/glyph.cc: Removed.
  • woff2/src/glyph.h: Removed.
  • woff2/src/normalize.cc: Removed.
  • woff2/src/normalize.h: Removed.
  • woff2/src/port.h: Removed.
  • woff2/src/round.h: Removed.
  • woff2/src/store_bytes.h: Removed.
  • woff2/src/table_tags.cc: Removed.
  • woff2/src/table_tags.h: Removed.
  • woff2/src/transform.cc: Removed.
  • woff2/src/transform.h: Removed.
  • woff2/src/variable_length.cc: Removed.
  • woff2/src/variable_length.h: Removed.
  • woff2/src/woff2_common.cc: Removed.
  • woff2/src/woff2_common.h: Removed.
  • woff2/src/woff2_compress.cc: Removed.
  • woff2/src/woff2_dec.cc: Removed.
  • woff2/src/woff2_decompress.cc: Removed.
  • woff2/src/woff2_enc.cc: Removed.
  • woff2/src/woff2_info.cc: Removed.
  • woff2/src/woff2_out.cc: Removed.
  • woff2/update.sh: Removed.

Source/WebCore:

No new tests, already covered by existing tests.

  • CMakeLists.txt: Use the system brotli/woff2 headers/libraries.

Tools:

  • Scripts/webkitpy/style/checker.py: Remove woff2.
  • gtk/jhbuild.modules: Add new jhbuild module for woff2.
Note: See TracTimeline for information about the timeline view.