Timeline



Jun 26, 2017: Yesterday

11:41 PM Changeset in webkit [218832] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK] Layout Test webrtc/video.html issues "stack smashing detected"
https://bugs.webkit.org/show_bug.cgi?id=173862

Patch by Fujii Hironori <Fujii Hironori> on 2017-06-26
Reviewed by Carlos Garcia Campos.

Tests: webrtc/video.html

Passing a bool variable to g_object_get causes out-of-bound write.
gboolean should be used, which is 4 bytes while bool is one byte.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::muted): Use gboolean instead of bool.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:

(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded): Ditto.

11:12 PM Changeset in webkit [218831] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.16.5

WebKitGTK+ 2.16.5

11:11 PM Changeset in webkit [218830] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.16

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

.:

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.16.5.
11:01 PM Changeset in webkit [218829] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.16

Merge r218798 - Unreviewed, rolling out r215190.

Broke product select element on GNOME Bugzilla

Reverted changeset:

"[GTK] Misplaced right click menu on web page due to
deprecated gtk_menu_popup()"
https://bugs.webkit.org/show_bug.cgi?id=170553
http://trac.webkit.org/changeset/215190

10:49 PM Changeset in webkit [218828] by sbarati@apple.com
  • 3 edits
    1 add in trunk

RegExpPrototype.js builtin uses for-of iteration which is almost certainly incorrect
https://bugs.webkit.org/show_bug.cgi?id=173740

Reviewed by Mark Lam.

JSTests:

  • stress/regexp-prototype-replace-builtin-should-not-use-for-of.js: Added.

(Array.prototype.Symbol.iterator):

Source/JavaScriptCore:

The builtin was using for-of iteration to iterate over an internal
list in its algorithm. For-of iteration is observable via user code
in the global object, so this approach was wrong as it would break if
a user changed the Array iteration protocol in some way.

  • builtins/RegExpPrototype.js:

(replace):

8:33 PM Changeset in webkit [218827] by Chris Dumez
  • 10 edits in trunk/Source

WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains() is inefficient
https://bugs.webkit.org/show_bug.cgi?id=173850

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • loader/ResourceLoadStatisticsStore.cpp:

(WebCore::ResourceLoadStatisticsStore::updateStatisticsForRemovedDataRecords):

  • loader/ResourceLoadStatisticsStore.h:

Source/WebKit2:

Update WebsiteDataRecord::matchesTopPrivatelyControlledDomain() to rely on
SecurityOriginData::host rather than SecurityOriginData::securityOrigin()->host().
SecurityOriginData::securityOrigin() is expensive and it seems unnecessary to call
it here since we already have the host.

Also update WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains() to return
domains as a HashSet rather than a Vector to avoid having duplicate domains.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores):

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

(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::matchesTopPrivatelyControlledDomain):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains):
(WebKit::WebsiteDataStore::removeDataForTopPrivatelyControlledDomains):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
8:28 PM Changeset in webkit [218826] by antti@apple.com
  • 9 edits
    2 adds in trunk

REGRESSION (AsyncImageDecoding): A tab with the WWDC keynote paused is killed for using excessive power (Image thrashing)
https://bugs.webkit.org/show_bug.cgi?id=173804
<rdar://problem/32623745>

Reviewed by Simon Fraser.

Source/WebCore:

When under memory pressure MemoryCache::singleton().pruneLiveResources(true) is called inFrameView::didPaintContents()
after top level paint. We end up decoding and pruning bitmaps repeatedly for each tile, which is not great.

Situation gets worse with async decoding. Painting now doesn’t actually decode the image, it just starts the decoding.
When it completes we trigger another paint to get the bits to the tiles. The paint for the first tile then calls
pruneLiveResources and loses the bitmap and the second tile triggers another round of async decoding. We have code
that prevents pruning of visible images but non-visible images in tiling area can hit this bug easily.

Test: fast/images/low-memory-decode.html

  • page/FrameView.cpp:

(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):

Eliminate synchronous pruning during painting. This is an obsolete mechanism from early iOS times.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::imageFrameAvailableAtIndex):
(WebCore::BitmapImage::decodeCountForTesting):

Testing support.

  • platform/graphics/BitmapImage.h:
  • testing/Internals.cpp:

(WebCore::Internals::imageDecodeCount):

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

LayoutTests:

  • fast/images/low-memory-decode-expected.txt: Added.
  • fast/images/low-memory-decode.html: Added.
5:26 PM Changeset in webkit [218825] by jlewis3@apple.com
  • 2 edits in trunk/LayoutTests

Marked media/media-source/media-source-paint-to-canvas.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173565

Unreviewed test gardening.

  • platform/mac/TestExpectations:
4:47 PM Changeset in webkit [218824] by jlewis3@apple.com
  • 2 edits in trunk/LayoutTests

Marked animations/play-state-suspend.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173726

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
4:39 PM Changeset in webkit [218823] by sbarati@apple.com
  • 2 edits in trunk/JSTests

Skip a test on 32-bit platforms since we run out of address space.

Rubber stamped by Mark Lam.

  • stress/dont-reserve-huge-capacity-lexer.js:
3:36 PM Changeset in webkit [218822] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Invalidate WebVideoFullscreenManager when WebPage is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=173835
rdar://problem/32969161

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-26
Reviewed by Jer Noble.

WebVideoFullscreenManager has a pointer to WebPage, and even null checks it in a few places,
but the only place it is nulled out is in the destructor. This allows a dangling reference.

This changes invalidates that reference when WebPage is destructed and adds nullchecks
or asserts throughout WebVideoFullscreenManager as appropriate.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::~WebPage):

  • WebProcess/cocoa/WebVideoFullscreenManager.h:

(WebKit::WebVideoFullscreenManager::invalidate):

  • WebProcess/cocoa/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::~WebVideoFullscreenManager):
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::WebVideoFullscreenManager::exitVideoFullscreenForVideoElement):
(WebKit::WebVideoFullscreenManager::exitVideoFullscreenToModeWithoutAnimation):
(WebKit::WebVideoFullscreenManager::hasVideoChanged):
(WebKit::WebVideoFullscreenManager::videoDimensionsChanged):
(WebKit::WebVideoFullscreenManager::didSetupFullscreen):
(WebKit::WebVideoFullscreenManager::didEnterFullscreen):
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen):
(WebKit::WebVideoFullscreenManager::fullscreenMayReturnToInline):

2:09 PM Changeset in webkit [218821] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Disable diagnostic logging in ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=173849
<rdar://problem/32987341>

Reviewed by Geoffrey Garen.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setDiagnosticLoggingClient):
Construct a dummy logging client if the page's session is ephemeral.

(WebKit::WebPageProxy::logDiagnosticMessage):
(WebKit::WebPageProxy::logDiagnosticMessageWithResult):
(WebKit::WebPageProxy::logDiagnosticMessageWithValue):
(WebKit::WebPageProxy::logDiagnosticMessageWithEnhancedPrivacy):
Slight cleanup to make the code look a bit safer.

1:17 PM Changeset in webkit [218820] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Renamed DumpRegisterFunctor to DumpReturnVirtualPCFunctor.
https://bugs.webkit.org/show_bug.cgi?id=173848

Reviewed by JF Bastien.

This functor only dumps the return VirtualPC.

  • interpreter/Interpreter.cpp:

(JSC::DumpReturnVirtualPCFunctor::DumpReturnVirtualPCFunctor):
(JSC::Interpreter::dumpRegisters):
(JSC::DumpRegisterFunctor::DumpRegisterFunctor): Deleted.
(JSC::DumpRegisterFunctor::operator()): Deleted.

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

Crash in JSC::Lexer<unsigned char>::setCode
https://bugs.webkit.org/show_bug.cgi?id=172754

Reviewed by Mark Lam.

JSTests:

  • stress/dont-reserve-huge-capacity-lexer.js: Added.

(catch):

Source/JavaScriptCore:

The lexer was asking one of its buffers to reserve initial space that
was O(text size in bytes). For large sources, this would end up causing
the vector to overflow and crash. This patch changes this code be like
the Lexer's other buffers and to only reserve a small starting buffer.

  • parser/Lexer.cpp:

(JSC::Lexer<T>::setCode):

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

ImageFrameCache::startAsyncDecodingQueue() unsafely passes Strings across threads
https://bugs.webkit.org/show_bug.cgi?id=173842

Reviewed by Simon Fraser.

The URL string was passed across thread without isolated copy.

  • platform/graphics/ImageFrameCache.cpp:

(WebCore::ImageFrameCache::startAsyncDecodingQueue):

11:51 AM Changeset in webkit [218817] by jbedard@apple.com
  • 8 edits
    2 deletes in trunk

Unreviewed, rolling out r218783.

Causing accessibility/mac/setting-attributes-is-
asynchronous.html to crash consistently on mac-wk2 Debug

Reverted changeset:

"AX: Cannot call setValue() on contenteditable or ARIA text
controls"
https://bugs.webkit.org/show_bug.cgi?id=173520
http://trac.webkit.org/changeset/218783

11:19 AM Changeset in webkit [218816] by Yusuke Suzuki
  • 39 edits in trunk

[WTF] Drop Thread::create(obsolete things) API since we can use lambda
https://bugs.webkit.org/show_bug.cgi?id=173825

Reviewed by Saam Barati.

Source/JavaScriptCore:

  • jsc.cpp:

(startTimeoutThreadIfNeeded):
(timeoutThreadMain): Deleted.

Source/WebCore:

No behavior change.

  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::IDBServer):
(WebCore::IDBServer::IDBServer::databaseThreadEntry): Deleted.

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/webaudio/AsyncAudioDecoder.cpp:

(WebCore::AsyncAudioDecoder::AsyncAudioDecoder):
(WebCore::AsyncAudioDecoder::threadEntry): Deleted.

  • Modules/webaudio/AsyncAudioDecoder.h:
  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::startRendering):
(WebCore::OfflineAudioDestinationNode::offlineRenderEntry): Deleted.

  • Modules/webaudio/OfflineAudioDestinationNode.h:
  • Modules/webdatabase/DatabaseThread.cpp:

(WebCore::DatabaseThread::start):
(WebCore::DatabaseThread::databaseThreadStart): Deleted.

  • Modules/webdatabase/DatabaseThread.h:
  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::gcTimerFired):
(WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):

  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::open):
(WebCore::IconDatabase::iconDatabaseSyncThreadStart): Deleted.

  • loader/icon/IconDatabase.h:
  • page/ResourceUsageThread.cpp:

(WebCore::ResourceUsageThread::createThreadIfNeeded):
(WebCore::ResourceUsageThread::threadCallback): Deleted.

  • page/ResourceUsageThread.h:
  • page/scrolling/ScrollingThread.cpp:

(WebCore::ScrollingThread::createThreadIfNeeded):
(WebCore::ScrollingThread::threadCallback): Deleted.
(WebCore::ScrollingThread::threadBody): Deleted.

  • page/scrolling/ScrollingThread.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::loadAsynchronously):
(WebCore::databaseLoaderEntry): Deleted.

  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/ReverbConvolver.cpp:

(WebCore::ReverbConvolver::ReverbConvolver):
(WebCore::backgroundThreadEntry): Deleted.

  • platform/audio/ReverbConvolver.h:

(WebCore::ReverbConvolver::useBackgroundThreads):

  • platform/network/cf/LoaderRunLoopCF.cpp:

(WebCore::loaderRunLoop):
(WebCore::runLoaderThread): Deleted.

  • platform/network/curl/CurlManager.cpp:

(WebCore::CurlManager::startThreadIfNeeded):
(WebCore::CurlManager::workerThread):

  • platform/network/curl/CurlManager.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::start):
(WebCore::WorkerThread::workerThreadStart): Deleted.

  • workers/WorkerThread.h:

Source/WebKit:

  • Storage/StorageThread.cpp:

(WebCore::StorageThread::start):
(WebCore::StorageThread::threadEntryPointCallback): Deleted.

  • Storage/StorageThread.h:

Source/WTF:

Thread::create(ThreadFunction, void* data, const char* name) is a bit old API.
Since we have C++ lambda, the above API is simply unnecessary. And C++ lambda
based one is better since the above API needs casting data to and from void*.

  • wtf/Function.h:

Avoid ambiguity.

  • wtf/ParallelJobsGeneric.cpp:

(WTF::ParallelEnvironment::ThreadPrivate::tryLockFor):
(WTF::ParallelEnvironment::ThreadPrivate::workerThread): Deleted.

  • wtf/ParallelJobsGeneric.h:
  • wtf/Threading.cpp:
  • wtf/ThreadingWin.cpp:

(WTF::createThread):

Tools:

  • DumpRenderTree/JavaScriptThreading.cpp:

(runJavaScriptThread):
(startJavaScriptThreads):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runThread):
(runPthread):
(testThreadIdentifierMap):

11:02 AM Changeset in webkit [218815] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[TestWebKitAPI] Fix false-positive bad release warnings found by clang static analyzer
<https://webkit.org/b/173837>

Reviewed by Geoffrey Garen.

The clang static analyzer can't reason about objects that are
assigned to a delegate as +1 retained, and then released
later in a different method when the delegate is cleared.

Instead, use a common idiom where the object setting the
delegate retains it as an instance variable on initialization.
Then the same object clears the delegate and releases its
instance variable during teardown.

Also add EXPECT_TRUE() tests to make sure the delegate objects
match before teardown.

  • TestWebKitAPI/Tests/mac/FullscreenZoomInitialFrame.mm:

(TestWebKitAPI::FullscreenZoomInitialFrame::initializeView):
(TestWebKitAPI::FullscreenZoomInitialFrame::teardownView):

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):
(TestWebKitAPI::PageVisibilityStateWithWindowChanges::teardownView):

11:01 AM Changeset in webkit [218814] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[GCrypt] Properly initialize libgcrypt before using it
https://bugs.webkit.org/show_bug.cgi?id=173589

Reviewed by Michael Catanzaro.

Initialize libgcrypt in the Unix-specific main() entrypoint. This is early enough
to ensure no other libgcrypt API function is invoked and to also ensure this is
done in a thread-safe manner.

Initialization is initiated through the gcry_check_version() call. 16 kilobytes of
secure memory is pre-allocated before we mark the initialization as complete, as
recommended by the libgcrypt documentation.

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

11:00 AM Changeset in webkit [218813] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

When Mission Control closes fullscreen window, allow media element to update its state.
https://bugs.webkit.org/show_bug.cgi?id=173671
rdar://problem/32892671

Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-26
Reviewed by Eric Carlson.

When Mission Control closes element fullscreen without an animation, we need to notify the
media element that fullscreen has exited.

Without this change, the page still behaves like the element is in fullscreen.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):

10:54 AM Changeset in webkit [218812] by wenson_hsieh@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS DnD] [WK2] Beginning a drag session should prevent clicking via long press
https://bugs.webkit.org/show_bug.cgi?id=173838

Reviewed by Tim Horton.

After r218579, WebKit no longer attempts to replace out-of-the-box UIKit long-press/drag lift disambiguation by
firing events immediately. However, this means that dragging will defer the highlight long press gesture
recognizer until dragging ends rather than cancel it immediately, which causes WKContentView to dispatch a
synthetic click immediately upon lift. To fix this, we should bail out of the highlight long press gesture when
beginning a drag.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _dragInteraction:prepareForSession:completion:]):

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

Make webrtc/video-replace-track-to-null.html more robust
https://bugs.webkit.org/show_bug.cgi?id=173834

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

  • webrtc/video-replace-track-to-null.html:
10:48 AM Changeset in webkit [218810] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

[TestWebKitAPI] REGRESSION (r218750): Fix leak of NSURLResponse in WKURLSchemeHandler-1.mm
<https://webkit.org/b/173836>

Reviewed by Brady Eidson.

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:

(-[RedirectSchemeHandler webView:startURLSchemeTask:]): Use
adoptNS() to fix the leak. Also use auto/adoptNS() for other
objects in this test.

9:45 AM Changeset in webkit [218809] by jdiggs@igalia.com
  • 14 edits in trunk

[ATK] Add support for aria-details and aria-errormessage
https://bugs.webkit.org/show_bug.cgi?id=172588

Reviewed by Chris Fleizach.

Source/WebCore:

Add methods to retrieve elements referenced by or referencing the new
aria-details and aria-errormessage attributes. Include aria-details and
aria-errormessage in AccessibilityObject::supportsARIAAttributes() to ensure
elements with these attributes will be included in the accessibility tree.

New test cases added to accessibility/gtk/relation-types.html.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsARIAAttributes):
(WebCore::AccessibilityObject::ariaDetailsElements):
(WebCore::AccessibilityObject::ariaDetailsReferencingElements):
(WebCore::AccessibilityObject::ariaErrorMessageElements):
(WebCore::AccessibilityObject::ariaErrorMessageReferencingElements):

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

(setAtkRelationSetFromCoreObject):

  • html/HTMLAttributeNames.in:

Tools:

Add additional methods to test ARIA properties which are exposed via
AtkRelation. Also bump minimum versions of at-spi2-core and at-spi2-atk
to versions which support the details and error-message relation types.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:

(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):

  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::ariaDetailsElementAtIndex):
(WTR::AccessibilityUIElement::ariaDetailsReferencingElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageElementAtIndex):
(WTR::AccessibilityUIElement::ariaErrorMessageReferencingElementAtIndex):

  • gtk/jhbuild.modules:

LayoutTests:

Add new test cases to relation-types.html.

  • accessibility/gtk/relation-types-expected.txt:
  • accessibility/gtk/relation-types.html:
7:12 AM Changeset in webkit [218808] by Claudio Saavedra
  • 1 edit
    5 adds in trunk/LayoutTests

[WPE][GCrypt] Unreviewed gardening

After r218744, land new expectations for AES-CFB tests.

  • platform/wpe/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt: Added.
  • platform/wpe/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt: Added.
  • platform/wpe/crypto/subtle/aes-export-key-malformed-parameters-expected.txt: Added.
  • platform/wpe/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt: Added.
  • platform/wpe/crypto/subtle/aes-import-key-malformed-parameters-expected.txt: Added.
2:30 AM Changeset in webkit [218807] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Add libfii to GTK+ install dependencies script.

  • gtk/install-dependencies:
2:02 AM Changeset in webkit [218806] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Update expectations for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=172437

Unreviewed test gardening, update test expectations for failing tests.

  • platform/win/TestExpectations:
1:47 AM Changeset in webkit [218805] by Konstantin Tokarev
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, add missing header for CLoop

  • runtime/SymbolTable.cpp:
1:23 AM Changeset in webkit [218804] by Konstantin Tokarev
  • 4 edits in trunk/Source

Unreviewed, add missing header icncludes

Source/JavaScriptCore:

  • parser/Lexer.h:

Source/WebKit2:

  • WebProcess/soup/WebKitSoupRequestInputStream.cpp:
1:13 AM Changeset in webkit [218803] by Konstantin Tokarev
  • 50 edits in trunk/Source

Remove excessive headers from WebCore/{Modules,animation,crypto,domjit}
https://bugs.webkit.org/show_bug.cgi?id=173824

Reviewed by Darin Adler.

No new tests needed.

  • Modules/credentials/CredentialCreationOptions.h:
  • Modules/credentials/PasswordCredential.h:
  • Modules/fetch/FetchBody.h:
  • Modules/fetch/FetchBodyOwner.h:
  • Modules/gamepad/GamepadManager.h:
  • Modules/geolocation/Coordinates.h:
  • Modules/geolocation/Geoposition.h:
  • Modules/indexeddb/IDBActiveDOMObject.h:
  • Modules/indexeddb/IDBCursor.h:
  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBDatabaseIdentifier.h:
  • Modules/indexeddb/IDBObjectStore.cpp:
  • Modules/indexeddb/IDBObjectStore.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:
  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • Modules/indexeddb/shared/IndexKey.h:
  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediasession/WebMediaSessionManager.h:
  • Modules/mediasource/SourceBufferList.h:
  • Modules/mediasource/VideoPlaybackQuality.h:
  • Modules/notifications/Notification.h:
  • Modules/quota/WorkerNavigatorStorageQuota.h:
  • Modules/webaudio/AudioBasicProcessorNode.h:
  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/AudioDestinationNode.h:
  • Modules/webaudio/AudioParamTimeline.h:
  • Modules/webaudio/ConvolverNode.cpp:
  • Modules/webaudio/MediaStreamAudioSource.h:
  • Modules/webaudio/MediaStreamAudioSourceNode.h:
  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/PeriodicWave.h:
  • Modules/webaudio/ScriptProcessorNode.h:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseTask.h:
  • Modules/webdatabase/SQLTransaction.h:
  • Modules/webdatabase/SQLTransactionBackend.h:
  • Modules/webdatabase/SQLTransactionStateMachine.h:
  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WebSocketDeflater.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
  • animation/AnimationEffect.h:
  • crypto/CryptoKeyPair.h:
  • crypto/parameters/CryptoAlgorithmEcdhKeyDeriveParams.h:
  • dom/ScriptExecutionContext.h:
  • domjit/DOMJITHelpers.h:
  • domjit/DOMJITIDLConvert.h:
  • domjit/DOMJITIDLType.h:
12:57 AM Changeset in webkit [218802] by Konstantin Tokarev
  • 4 edits in trunk/Source

[GTK] Unreviewed, added missing includes to fix debug build

Source/WebCore:

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

Source/WebKit2:

  • NetworkProcess/NetworkSession.cpp:

Jun 25, 2017:

11:51 PM Changeset in webkit [218801] by Carlos Garcia Campos
  • 3 edits
    1 add in releases/WebKitGTK/webkit-2.16

Merge r215387 - ParseInt intrinsic in DFG backend doesn't properly flush its operands
https://bugs.webkit.org/show_bug.cgi?id=170865

Reviewed by Mark Lam and Geoffrey Garen.

JSTests:

  • stress/parse-int-intrinsic-dfg-backend-flush.js: Added.

(assert):
(foo):

Source/JavaScriptCore:

The DFG backend code needed to first call .gpr()/.jsValueRegs()
before calling flushRegisters(), or the input JSValueOperand would
not be flushed.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileParseInt):

2:41 PM Changeset in webkit [218800] by Yusuke Suzuki
  • 2 edits in trunk/Source/WTF

initializeThreading() [first] causes WTFCrash due to maxSingleAllocationSize not being initialized
https://bugs.webkit.org/show_bug.cgi?id=173720

Reviewed by Mark Lam.

When using std::numeric_limits<size_t>::max() for global variable's initialization,
it seems that it invokes static constructor to initialize this in VC++.
We avoid this edge case by introducing a workaround using SIZE_MAX here.

When I perform git-grep, there is only one site (this) using std::numeric_limits<>::xxx()
to initialize global variable.

  • wtf/FastMalloc.cpp:
1:35 PM Changeset in webkit [218799] by Konstantin Tokarev
  • 90 edits in trunk

Remove excessive headers from WebCore/platform
https://bugs.webkit.org/show_bug.cgi?id=173822

Reviewed by Tim Horton.

Source/WebCore:

No new tests needed.

  • html/ColorInputType.h:
  • html/MediaElementSession.h:
  • page/SecurityOriginData.cpp:
  • platform/CalculationValue.cpp:
  • platform/CalculationValue.h:
  • platform/ColorChooserClient.h:
  • platform/ContentType.h:
  • platform/LogMacros.h:
  • platform/PODRedBlackTree.h:
  • platform/PasteboardStrategy.h:
  • platform/PlatformPasteboard.h:
  • platform/PopupMenuStyle.h:
  • platform/ScrollAnimator.h:
  • platform/Theme.h:
  • platform/ThreadGlobalData.h:
  • platform/animation/AnimationList.h:
  • platform/audio/AudioArray.h:
  • platform/audio/AudioChannel.h:
  • platform/audio/DynamicsCompressor.h:
  • platform/audio/DynamicsCompressorKernel.h:
  • platform/audio/FFTFrame.h:
  • platform/audio/HRTFDatabaseLoader.cpp:
  • platform/audio/HRTFDatabaseLoader.h:
  • platform/audio/HRTFElevation.h:
  • platform/audio/MultiChannelResampler.h:
  • platform/audio/PlatformMediaSession.h:
  • platform/audio/ReverbConvolver.h:
  • platform/audio/ReverbConvolverStage.cpp:
  • platform/graphics/ANGLEWebKitBridge.h:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/CrossfadeGeneratedImage.h:
  • platform/graphics/FloatPolygon.h:
  • platform/graphics/FloatSizeHash.h:
  • platform/graphics/Font.h:
  • platform/graphics/FontMetrics.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/FontRanges.h:
  • platform/graphics/FontTaggedSettings.h:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DPrivate.h:
  • platform/graphics/GraphicsLayerClient.h:
  • platform/graphics/Image.cpp:
  • platform/graphics/ImageFrame.h:
  • platform/graphics/ImageFrameCache.h:
  • platform/graphics/ImageSource.h:
  • platform/graphics/IntRectHash.h:
  • platform/graphics/IntSizeHash.h:
  • platform/graphics/MediaPlaybackTargetClient.h:
  • platform/graphics/Pattern.h:
  • platform/graphics/PlatformTimeRanges.h:
  • platform/graphics/TextRun.h:
  • platform/graphics/TiledBacking.h:
  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/gstreamer/GStreamerUtilities.h:
  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
  • platform/graphics/harfbuzz/HarfBuzzShaper.h:
  • platform/graphics/opengl/Extensions3DOpenGL.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapperBackingStore.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:
  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
  • platform/graphics/texmap/TextureMapperTile.h:
  • platform/graphics/texmap/coordinated/Tile.h:
  • platform/graphics/texmap/coordinated/TiledBackingStore.h:
  • platform/graphics/transforms/TransformState.h:
  • platform/gtk/PasteboardHelper.h:
  • platform/gtk/ScrollbarThemeGtk.h:
  • platform/image-decoders/ImageDecoder.h:
  • platform/network/BlobData.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/SocketStreamHandleClient.h:
  • platform/network/soup/ResourceRequest.h:
  • platform/network/soup/SocketStreamHandleImpl.h:
  • platform/network/soup/SoupNetworkSession.h:
  • platform/sql/SQLiteFileSystem.h:
  • platform/text/LocaleICU.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/SessionStateConversion.cpp:
12:56 PM Changeset in webkit [218798] by mcatanzaro@igalia.com
  • 5 edits in trunk

Unreviewed, rolling out r215190.

Broke product select element on GNOME Bugzilla

Reverted changeset:

"[GTK] Misplaced right click menu on web page due to
deprecated gtk_menu_popup()"
https://bugs.webkit.org/show_bug.cgi?id=170553
http://trac.webkit.org/changeset/215190

11:20 AM Changeset in webkit [218797] by mcatanzaro@igalia.com
  • 2 edits in trunk/Source/WebKit2

[GTK][WPE] Unreviewed, fix typo in translatable string

Thanks to Yuri Chornoivan for reporting this typo.

  • UIProcess/API/glib/WebKitWebView.cpp:

(webkit_web_view_class_init):

11:18 AM Changeset in webkit [218796] by mcatanzaro@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] [l10n] Updated Ukrainian translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=173823

Patch by Yuri Chornoivan <yurchor@ukr.net> on 2017-06-25
Rubber-stamped by Michael Catanzaro.

  • uk.po:
11:06 AM Changeset in webkit [218795] by commit-queue@webkit.org
  • 15 edits
    2 adds in trunk

Remove use of mock webrtc backend factory at injected bundle reset time
https://bugs.webkit.org/show_bug.cgi?id=173817

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

Source/WebCore:

  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Resetting the peer connection backend.

  • testing/MockLibWebRTCPeerConnection.cpp: Doing some clean-up

(WebCore::useRealRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::MockLibWebRTCPeerConnectionFactory):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreatePeerConnection):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreateVideoTrack):
(WebCore::MockLibWebRTCPeerConnectionFactory::CreateAudioTrack):

  • testing/MockLibWebRTCPeerConnection.h:

LayoutTests:

Making some tests less flaky.

  • TestExpectations:
  • fast/mediastream/RTCPeerConnection-media-setup-two-dialogs-expected.txt:
  • platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:
  • webrtc/audio-peer-connection-webaudio.html:
  • webrtc/captureCanvas-webrtc.html:
  • webrtc/datachannel/bufferedAmountLowThreshold-default-expected.txt: Added.
  • webrtc/datachannel/bufferedAmountLowThreshold-default.html: Added.
  • webrtc/datachannel/bufferedAmountLowThreshold-expected.txt:
  • webrtc/datachannel/bufferedAmountLowThreshold.html:
  • webrtc/routines.js:
  • webrtc/video-replace-muted-track.html:
  • webrtc/video-unmute.html:
10:40 AM Changeset in webkit [218794] by Konstantin Tokarev
  • 305 edits in trunk/Source

Remove excessive headers from JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=173812

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • API/APIUtils.h:
  • assembler/LinkBuffer.cpp:
  • assembler/MacroAssemblerCodeRef.cpp:
  • b3/air/AirLiveness.h:
  • b3/air/AirLowerAfterRegAlloc.cpp:
  • bindings/ScriptValue.cpp:
  • bindings/ScriptValue.h:
  • bytecode/AccessCase.cpp:
  • bytecode/AccessCase.h:
  • bytecode/ArrayProfile.h:
  • bytecode/BytecodeDumper.h:
  • bytecode/BytecodeIntrinsicRegistry.cpp:
  • bytecode/BytecodeKills.h:
  • bytecode/BytecodeLivenessAnalysis.h:
  • bytecode/BytecodeUseDef.h:
  • bytecode/CallLinkStatus.h:
  • bytecode/CodeBlock.h:
  • bytecode/CodeOrigin.h:
  • bytecode/ComplexGetStatus.h:
  • bytecode/GetByIdStatus.h:
  • bytecode/GetByIdVariant.h:
  • bytecode/InlineCallFrame.h:
  • bytecode/InlineCallFrameSet.h:
  • bytecode/Instruction.h:
  • bytecode/InternalFunctionAllocationProfile.h:
  • bytecode/JumpTable.h:
  • bytecode/MethodOfGettingAValueProfile.h:
  • bytecode/ObjectPropertyConditionSet.h:
  • bytecode/Operands.h:
  • bytecode/PolymorphicAccess.h:
  • bytecode/PutByIdStatus.h:
  • bytecode/SpeculatedType.cpp:
  • bytecode/StructureSet.h:
  • bytecode/StructureStubInfo.h:
  • bytecode/UnlinkedCodeBlock.h:
  • bytecode/UnlinkedFunctionExecutable.h:
  • bytecode/ValueProfile.h:
  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/Label.h:
  • bytecompiler/StaticPropertyAnalysis.h:
  • debugger/DebuggerCallFrame.cpp:
  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAdjacencyList.h:
  • dfg/DFGArgumentsUtilities.h:
  • dfg/DFGArrayMode.h:
  • dfg/DFGArrayifySlowPathGenerator.h:
  • dfg/DFGBackwardsPropagationPhase.h:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
  • dfg/DFGCallCreateDirectArgumentsSlowPathGenerator.h:
  • dfg/DFGCapabilities.h:
  • dfg/DFGCommon.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDesiredIdentifiers.h:
  • dfg/DFGDesiredWatchpoints.h:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDominators.h:
  • dfg/DFGDriver.cpp:
  • dfg/DFGDriver.h:
  • dfg/DFGEdgeDominates.h:
  • dfg/DFGFinalizer.h:
  • dfg/DFGGenerationInfo.h:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGJITFinalizer.h:
  • dfg/DFGLivenessAnalysisPhase.h:
  • dfg/DFGMinifiedNode.h:
  • dfg/DFGMultiGetByOffsetData.h:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNaturalLoops.h:
  • dfg/DFGNode.h:
  • dfg/DFGOSRAvailabilityAnalysisPhase.h:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitCompilationInfo.h:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler.h:
  • dfg/DFGOSRExitJumpPlaceholder.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPlan.h:
  • dfg/DFGPreciseLocalClobberize.h:
  • dfg/DFGPromotedHeapLocation.h:
  • dfg/DFGRegisteredStructure.h:
  • dfg/DFGRegisteredStructureSet.h:
  • dfg/DFGSaneStringGetByValSlowPathGenerator.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGSnippetParams.h:
  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGToFTLDeferredCompilationCallback.h:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.h:
  • dfg/DFGValidate.h:
  • dfg/DFGValueSource.h:
  • dfg/DFGVariableEvent.h:
  • dfg/DFGVariableEventStream.h:
  • dfg/DFGWorklist.h:
  • domjit/DOMJITCallDOMGetterSnippet.h:
  • domjit/DOMJITEffect.h:
  • ftl/FTLLink.cpp:
  • ftl/FTLLowerDFGToB3.cpp:
  • ftl/FTLPatchpointExceptionHandle.h:
  • heap/AllocatorAttributes.h:
  • heap/CodeBlockSet.h:
  • heap/DeferGC.h:
  • heap/GCSegmentedArray.h:
  • heap/Heap.cpp:
  • heap/Heap.h:
  • heap/IncrementalSweeper.h:
  • heap/ListableHandler.h:
  • heap/MachineStackMarker.h:
  • heap/MarkedAllocator.h:
  • heap/MarkedBlock.cpp:
  • heap/MarkedBlock.h:
  • heap/MarkingConstraint.h:
  • heap/SlotVisitor.cpp:
  • heap/SlotVisitor.h:
  • inspector/ConsoleMessage.cpp:
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScript.h:
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptManager.cpp:
  • inspector/JSGlobalObjectInspectorController.cpp:
  • inspector/JavaScriptCallFrame.h:
  • inspector/ScriptCallStack.h:
  • inspector/ScriptCallStackFactory.cpp:
  • inspector/ScriptDebugServer.h:
  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:
  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorHeapAgent.cpp:
  • inspector/agents/InspectorHeapAgent.h:
  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/InspectorScriptProfilerAgent.cpp:
  • inspector/agents/InspectorScriptProfilerAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/augmentable/AlternateDispatchableAgent.h:
  • interpreter/CLoopStack.h:
  • interpreter/CachedCall.h:
  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:
  • interpreter/Interpreter.h:
  • jit/AssemblyHelpers.cpp:
  • jit/AssemblyHelpers.h:
  • jit/CCallHelpers.h:
  • jit/CallFrameShuffler.h:
  • jit/ExecutableAllocator.h:
  • jit/GCAwareJITStubRoutine.h:
  • jit/HostCallReturnValue.h:
  • jit/ICStats.h:
  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITAddGenerator.h:
  • jit/JITCall32_64.cpp:
  • jit/JITCode.h:
  • jit/JITDisassembler.cpp:
  • jit/JITExceptions.cpp:
  • jit/JITMathIC.h:
  • jit/JITOpcodes.cpp:
  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITThunks.cpp:
  • jit/JITThunks.h:
  • jit/JSInterfaceJIT.h:
  • jit/PCToCodeOriginMap.h:
  • jit/PolymorphicCallStubRoutine.h:
  • jit/RegisterSet.h:
  • jit/Repatch.h:
  • jit/SetupVarargsFrame.h:
  • jit/Snippet.h:
  • jit/SnippetParams.h:
  • jit/ThunkGenerators.h:
  • jsc.cpp:
  • llint/LLIntCLoop.h:
  • llint/LLIntEntrypoint.h:
  • llint/LLIntExceptions.h:
  • llint/LLIntOfflineAsmConfig.h:
  • llint/LLIntSlowPaths.cpp:
  • parser/NodeConstructors.h:
  • parser/Nodes.cpp:
  • parser/Nodes.h:
  • parser/Parser.cpp:
  • parser/Parser.h:
  • parser/ParserTokens.h:
  • parser/SourceProviderCacheItem.h:
  • profiler/ProfilerBytecodeSequence.h:
  • profiler/ProfilerDatabase.cpp:
  • profiler/ProfilerDatabase.h:
  • profiler/ProfilerOrigin.h:
  • profiler/ProfilerOriginStack.h:
  • profiler/ProfilerProfiledBytecodes.h:
  • profiler/ProfilerUID.h:
  • runtime/AbstractModuleRecord.h:
  • runtime/ArrayConstructor.h:
  • runtime/ArrayConventions.h:
  • runtime/ArrayIteratorPrototype.h:
  • runtime/ArrayPrototype.h:
  • runtime/BasicBlockLocation.h:
  • runtime/Butterfly.h:
  • runtime/CallData.cpp:
  • runtime/CodeCache.h:
  • runtime/CommonSlowPaths.cpp:
  • runtime/CommonSlowPaths.h:
  • runtime/CommonSlowPathsExceptions.cpp:
  • runtime/Completion.cpp:
  • runtime/ControlFlowProfiler.h:
  • runtime/DateInstanceCache.h:
  • runtime/ErrorConstructor.h:
  • runtime/ErrorInstance.h:
  • runtime/ExceptionHelpers.cpp:
  • runtime/ExceptionHelpers.h:
  • runtime/ExecutableBase.h:
  • runtime/FunctionExecutable.h:
  • runtime/HasOwnPropertyCache.h:
  • runtime/Identifier.h:
  • runtime/InternalFunction.h:
  • runtime/IntlCollator.cpp:
  • runtime/IntlCollatorPrototype.h:
  • runtime/IntlDateTimeFormatPrototype.h:
  • runtime/IntlNumberFormat.cpp:
  • runtime/IntlNumberFormatPrototype.h:
  • runtime/IteratorOperations.cpp:
  • runtime/JSArray.h:
  • runtime/JSArrayBufferPrototype.h:
  • runtime/JSCJSValue.h:
  • runtime/JSCJSValueInlines.h:
  • runtime/JSCell.h:
  • runtime/JSFunction.cpp:
  • runtime/JSFunction.h:
  • runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
  • runtime/JSGlobalObject.cpp:
  • runtime/JSGlobalObject.h:
  • runtime/JSGlobalObjectDebuggable.cpp:
  • runtime/JSGlobalObjectDebuggable.h:
  • runtime/JSGlobalObjectFunctions.cpp:
  • runtime/JSGlobalObjectFunctions.h:
  • runtime/JSJob.cpp:
  • runtime/JSLock.h:
  • runtime/JSModuleLoader.cpp:
  • runtime/JSModuleNamespaceObject.h:
  • runtime/JSModuleRecord.h:
  • runtime/JSObject.cpp:
  • runtime/JSObject.h:
  • runtime/JSRunLoopTimer.h:
  • runtime/JSTemplateRegistryKey.h:
  • runtime/JSTypedArrayPrototypes.cpp:
  • runtime/JSTypedArrayPrototypes.h:
  • runtime/JSTypedArrays.h:
  • runtime/LiteralParser.h:
  • runtime/MatchResult.h:
  • runtime/MemoryStatistics.h:
  • runtime/PrivateName.h:
  • runtime/PromiseDeferredTimer.h:
  • runtime/ProxyObject.h:
  • runtime/RegExp.h:
  • runtime/SamplingProfiler.cpp:
  • runtime/SmallStrings.h:
  • runtime/StringPrototype.cpp:
  • runtime/StringRecursionChecker.h:
  • runtime/Structure.h:
  • runtime/SymbolConstructor.h:
  • runtime/SymbolPrototype.cpp:
  • runtime/SymbolPrototype.h:
  • runtime/TypeProfiler.h:
  • runtime/TypeProfilerLog.h:
  • runtime/TypedArrayType.h:
  • runtime/VM.cpp:
  • runtime/VM.h:
  • runtime/VMEntryScope.h:
  • runtime/WeakMapData.h:
  • runtime/WriteBarrier.h:
  • tools/FunctionOverrides.cpp:
  • tools/FunctionOverrides.h:
  • wasm/WasmBinding.cpp:
  • wasm/js/JSWebAssemblyCodeBlock.h:
  • wasm/js/WebAssemblyPrototype.cpp:
  • yarr/Yarr.h:
  • yarr/YarrJIT.cpp:
  • yarr/YarrJIT.h:
  • yarr/YarrParser.h:

Source/WebCore:

No new tests needed.

  • Modules/indexeddb/IDBObjectStore.cpp:
  • bindings/js/JSDOMPromiseDeferred.h:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/JSMainThreadExecState.h:
  • bindings/js/ReadableStreamDefaultController.cpp:
  • bindings/js/ScriptGlobalObject.cpp:
  • bindings/js/SerializedScriptValue.cpp:
  • bridge/NP_jsobject.cpp:
  • dom/ScriptExecutionContext.cpp:
  • html/HTMLPlugInImageElement.cpp:

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:
  • WebView/WebView.mm:

Source/WebKit/win:

  • Plugins/PluginPackage.cpp:

Source/WebKit2:

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

Source/WTF:

  • wtf/Bag.h:
3:01 AM Changeset in webkit [218793] by Konstantin Tokarev
  • 96 edits in trunk/Source/WebCore

Remove excessive headers from WebCore/{rendering,style,svg}
https://bugs.webkit.org/show_bug.cgi?id=173773

Reviewed by Darin Adler.

No new tests needed.

  • css/StyleBuilderConverter.h:
  • editing/TextIterator.cpp:
  • rendering/CounterNode.h:
  • rendering/FlexibleBoxAlgorithm.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.h:
  • rendering/HitTestingTransformState.h:
  • rendering/OrderIterator.h:
  • rendering/RenderButton.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderFlowThread.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGeometryMap.h:
  • rendering/RenderListItem.h:
  • rendering/RenderMediaControlElements.cpp:
  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMediaControls.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnSet.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderRegion.h:
  • rendering/RenderRegionSet.cpp:
  • rendering/RenderRegionSet.h:
  • rendering/RenderTheme.h:
  • rendering/RenderVTTCue.cpp:
  • rendering/RenderVTTCue.h:
  • rendering/SimpleLineLayoutFunctions.h:
  • rendering/SimpleLineLayoutResolver.h:
  • rendering/line/BreakingContext.h:
  • rendering/line/LineBreaker.h:
  • rendering/mathml/MathMLStyle.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/shapes/RectangleShape.h:
  • rendering/style/BasicShapes.h:
  • rendering/style/BorderData.h:
  • rendering/style/CounterDirectives.h:
  • rendering/style/GridArea.h:
  • rendering/style/KeyframeList.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:
  • rendering/style/ShapeValue.h:
  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleMultiColData.h:
  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/style/WillChangeData.h:
  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResource.h:
  • rendering/svg/RenderSVGResourceContainer.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/SVGInlineFlowBox.cpp:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRootInlineBox.h:
  • rendering/svg/SVGTextChunk.cpp:
  • rendering/svg/SVGTextChunk.h:
  • rendering/svg/SVGTextChunkBuilder.cpp:
  • rendering/svg/SVGTextLayoutEngine.cpp:
  • rendering/svg/SVGTextLayoutEngineSpacing.h:
  • style/RenderTreePosition.cpp:
  • style/RenderTreePosition.h:
  • style/RenderTreeUpdater.h:
  • style/StyleFontSizeFunctions.h:
  • style/StyleInvalidator.h:
  • style/StyleResolveForDocument.h:
  • style/StyleScope.h:
  • style/StyleTreeResolver.cpp:
  • style/StyleTreeResolver.h:
  • style/StyleUpdate.h:
  • svg/SVGAnimationElement.h:
  • svg/SVGFEBlendElement.cpp:
  • svg/SVGFEBlendElement.h:
  • svg/SVGFEComponentTransferElement.h:
  • svg/SVGFEFloodElement.cpp:
  • svg/SVGFEFloodElement.h:
  • svg/SVGFEImageElement.h:
  • svg/SVGFEMergeElement.cpp:
  • svg/SVGFEMergeElement.h:
  • svg/SVGFEOffsetElement.cpp:
  • svg/SVGFEOffsetElement.h:
  • svg/SVGFETileElement.cpp:
  • svg/SVGFETileElement.h:
  • svg/SVGParserUtilities.h:
  • svg/SVGPathByteStream.h:
  • svg/SVGPathElement.cpp:
  • svg/SVGPolyElement.cpp:
  • svg/SVGSVGElement.cpp:
  • svg/SVGTRefElement.cpp:
  • svg/SVGTextPathElement.cpp:
  • svg/SVGUseElement.cpp:
  • svg/animation/SMILTimeContainer.h:
  • svg/graphics/SVGImageCache.h:
  • svg/graphics/filters/SVGFilter.h:
2:22 AM Changeset in webkit [218792] by graouts@webkit.org
  • 6 edits in trunk/Source/WebCore

Remove rAf suspension logging
https://bugs.webkit.org/show_bug.cgi?id=173821

Reviewed by Tim Horton.

Now that webkit.org/b/173628 is fixed, we can remove the logging code we added.

  • dom/Document.cpp:

(WebCore::Document::requestAnimationFrame):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::suspend):
(WebCore::ScriptedAnimationController::resume):

  • page/Page.cpp:

(WebCore::Page::suspendScriptedAnimations):
(WebCore::Page::resumeScriptedAnimations):
(WebCore::Page::setIsVisibleInternal):

  • platform/RuntimeApplicationChecks.h:
  • platform/cocoa/RuntimeApplicationChecksCocoa.mm:

(WebCore::MacApplication::isDumpRenderTree): Deleted.

Jun 24, 2017:

5:07 PM Changeset in webkit [218791] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

[WK2] Make sure encodeClientTypesAndData() / decodeClientTypesAndData() match exactly
https://bugs.webkit.org/show_bug.cgi?id=173813

Reviewed by Ryosuke Niwa.

Make sure encodeClientTypesAndData() / decodeClientTypesAndData() match exactly. The previous
IPC encoder code would assume types and data vector have the same length. It would first encode
the length of data using |data.size()| but then would encode types.size() values from the
data vector. While there are debug assertions to ensure both vectors have the same size, this
seems unnecessarily fragile in release builds. If both vectors happen to have different sizes,
this will lead to weird IPC bugs.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeClientTypesAndData):
(IPC::decodeClientTypesAndData):

3:29 PM Changeset in webkit [218790] by Yusuke Suzuki
  • 7 edits
    1 add in trunk

[JSC] Clean up Object.entries implementation
https://bugs.webkit.org/show_bug.cgi?id=173759

Reviewed by Sam Weinig.

JSTests:

  • microbenchmarks/object-entries.js: Added.

(test):

Source/JavaScriptCore:

This patch cleans up Object.entries implementation.
We drop unused private functions. And we merge the
implementation into Object.entries.

It slightly speeds up Object.entries speed.

baseline patched

object-entries 148.0101+-5.6627 142.1877+-4.8661 might be 1.0409x faster

  • builtins/BuiltinNames.h:
  • builtins/ObjectConstructor.js:

(entries):
(globalPrivate.enumerableOwnProperties): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • runtime/ObjectConstructor.cpp:

(JSC::ownEnumerablePropertyKeys): Deleted.

  • runtime/ObjectConstructor.h:
2:47 PM Changeset in webkit [218789] by commit-queue@webkit.org
  • 7 edits
    21 adds in trunk/Source/WebCore

[WebIDL] Add complete support for stringifier
https://bugs.webkit.org/show_bug.cgi?id=173724

Patch by Sam Weinig <sam@webkit.org> on 2017-06-24
Reviewed by Darin Adler.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddStringifierOperationIfNeeded):
Update AddStringifierOperationIfNeeded to support stringifier on operations and be more
strict about the allowed types. Also copies over all extended attributes to the synthetic
operation.

  • bindings/scripts/IDLParser.pm:

(parseInterfaceMember):
(parseOperationOrReadWriteAttributeOrMaplike):
(parseReadOnlyMember):
(parseStringifier):
(parseStaticMember):
(parseAttributeOrOperationForStringifierOrStatic):
(parseReadWriteAttribute):
(parseAttributeRest):
(parseOperation):
(parseSpecialOperation):
(parseMapLikeProperties):
(parseOperationRest):
(parseAttributeOrOperationOrIterator): Deleted.
(parseQualifier): Deleted.
(parseAttributeOrOperationRest): Deleted.
(parseAttribute): Deleted.
(parseOperationOrIterator): Deleted.

  • Update parser to more closely resemble the WebIDL grammar, splitting out parseStringifier and parseStaticMember into their own subroutines.
  • Move those and parseSerializer, parseStringifier, parseStaticMember, parseIterableRest and a split out parseReadOnlyMembers up into parseInterfaceMember to make it clearer that they are top level members and match the grammar.
  • Rename parseAttributeOrOperationOrIterator to parseOperationOrReadWriteAttributeOrMaplike to match the grammar language and make it clear what it does.
  • Add parseAttributeOrOperationForStringifierOrStatic which contains most of the logic for parsing stringifiers and static members, which have almost identical grammars.
  • Remove creator special which no longer exists in the spec.
  • css/DOMMatrixReadOnly.idl:
  • css/WebKitCSSMatrix.idl:
  • dom/Range.idl:
  • html/URLSearchParams.idl:

Fix FIXMEs by switching to use stringifier.

  • bindings/scripts/test/JS/JSTestStringifier.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifier.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp: Added.
  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h: Added.
  • bindings/scripts/test/TestStringifier.idl: Added.
  • bindings/scripts/test/TestStringifierAnonymousOperation.idl: Added.
  • bindings/scripts/test/TestStringifierNamedOperation.idl: Added.
  • bindings/scripts/test/TestStringifierOperationImplementedAs.idl: Added.
  • bindings/scripts/test/TestStringifierOperationNamedToString.idl: Added.
  • bindings/scripts/test/TestStringifierReadOnlyAttribute.idl: Added.
  • bindings/scripts/test/TestStringifierReadWriteAttribute.idl: Added.

Add new tests.

1:14 PM Changeset in webkit [218788] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc: Add a per-thread line cache
https://bugs.webkit.org/show_bug.cgi?id=173552

Reviewed by Darin Adler.

Previously, any thread could allocate out of any page with free lines.
Now, the first thread to free a line in a page owns that page's free
lines until the whole page becomes free.

This patch is a big speedup on multi-threaded benchmarks.
tree_churn --parallel gets 14% faster on a 2-core (4-hyper-core) MacBook
Air and 2.85X faster on 12-core (24-hyper-core) Mac Pro. Other parallel
benchmarks show significant but smaller speedups.

Thread affinity is a great predictor of object lifetime. The per-thread
line cache avoids the pathology of shuffling pages between threads,
turning predictable lifetimes into unpredictable lifetimes, increasing
fragmentation. On tree_churn --parallel, the per-thread line cache
increases free memory found per page scanned by 2.85X.

Free line scanning in fragmented pages is pretty expensive relative to
other allocate / initialize / free operations. According to Instruments,
on tree_churn --parallel, scanning is about 10X more expensive than
freeing. This explains why a 2.85X improvement in scanning efficiency
translates into a 2.85X overall speedup on tree_churn --parallel.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::refillAllocatorSlowCase): Pass through our line
cache so the Heap can fill it.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::scavenge): Scavenge our line cache.

(bmalloc::Deallocator::processObjectLog): Deleted.

  • bmalloc/Deallocator.h:

(bmalloc::Deallocator::lineCache): Added a line cache.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::deallocateLineCache): Deallocation function for thread
destruction.

(bmalloc::Heap::allocateSmallPage):
(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::allocateSmallBumpRangesByMetadata):
(bmalloc::Heap::allocateSmallBumpRangesByObject): Consult the new per-thread line
cache for allocation and deallocation.

  • bmalloc/Heap.h:

(bmalloc::Heap::allocateSmallBumpRanges):
(bmalloc::Heap::derefSmallLine):

  • bmalloc/List.h:

(bmalloc::List::remove): Remove has always been a logically static
operation. Declare it static now so that the Heap can remove a page from
a thread's line cache without holding a direct pointer to the cache.

  • bmalloc/SmallPage.h:
8:14 AM Changeset in webkit [218787] by mcatanzaro@igalia.com
  • 3 edits in trunk/Source/WebKit2

[GTK] Introspection: webkit_web_view_new_with_related_view needs to be marked as a constructor
https://bugs.webkit.org/show_bug.cgi?id=173765

Reviewed by Carlos Garcia Campos.

Because the first parameter to this WebKitWebView constructor is itself a WebKitWebView,
the gi-scanner's heuristics decide that it's probably an object method rather than a
constructor, resulting in improper introspection generation. Annotate it with (constructor)
to override this behavior.

  • UIProcess/API/gtk/WebKitWebViewGtk.cpp:
  • UIProcess/API/wpe/WebKitWebViewWPE.cpp:
3:24 AM Changeset in webkit [218786] by Konstantin Tokarev
  • 4 edits in trunk/Source/WebKit2

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

This change broke the macOS Sierra build (Requested by
annulen|home on #webkit).

Reverted changeset:

"Removed unused lambda captures from WebKit2"
https://bugs.webkit.org/show_bug.cgi?id=173555
http://trac.webkit.org/changeset/218785

Patch by Commit Queue <commit-queue@webkit.org> on 2017-06-24

3:16 AM Changeset in webkit [218785] by Konstantin Tokarev
  • 4 edits in trunk/Source/WebKit2

Removed unused lambda captures from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=173555

Reviewed by Alex Christensen.

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::fetchWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteData):
(WebKit::NetworkProcessProxy::deleteWebsiteDataForOrigins):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::topPrivatelyControlledDomainsWithWebsiteData):

1:06 AM Changeset in webkit [218784] by commit-queue@webkit.org
  • 19 edits
    3 deletes in trunk

Remove Reflect.enumerate
https://bugs.webkit.org/show_bug.cgi?id=173806

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-06-24
Reviewed by Yusuke Suzuki.

JSTests:

  • ChakraCore.yaml:
  • es6.yaml:

These tests now fail because they use Reflect.enumerate.

  • test262.yaml:

This test now passes, it checked that Reflect.enumerate is undefined!

  • stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js:

Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811>

  • stress/reflect-enumerate.js: Removed.

Remove a test solely for Reflect.enumerate.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/JSInjectedScriptHost.cpp:

(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::getInternalProperties):
(Inspector::JSInjectedScriptHost::iteratorEntries):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSPropertyNameIterator.cpp: Removed.
  • runtime/JSPropertyNameIterator.h: Removed.
  • runtime/ReflectObject.cpp:

(JSC::reflectObjectEnumerate): Deleted.

Source/WebInspectorUI:

  • UserInterface/Models/NativeFunctionParameters.js:

Tools:

  • Scripts/run-jsc-stress-tests:

LayoutTests:

  • inspector/model/remote-object-expected.txt:
  • inspector/model/remote-object.html:
  • platform/mac/inspector/model/remote-object-expected.txt:
12:14 AM Changeset in webkit [218783] by cfleizach@apple.com
  • 8 edits
    2 adds in trunk

AX: Cannot call setValue() on contenteditable or ARIA text controls
https://bugs.webkit.org/show_bug.cgi?id=173520

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add support for changing the value of a contenteditable and any other aria text control in setValue().

Test: accessibility/mac/set-value-editable-types.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::setValue):

Tools:

Add setValue() method to WKTR (already existed in DRT).

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::setValue):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::AccessibilityUIElement::setValue):

LayoutTests:

  • accessibility/mac/set-value-editable-types-expected.txt: Added.
  • accessibility/mac/set-value-editable-types.html: Added.

Jun 23, 2017:

7:54 PM Changeset in webkit [218782] by keith_miller@apple.com
  • 22 edits in trunk

Switch VMTraps to use halt instructions rather than breakpoint instructions
https://bugs.webkit.org/show_bug.cgi?id=173677
Source/JavaScriptCore:

<rdar://problem/32178892>

Reviewed by JF Bastien.

Using the breakpoint instruction for VMTraps caused issues with lldb.
Since we only need some way to stop execution we can, in theory, use
any exceptioning instruction we want. I went with the halt instruction
on X86 since that is the only one byte instruction that does not
breakpoint (in my tests both 0xf1 and 0xd6 produced EXC_BREAKPOINT).
On ARM we use the data cache clearing instruction with the zero register,
which triggers a segmentation fault.

Also, update the platform code to only use signaling VMTraps
on where we have an appropriate instruction (x86 and ARM64).

  • API/tests/ExecutionTimeLimitTest.cpp:

(testExecutionTimeLimit):

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::replaceWithVMHalt):
(JSC::ARM64Assembler::dataCacheZeroVirtualAddress):
(JSC::ARM64Assembler::replaceWithBkpt): Deleted.

  • assembler/ARMAssembler.h:

(JSC::ARMAssembler::replaceWithBkpt): Deleted.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::replaceWithBkpt): Deleted.

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::replaceWithBkpt): Deleted.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::replaceWithBreakpoint): Deleted.

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::replaceWithVMHalt):
(JSC::MacroAssemblerARM64::replaceWithBreakpoint): Deleted.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::storeFence):
(JSC::MacroAssemblerARMv7::replaceWithBreakpoint): Deleted.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::replaceWithBreakpoint): Deleted.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::replaceWithVMHalt):
(JSC::MacroAssemblerX86Common::replaceWithBreakpoint): Deleted.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::replaceWithHlt):
(JSC::X86Assembler::replaceWithInt3): Deleted.

  • dfg/DFGJumpReplacement.cpp:

(JSC::DFG::JumpReplacement::installVMTrapBreakpoint):

  • runtime/VMTraps.cpp:

(JSC::SignalContext::SignalContext):
(JSC::installSignalHandler):
(JSC::SignalContext::adjustPCToPointToTrappingInstruction): Deleted.

  • wasm/WasmFaultSignalHandler.cpp:

(JSC::Wasm::enableFastMemory):

Source/WTF:

<rdar://problem/32178892>

Reviewed by JF Bastien.

Remove the Trap signal handler code since it plays badly with lldb and combine
SIGBUS with SIGSEGV since distiguishing them is generally non-portable.

Also, update the platform code to only use signaling VMTraps
on where we have an appropriate instruction (x86 and ARM64).

  • wtf/Platform.h:
  • wtf/threads/Signals.cpp:

(WTF::fromMachException):
(WTF::toMachMask):
(WTF::installSignalHandler):
(WTF::jscSignalHandler):

  • wtf/threads/Signals.h:

(WTF::toSystemSignal):
(WTF::fromSystemSignal):

Tools:

Reviewed by JF Bastien.

  • TestWebKitAPI/Tests/WTF/ThreadMessages.cpp:

(TEST):

7:45 PM Changeset in webkit [218781] by joepeck@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Script Timeline bubbles sometimes appear to miss large events
https://bugs.webkit.org/show_bug.cgi?id=173746
<rdar://problem/32950808>

Reviewed by Brian Burg.

  • UserInterface/Models/Timeline.js:

(WebInspector.Timeline.prototype.addRecord):
(WebInspector.Timeline.prototype._tryInsertInSortedOrder):
The list of records is assumed to be sorted by the code that draws bubbles
however the order in which we receive them may not be sorted. Make a quick
effort to sort recent records so that as we are drawing the timeline it is
more accurate.

7:19 PM Changeset in webkit [218780] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove an unused typedef from WebFrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=173795

Reviewed by Simon Fraser.

  • WebCoreSupport/WebFrameLoaderClient.h:

This unused typedef in the global namespace conflicts with one in a macOS system header.
Also... it's unused.
Remove it.

6:56 PM Changeset in webkit [218779] by Chris Dumez
  • 4 edits in trunk/LayoutTests

fast/events/page-visibility-iframe-delete-test.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=173798

Reviewed by Simon Fraser.

Modernize the test and deflake it by not making it rely on a specific order
for the visibilitychange events. The event queues are per documents and there
is therefore no guarantee those events will fire in frame tree order.

  • fast/events/page-visibility-iframe-delete-test-expected.txt:
  • fast/events/page-visibility-iframe-delete-test.html:
6:25 PM Changeset in webkit [218778] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebCore

Attempt to fix an internal build after r218755.

  • bindings/js/JSMainThreadExecStateInstrumentation.h:
5:35 PM Changeset in webkit [218777] by Brian Burg
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: RTL: flip all go-to-arrow instances
https://bugs.webkit.org/show_bug.cgi?id=173794
<rdar://problem/32221912>

Reviewed by Joseph Pecoraro.

Move the flipping transform so it applies to all go-to arrows.

  • UserInterface/Views/DataGrid.css:

(body[dir=rtl] .data-grid td .go-to-arrow):

  • UserInterface/Views/Main.css:

(body[dir=rtl] .go-to-arrow):

5:03 PM Changeset in webkit [218776] by antti@apple.com
  • 2 edits in trunk/Source/WTF

Add notifyutil registrations for going in and out of simulated low memory state
https://bugs.webkit.org/show_bug.cgi?id=173797

Reviewed by Andreas Kling.

Add

notifyutil -p org.WebKit.lowMemory.begin
notifyutil -p org.WebKit.lowMemory.end

for debugging.

  • wtf/cocoa/MemoryPressureHandlerCocoa.mm:

(WTF::MemoryPressureHandler::install):

4:24 PM Changeset in webkit [218775] by Chris Dumez
  • 5 edits in trunk/Source

Add release assertion to make sure callbackIdentifier is not 0 in DocumentLoader::finishedLoadingIcon()
https://bugs.webkit.org/show_bug.cgi?id=173792

Reviewed by Ryosuke Niwa.

Add release assertion to make sure callbackIdentifier is not 0 in DocumentLoader::finishedLoadingIcon()
as this could cause HashTable corruption on WebPageProxy side.

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::finishedLoadingIcon):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::finishedLoadingIcon):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4:21 PM Changeset in webkit [218774] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add a binary data channel webrtc test
https://bugs.webkit.org/show_bug.cgi?id=173787

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

  • webrtc/datachannel/binary-expected.txt: Added.
  • webrtc/datachannel/binary.html: Added.
4:16 PM Changeset in webkit [218773] by commit-queue@webkit.org
  • 14 edits in trunk

Set getUserMedia permission to true by default on WTR
https://bugs.webkit.org/show_bug.cgi?id=173610

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

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/simplecall-expected.txt:

Tools:

Adding a way to reset the getUserMedia permission to pending.

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

(WTR::InjectedBundle::setUserMediaPermissionAsUnset):

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

(WTR::TestRunner::setUserMediaPermissionAsUnset):

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

(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::setUserMediaPermissionAsUnset):

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

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):

LayoutTests:

  • fast/mediastream/delayed-permission-allowed.html:
  • fast/mediastream/delayed-permission-denied.html:
4:08 PM Changeset in webkit [218772] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

webrtc/routines.js should call createAnswer once setRemoteDescription promise is resolved
https://bugs.webkit.org/show_bug.cgi?id=173785

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

  • webrtc/routines.js:
4:06 PM Changeset in webkit [218771] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

webrtc::WebRtcSession is not handling correctly its state when setLocalDescription fails and is called again
https://bugs.webkit.org/show_bug.cgi?id=173783

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

Source/WebCore:

Test: webrtc/libwebrtc/setLocalDescriptionCrash.html

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::doSetLocalDescription): Fail early if there is no pending remote description and description is for an answer.

LayoutTests:

  • webrtc/libwebrtc/setLocalDescriptionCrash-expected.txt: Added.
  • webrtc/libwebrtc/setLocalDescriptionCrash.html: Added.
3:50 PM Changeset in webkit [218770] by jlewis3@apple.com
  • 2 edits in trunk/LayoutTests

Added additional test expectations for webrtc/video-replace-muted-track.html.
https://bugs.webkit.org/show_bug.cgi?id=173608

Unreviewed test expectations.

  • platform/mac-wk2/TestExpectations:
3:50 PM Changeset in webkit [218769] by Chris Dumez
  • 4 edits in trunk/Source/WebKit2

Stop passing Vector by value in WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores()
https://bugs.webkit.org/show_bug.cgi?id=173782

Reviewed by Brent Fulgham.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores):

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

(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):

3:10 PM Changeset in webkit [218768] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaStream macOS] enumerateDevices should only return valid audio capture devices
https://bugs.webkit.org/show_bug.cgi?id=173790
<rdar://problem/32260334>

Reviewed by Youenn Fablet.

  • platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:

(WebCore::isValidCaptureDevice): A valid device has a name and is not an aggregate device
created by VPIO.
(WebCore::CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices):

3:08 PM Changeset in webkit [218767] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Avoid copying HashSet to Vector in WebPageProxy::clearLoadDependentCallbacks()
https://bugs.webkit.org/show_bug.cgi?id=173786

Reviewed by Geoffrey Garen.

Avoid copying HashSet to Vector in WebPageProxy::clearLoadDependentCallbacks().
Instead, just move the HashSet and iterate on that. This is OK since we were
clearing the HashSet right after copying it to the vector anyway.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::clearLoadDependentCallbacks):

2:34 PM Changeset in webkit [218766] by jmarcell@apple.com
  • 7 edits in tags/Safari-604.1.27.0.1/Source

Versioning.

2:33 PM Changeset in webkit [218765] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, fix Debug build after r218763

  • NetworkProcess/NetworkDataTask.cpp:
2:26 PM Changeset in webkit [218764] by Chris Dumez
  • 3 edits in trunk/Source/WebKit2

Add more release logging for process assertions
https://bugs.webkit.org/show_bug.cgi?id=173624
<rdar://problem/32412701>

Reviewed by Geoffrey Garen.

Add more release logging for process assertions to help debug issues such
as <rdar://problem/32412701>.

  • UIProcess/ProcessThrottler.cpp:

(WebKit::ProcessThrottler::didConnectToProcess):

  • UIProcess/ios/ProcessAssertionIOS.mm:

(WebKit::ProcessAssertion::ProcessAssertion):
(WebKit::ProcessAssertion::~ProcessAssertion):
(WebKit::ProcessAssertion::setState):

2:18 PM Changeset in webkit [218763] by Chris Dumez
  • 19 edits in trunk/Source/WebKit2

Consistently use RunLoop::isMain() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=173745
<rdar://problem/32936527>

Reviewed by Brent Fulgham.

Consistently use RunLoop:isMain() on WebKit2 instead of WTF::isMainThread().
WTF::isMainThread() returns true for the WebThread instead of the UIThread
in WebKit1. Therefore WTF::isMainThread() is unsafe to use in the UIProcess
as the application may be using WebKit1 as well and have a WebThread.

Technically, we only *need* to move from WTF::isMainThread() to
RunLoop::isMain() in the UIProcess code but I ported all of WebKit2 for
consistency. RunLoop::isMain() is always safe in WebKit2.

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::NetworkDataTask):
(WebKit::NetworkDataTask::~NetworkDataTask):

  • NetworkProcess/NetworkDataTaskBlob.cpp:

(WebKit::NetworkDataTaskBlob::getSizeForNext):
(WebKit::NetworkDataTaskBlob::didGetSize):
(WebKit::NetworkDataTaskBlob::seek):
(WebKit::NetworkDataTaskBlob::read):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
(WebKit::NetworkLoad::notifyDidReceiveResponse):

  • NetworkProcess/NetworkSession.cpp:

(WebKit::NetworkSession::defaultSession):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::resourceType):
(WebKit::NetworkCache::Cache::initialize):

  • NetworkProcess/cache/NetworkCacheIOChannelSoup.cpp:

(WebKit::NetworkCache::IOChannel::read):
(WebKit::NetworkCache::IOChannel::readSyncInThread):

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(WebKit::NetworkSessionCocoa::defaultSession):
(WebKit::NetworkSessionCocoa::dataTaskForIdentifier):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::dispatchOnMainThread):
(WebKit::CoordinatedGraphicsScene::syncRemoteContent):
(WebKit::CoordinatedGraphicsScene::detach):
(WebKit::CoordinatedGraphicsScene::appendUpdate):

  • Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:

(WebKit::WorkQueuePool::singleton):
(WebKit::WorkQueuePool::dispatch):
(WebKit::CompositingRunLoop::~CompositingRunLoop):
(WebKit::CompositingRunLoop::performTask):
(WebKit::CompositingRunLoop::performTaskSync):

  • Shared/CoordinatedGraphics/threadedcompositor/ThreadedCompositor.cpp:

(WebKit::ThreadedCompositor::createGLContext):
(WebKit::ThreadedCompositor::renderNextFrame):
(WebKit::ThreadedCompositor::commitScrollOffset):
(WebKit::ThreadedCompositor::updateSceneState):
(WebKit::ThreadedCompositor::releaseUpdateAtlases):
(WebKit::ThreadedCompositor::frameComplete):

  • Shared/Plugins/NPObjectProxy.cpp:

(WebKit::NPObjectProxy::NP_Deallocate):

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores):
(WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebiteData):

  • UIProcess/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::removeDataRecords):
(WebKit::WebResourceLoadStatisticsStore::registerSharedResourceLoadObserver):
(WebKit::WebResourceLoadStatisticsStore::writeStoreToDisk):
(WebKit::WebResourceLoadStatisticsStore::writeEncoderToDisk):

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView _highlightLinkAnnotation:forDuration:completionHandler:]):

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel _uploadItemForImageData:imageName:successBlock:failureBlock:]):

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:

(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):

  • WebProcess/soup/WebKitSoupRequestInputStream.cpp:

(webkitSoupRequestInputStreamReadAsync):

1:50 PM Changeset in webkit [218762] by fred.wang@free.fr
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove fast/regions/region-leak-js-information-when-disabled-at-runtime.html
https://bugs.webkit.org/show_bug.cgi?id=173784

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

fast/regions/region-leak-js-information-when-disabled-at-runtime.html is supposed to test
that some JS properties are undefined when CSS regions are disabled at runtime. However, this
part is currently commented out and the test is no longer relevant after r200524. Hence we
just remove it.

  • fast/regions/region-leak-js-information-when-disabled-at-runtime-expected.txt: Removed.
  • fast/regions/region-leak-js-information-when-disabled-at-runtime.html: Removed.
1:49 PM Changeset in webkit [218761] by jmarcell@apple.com
  • 1 copy in tags/Safari-604.1.27.0.1

New tag.

1:45 PM Changeset in webkit [218760] by ddkilzer@apple.com
  • 3 edits in trunk/Source/WebKit2

v3: REGRESSION (r218419): 3 NSMutableDictionary leaks calling -[WKProcessPool _pluginLoadClientPolicies]
<https://webkit.org/b/173689>

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(policiesHashMapToDictionary): Use adoptNS().get() to avoid
dumping objects into autoreleasepools unnecessarily.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

(-[WKProcessPool _pluginLoadClientPolicies]): Add back 'copy'
attribute to document that we're returning a new object on each
invocation. I shouldn't have removed it in the v2 patch.

1:43 PM Changeset in webkit [218759] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

LibWebRTCSocketClient should not destroy its socket within signalClose callback
https://bugs.webkit.org/show_bug.cgi?id=173739

Patch by Youenn Fablet <youenn@apple.com> on 2017-06-23
Reviewed by Brent Fulgham.

  • NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:

(WebKit::LibWebRTCSocketClient::signalClose): Destroy 'this' asynchronously to make the caller of signalClose valid until it is not used.

1:12 PM Changeset in webkit [218758] by Chris Dumez
  • 4 edits in trunk/Source/WebKit2

Fix typo in WebProcessProxy::topPrivatelyControlledDomainsWithWebsiteData() naming
https://bugs.webkit.org/show_bug.cgi?id=173781

Reviewed by Brent Fulgham.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebsiteData):
(WebKit::WebProcessProxy::topPrivatelyControlledDomainsWithWebiteData): Deleted.

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

(WebKit::WebResourceLoadStatisticsStore::grandfatherExistingWebsiteData):

12:32 PM Changeset in webkit [218757] by jer.noble@apple.com
  • 14 edits in trunk/Source

[WK2] Support -[WebAVPlayerController setMuted:]
https://bugs.webkit.org/show_bug.cgi?id=173777

Reviewed by Eric Carlson.

Source/WebCore:

Have -[WebAVPlayerController setMuted:] pass the request to its delegate (the model)
rather than just storing the value.

  • platform/cocoa/WebPlaybackSessionModel.h:
  • platform/cocoa/WebPlaybackSessionModelMediaElement.h:
  • platform/cocoa/WebPlaybackSessionModelMediaElement.mm:

(WebCore::WebPlaybackSessionModelMediaElement::toggleMuted):
(WebCore::WebPlaybackSessionModelMediaElement::setMuted):

  • platform/ios/WebAVPlayerController.h:
  • platform/ios/WebAVPlayerController.mm:

(-[WebAVPlayerController isMuted]):
(-[WebAVPlayerController setMuted:]):

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(WebVideoFullscreenControllerContext::setMuted):

Source/WebKit2:

Add a SetMuted message to WebPlaybackSessionManager.

Drive-by refactoring: Because the new setMuted() method conflicts with the existing setMuted()
notification, do a giant rename of the notificiation methods from set(Value) -> (value)Changed.

  • UIProcess/Cocoa/WebPlaybackSessionManagerProxy.h:
  • UIProcess/Cocoa/WebPlaybackSessionManagerProxy.messages.in:
  • UIProcess/Cocoa/WebPlaybackSessionManagerProxy.mm:

(WebKit::WebPlaybackSessionModelContext::setMuted):
(WebKit::WebPlaybackSessionModelContext::playbackStartedTimeChanged):
(WebKit::WebPlaybackSessionModelContext::durationChanged):
(WebKit::WebPlaybackSessionModelContext::currentTimeChanged):
(WebKit::WebPlaybackSessionModelContext::bufferedTimeChanged):
(WebKit::WebPlaybackSessionModelContext::rateChanged):
(WebKit::WebPlaybackSessionModelContext::seekableRangesChanged):
(WebKit::WebPlaybackSessionModelContext::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionModelContext::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionModelContext::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionModelContext::audioMediaSelectionIndexChanged):
(WebKit::WebPlaybackSessionModelContext::legibleMediaSelectionIndexChanged):
(WebKit::WebPlaybackSessionModelContext::externalPlaybackChanged):
(WebKit::WebPlaybackSessionModelContext::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionModelContext::mutedChanged):
(WebKit::WebPlaybackSessionManagerProxy::currentTimeChanged):
(WebKit::WebPlaybackSessionManagerProxy::bufferedTimeChanged):
(WebKit::WebPlaybackSessionManagerProxy::seekableRangesVectorChanged):
(WebKit::WebPlaybackSessionManagerProxy::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionManagerProxy::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManagerProxy::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManagerProxy::audioMediaSelectionIndexChanged):
(WebKit::WebPlaybackSessionManagerProxy::legibleMediaSelectionIndexChanged):
(WebKit::WebPlaybackSessionManagerProxy::externalPlaybackPropertiesChanged):
(WebKit::WebPlaybackSessionManagerProxy::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionManagerProxy::mutedChanged):
(WebKit::WebPlaybackSessionManagerProxy::durationChanged):
(WebKit::WebPlaybackSessionManagerProxy::playbackStartedTimeChanged):
(WebKit::WebPlaybackSessionManagerProxy::rateChanged):
(WebKit::WebPlaybackSessionManagerProxy::setMuted):
(WebKit::WebPlaybackSessionManagerProxy::controlsManagerInterface):
(WebKit::WebPlaybackSessionModelContext::setPlaybackStartedTime): Deleted.
(WebKit::WebPlaybackSessionModelContext::setDuration): Deleted.
(WebKit::WebPlaybackSessionModelContext::setCurrentTime): Deleted.
(WebKit::WebPlaybackSessionModelContext::setBufferedTime): Deleted.
(WebKit::WebPlaybackSessionModelContext::setRate): Deleted.
(WebKit::WebPlaybackSessionModelContext::setSeekableRanges): Deleted.
(WebKit::WebPlaybackSessionModelContext::setCanPlayFastReverse): Deleted.
(WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionModelContext::setAudioMediaSelectionIndex): Deleted.
(WebKit::WebPlaybackSessionModelContext::setLegibleMediaSelectionIndex): Deleted.
(WebKit::WebPlaybackSessionModelContext::setExternalPlayback): Deleted.
(WebKit::WebPlaybackSessionModelContext::setWirelessVideoPlaybackDisabled): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setCurrentTime): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setBufferedTime): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setSeekableRangesVector): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setCanPlayFastReverse): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionOptions): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setAudioMediaSelectionIndex): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setLegibleMediaSelectionIndex): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setExternalPlaybackProperties): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setWirelessVideoPlaybackDisabled): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setDuration): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setPlaybackStartedTime): Deleted.
(WebKit::WebPlaybackSessionManagerProxy::setRate): Deleted.

  • WebProcess/cocoa/WebPlaybackSessionManager.h:
  • WebProcess/cocoa/WebPlaybackSessionManager.messages.in:
  • WebProcess/cocoa/WebPlaybackSessionManager.mm:

(WebKit::WebPlaybackSessionManager::durationChanged):
(WebKit::WebPlaybackSessionManager::currentTimeChanged):
(WebKit::WebPlaybackSessionManager::bufferedTimeChanged):
(WebKit::WebPlaybackSessionManager::playbackStartedTimeChanged):
(WebKit::WebPlaybackSessionManager::rateChanged):
(WebKit::WebPlaybackSessionManager::seekableRangesChanged):
(WebKit::WebPlaybackSessionManager::canPlayFastReverseChanged):
(WebKit::WebPlaybackSessionManager::audioMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::legibleMediaSelectionOptionsChanged):
(WebKit::WebPlaybackSessionManager::externalPlaybackChanged):
(WebKit::WebPlaybackSessionManager::audioMediaSelectionIndexChanged):
(WebKit::WebPlaybackSessionManager::legibleMediaSelectionIndexChanged):
(WebKit::WebPlaybackSessionManager::wirelessVideoPlaybackDisabledChanged):
(WebKit::WebPlaybackSessionManager::mutedChanged):
(WebKit::WebPlaybackSessionManager::setMuted):

12:13 PM Changeset in webkit [218756] by fred.wang@free.fr
  • 2 edits in trunk/Source/WebCore

Make RenderLayer::handleTouchEvent use usesAcceleratedScrolling()
https://bugs.webkit.org/show_bug.cgi?id=173763

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

No new tests, behavior is unchanged.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::handleTouchEvent): Call usesAcceleratedScrolling() instead of
hasTouchScrollableOverflow() for clarity.

12:07 PM Changeset in webkit [218755] by Konstantin Tokarev
  • 44 edits
    1 add in trunk/Source

Remove excessive headers from WebCore/{bindings,css,dom}
https://bugs.webkit.org/show_bug.cgi?id=173766

Reviewed by Simon Fraser.

Source/WebCore:

No new tests needed.

  • ForwardingHeaders/runtime/ThrowScope.h: Added.
  • Modules/plugins/QuickTimePluginReplacement.mm:
  • bindings/js/CachedScriptSourceProvider.h:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:
  • bindings/js/JSCustomXPathNSResolver.cpp:
  • bindings/js/JSDOMConstructorNotConstructable.h:
  • bindings/js/JSDOMConvertBase.h:
  • bindings/js/JSDOMConvertBufferSource.h:
  • bindings/js/JSDOMConvertInterface.h:
  • bindings/js/JSDOMConvertStrings.h:
  • bindings/js/JSDOMConvertUnion.h:
  • bindings/js/JSDOMConvertVariadic.h:
  • bindings/js/JSDOMConvertWebGL.h:
  • bindings/js/JSDOMExceptionHandling.h:
  • bindings/js/JSDOMIterator.h:
  • bindings/js/JSDOMMapLike.h:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowCustom.cpp:
  • bindings/js/JSDOMWindowCustom.h:
  • bindings/js/JSDOMWindowProperties.h:
  • bindings/js/JSDOMWrapperCache.h:
  • bindings/js/JSLazyEventListener.cpp:
  • bindings/js/JSMainThreadExecStateInstrumentation.h:
  • bindings/js/JSMediaListCustom.h:
  • bindings/js/JSNodeCustom.h:
  • bindings/js/JSNodeListCustom.h:
  • bindings/js/JSVideoTrackListCustom.cpp:
  • bindings/js/ScheduledAction.h:
  • bindings/js/ScriptSourceCode.h:
  • bindings/js/SerializedScriptValue.h:
  • bindings/js/WebCoreJSClientData.h:
  • css/CSSFontFeatureValue.h:
  • css/CSSPrimitiveValue.h:
  • css/CSSStyleSheet.h:
  • css/CSSValue.h:
  • css/StyleBuilderCustom.h:
  • dom/ContainerNodeAlgorithms.h:
  • dom/DataTransfer.h:
  • dom/Node.h:
  • dom/NodeRareData.h:
  • dom/Position.h:
  • dom/RenderedDocumentMarker.h:

Source/WebKit/mac:

  • DOM/DOMInternal.mm:
11:48 AM Changeset in webkit [218754] by fred.wang@free.fr
  • 65 edits
    1 delete in trunk

Use window.internals instead of overridePreference to set WebCore settings in tests
https://bugs.webkit.org/show_bug.cgi?id=173714

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

Source/WebKit2:

This commit remove preference to settings mapping in overrideBoolPreferenceForTestRunner that
are no longer necessary after the changes done in LayoutTests.

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): Remove mapping for preferences
that no longer require testRunner.overridePreference calls in tests.

LayoutTests:

This commit is a first step to replace the use of testRunner.overridePreference with
internals.settings.set* calls in tests. Such a call will fail immediately and obviously if
its a function that does not exist, and these settings are restored properly between tests.
Some preferences that do not have a WebCore setting or an internals.settings setter are not
handled yet. The temporary failure added in r218480 for fast/frames/flattening/set-preference
is removed and so is a custom expectation caret-mode-document-begin-end for Mac WK1.

  • accessibility/gtk/caret-browsing-select-focus.html: Use internals.settings.set* function.
  • accessibility/gtk/caret-browsing-text-focus.html: Ditto.
  • accessibility/gtk/caret-offsets-and-extraneous-white-spaces.html: Ditto.
  • accessibility/gtk/caret-offsets.html: Ditto.
  • accessibility/gtk/text-in-span-block-in-a-block.html: Ditto.
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html: Ditto.
  • css3/blending/blend-mode-simple.html: Ditto.
  • css3/blending/effect-background-blend-mode.html: Ditto.
  • css3/filters/blur-filter-page-scroll-parents.html: Ditto.
  • css3/filters/blur-filter-page-scroll-self.html: Ditto.
  • css3/filters/blur-filter-page-scroll.html: Ditto.
  • css3/filters/effect-blur.html: Ditto.
  • css3/filters/effect-brightness-clamping.html: Ditto.
  • css3/filters/effect-brightness.html: Ditto.
  • css3/filters/effect-combined.html: Ditto.
  • css3/filters/effect-contrast.html: Ditto.
  • css3/filters/effect-drop-shadow.html: Ditto.
  • css3/filters/effect-grayscale.html: Ditto.
  • css3/filters/effect-hue-rotate.html: Ditto.
  • css3/filters/effect-invert.html: Ditto.
  • css3/filters/effect-opacity.html: Ditto.
  • css3/filters/effect-saturate.html: Ditto.
  • css3/filters/effect-sepia.html: Ditto.
  • css3/filters/filter-repaint.html: Ditto.
  • css3/filters/null-effect-check.html: Ditto.
  • editing/selection/caret-mode-document-begin-end.html: Ditto.
  • editing/selection/caret-mode-paragraph-keys-navigation.html: Ditto.
  • fast/animation/request-animation-frame-disabled.html: Ditto.
  • fast/canvas/canvas-blend-image.html: Ditto.
  • fast/canvas/canvas-blend-solid.html: Ditto.
  • fast/canvas/canvas-imageSmoothingQuality.html: Ditto.
  • fast/canvas/drawImage-with-small-values.html: Ditto.
  • fast/images/exif-orientation-composited.html: Ditto.
  • fast/images/exif-orientation-css.html: Ditto.
  • fast/images/exif-orientation.html: Ditto.
  • fast/images/image-controls-basic.html: Ditto.
  • fast/parser/pre-html5-parser-quirks.html: Ditto.
  • fast/repaint/no-caret-repaint-in-non-content-editable-element.html: Ditto.
  • http/tests/appcache/disabled.html: Ditto.
  • http/tests/contentextensions/block-cookies-in-ping.html: Ditto.
  • http/tests/contentextensions/block-ping.html: Ditto.
  • http/tests/contentextensions/hide-on-ping-with-ping-that-redirects.html: Ditto.
  • http/tests/contentextensions/hide-on-ping.html: Ditto.
  • http/tests/misc/favicon-loads-with-icon-loading-override.html: Ditto.
  • http/tests/navigation/ping-attribute/anchor-cookie.html: Ditto.
  • http/tests/navigation/ping-attribute/anchor-cross-origin-from-https.html: Ditto.
  • http/tests/navigation/ping-attribute/anchor-cross-origin.html: Ditto.
  • http/tests/navigation/ping-attribute/anchor-ping-and-follow-redirect-when-sending-ping.html: Ditto.
  • http/tests/navigation/ping-attribute/anchor-same-origin.html: Ditto.
  • http/tests/navigation/ping-attribute/area-cookie.html: Ditto.
  • http/tests/navigation/ping-attribute/area-cross-origin-from-https.html: Ditto.
  • http/tests/navigation/ping-attribute/area-cross-origin.html: Ditto.
  • http/tests/navigation/ping-attribute/area-same-origin.html: Ditto.
  • http/tests/security/mixedContent/insecure-script-in-data-iframe-in-main-frame-blocked.html: Ditto.
  • imported/blink/fast/css/image-orientation/image-orientation-dynamic-expected.html: Ditto.
  • loader/meta-refresh-disabled.html: Ditto.
  • media/crash-closing-page-with-media-as-plugin-fallback.html: Ditto.
  • platform/mac-wk1/editing/selection/caret-mode-document-begin-end-expected.txt: Removed.

Mac WK1 now produces the same output as other platforms.

  • platform/mac/TestExpectations: Remove the failure for FrameFlattening now that the test

uses internals.settings.set*.

  • platform/mac/fast/frames/flattening/set-preference.html: Use internals.settings.set*.
  • plugins/crash-restoring-plugin-page-from-page-cache.html: Ditto.
  • plugins/frameset-with-plugin-frame.html: Ditto.
  • plugins/netscape-plugin-page-cache-works.html: Ditto.
11:05 AM Changeset in webkit [218753] by bfulgham@apple.com
  • 4 edits in trunk/Source/WebKit2

Avoid moving the same vector multiple times
https://bugs.webkit.org/show_bug.cgi?id=173748
<rdar://problem/32936804>

Reviewed by Chris Dumez.

We discovered that a Vector<String> was being moved inside a loop, causing it to be moved more than once.
We should never do this!

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::deleteWebsiteDataForTopPrivatelyControlledDomainsInAllPersistentDataStores):
Do not perform a move at each step of the iteration.

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::fetchDataForTopPrivatelyControlledDomains): Receive vector of top privately
controlled domains as a const reference. Copy this vector into the completion handler. Do not move
origins out of the vector in the inner loop.
(WebKit::WebsiteDataStore::removeDataForTopPrivatelyControlledDomains): Receive vector of top privately
controlled domains as a const reference.

  • UIProcess/WebsiteData/WebsiteDataStore.h:
10:55 AM WebKitGTK/DependenciesPolicy edited by mcatanzaro@igalia.com
Policy now applies only to runtime dependencies, not to build toolchain (diff)
10:54 AM Changeset in webkit [218752] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Fix broken WinCairo build

[Curl] Extract CurlDownloadManager as shared background task handler
https://bugs.webkit.org/show_bug.cgi?id=173557

Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-06-23
Reviewed by Joseph Pecoraro.

  • platform/network/curl/CurlManager.h:
10:33 AM Changeset in webkit [218751] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

[iOS] Potential crash under WebCore::notifyLowPowerModeChanged(WebCore::LowPowerModeNotifier*, bool)
https://bugs.webkit.org/show_bug.cgi?id=173755
<rdar://problem/32940942>

Reviewed by Mark Lam.

The crash was happening because the WebLowPowerModeObserver would dispatch
a lambda to the main thread but the LowPowerModeNotifier object could be
dead by the time we get to the main thread.

To address the issue, keep a strong ref to the WebLowPowerModeObserver in
the lambda we dispatch to the main thread to make sure it stays alive until
we execute the lambda. In the LowPowerModeNotifier destructor, we now reset
the WebLowPowerModeObserver's notifier pointer to nil and I added a null
check for this notifier in the lambda.

  • platform/LowPowerModeNotifier.cpp:

(WebCore::LowPowerModeNotifier::~LowPowerModeNotifier):

  • platform/LowPowerModeNotifier.h:
  • platform/ios/LowPowerModeNotifierIOS.mm:

(-[WebLowPowerModeObserver initWithNotifier:]):
(-[WebLowPowerModeObserver _didReceiveLowPowerModeChange]):
(WebCore::LowPowerModeNotifier::LowPowerModeNotifier):
(WebCore::LowPowerModeNotifier::~LowPowerModeNotifier):
(WebCore::notifyLowPowerModeChanged):

10:25 AM Changeset in webkit [218750] by achristensen@apple.com
  • 22 edits
    1 add in trunk

Add SPI to WKURLSchemeTask for redirection
https://bugs.webkit.org/show_bug.cgi?id=173730

Reviewed by Brady Eidson.

Source/WebCore:

  • platform/network/CacheValidation.cpp:

(WebCore::computeFreshnessLifetimeForHTTPFamily):
Asserting that redirects are always http/https URLs is no longer valid.
If there's a custom scheme redirect, give it no freshness lifetime in the cache.

Source/WebKit2:

This is needed for testing an upcoming fix for redirect callbacks, and it might be
necessary for loading with custom schemes in general. Right now just responding with

an HTTP 301/302/307/308 response code doesn't work because there is nothing that

synthesizes an NSURLRequest from the Location header like we do in
SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest et al. for HSTS,
and that would require using an NSHTTPURLResponse for non-HTTP responses, which is
conceptually wrong. Instead of waiting for a completion handler in the API, we are
following the pattern of WKNavigationDelegate.didReceiveServerRedirectForProvisionalNavigation
and allowing the SPI to indicate that a redirect has happened to update the state of
WebKit, but not allowing the SPI to wait for a processed request and slow down loading.

This adds WKURLSchemeTaskPrivate._didPerformRedirection which is covered by new API tests.

  • UIProcess/API/Cocoa/WKURLSchemeTask.mm:

(raiseExceptionIfNecessary):
(-[WKURLSchemeTaskImpl _didPerformRedirection:newRequest:completionHandler:]):

  • UIProcess/API/Cocoa/WKURLSchemeTaskInternal.h:
  • UIProcess/API/Cocoa/WKURLSchemeTaskPrivate.h: Added.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::startURLSchemeTask):
(WebKit::WebPageProxy::stopURLSchemeTask):

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

(WebKit::WebURLSchemeHandler::startTask):
(WebKit::WebURLSchemeHandler::stopTask):

  • UIProcess/WebURLSchemeHandler.h:
  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::didReceiveResponse): Deleted.
(WebKit::WebURLSchemeTask::didReceiveData): Deleted.
(WebKit::WebURLSchemeTask::didComplete): Deleted.

  • UIProcess/WebURLSchemeTask.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::urlSchemeTaskDidPerformRedirection):

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

(WebKit::WebURLSchemeHandlerProxy::taskDidPerformRedirection):

  • WebProcess/WebPage/WebURLSchemeHandlerProxy.h:
  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:

(WebKit::WebURLSchemeTaskProxy::didPerformRedirection):

  • WebProcess/WebPage/WebURLSchemeTaskProxy.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:

(-[SchemeHandler webView:startURLSchemeTask:]):
(-[SchemeHandler webView:stopURLSchemeTask:]):
(TEST):
(-[RedirectSchemeHandler webView:startURLSchemeTask:]):
(-[RedirectSchemeHandler webView:stopURLSchemeTask:]):
(-[RedirectSchemeHandler webView:didReceiveServerRedirectForProvisionalNavigation:]):
(-[RedirectSchemeHandler webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[RedirectSchemeHandler userContentController:didReceiveScriptMessage:]):

10:21 AM Changeset in webkit [218749] by bfulgham@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2][macOS] Support Mac Mini Flash Player Features
https://bugs.webkit.org/show_bug.cgi?id=173581
<rdar://problem/32804073>

Reviewed by Dean Jackson.

Revise the sandboxes for additional IOKit properties identified during Flash video player
testing.

  • PluginProcess/mac/com.apple.WebKit.plugin-common.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
9:11 AM Changeset in webkit [218748] by Konstantin Tokarev
  • 57 edits in trunk/Source/WebCore

Remove excessive headers from WebCore/{editing,fileapi,history,html,loader,page}
https://bugs.webkit.org/show_bug.cgi?id=173769

Reviewed by Simon Fraser.

No new tests needed.

  • css/CSSFontFaceSource.cpp:
  • editing/DictationCommand.cpp:
  • editing/Editor.h:
  • editing/VisiblePosition.h:
  • editing/VisibleUnits.h:
  • fileapi/BlobBuilder.h:
  • history/PageCache.h:
  • html/DOMURL.h:
  • html/HTMLCollection.h:
  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:
  • html/HTMLPlugInImageElement.cpp:
  • html/StepRange.h:
  • html/canvas/CanvasRenderingContext.h:
  • html/canvas/CanvasRenderingContext2D.h:
  • html/parser/HTMLDocumentParser.cpp:
  • html/parser/HTMLElementStack.h:
  • html/parser/HTMLInputStream.h:
  • html/shadow/MediaControlElements.cpp:
  • html/shadow/MediaControls.cpp:
  • html/shadow/MediaControls.h:
  • html/track/TrackListBase.h:
  • html/track/VTTCue.h:
  • html/track/WebVTTParser.cpp:
  • html/track/WebVTTParser.h:
  • loader/CrossOriginPreflightChecker.cpp:
  • loader/DocumentThreadableLoader.cpp:
  • loader/FrameLoaderClient.h:
  • loader/LinkPreloadResourceClients.h:
  • loader/LoadTiming.h:
  • loader/ThreadableLoaderClientWrapper.h:
  • loader/WorkerThreadableLoader.h:
  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedResourceRequest.h:
  • loader/cache/CachedSVGDocument.h:
  • loader/cache/CachedTextTrack.h:
  • loader/icon/IconLoader.cpp:
  • page/AlternativeTextClient.h:
  • page/CaptionUserPreferences.cpp:
  • page/CaptionUserPreferences.h:
  • page/ContextMenuClient.h:
  • page/MainFrame.h:
  • page/Page.h:
  • page/PageGroup.h:
  • page/PerformanceEntry.h:
  • page/PerformanceResourceTiming.h:
  • page/ResourceUsageOverlay.cpp:
  • page/ResourceUsageOverlay.h:
  • page/UserContentController.h:
  • page/UserContentProvider.h:
  • page/animation/AnimationBase.h:
  • page/animation/CSSPropertyAnimation.h:
  • page/animation/CompositeAnimation.h:
  • page/scrolling/ScrollingCoordinator.h:
  • xml/XSLTProcessorLibxslt.cpp:
  • xml/parser/XMLDocumentParserLibxml2.cpp:
8:44 AM Changeset in webkit [218747] by Chris Dumez
  • 9 edits in trunk

[mac-wk1] requestAnimationFrame callbacks may not get serviced
https://bugs.webkit.org/show_bug.cgi?id=173628

Reviewed by Simon Fraser.

Source/WebCore:

Page::setIsVisibleInternal() was firing the 'visibilitychange' event
synchronously while in the middle of updating its visibility/activity
state. This allowed the JavaScript to re-enter the method by calling
testRunner.setPageVisibility() / resetPageVisiblity() and we would
end up in an inconsistent state.

No new tests, extended existing test.

  • dom/Document.cpp:

(WebCore::Document::visibilityStateChanged):
Do no fire the visibilitychange event synchronously as we are in the
middle of updating the page's activity state. Instead fire the
event asynchronously.

  • page/Page.cpp:

(WebCore::Page::setIsVisibleInternal):
Move the calling of Document::visibilityStateChanged() until after we're
done updating the page's visibility state.

  • testing/Internals.cpp:

(WebCore::Internals::scriptedAnimationsAreSuspended):

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

Add test infrastructure to check if scripted animations are suspended.

LayoutTests:

Extend layout test coverage.

  • fast/events/page-visibility-transition-test-expected.txt:
  • fast/events/page-visibility-transition-test.html:
8:40 AM Changeset in webkit [218746] by eric.carlson@apple.com
  • 5 edits
    2 adds in trunk/Source/WebCore

[iOS] Respond to AudioSession interruption and resume
https://bugs.webkit.org/show_bug.cgi?id=173718
<rdar://problem/32925263>

Reviewed by Youenn Fablet.

Tested manually.

  • WebCore.xcodeproj/project.pbxproj: Add CoreAudioCaptureSourceIOS.mm/.h
  • platform/mediastream/RealtimeMediaSource.h: Make createWeakPtr protected so derived classes

can use it.

  • platform/mediastream/ios/CoreAudioCaptureSourceIOS.h: Added.
  • platform/mediastream/ios/CoreAudioCaptureSourceIOS.mm: Added.

(-[WebCoreAudioCaptureSourceIOSListener initWithCallback:]):
(-[WebCoreAudioCaptureSourceIOSListener invalidate]):
(-[WebCoreAudioCaptureSourceIOSListener handleInterruption:]):
(-[WebCoreAudioCaptureSourceIOSListener sessionMediaServicesWereReset:]):
(WebCore::CoreAudioCaptureSourceIOS::CoreAudioCaptureSourceIOS):
(WebCore::CoreAudioCaptureSourceIOS::~CoreAudioCaptureSourceIOS):

  • platform/mediastream/mac/CoreAudioCaptureSource.cpp:

(WebCore::CoreAudioSharedUnit::suspended):
(WebCore::CoreAudioSharedUnit::setupAudioUnit): Clear m_suspended.
(WebCore::CoreAudioSharedUnit::suspend): Don't clear sources or uninitialize the audio unit,
suspend is temporary. Set m_suspended.
(WebCore::CoreAudioSharedUnit::resume): New, restart the audio unit.
(WebCore::CoreAudioCaptureSource::create): Create the correct object.
(WebCore::CoreAudioCaptureSource::scheduleReconfiguration): Dispatch to main thread if necessary.
(WebCore::CoreAudioCaptureSource::beginInterruption): New, suspend from main thread.
(WebCore::CoreAudioCaptureSource::endInterruption): New, resume/reconfigure from main thread.
(WebCore::CoreAudioCaptureSource::interrupted):

  • platform/mediastream/mac/CoreAudioCaptureSource.h:
5:08 AM Changeset in webkit [218745] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Clean up type aliases in CoordinatedGraphicsScene
https://bugs.webkit.org/show_bug.cgi?id=173764

Reviewed by Carlos Garcia Campos.

Drop the various type aliases created in the CoordinatedGraphicsScene
class. We can leave without these by leveraging auto where necessary.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateTilesIfNeeded):
(WebKit::CoordinatedGraphicsScene::updateImageBacking):
(WebKit::CoordinatedGraphicsScene::clearImageBackingContents):
(WebKit::CoordinatedGraphicsScene::assignImageBackingToLayer):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.h:
5:03 AM Changeset in webkit [218744] by zandobersek@gmail.com
  • 3 edits
    5 adds in trunk

[GCrypt] Drop the AES-CFB support
https://bugs.webkit.org/show_bug.cgi?id=173547

Reviewed by Jiewen Tan.

Source/WebCore:

No new tests -- relevant test baselines are updated.

Stop registering the AES-CFB algorithm as something that's supported by
the libgcrypt implementation. This algorithm was previously included in
the Web Crypto API specification, but has since been dropped from it.

Conveniently, libgcrypt only recently gained support for the CFB8 AES
cipher mode that's required by the specification, meaning we could only
support this algorithm with future releases of the libgcrypt library.

  • crypto/gcrypt/CryptoAlgorithmRegistryGCrypt.cpp:

(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):

LayoutTests:

Add GTK+-specific baselines for AES tests that also cover the CFB variation.
These tests still pass because errors are expected, it's just that errors now
occur because the algorithm isn't supported anymore, rather than because of
operation errors due to malformed parameters.

  • platform/gtk/crypto/subtle/aes-cbc-cfb-decrypt-malformed-parameters-expected.txt: Added.
  • platform/gtk/crypto/subtle/aes-cbc-cfb-encrypt-malformed-parameters-expected.txt: Added.
  • platform/gtk/crypto/subtle/aes-export-key-malformed-parameters-expected.txt: Added.
  • platform/gtk/crypto/subtle/aes-generate-key-malformed-parameters-expected.txt: Added.
  • platform/gtk/crypto/subtle/aes-import-key-malformed-parameters-expected.txt: Added.
5:03 AM Changeset in webkit [218743] by Carlos Garcia Campos
  • 4 edits in trunk/Tools

[WPE] Use JSC API to send script messages from web extension in tests
https://bugs.webkit.org/show_bug.cgi?id=173757

Reviewed by Žan Doberšek.

The GTK+ uses DOM bindings to send the messages. We can just build the message string and use JSEvaluateScript
to run postMessage().

Fixes: /wpe/WebKitSecurityManager/file-xhr

/wpe/WebKitConsoleMessage/console-api
/wpe/WebKitConsoleMessage/js-exception
/wpe/WebKitConsoleMessage/network-error
/wpe/WebKitConsoleMessage/security-error

  • TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:

(testWebKitConsoleMessageSecurityError): Remove ifdefs.
(beforeAll): Ditto.

  • TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:

(testWebContextSecurityFileXHR): Ditto.
(beforeAll): Ditto.

  • TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:

(consoleMessageSentCallback): Use JSEvaluateScript in WPE. We need to escape the '"' in the message string.
(pageCreatedCallback): Remove ifdefs.

4:48 AM Changeset in webkit [218742] by Konstantin Tokarev
  • 4 edits in trunk/Source/WTF

Remove more unused headers from WTF
https://bugs.webkit.org/show_bug.cgi?id=173761

Reviewed by Yusuke Suzuki.

  • wtf/Liveness.h:
  • wtf/PageAllocation.h:
  • wtf/ParallelJobs.h:
4:14 AM Changeset in webkit [218741] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[WPE] Crash in wpe_view_backend_get_renderer_host_fd
https://bugs.webkit.org/show_bug.cgi?id=173760

Reviewed by Žan Doberšek.

This can happen if views are created and destroyed quickly. The problem is that CompositingManagerProxy adds a
message receiver but never removes it, so it's possible that the message arrives right after the view has been
destroyed. This is happening most of the times running /wpe/WebKitAutomationSession/request-session that creates
3 web views in a row that are deleted when the test finishes.

Fixes /wpe/WebKitAutomationSession/request-session.

  • UIProcess/API/wpe/CompositingManagerProxy.cpp:

(WebKit::CompositingManagerProxy::finalize): Remove the message handler.

  • UIProcess/API/wpe/CompositingManagerProxy.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::~View): Call CompositingManagerProxy::finalize().

4:11 AM Changeset in webkit [218740] by Carlos Garcia Campos
  • 18 edits in trunk

[WPE] User script messages don't work
https://bugs.webkit.org/show_bug.cgi?id=173712

Reviewed by Žan Doberšek.

.:

Enable user script messages.

  • Source/cmake/OptionsWPE.cmake:

Source/WebKit2:

When a user script message is received we need to create a WebKitJavascriptResult to deserialize the script
value. WebKitJavascriptResult is created with a WebKitWebView for two reasons: to get its JavaScript global
context and to take a reference that ensures the JavaScript context will be alive while the results is
alive. However, we could create the WebKitJavascriptResult with the JavaScript global context and take a
reference of the context itself. This way we don't need to access the WebKitWebView from the
WebScriptMessageHandler client. But we still need access to the JavaScript context, so I've added a
javascriptGlobalContext() method to WebPageProxy for GTK+ and WPE that is implemented from the page client.

Fixes /wpe/WebKitUserContentManager/script-message-received.

  • UIProcess/API/glib/WebKitJavascriptResult.cpp:

(_WebKitJavascriptResult::_WebKitJavascriptResult): Create the WebKitJavascriptResult with a JSGlobalContextRef
instead of a WEbKitWebView.
(webkitJavascriptResultCreate): Pass the js context to the constructor.
(webkit_javascript_result_get_global_context): Return the js context.

  • UIProcess/API/glib/WebKitJavascriptResultPrivate.h:
  • UIProcess/API/glib/WebKitUserContentManager.cpp:
  • UIProcess/API/glib/WebKitWebView.cpp:

(_WebKitWebViewPrivate::~_WebKitWebViewPrivate): Use JSRetainPtr
(webkit_web_view_get_javascript_global_context):
(webkitWebViewRunJavaScriptCallback):

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::javascriptGlobalContext):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/wpe/APIViewClient.h:

(API::ViewClient::javascriptGlobalContext):

  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::javascriptGlobalContext):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::javascriptGlobalContext):

  • UIProcess/API/wpe/WPEView.h:
  • UIProcess/PageClient.h:

(WebKit::PageClient::javascriptGlobalContext):

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::javascriptGlobalContext):

  • UIProcess/wpe/WebPageProxyWPE.cpp:

(WebKit::WebPageProxy::javascriptGlobalContext):

4:08 AM Changeset in webkit [218739] by Carlos Garcia Campos
  • 4 edits in trunk

[WPE] Enable PUBLIC_SUFFIX_LIST
https://bugs.webkit.org/show_bug.cgi?id=173758

Reviewed by Žan Doberšek.

.:

WebsiteDataStore needs it when fetching data.

Fixes: /wpe/WebKitCookieManager/accept-policy

/wpe/WebKitCookieManager/delete-cookies
/wpe/WebKitCookieManager/cookies-changed
/wpe/WebKitCookieManager/persistent-storage
/wpe/WebKitCookieManager/ephemeral
/wpe/WebKitWebsiteData/ephemeral
/wpe/WebKitWebsiteData/cache
/wpe/WebKitWebsiteData/storage
/wpe/WebKitWebsiteData/databases
/wpe/WebKitWebsiteData/appcache
/wpe/WebKitWebsiteData/cookies

  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

  • PlatformWPE.cmake: Add PublicSuffixSoup.cpp to the build.
1:21 AM Changeset in webkit [218738] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix WPE /wpe/WebKitWebView/javascript-dialogs and /wpe/WebKitWebView/window-properties

Skip onbeforeunload dialog tests for now in WPE since we don't have a implemention for
simulateUserInteraction(). And do not expect changes in "geometry" property of WebKitWindowProperties that
doesn't exist yet in WPE.

  • TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:

(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):

Note: See TracTimeline for information about the timeline view.