Timeline
Feb 6, 2017:
- 10:45 PM Changeset in webkit [211775] by
-
- 6 edits2 adds in trunk
Overlay scrolling with iframe-s broken
https://bugs.webkit.org/show_bug.cgi?id=165056
Reviewed by Antonio Gomes.
Source/WebCore:
Mouse press events for overlay scrollbars are ignored if there's a subframe under the scrollbar. This doesn't
happen with normal scrollbars, because the subframe is not really under the scrollbar, so events are always
correctly passed to the scrollbar. With overlay scrollbars, the hit test detects the scrollbar, but events are
always passed first to the subframe. Scrollbars are correctly updated on hover though, because
handleMouseMoveEvent checks the presence of scrollbars before checking for subframes and move events are
actually passed to both, the scrollbar and the subframe. Overlay scrollbars should always take precedence over
subframes to handle mouse press events, so we should check first if mouse is over a scrollbar and never pass the
event to a subframe in that case. Another problem is that the cursor is not updated either when the overlay
scrollbar is hovered and there's a subframe. This is because in handleMouseMoveEvent we pass the event to both
the scrollbar and subframe but we never update the cursor when a suframe was found. So, here again we need to make
an exception for scrollbars and upate the cursor when mouse is over the scrollbar even if a subframe was found.
Test: fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html
- page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent): Move the scrollbar check before the subframe check.
(WebCore::EventHandler::handleMouseMoveEvent): Update the cursor when hovering a scrollbar even if a subframe
was found.
(WebCore::EventHandler::updateLastScrollbarUnderMouse): Use an enum instead of a boolean for setLast parameter.
- page/EventHandler.h:
LayoutTests:
Add a new test to check that clicking on an overlay scrollbar works even it's over a subframe.
- fast/scrolling/scroll-animator-overlay-scrollbars-clicked-expected.txt: Added.
- fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html: Added.
- platform/ios-simulator/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 10:34 PM Changeset in webkit [211774] by
-
- 2 edits in trunk/Tools
[GTK] jhbuild fails: mesa-11.0.6.tar.xz: 404 Not Found
https://bugs.webkit.org/show_bug.cgi?id=167916
Patch by Fujii Hironori <Fujii Hironori> on 2017-02-06
Reviewed by Carlos Garcia Campos.
URL of mesa-11.0.6.tar.xz has been moved.
- gtk/jhbuild.modules: Fix the module path.
- 10:12 PM Changeset in webkit [211773] by
-
- 2 edits in trunk/Source/WebKit2
[Soup] Long resources loaded by custom protocols sometimes never finish loading
https://bugs.webkit.org/show_bug.cgi?id=167890
Reviewed by Michael Catanzaro.
It's another bug that has appeared in WebKitSoupRequestInputStream after moving the custom protocols handling to
the main thread. The problem is that webkitSoupRequestInputStreamPendingReadAsyncComplete invalidates
pendingAsyncRead after calling webkitSoupRequestInputStreamReadAsyncResultComplete, but in some cases
webkitSoupRequestInputStreamReadAsyncResultComplete completes the task in the same run loop iteration. In that
case webkitSoupRequestInputStreamReadAsync is called again creating a new AsyncReadData that is destroyed right
after webkitSoupRequestInputStreamReadAsyncResultComplete returns.
- WebProcess/soup/WebKitSoupRequestInputStream.cpp:
(AsyncReadData::AsyncReadData): Use an rvalue reference for the task.
(webkitSoupRequestInputStreamPendingReadAsyncComplete): Use WTFMove to ensure pendingAsyncRead is cleared before
webkitSoupRequestInputStreamReadAsyncResultComplete is called, and continue processing pending requests if there
are new ones after webkitSoupRequestInputStreamReadAsyncResultComplete.
(webkitSoupRequestInputStreamReadAsync): Use WTFMove to transfer the task to AsyncReadData.
(webkitSoupRequestInputStreamDidFailWithError): Use WTFMove to ensure pendingAsyncRead is cleared.
- 8:47 PM Changeset in webkit [211772] by
-
- 5 edits in trunk
Symbols exposed on cross-origin Window / Location objects should be configurable
https://bugs.webkit.org/show_bug.cgi?id=167920
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline web platform test now that more checks are passing.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
Source/WebCore:
Symbols exposed on cross-origin Window / Location objects should be configurable:
Firefox behaves as per specification.
No new tests, rebaselined existing test.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
- bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
- 8:27 PM Changeset in webkit [211771] by
-
- 11 edits1 copy1 add in trunk/Source
Web Inspector: Do not use RunLoop when dispatching inspector GC event
https://bugs.webkit.org/show_bug.cgi?id=167683
<rdar://problem/30167791>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-06
Reviewed by Brian Burg.
Source/JavaScriptCore:
Move the RunLoop deferred implementation to WebCore. It is not needed
for JSContext inspection, and in JSContext inspection we are not
guarenteed a RunLoop to defer to.
- inspector/agents/InspectorHeapAgent.h:
- inspector/agents/InspectorHeapAgent.cpp:
(Inspector::InspectorHeapAgent::InspectorHeapAgent):
(Inspector::InspectorHeapAgent::~InspectorHeapAgent):
(Inspector::InspectorHeapAgent::disable):
(Inspector::InspectorHeapAgent::didGarbageCollect):
(Inspector::SendGarbageCollectionEventsTask::SendGarbageCollectionEventsTask): Deleted.
(Inspector::SendGarbageCollectionEventsTask::addGarbageCollection): Deleted.
(Inspector::SendGarbageCollectionEventsTask::reset): Deleted.
(Inspector::SendGarbageCollectionEventsTask::timerFired): Deleted.
(Inspector::InspectorHeapAgent::dispatchGarbageCollectedEvent):
Make a virtual method so that WebCore implementations of this agent can choose
to dispatch this event asynchronously.
- inspector/agents/InspectorScriptProfilerAgent.cpp:
Remove unnecessary RunLoop include.
Source/WebCore:
Covered by existing tests.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- inspector/InspectorAllInOne.cpp:
Add new file.
- inspector/PageHeapAgent.cpp:
(WebCore::PageHeapAgent::PageHeapAgent):
(WebCore::PageHeapAgent::enable):
(WebCore::PageHeapAgent::disable):
- inspector/PageHeapAgent.h:
Extend WebHeapAgent.
- inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
Use WebHeapAgent.
- inspector/WebHeapAgent.cpp: Added.
(WebCore::SendGarbageCollectionEventsTask::SendGarbageCollectionEventsTask):
(WebCore::SendGarbageCollectionEventsTask::addGarbageCollection):
(WebCore::SendGarbageCollectionEventsTask::reset):
(WebCore::SendGarbageCollectionEventsTask::timerFired):
(WebCore::WebHeapAgent::WebHeapAgent):
(WebCore::WebHeapAgent::~WebHeapAgent):
(WebCore::WebHeapAgent::disable):
(WebCore::WebHeapAgent::dispatchGarbageCollectedEvent):
(WebCore::WebHeapAgent::dispatchGarbageCollectionEventsAfterDelay):
- inspector/WebHeapAgent.h:
Move the defered event dispatch from InspectorHeapAgent here where a RunLoop is guarenteed.
- 8:23 PM Changeset in webkit [211770] by
-
- 4 edits in trunk/Source/WebKit2
[iOS] -[WKWebView becomeFirstResponder] and -[WKWebView resignFirstResponder] don’t get called when non-programmatic first responder changes happen
https://bugs.webkit.org/show_bug.cgi?id=167898
Reviewed by Tim Horton.
Made WKContentView’s -becomeFirstResponder and -resignFirstResponder forward to the
WKWebView, giving subclasses an opportunity to override these methods. Changed the WKWebView
implementations to call back into WKContentView methods that actually do the work.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView becomeFirstResponder]): If the current content view is a WKContentView, call
-becomeFirstResponderForWebView. Added a check that the content view has a superview to
get the right behavior when this is called during the transition from not having to having
a custom content view.
(-[WKWebView canBecomeFirstResponder]): If the current content view is a WKContentView, call
-canBecomeFirstResponderForWebView.
(-[WKWebView resignFirstResponder]): If the current content view is a WKContentView, call
-resignFirstResponderForWebView.
(-[WKWebView _setHasCustomContentView:loadedMIMEType:]): If the new content view is a
WKContentView, use -canBecomeFirstResponderForWebView.
- UIProcess/ios/WKContentViewInteraction.h: Added _becomingFirstResponder ivar.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canBecomeFirstResponder]): Return _becomingFirstResponder. Normally this is
NO, so code that hit-tests then walks up the view hierarchy to select a first responder
will continue to the WKWebView. But we need to return YES around the call to super’s
-becomeFirstResponder in -becomeFirstResponderForWebView.
(-[WKContentView canBecomeFirstResponderForWebView]): Moved the old
-becomeFirstResponderForWebView implementation here.
(-[WKContentView becomeFirstResponder]): Forward to the WKWebView.
(-[WKContentView becomeFirstResponderForWebView]): Moved the old -becomeFirstResponder
implementation here, setting _becomingFirstResponder to YES around the call to super.
(-[WKContentView resignFirstResponder]): Forward to the WKWebView.
(-[WKContentView resignFirstResponderForWebView]): Moved the old -resignFirstResponder
implementation here.
- 8:19 PM Changeset in webkit [211769] by
-
- 4 edits in trunk/Tools
Static Analyzer: Address some leaks in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=167897
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-06
Reviewed by Alexey Proskuryakov.
- MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController sharingService:transitionImageForShareItem:contentRect:]):
- MiniBrowser/mac/ExtensionManagerWindowController.m:
(-[ExtensionManagerWindowController add:]):
(-[ExtensionManagerWindowController remove:]):
- MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController togglePerWindowWebProcessesDisabled:]):
Address obvious leaks caught by the static analyzer.
- 6:40 PM Changeset in webkit [211768] by
-
- 2 edits in trunk/Source/WebCore
ExtendedColor leaks seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=167912
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-06
Reviewed by Alexey Proskuryakov.
- platform/graphics/Color.cpp:
(WebCore::Color::operator=):
Before overwriting m_colorData, we must deref the extended color inside it.
- 6:19 PM Changeset in webkit [211767] by
-
- 2 edits in trunk/Source/WebKit2
Remove assertion in WebViewImpl::performKeyEquivalent()
Reviewed by Wenson Hsieh.
The assertion ASSERT(event == [NSApp currentEvent]) fires when using certain key combinations
in MiniBrowser's location field (e.g. Option-Shift-Arrow to select). The assertion is not correct,
so remove it.
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::performKeyEquivalent):
- 6:19 PM Changeset in webkit [211766] by
-
- 2 edits in trunk/Source/WebCore
Re-land r210095 (avoid a tile revalidation on scale change)
https://bugs.webkit.org/show_bug.cgi?id=167866
Reviewed by Tim Horton.
r210095 was rolled out in r211230 but now that all TileControllers unparent
offscreen tiles, we can roll it back it.
Also add more Tiling logging.
- platform/graphics/ca/TileGrid.cpp:
(WebCore::validationPolicyAsString):
(WebCore::TileGrid::setScale):
(WebCore::TileGrid::prepopulateRect):
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):
- 6:14 PM Changeset in webkit [211765] by
-
- 9 edits in trunk
Migrate ComplexTextController to use platform-independent types
https://bugs.webkit.org/show_bug.cgi?id=167833
Reviewed by Brent Fulgham.
Source/WebCore:
ComplexTextController will eventually be used on all ports to perform complex text layout.
This is a mechanical patch which migrates the shared parts of ComplexTextController away from
using CoreGraphics and CoreFoundation types in favor of WebCore/platform types. Eventually,
ComplexTextController will get moved to PAL but there is a layering violation (TextLayout) to
fix first.
No new tests because there is no behavior change.
- platform/graphics/GlyphBuffer.h:
(WebCore::GlyphBufferAdvance::GlyphBufferAdvance):
- platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::offsetForPosition):
(WebCore::advanceByCombiningCharacterSequence):
(WebCore::ComplexTextController::ComplexTextRun::indexAt):
(WebCore::ComplexTextController::ComplexTextRun::setIsNonMonotonic):
(WebCore::ComplexTextController::advance):
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
- platform/graphics/mac/ComplexTextController.h:
(WebCore::ComplexTextController::ComplexTextRun::create):
(WebCore::ComplexTextController::ComplexTextRun::stringLength):
(WebCore::ComplexTextController::ComplexTextRun::indexBegin):
(WebCore::ComplexTextController::ComplexTextRun::indexEnd):
(WebCore::ComplexTextController::ComplexTextRun::endOffsetAt):
(WebCore::ComplexTextController::ComplexTextRun::glyphs):
(WebCore::ComplexTextController::ComplexTextRun::growInitialAdvanceHorizontally):
(WebCore::ComplexTextController::ComplexTextRun::initialAdvance):
(WebCore::ComplexTextController::ComplexTextRun::baseAdvances):
(WebCore::ComplexTextController::ComplexTextRun::glyphOrigins):
(WebCore::ComplexTextController::glyphOrigin):
(WebCore::ComplexTextController::ComplexTextRun::createForTesting): Deleted.
- platform/graphics/mac/ComplexTextControllerCoreText.mm:
(SOFT_LINK):
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
Tools:
Migrate tests away from platform-dependent types.
- TestWebKitAPI/Tests/WebCore/ComplexTextController.cpp:
(TestWebKitAPI::TEST_F):
LayoutTests:
Rebaseline tiny rounding result.
- platform/mac/fast/text/complex-text-opacity-expected.txt:
- 6:08 PM Changeset in webkit [211764] by
-
- 2 edits in trunk/Source/WebKit2
[iOS WK2] Keep the tiled scrolling indicator on-screen when pinching
https://bugs.webkit.org/show_bug.cgi?id=167915
Reviewed by Tim Horton.
Clamp the location to the larger of the location of .unobscuredContentRect() and 0,0.
- UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
- 5:48 PM Changeset in webkit [211763] by
-
- 6 edits in trunk
Correct File Path Handling in SecurityOrigin and FileSystem
https://bugs.webkit.org/show_bug.cgi?id=167894
<rdar://problem/30380080>
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Roll out the URL decoding being done in the FileSystem class (added in Bug 167894), and instead ensure that
SecurityOrigin properly handles file URLs, and only passes valid file strings to the FileSystem interface.
Tested by FileSystemTests and SecurityOriginTests in TestWebKitAPI.
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::SecurityOrigin): Initialize m_filePath using the url's fileSystemPath, not
the %-encoded 'path' property.
(WebCore::SecurityOrigin::canDisplay): Pass the 'fileSystemPath' to 'filesHaveSameVolume', rather than
the %-encoded 'path' property.
- page/SecurityOrigin.h:
- platform/FileSystem.cpp:
(WebCore::filesHaveSameVolume): Do not use 'decodeURLEscapeSequences' in 'filesHaveSameVolume'.
Tools:
- TestWebKitAPI/Tests/WebCore/FileSystem.cpp: Don't encode the temporary files,
and perform same-volume checks using filesystem-compatible paths.
- TestWebKitAPI/Tests/WebCore/SecurityOrigin.cpp: Create SecurityOrigins from
filesystem paths, and perform validation of same-volume checks.
(TestWebKitAPI::SecurityOriginTest::tempFilePath): Added.
(TestWebKitAPI::SecurityOriginTest::spaceContainingFilePath): Added.
(TestWebKitAPI::SecurityOriginTest::bangContainingFilePath): Added.
(TestWebKitAPI::SecurityOriginTest::quoteContainingFilePath): Added.
- 5:39 PM Changeset in webkit [211762] by
-
- 4 edits1 copy in trunk/Source/WebCore
[Cocoa] Split FileSystemMac.mm into Mac and Cocoa parts
https://bugs.webkit.org/show_bug.cgi?id=167908
Reviewed by Sam Weinig.
Kept the Mac-only functions in FileSystemMac.mm and moved the rest into FileSystemCocoa.mm.
- PlatformMac.cmake:
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/FileSystemCocoa.mm: Copied from Source/WebCore/platform/mac/FileSystemMac.mm.
- platform/mac/FileSystemMac.mm:
(-[WebFileManagerDelegate fileManager:shouldProceedAfterError:movingItemAtURL:toURL:]): Moved to FileSystemCocoa.mm.
(WebCore::homeDirectoryPath): Ditto.
(WebCore::openTemporaryFile): Ditto.
(WebCore::moveFile): Ditto.
(WebCore::getVolumeFreeSpace): Ditto.
- 5:33 PM Changeset in webkit [211761] by
-
- 5 edits in trunk/Source/WebCore
[MediaStream Mac] Remove some unused code
https://bugs.webkit.org/show_bug.cgi?id=167913
Reviewed by Jer Noble.
No new tests, no functional change.
- platform/mediastream/CaptureDeviceManager.h:
(WebCore::CaptureSessionInfo::~CaptureSessionInfo): Deleted.
(WebCore::CaptureSessionInfo::supportsVideoSize): Deleted.
(WebCore::CaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::refreshCaptureDeviceList):
(WebCore::AVCaptureSessionInfo::AVCaptureSessionInfo): Deleted.
(WebCore::AVCaptureSessionInfo::supportsVideoSize): Deleted.
(WebCore::AVCaptureSessionInfo::bestSessionPresetForVideoDimensions): Deleted.
- platform/mediastream/mac/AVMediaCaptureSource.mm:
(WebCore::AVMediaCaptureSource::AVMediaCaptureSource):
- 5:20 PM Changeset in webkit [211760] by
-
- 2 edits in trunk/Source/WebKit2
Tiled scrolling indicator gets doubled up on navigation
https://bugs.webkit.org/show_bug.cgi?id=167909
Reviewed by Tim Horton.
TiledCoreAnimationDrawingArea::updateDebugInfoLayer() would parent a new m_debugInfoLayer
in m_hostingLayer without removing the old one, causing the old tiled scrolling indicator layer
hierarchy to get left in the layer tree.
Also a couple of nullptr/0 -> nil.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
- 4:29 PM Changeset in webkit [211759] by
-
- 1 copy in tags/Safari-603.1.25
Tag Safari-603.1.25.
- 4:25 PM Changeset in webkit [211758] by
-
- 10 edits2 adds in trunk
Allow some schemes to opt-out of CORS
https://bugs.webkit.org/show_bug.cgi?id=167795
Patch by Youenn Fablet <youennf@gmail.com> on 2017-02-06
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/tests/security/bypassing-cors-checks-for-extension-urls.html
Adding the possibility to opt out of CORS for DocumentThreadableLoader clients (fetch and XHR).
This is made specific to the case of user extension URLs for pages running user scripts.
Introducing a boolean flag in Page for that purpose.
Introducing a helper routine in SchemeRegistry to centralize the various user script extension schemes.
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
- page/Frame.cpp:
(WebCore::Frame::injectUserScripts):
- page/Page.h:
(WebCore::Page::setAsRunningUserScripts):
(WebCore::Page::isRunningUserScripts):
- platform/SchemeRegistry.cpp:
(WebCore::SchemeRegistry::isUserExtensionScheme):
- platform/SchemeRegistry.h:
- testing/Internals.cpp:
(WebCore::Internals::setAsRunningUserScripts):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- http/tests/security/bypassing-cors-checks-for-extension-urls-expected.txt: Added.
- http/tests/security/bypassing-cors-checks-for-extension-urls.html: Added.
- 3:56 PM Changeset in webkit [211757] by
-
- 2 edits in trunk/Source/WebKit2
More build fixes after r211751
https://bugs.webkit.org/show_bug.cgi?id=166998
- NetworkProcess/soup/NetworkDataTaskSoup.cpp:
(WebKit::NetworkDataTaskSoup::NetworkDataTaskSoup):
(WebKit::NetworkDataTaskSoup::authenticate):
(WebKit::NetworkDataTaskSoup::continueAuthenticate):
(WebKit::NetworkDataTaskSoup::continueHTTPRedirection):
Use the correct partition for credentials.
- 3:50 PM Changeset in webkit [211756] by
-
- 11 edits in trunk
Align OwnPropertyKeys with the HTML specification for cross-origin Window / Location objects
https://bugs.webkit.org/show_bug.cgi?id=167647
<rdar://problem/30339489>
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline web platform test now that more checks are passing.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
Source/WebCore:
Align OwnPropertyKeys with the HTML specification for cross-origin Window / Location objects:
- https://html.spec.whatwg.org/#windowproxy-ownpropertykeys [1]
- https://html.spec.whatwg.org/#crossoriginownpropertykeys-(-o-) [2]
- https://html.spec.whatwg.org/#crossoriginproperties-(-o-) [3]
In particular, the following changes were made:
- Location:
- We now return the following symbols as well: @@toStringTag, @@hasInstance, @@isConcatSpreadable as per [2].
- Window:
No new tests, updated / rebaselined existing tests.
- bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
Index properties should be configurable as per:
(WebCore::inScope):
(WebCore::addScopedChildrenNames):
(WebCore::addCrossOriginPropertyNames):
(WebCore::addScopedChildrenIndexes):
(WebCore::addCrossOriginOwnPropertyNames):
(WebCore::JSDOMWindow::getOwnPropertyNames):
- bindings/js/JSLocationCustom.cpp:
(WebCore::addCrossOriginPropertyNames):
(WebCore::addCrossOriginOwnPropertyNames):
(WebCore::JSLocation::getOwnPropertyNames):
LayoutTests:
Extend test coverage for OwnPropertyKeys for cross-origin Window / Location objects.
- http/tests/security/cross-frame-access-enumeration-expected.txt:
- http/tests/security/cross-frame-access-enumeration.html:
- http/tests/security/resources/cross-frame-iframe-for-enumeration-test.html:
- js/dom/getOwnPropertyDescriptor-expected.txt:
- js/resources/getOwnPropertyDescriptor.js:
- 3:47 PM Changeset in webkit [211755] by
-
- 10 edits in trunk
http/tests/preload/dynamic_removing_preload.html fails to test what it should
https://bugs.webkit.org/show_bug.cgi?id=167792
Reviewed by Ryosuke Niwa.
Source/WebCore:
Cancel the link preload resource load when the link element is removed from the DOM.
No new tests, but unskipping an existing test: http/tests/preload/dynamic_removing_preload.html
- html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::removedFrom): Call m_linkLoader.cancelLoad().
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::cancelLoad): Clear m_preloadResourceClient.
- loader/LinkLoader.h:
- loader/LinkPreloadResourceClients.h:
(WebCore::LinkPreloadResourceClient::clearResource): Call m_resource->cancelLoad().
- loader/SubresourceLoader.cpp:
(WebCore::LinkPreloadResourceClient::didFinishLoading): Change ASSERT to exempt cancelled loads.
LayoutTests:
- TestExpectations: Unskip dynamic_removing_preload.html
- http/tests/preload/dynamic_removing_preload-expected.txt:
- http/tests/preload/dynamic_removing_preload.html: Switch test to use ResourceTiming.
- 3:47 PM Changeset in webkit [211754] by
-
- 5 edits in trunk/Source
More build fixes after r211751
https://bugs.webkit.org/show_bug.cgi?id=166998
Source/WebCore:
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::applyAuthenticationToRequest):
- platform/network/soup/SocketStreamHandleImplSoup.cpp:
(WebCore::SocketStreamHandleImpl::create):
Source/WebKit/win:
- WebDownloadCFNet.cpp:
(WebDownload::didReceiveAuthenticationChallenge):
- 3:27 PM Changeset in webkit [211753] by
-
- 5 edits in trunk/Source/WebCore
Fix non-cocoa builds after r211751.
https://bugs.webkit.org/show_bug.cgi?id=166998
- platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):
(WebCore::ResourceHandle::receivedCredential):
- platform/network/curl/ResourceHandleCurl.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
- platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::applyAuthenticationToRequest):
- platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::applyAuthenticationToRequest):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
- 3:02 PM Changeset in webkit [211752] by
-
- 2 edits in trunk/Source/WebKit2
Update sandbox to allow CoreMedia to perform custom media loading.
https://bugs.webkit.org/show_bug.cgi?id=167700
Reviewed by Alexey Proskuryakov.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 2:45 PM Changeset in webkit [211751] by
-
- 25 edits14 adds in trunk
credentials should be partitioned by main document domain
https://bugs.webkit.org/show_bug.cgi?id=166998
Source/WebCore:
rdar://problem/22901123
Reviewed by Brady Eidson.
Covered by http/tests/security/credentials-iframes.html
Also added http/tests/security/credentials-from-different-domains.html to verify existing behavior without iframes.
- Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
- dom/Document.h:
- page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::domainForCachePartition):
Return emptyString instead of a null String because it is used as a key in a HashMap, and hashing null strings dereferences null.
- page/SocketProvider.cpp:
(WebCore::SocketProvider::createSocketStreamHandle):
- page/SocketProvider.h:
- platform/network/CredentialStorage.cpp:
(WebCore::CredentialStorage::set):
(WebCore::CredentialStorage::get):
(WebCore::CredentialStorage::remove):
- platform/network/CredentialStorage.h:
Partition credentials.
- platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
- platform/network/cf/SocketStreamHandleImpl.h:
(WebCore::SocketStreamHandleImpl::create):
- platform/network/cf/SocketStreamHandleImplCFNet.cpp:
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::SocketStreamHandleImpl::getStoredCONNECTProxyCredentials):
- platform/network/curl/SocketStreamHandleImpl.h:
(WebCore::SocketStreamHandleImpl::create):
- platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::ResourceHandle::tryHandlePasswordBasedAuthentication):
(WebCore::ResourceHandle::receivedCredential):
- platform/network/soup/SocketStreamHandleImpl.h:
Source/WebKit/mac:
rdar://problem/22901123
Reviewed by Brady Eidson.
- Misc/WebDownload.mm:
- Plugins/WebBaseNetscapePluginView.mm:
(WebKit::getAuthenticationInfo):
Don't use partitioned credentials for WebKit1 plugins or downloads.
Downloads should be authenticated before becoming a download anyways.
Source/WebKit2:
rdar://problem/22901123
Reviewed by Brady Eidson.
- NetworkProcess/NetworkDataTask.cpp:
(WebKit::NetworkDataTask::NetworkDataTask):
- NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::partition):
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCocoa::tryPasswordBasedAuthentication):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
- WebProcess/Network/WebSocketProvider.cpp:
(WebKit::WebSocketProvider::createSocketStreamHandle):
- WebProcess/Network/WebSocketProvider.h:
- WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::getAuthenticationInfo):
LayoutTests:
<rdar://problem/22901123>
Reviewed by Brady Eidson.
- http/tests/security/credentials-from-different-domains-expected.txt: Added.
- http/tests/security/credentials-from-different-domains.html: Added.
- http/tests/security/credentials-iframes-expected.txt: Added.
- http/tests/security/credentials-iframes.html: Added.
- http/tests/security/resources/cors-basic-auth.php: Added.
- http/tests/security/resources/credentials-from-different-domains-continued-1.html: Added.
- http/tests/security/resources/credentials-from-different-domains-continued-2.html: Added.
- http/tests/security/resources/credentials-iframes-continued.html: Added.
- http/tests/security/resources/credentials-iframes-different-domain.html: Added.
- http/tests/security/resources/credentials-iframes-same-domain.html: Added.
- platform/mac-wk1/http: Added.
- platform/mac-wk1/http/security: Added.
- platform/mac-wk1/http/security/credentials-iframes-expected.txt: Added.
DumpRenderTree prints out the entire URL of the authentication challenge.
WebKitTestRunner only prints out the host and port.
Both results show the fact that no credentials were sent on the second request.
- 2:33 PM Changeset in webkit [211750] by
-
- 8 edits in trunk
Safari pages are blank sometimes (missing tiles)
https://bugs.webkit.org/show_bug.cgi?id=167904
Reviewed by Tim Horton.
Source/WebCore:
After r211683 we failed to udpate the "inWindow" flag on the page tiled layer, because
usingTiledBacking() on GraphicsLayer confusingly was false for the page tiled layer.
Fix by removing usingTiledBacking() entirely, and checking for tiledBacking(),
looking at the layer type when necessary.
Tested by tiled-drawing/tiled-backing-in-window.html
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::GraphicsLayer):
(WebCore::GraphicsLayer::setIsInWindowIncludingDescendants): This is the bug fix.
(WebCore::GraphicsLayer::getDebugBorderInfo):
(WebCore::GraphicsLayer::dumpProperties):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::usingTiledBacking): Deleted.
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::changeLayerTypeTo):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::willDestroyLayer):
(WebCore::RenderLayerBacking::compositingLayerType):
- rendering/RenderLayerCompositor.cpp: A bit more logging.
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::attachRootLayer):
LayoutTests:
New result; this test detected the bug.
- tiled-drawing/tiled-backing-in-window-expected.txt:
- 2:20 PM Changeset in webkit [211749] by
-
- 1 edit1 delete in trunk/Source/ThirdParty/libwebrtc
[WebRTC] Remove unneeded build directory accidentally checked in with libwebrtc source.
Reviewed by Youenn Fablet.
- third_party/usrsctp/build: Removed.
- 1:58 PM Changeset in webkit [211748] by
-
- 2 edits in trunk/Source/WebCore
Change the CSS animation timer a to be little more than 60fps to ensure we hit that frame rate
https://bugs.webkit.org/show_bug.cgi?id=167825
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-02-06
Reviewed by Simon Fraser.
The system timer fires little bit slower than 60fps. This might cause the
frame to be missed and hence it can lower the frame rate significantly. The
rAF timer was set to 15ms for the same reason. So set the repeated CSS
animation timer also to 15ms.
- page/animation/CSSAnimationController.cpp:
- 1:49 PM Changeset in webkit [211747] by
-
- 12 edits1 add in trunk/Source/WebKit2
Crash child processes if they receive an invalid message
https://bugs.webkit.org/show_bug.cgi?id=167900
Reviewed by Dan Bernstein.
Previously, some processes would try to gracefully exit, others would just drop messages leading to weird bugs.
Instead, set app-specific crash information to the message that failed to be decoded, and then crash.
- DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::didReceiveInvalidMessage): Deleted.
- DatabaseProcess/DatabaseProcess.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveInvalidMessage): Deleted.
- NetworkProcess/NetworkProcess.h:
- PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveInvalidMessage): Deleted.
- PluginProcess/PluginProcess.h:
- Shared/ChildProcess.h:
- Shared/Cocoa/ChildProcessCocoa.mm: Added.
(WebKit::ChildProcess::didReceiveInvalidMessage):
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveInvalidMessage): Deleted.
- WebProcess/WebProcess.h:
- 1:49 PM Changeset in webkit [211746] by
-
- 14 edits10 adds in trunk
Playback stalls when a SourceBuffer append causes frame eviction
https://bugs.webkit.org/show_bug.cgi?id=167834
Reviewed by Eric Carlson.
PerformanceTests:
Add an in-page performance test measuring the amount of time required
to append a large amount of media data to a SourceBuffer, and then to
completely remove that data 30s at a time.
Add a microbenchmark for MediaTime which measures the amount of time
required to create a 1M entry std::map and traverse the map 1M times.
- Media/MSERemoveCodedFrames.html: Added.
- Media/media-source-loader.js:
(MediaSourceLoader.prototype.get duration):
- MediaTime/Configurations/Base.xcconfig: Added.
- MediaTime/Configurations/DebugRelease.xcconfig: Added.
- MediaTime/Makefile: Added.
- MediaTime/MediaTime.xcodeproj/project.pbxproj: Added.
- MediaTime/main.cpp: Added.
(performTest):
(test):
(main):
- Skipped:
Source/WebCore:
Test: PerformanceTests/Media/MSERemoveCodedFrames.html
Optimize searching through SampleMap by presentationTime.
Many of the methods exposed by PresentationOrderSampleMap used the bare std::equal_range,
lower_bound, or upper_bound methods. Unlike those methods exposed on std::map, the bare
search methods perform a linear O(n) search, rather than a the binary O(log(n)) search used
by std::map. Rewrite those methods using the bare methods in terms of the std::map search
methods.
Drive-by fix: rename findSampleOnOrAfterPresentationTime to
findSampleStartingOnOrAfterPresentationTime to make the behavior of the method more
explicit.
- Modules/mediasource/SampleMap.cpp:
(WebCore::PresentationOrderSampleMap::findSampleContainingPresentationTime):
(WebCore::PresentationOrderSampleMap::findSampleStartingOnOrAfterPresentationTime):
(WebCore::PresentationOrderSampleMap::reverseFindSampleBeforePresentationTime):
(WebCore::DecodeOrderSampleMap::findSyncSampleAfterPresentationTime):
(WebCore::PresentationOrderSampleMap::findSamplesBetweenPresentationTimes):
(WebCore::PresentationOrderSampleMap::findSamplesWithinPresentationRange):
(WebCore::PresentationOrderSampleMap::findSampleOnOrAfterPresentationTime): Deleted.
- Modules/mediasource/SampleMap.h:
(WebCore::PresentationOrderSampleMap::begin):
(WebCore::PresentationOrderSampleMap::end):
(WebCore::PresentationOrderSampleMap::rbegin):
(WebCore::PresentationOrderSampleMap::rend):
(WebCore::DecodeOrderSampleMap::begin):
(WebCore::DecodeOrderSampleMap::end):
(WebCore::DecodeOrderSampleMap::rbegin):
(WebCore::DecodeOrderSampleMap::rend):
(WebCore::SampleMap::SampleMap):
(WebCore::SampleMap::sizeInBytes):
(WebCore::SampleMap::decodeOrder):
(WebCore::SampleMap::presentationOrder):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::removeSamplesFromTrackBuffer):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::reenqueueMediaForTime):
- WebCore.xcodeproj/project.pbxproj:
Source/WTF:
Optimize the MediaTime class; specifically the compare() method. The class only
needs 6 bits to store the TimeFlags, so make that a uint8_t rather than uint32_t.
The implementation is slightly simpler if the TimeScale is unsigned, so make that
a uint32_t rather than int32_t. Inline the comparison operators. Optimize the equality
comparison by bitwise-and'ing the flags together and masking the result. Optimize for
common comparison scenarios (equal timeScales, equal timeValues(), etc.). Attempt the
mathematically simpler simpler method for comparing ratios, and only fall back to the
complex method if the results of multiplying the timeScale by the timeValue overflows.
- wtf/MediaTime.cpp:
(WTF::greatestCommonDivisor):
(WTF::leastCommonMultiple):
(WTF::signum):
(WTF::MediaTime::MediaTime):
(WTF::MediaTime::createWithFloat):
(WTF::MediaTime::createWithDouble):
(WTF::MediaTime::operator+):
(WTF::MediaTime::operator-):
(WTF::MediaTime::operator!):
(WTF::MediaTime::operator bool):
(WTF::MediaTime::compare):
(WTF::MediaTime::setTimeScale):
(WTF::abs):
(WTF::MediaTime::operator<): Deleted.
(WTF::MediaTime::operator>): Deleted.
(WTF::MediaTime::operator!=): Deleted.
(WTF::MediaTime::operator==): Deleted.
(WTF::MediaTime::operator>=): Deleted.
(WTF::MediaTime::operator<=): Deleted.
- wtf/MediaTime.h:
Tools:
Add new correctness tests for the Webcore::SampleMap class. Add additional subtests
for the WTF::MediaTime class.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/MediaTime.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebCore/SampleMap.cpp: Added.
(WTF::operator<<):
(TestWebKitAPI::TestSample::create):
(TestWebKitAPI::TestSample::TestSample):
(TestWebKitAPI::TEST_F):
- 12:49 PM Changeset in webkit [211745] by
-
- 2 edits in trunk/LayoutTests
Skip media/audio-dealloc-crash.html on ios-simulator.
Unreviewed test gardening.
- platform/ios-simulator/TestExpectations:
- 12:18 PM Changeset in webkit [211744] by
-
- 8 edits3 deletes in trunk/Source/WebKit2
[WK2] Drop legacy WKBundlePageDiagnosticLoggingClient API
https://bugs.webkit.org/show_bug.cgi?id=167883
<rdar://problem/30376695>
Reviewed by Sam Weinig.
Drop legacy WKBundlePageDiagnosticLoggingClient API as I am not aware of any remaining client.
All clients have now switched to the equivalent UIProcess-side API.
- WebKit2.xcodeproj/project.pbxproj:
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetDiagnosticLoggingClient): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePage.h:
- WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h: Removed.
- WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp: Removed.
- WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h: Removed.
- WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp:
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult):
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::close):
(WebKit::WebPage::initializeInjectedBundleDiagnosticLoggingClient): Deleted.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::injectedBundleUIClient):
(WebKit::WebPage::injectedBundleDiagnosticLoggingClient): Deleted.
- 12:06 PM Changeset in webkit [211743] by
-
- 3 edits in trunk/PerformanceTests
Make ARES-6 work from the CLI again
https://bugs.webkit.org/show_bug.cgi?id=167895
Reviewed by Michael Saboff.
- ARES-6/driver.js:
(Driver.prototype.readyTrigger):
(Driver.prototype.disableTrigger):
- ARES-6/stats.js:
(Stats.prototype.toString.span.span):
(Stats.prototype.toString.return.span):
(Stats.prototype.toString):
- 11:46 AM Changeset in webkit [211742] by
-
- 2 edits in trunk/Tools
Change capitalization in platform name after r211735.
Unreviewed dashboard fix.
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 11:21 AM Changeset in webkit [211741] by
-
- 30 edits3 moves in trunk/Source
Rename AnimationController to CSSAnimationController
https://bugs.webkit.org/show_bug.cgi?id=167829
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-02-06
Reviewed by Simon Fraser.
Source/WebCore:
AnimationController is a very generic name. The current function of this
class is CSS animation.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::computeRenderStyleForProperty):
- dom/Document.cpp:
- history/CachedFrame.cpp:
- page/Frame.cpp:
(WebCore::Frame::Frame):
- page/Frame.h:
(WebCore::Frame::animation):
- page/FrameView.cpp:
- page/Page.cpp:
- page/animation/AnimationBase.cpp:
- page/animation/CSSAnimationController.cpp: Renamed from Source/WebCore/page/animation/AnimationController.cpp.
(WebCore::AnimationPrivateUpdateBlock::AnimationPrivateUpdateBlock):
(WebCore::AnimationPrivateUpdateBlock::~AnimationPrivateUpdateBlock):
(WebCore::CSSAnimationControllerPrivate::CSSAnimationControllerPrivate):
(WebCore::CSSAnimationControllerPrivate::~CSSAnimationControllerPrivate):
(WebCore::CSSAnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::CSSAnimationControllerPrivate::clear):
(WebCore::CSSAnimationControllerPrivate::updateAnimations):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::CSSAnimationControllerPrivate::updateAnimationTimer):
(WebCore::CSSAnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
(WebCore::CSSAnimationControllerPrivate::fireEventsAndUpdateStyle):
(WebCore::CSSAnimationControllerPrivate::startUpdateStyleIfNeededDispatcher):
(WebCore::CSSAnimationControllerPrivate::addEventToDispatch):
(WebCore::CSSAnimationControllerPrivate::addElementChangeToDispatch):
(WebCore::CSSAnimationControllerPrivate::animationFrameCallbackFired):
(WebCore::CSSAnimationControllerPrivate::animationTimerFired):
(WebCore::CSSAnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::CSSAnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::CSSAnimationControllerPrivate::suspendAnimations):
(WebCore::CSSAnimationControllerPrivate::resumeAnimations):
(WebCore::CSSAnimationControllerPrivate::animationsAreSuspendedForDocument):
(WebCore::CSSAnimationControllerPrivate::detachFromDocument):
(WebCore::CSSAnimationControllerPrivate::suspendAnimationsForDocument):
(WebCore::CSSAnimationControllerPrivate::resumeAnimationsForDocument):
(WebCore::CSSAnimationControllerPrivate::startAnimationsIfNotSuspended):
(WebCore::CSSAnimationControllerPrivate::setAllowsNewAnimationsWhileSuspended):
(WebCore::CSSAnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::CSSAnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::CSSAnimationControllerPrivate::beginAnimationUpdateTime):
(WebCore::CSSAnimationControllerPrivate::beginAnimationUpdate):
(WebCore::CSSAnimationControllerPrivate::endAnimationUpdate):
(WebCore::CSSAnimationControllerPrivate::receivedStartTimeResponse):
(WebCore::CSSAnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::CSSAnimationControllerPrivate::computeExtentOfAnimation):
(WebCore::CSSAnimationControllerPrivate::numberOfActiveAnimations):
(WebCore::CSSAnimationControllerPrivate::addToAnimationsWaitingForStyle):
(WebCore::CSSAnimationControllerPrivate::removeFromAnimationsWaitingForStyle):
(WebCore::CSSAnimationControllerPrivate::styleAvailable):
(WebCore::CSSAnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
(WebCore::CSSAnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
(WebCore::CSSAnimationControllerPrivate::startTimeResponse):
(WebCore::CSSAnimationControllerPrivate::animationWillBeRemoved):
(WebCore::CSSAnimationControllerPrivate::addToAnimationsDependentOnScroll):
(WebCore::CSSAnimationControllerPrivate::removeFromAnimationsDependentOnScroll):
(WebCore::CSSAnimationControllerPrivate::scrollWasUpdated):
(WebCore::CSSAnimationController::CSSAnimationController):
(WebCore::CSSAnimationController::~CSSAnimationController):
(WebCore::CSSAnimationController::cancelAnimations):
(WebCore::CSSAnimationController::updateAnimations):
(WebCore::CSSAnimationController::getAnimatedStyleForRenderer):
(WebCore::CSSAnimationController::computeExtentOfAnimation):
(WebCore::CSSAnimationController::notifyAnimationStarted):
(WebCore::CSSAnimationController::pauseAnimationAtTime):
(WebCore::CSSAnimationController::numberOfActiveAnimations):
(WebCore::CSSAnimationController::pauseTransitionAtTime):
(WebCore::CSSAnimationController::isRunningAnimationOnRenderer):
(WebCore::CSSAnimationController::isRunningAcceleratedAnimationOnRenderer):
(WebCore::CSSAnimationController::isSuspended):
(WebCore::CSSAnimationController::suspendAnimations):
(WebCore::CSSAnimationController::resumeAnimations):
(WebCore::CSSAnimationController::allowsNewAnimationsWhileSuspended):
(WebCore::CSSAnimationController::setAllowsNewAnimationsWhileSuspended):
(WebCore::CSSAnimationController::serviceAnimations):
(WebCore::CSSAnimationController::animationsAreSuspendedForDocument):
(WebCore::CSSAnimationController::detachFromDocument):
(WebCore::CSSAnimationController::suspendAnimationsForDocument):
(WebCore::CSSAnimationController::resumeAnimationsForDocument):
(WebCore::CSSAnimationController::startAnimationsIfNotSuspended):
(WebCore::CSSAnimationController::beginAnimationUpdate):
(WebCore::CSSAnimationController::endAnimationUpdate):
(WebCore::CSSAnimationController::supportsAcceleratedAnimationOfProperty):
(WebCore::CSSAnimationController::wantsScrollUpdates):
(WebCore::CSSAnimationController::scrollWasUpdated):
(WebCore::CSSAnimationController::hasAnimations):
- page/animation/CSSAnimationController.h: Renamed from Source/WebCore/page/animation/AnimationController.h.
(WebCore::AnimationUpdateBlock::AnimationUpdateBlock):
(WebCore::AnimationUpdateBlock::~AnimationUpdateBlock):
- page/animation/CSSAnimationControllerPrivate.h: Renamed from Source/WebCore/page/animation/AnimationControllerPrivate.h.
(WebCore::CSSAnimationControllerPrivate::hasAnimations):
(WebCore::CSSAnimationControllerPrivate::isSuspended):
(WebCore::CSSAnimationControllerPrivate::setBeginAnimationUpdateTime):
(WebCore::CSSAnimationControllerPrivate::allowsNewAnimationsWhileSuspended):
(WebCore::CSSAnimationControllerPrivate::wantsScrollUpdates):
(WebCore::CSSAnimationControllerPrivate::scrollPosition):
- page/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::singleton):
- page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::CompositeAnimation):
- page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::create):
(WebCore::CompositeAnimation::animationController):
- page/animation/ImplicitAnimation.cpp:
- page/animation/KeyframeAnimation.cpp:
- page/ios/FrameIOS.mm:
- platform/graphics/GraphicsLayer.h:
- rendering/RenderElement.h:
- rendering/RenderLayer.cpp:
- rendering/RenderLayerBacking.cpp:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
- rendering/RenderObject.cpp:
- rendering/RenderObject.h:
(WebCore::RenderObject::animation):
- testing/Internals.cpp:
Source/WebKit/mac:
- WebView/WebFrame.mm:
- WebView/WebView.mm:
Source/WebKit/win:
- WebFrame.cpp:
- 11:16 AM Changeset in webkit [211740] by
-
- 2 edits in trunk/Source/JavaScriptCore
Static Analyzer: JSContext.mm: Incorrect decrement of the reference count of an object
https://bugs.webkit.org/show_bug.cgi?id=167848
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-02-06
Reviewed by Saam Barati.
Source/JavaScriptCore/API/JSContext.mm:87:5: warning: Incorrect decrement of the reference count of an object that is not owned at this point by the caller
[self.exceptionHandler release];
1 warning generated.
- API/JSContext.mm:
(-[JSContext dealloc]):
Use the ivar in dealloc instead of going through the getter.
- 11:13 AM Changeset in webkit [211739] by
-
- 3 edits2 adds in trunk/Websites/webkit.org
Add a survey to learn how people use WebKit Nightly builds
https://bugs.webkit.org/show_bug.cgi?id=167748
Reviewed by Joseph Pecoraro.
- wp-content/themes/webkit/functions.php:
- wp-content/themes/webkit/nightly-start.php:
- wp-content/themes/webkit/nightly-survey.php: Added.
- wp-content/themes/webkit/survey.json: Added.
- 11:06 AM Changeset in webkit [211738] by
-
- 11 edits in trunk/Source/WebCore
Simple line layout: Use simplified text measuring when possible.
https://bugs.webkit.org/show_bug.cgi?id=167843
<rdar://problem/30364907>
Reviewed by Antti Koivisto.
This patch adds a simplified version of text width measuring.
Certain type of text runs (no spacing etc) only require a subset of what we
currently do in FontCascade::width().
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::widthForSimpleText):
- platform/graphics/FontCascade.h:
- platform/graphics/WidthCache.h:
(WebCore::WidthCache::add):
(WebCore::WidthCache::addSlowCase):
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal):
- rendering/RenderText.cpp:
(WebCore::RenderText::styleDidChange):
(WebCore::RenderText::setRenderedText):
(WebCore::RenderText::computeCanUseSimplifiedTextMeasuring):
- rendering/RenderText.h:
(WebCore::RenderText::canUseSimplifiedTextMeasuring):
- rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::initializeSegments):
- rendering/SimpleLineLayoutFlowContents.h:
- rendering/SimpleLineLayoutTextFragmentIterator.cpp:
(WebCore::SimpleLineLayout::TextFragmentIterator::Style::Style):
(WebCore::SimpleLineLayout::TextFragmentIterator::TextFragmentIterator):
(WebCore::SimpleLineLayout::TextFragmentIterator::textWidth):
- rendering/SimpleLineLayoutTextFragmentIterator.h:
- 10:59 AM Changeset in webkit [211737] by
-
- 4 edits in branches/safari-603-branch/Source
Merge r211666. rdar://problem/30167791
- 10:55 AM Changeset in webkit [211736] by
-
- 2 edits in trunk/Source/WebKit2
Null check the WebKit::RemoteObjectProxy object before calling it
https://bugs.webkit.org/show_bug.cgi?id=167891
rdar://problem/30229358
Reviewed by Tim Horton.
If a _WKRemoteObjectRegistry invocation reply block outlives its underlying WebKit::RemoteObjectProxy object,
we'll crash trying to send an unused reply to it. Work around this crash by adding a null check before calling
sendUnusedReply.
While this fixes the crash it will lead to leaks in the process that holds on to the reply block. A more long term fix
would be to manage the reply block checkers and call sendUnusedReply when invalidating the _WKRemoteObjectRegistry.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]):
- 10:38 AM Changeset in webkit [211735] by
-
- 5 edits in trunk/Tools
Move the Leaks bot to Sierra
https://bugs.webkit.org/show_bug.cgi?id=167886
Reviewed by Daniel Bates.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
- BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/LeaksViewer.js:
(LeaksViewer._displayURLPrompt):
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 10:35 AM WebKitGTK/2.14.x edited by
- (diff)
- 10:00 AM Changeset in webkit [211734] by
-
- 2 edits in trunk/Source/WebKit2
[Soup] Deadlock in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=167876
Reviewed by Michael Catanzaro.
WebKitSoupRequestInputStream uses a read lock. What is happening is that webkitSoupRequestInputStreamAddData
takes the lock, and it calls webkitSoupRequestInputStreamPendingReadAsyncComplete with the lock help. That
causes webkitSoupRequestInputStreamReadAsync to be called again to read the next chunk, but in the same run loop
operation. We don't really need the read lock because both webkitSoupRequestInputStreamAddData and
webkitSoupRequestInputStreamReadAsync shoudl always be called from the main thread.
- WebProcess/soup/WebKitSoupRequestInputStream.cpp:
(webkitSoupRequestInputStreamReadAsync): Remove the read lock and assert if called from a secondary thread.
(webkitSoupRequestInputStreamAddData): Ditto.
- 9:49 AM Changeset in webkit [211733] by
-
- 2 edits in trunk/Source/WebCore
Resource usage overlay should ignore mouse events outside bounds by default
https://bugs.webkit.org/show_bug.cgi?id=167874
Reviewed by Andreas Kling.
It's overriding the default causing that the first click after the overlay is shown is always handled by the
overlay even when clicked outside bounds. It should only be set false while dragging.
- page/ResourceUsageOverlay.cpp:
(WebCore::ResourceUsageOverlay::initialize):
- 9:47 AM Changeset in webkit [211732] by
-
- 5 edits2 deletes in trunk/LayoutTests/imported/w3c
Re-sync html/browsers/origin/cross-origin-objects tests
https://bugs.webkit.org/show_bug.cgi?id=167881
Reviewed by Youenn Fablet.
Re-sync html/browsers/origin/cross-origin-objects tests from upstream a052787d.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions-expected.txt: Removed.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-exceptions.html: Removed.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
- web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html:
- web-platform-tests/html/browsers/origin/cross-origin-objects/w3c-import.log:
- 9:36 AM Changeset in webkit [211731] by
-
- 2 edits in trunk/PerformanceTests
Skip ARES-6 on performance bots
https://bugs.webkit.org/show_bug.cgi?id=167863
Unreviewed test gardening.
ES6SampleBench was renamed to ARES-6, so this should be updated in PerformanceTests/Skipped as well.
- Skipped:
- 9:35 AM Changeset in webkit [211730] by
-
- 2 edits in trunk/Source/WebCore
CrashTracer: com.apple.WebKit.WebContent at WebCore: WebCore::Node::invalidateStyle
https://bugs.webkit.org/show_bug.cgi?id=167878
rdar://problem/30251840
Reviewed by Andreas Kling.
Speculative fix.
We are trying to invalidate a null node from ~PostResolutionCallbackDisabler. Looks like the only way
this could happen is if HTMLFrameOwnerElement::scheduleinvalidateStyleAndLayerComposition is called
with null 'this'. There is one place where this might happen.
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::attachRootLayer): Add null check.
- 9:28 AM Changeset in webkit [211729] by
-
- 11 edits2 deletes in trunk
Unreviewed, rolling out r211722.
This change introduced a LayoutTest failure on mac-wk2.
Reverted changeset:
"[Modern Media Controls] Improve handling of <video> with only
audio tracks"
https://bugs.webkit.org/show_bug.cgi?id=167836
http://trac.webkit.org/changeset/211722
- 9:22 AM Changeset in webkit [211728] by
-
- 19 edits2 adds in trunk/Source/WebCore
[MediaStream Mac] Stop using AVSampleBufferAudioRenderer
https://bugs.webkit.org/show_bug.cgi?id=167821
Reviewed by Jer Noble.
- WebCore.xcodeproj/project.pbxproj: Add new files.
- platform/audio/mac/AudioSampleDataSource.cpp:
(WebCore::AudioSampleDataSource::pullSamplesInternal): Don't assume the first timestamp from the
render proc after a pause is zero.
Stop using an audio renderer for each audio track. No audio renderers means we don't need to use
an AVSampleBufferRenderSynchronizer.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(-[WebAVSampleBufferStatusChangeListener invalidate]): No more audio renderers.
(-[WebAVSampleBufferStatusChangeListener observeValueForKeyPath:ofObject:change:context:]): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC): Pause
audio tracks explicitly.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::audioSourceProvider): Remove the existing code,
it was incorrect and not thread safe.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::flushRenderers): No more audio renderers.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayer): No more render synchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyLayer): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Start each audio track.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Pause each audio track.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume): Pass the command to each audio track.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::streamTime): No more render synchronizer.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::sampleBufferUpdated): Don't handle audio samples.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks): Update for audio track class change. No
more render synchronizer.
(-[WebAVSampleBufferStatusChangeListener beginObservingRenderer:]): Deleted.
(-[WebAVSampleBufferStatusChangeListener stopObservingRenderer:]): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueAudioSample): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForAudioData): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::createAudioRenderer): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyAudioRenderer): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::destroyAudioRenderers): Deleted.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::rendererStatusDidChange): Deleted.
- platform/mediastream/AudioTrackPrivateMediaStream.h:
- platform/mediastream/MediaStreamTrackPrivate.cpp:
(WebCore::MediaStreamTrackPrivate::MediaStreamTrackPrivate): add/removeObserver takes a reference,
not a pointer.
(WebCore::MediaStreamTrackPrivate::~MediaStreamTrackPrivate): Ditto.
(WebCore::MediaStreamTrackPrivate::videoSampleAvailable): Renamed from sourceHasMoreMediaData.
(WebCore::MediaStreamTrackPrivate::sourceHasMoreMediaData): Deleted.
- platform/mediastream/MediaStreamTrackPrivate.h:
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::addObserver): Take a reference, not a pointer.
(WebCore::RealtimeMediaSource::removeObserver): Ditto.
(WebCore::RealtimeMediaSource::videoSampleAvailable): Renamed from mediaDataUpdated.
(WebCore::RealtimeMediaSource::audioSamplesAvailable): New.
(WebCore::RealtimeMediaSource::stop): Drive-by cleanup.
(WebCore::RealtimeMediaSource::requestStop): Ditto.
(WebCore::RealtimeMediaSource::mediaDataUpdated): Deleted.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/mac/AVAudioCaptureSource.h:
- platform/mediastream/mac/AVAudioCaptureSource.mm:
(WebCore::AVAudioCaptureSource::AVAudioCaptureSource):
(WebCore::AVAudioCaptureSource::addObserver):
(WebCore::AVAudioCaptureSource::shutdownCaptureSession):
(WebCore::AVAudioCaptureSource::captureOutputDidOutputSampleBufferFromConnection):
(WebCore::operator==): Deleted.
(WebCore::operator!=): Deleted.
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::processNewFrame): Call videoSampleAvailable, not mediaDataUpdated.
Render audio with a CoreAudio output unit.
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp: Added.
(WebCore::AudioTrackPrivateMediaStreamCocoa::AudioTrackPrivateMediaStreamCocoa):
(WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa):
(WebCore::AudioTrackPrivateMediaStreamCocoa::playInternal):
(WebCore::AudioTrackPrivateMediaStreamCocoa::play):
(WebCore::AudioTrackPrivateMediaStreamCocoa::pause):
(WebCore::AudioTrackPrivateMediaStreamCocoa::setVolume):
(WebCore::AudioTrackPrivateMediaStreamCocoa::setupAudioUnit):
(WebCore::AudioTrackPrivateMediaStreamCocoa::audioSamplesAvailable):
(WebCore::AudioTrackPrivateMediaStreamCocoa::sourceStopped):
(WebCore::AudioTrackPrivateMediaStreamCocoa::render):
(WebCore::AudioTrackPrivateMediaStreamCocoa::inputProc):
- platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h: Added.
- platform/mediastream/mac/MockRealtimeAudioSourceMac.h:
- platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::alignTo16Bytes):
(WebCore::MockRealtimeAudioSourceMac::emitSampleBuffers):
(WebCore::MockRealtimeAudioSourceMac::reconfigure): Minor cleanup.
(WebCore::MockRealtimeAudioSourceMac::render): Ditto.
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer): Call videoSampleAvailable, not mediaDataUpdated.
- platform/mediastream/mac/WebAudioSourceProviderAVFObjC.h:
- platform/mediastream/mac/WebAudioSourceProviderAVFObjC.mm:
(WebCore::WebAudioSourceProviderAVFObjC::~WebAudioSourceProviderAVFObjC):
(WebCore::WebAudioSourceProviderAVFObjC::provideInput): Use a mutex. Get rid of m_writeAheadCount,
it is always 0.
(WebCore::WebAudioSourceProviderAVFObjC::prepare): Use a lock.
(WebCore::WebAudioSourceProviderAVFObjC::unprepare): Ditto.
(WebCore::WebAudioSourceProviderAVFObjC::process): Ditto.
- platform/mock/MockRealtimeAudioSource.h:
(WebCore::MockRealtimeAudioSource::renderInterval): Decrease the render interval.
- 9:17 AM WebKitGTK/2.14.x edited by
- (diff)
- 9:07 AM Changeset in webkit [211727] by
-
- 11 edits2 adds in branches/safari-603-branch
Merge r211653. rdar://problem/29872943
- 8:54 AM Changeset in webkit [211726] by
-
- 2 edits in trunk/Source/WebKit2
Guard and unguard ports in a much less intrusive way
https://bugs.webkit.org/show_bug.cgi?id=167813
Reviewed by Sam Weinig.
Instead of adopting mach_port_construct/mach_port_destruct, just guard and unguard the ports where appropriate.
- Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::platformInitialize):
(IPC::Connection::open):
- 8:21 AM Changeset in webkit [211725] by
-
- 3 edits in trunk/Tools
Prevent app crash on launch during simctl install workaround
https://bugs.webkit.org/show_bug.cgi?id=167685
Reviewed by Daniel Bates.
- Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.init): Pass environment to install.
- Scripts/webkitpy/xcode/simulator.py:
(Device.install_app): Accept environment, pass environment to launch.
- 8:19 AM Changeset in webkit [211724] by
-
- 3 edits2 adds in trunk
[Modern Media Controls] Add a backdrop filter to the start button on macOS
https://bugs.webkit.org/show_bug.cgi?id=167879
<rdar://problem/30375174>
Patch by Antoine Quint <Antoine Quint> on 2017-02-06
Reviewed by Eric Carlson.
Source/WebCore:
Add a backdrop filter to the start button on macOS.
Test: media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-start-button-style.html
- Modules/modern-media-controls/controls/macos-inline-media-controls.css:
(.media-controls.mac.inline > button.start > div):
LayoutTests:
Add a new test that checks that the expected backdrop filter is applied to the start button on macOS.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-start-button-style-expected.txt: Added.
- media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-start-button-style.html: Added.
- 8:16 AM Changeset in webkit [211723] by
-
- 22 edits4 copies10 adds in trunk
[Modern Media Controls] Bring fullscreen controls up to spec
https://bugs.webkit.org/show_bug.cgi?id=167875
<rdar://problem/29611222>
Patch by Antoine Quint <Antoine Quint> on 2017-02-06
Reviewed by Eric Carlson.
Source/WebCore:
We update the fullscreen PiP icon to have the correct size and add two new buttons
around the volume slider, "volume-down" to bring the volume to 0 and "volume-up"
to bring the volume to 1.
To accomodate the new volume buttons, we move the volume slider inside an additional
ButtonsContainer object, along with the two new buttons.
Tests: media/modern-media-controls/volume-down-support/volume-down-support.html
media/modern-media-controls/volume-up-support/volume-up-support.html
- Modules/modern-media-controls/controls/icon-service.js:
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.css:
(.media-controls.mac.fullscreen button.volume-down):
(.media-controls.mac.fullscreen button.volume-up):
- Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
- Modules/modern-media-controls/controls/volume-down-button.js: Added.
(VolumeDownButton):
- Modules/modern-media-controls/controls/volume-slider.js:
(VolumeSlider):
- Modules/modern-media-controls/controls/volume-up-button.js: Added.
(VolumeUpButton):
- Modules/modern-media-controls/images/macOS/pip-in-fullscreen@1x.png:
- Modules/modern-media-controls/images/macOS/pip-in-fullscreen@2x.png:
- Modules/modern-media-controls/images/macOS/volume-down-fullscreen@1x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-down-fullscreen@2x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-up-fullscreen@1x.png: Added.
- Modules/modern-media-controls/images/macOS/volume-up-fullscreen@2x.png: Added.
- Modules/modern-media-controls/js-files:
- Modules/modern-media-controls/media/media-controller.js:
(MediaController.prototype._updateControlsIfNeeded):
- Modules/modern-media-controls/media/volume-down-support.js: Added.
(VolumeDownSupport.prototype.get control):
(VolumeDownSupport.prototype.buttonWasPressed):
(VolumeDownSupport):
- Modules/modern-media-controls/media/volume-up-support.js: Added.
(VolumeUpSupport.prototype.get control):
(VolumeUpSupport.prototype.buttonWasPressed):
(VolumeUpSupport):
- WebCore.xcodeproj/project.pbxproj:
LayoutTests:
Rebaseline some existing tests due to the addition of the volume-down and volume-up
buttons as well as the width change of the PiP icon and add a couple of new tests to
check the behavior of the volume-down and volume-up buttons.
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-constructor.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles-expected.txt:
- media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html:
- media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html:
- media/modern-media-controls/volume-down-support/volume-down-support-expected.txt: Added.
- media/modern-media-controls/volume-down-support/volume-down-support.html: Added.
- media/modern-media-controls/volume-up-support/volume-up-support-expected.txt: Added.
- media/modern-media-controls/volume-up-support/volume-up-support.html: Added.
- platform/ios-simulator/TestExpectations:
- 8:09 AM WebKitGTK/2.14.x edited by
- (diff)
- 5:48 AM Changeset in webkit [211722] by
-
- 11 edits2 adds in trunk
[Modern Media Controls] Improve handling of <video> with only audio tracks
https://bugs.webkit.org/show_bug.cgi?id=167836
<rdar://problem/30255812>
Patch by Antoine Quint <Antoine Quint> on 2017-02-06
Reviewed by Dean Jackson.
Source/WebCore:
We now check for the availability of video tracks before considering a <video>
element is displaying an actual video file and turning auto-hide on. We also
check that we have video tracks before enabling the fullscreen button. This
brings the behavior of a <video> pointing to a resource with no video tracks
to be the same as an <audio> element.
Test: media/modern-media-controls/media-controller/media-controller-video-with-only-audio.html
- Modules/modern-media-controls/media/controls-visibility-support.js:
(ControlsVisibilitySupport.prototype.get tracksToMonitor):
(ControlsVisibilitySupport.prototype._updateControls):
(ControlsVisibilitySupport):
- Modules/modern-media-controls/media/fullscreen-support.js:
(FullscreenSupport.prototype.syncControl):
(FullscreenSupport):
LayoutTests:
Add a new test to check that a <video> with a resource that only has audio tracks
does not auto-hide nor show the fullscreen button. We also rebaseline a few existing
tests for this change of behavior.
- fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls-expected.html:
- fast/regions/inline-block-inside-anonymous-overflow-with-covered-controls.html:
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on-expected.txt:
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-on.html:
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle-expected.txt:
- media/modern-media-controls/controls-visibility-support/controls-visibility-support-controls-toggle.html:
- media/modern-media-controls/media-controller/media-controller-video-with-only-audio-expected.txt: Added.
- media/modern-media-controls/media-controller/media-controller-video-with-only-audio.html: Added.
- media/modern-media-controls/time-label/time-label-white-space-nowrap.html:
- 4:22 AM Changeset in webkit [211721] by
-
- 3 edits in trunk/Source/WebKit2
[GTK][EFL] Release unused UpdateAtlas when in memory pressure situation
https://bugs.webkit.org/show_bug.cgi?id=167872
Reviewed by Carlos Garcia Campos.
In a memory pressure situation, release all the unused UpdateAtlas as soon as possible, instead
of waiting 3 seconds before releasing them.
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:
(WebKit::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
(WebKit::CompositingCoordinator::releaseAtlases):
- WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
- 3:15 AM Changeset in webkit [211720] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: sibling elements's disclosure triangles aren't vertically aligned in DOM tree outline in certain ports
https://bugs.webkit.org/show_bug.cgi?id=167568
Patch by Fujii Hironori <Fujii Hironori> on 2017-02-06
Reviewed by Brian Burg.
The triangle has 13px height and has float:left. If the line-height
is smaller than 13px, the sibling element's triangles aren't
vertically aligned.
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom li.parent): Set line-height 13px explicitly.
- 1:28 AM Changeset in webkit [211719] by
-
- 2 edits in trunk/Tools
Rebase API tests after r211638
https://bugs.webkit.org/show_bug.cgi?id=167779
- TestWebKitAPI/Tests/WebCore/URLParser.cpp:
(TestWebKitAPI::TEST_F):
URLs with non-special schemes and characters like % in the host now fail to parse,
more like their special counterparts and according to spec.
- 12:51 AM Changeset in webkit [211718] by
-
- 2 edits in trunk/Source/WebCore
Fix WinCairo build after r211681
https://bugs.webkit.org/show_bug.cgi?id=167096
- platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp:
Include some necessary GLES headers.
- 12:35 AM Changeset in webkit [211717] by
-
- 2 edits in trunk/Tools
Unreviewed trivial fix after r211697.
https://bugs.webkit.org/show_bug.cgi?id=167863
- Scripts/run-javascriptcore-tests:
(runJSCStressTests): Renamed ES6SampleBench to ARES-6.
Feb 5, 2017:
- 10:23 PM Changeset in webkit [211716] by
-
- 3 edits in trunk/Source/WebCore
Data interaction fails in Safari splitscreen mode when dropping into a contenteditable
https://bugs.webkit.org/show_bug.cgi?id=167862
<rdar://problem/30368405>
Reviewed by Tim Horton.
Adds a counter to WebItemProviderPasteboard that can incremented, decremented, and queried by clients.
- platform/ios/WebItemProviderPasteboard.h:
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderPasteboard init]):
(-[WebItemProviderPasteboard hasPendingOperation]):
(-[WebItemProviderPasteboard incrementPendingOperationCount]):
(-[WebItemProviderPasteboard decrementPendingOperationCount]):
- 10:17 PM Changeset in webkit [211715] by
-
- 2 edits in branches/safari-603-branch/LayoutTests
Merge r211523. rdar://problem/29453068
- 10:17 PM Changeset in webkit [211714] by
-
- 22 edits in branches/safari-603-branch/Source
Merge r211482. rdar://problem/29711409
- 10:17 PM Changeset in webkit [211713] by
-
- 6 edits2 adds in branches/safari-603-branch
Merge r211504. rdar://problem/30301117
- 10:17 PM Changeset in webkit [211712] by
-
- 3 edits2 adds in branches/safari-603-branch
Merge r211659. rdar://problem/28725791
- 10:17 PM Changeset in webkit [211711] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r211676. rdar://problem/30229990
- 10:17 PM Changeset in webkit [211710] by
-
- 13 edits in branches/safari-603-branch/Source
Merge r211569. rdar://problem/30229990
- 10:17 PM Changeset in webkit [211709] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit2
Merge r211565. rdar://problem/28896113
- 10:17 PM Changeset in webkit [211708] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit2
Merge r211628. rdar://problem/26685576
- 10:17 PM Changeset in webkit [211707] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit2
Merge r211626. rdar://problem/26685576
- 10:17 PM Changeset in webkit [211706] by
-
- 14 edits1 copy2 moves1 add in branches/safari-603-branch/Source
Merge r211551. rdar://problem/26685576
- 10:17 PM Changeset in webkit [211705] by
-
- 2 edits in branches/safari-603-branch/Source/JavaScriptCore
Merge r211630. rdar://problem/30318237
- 10:17 PM Changeset in webkit [211704] by
-
- 7 edits in branches/safari-603-branch/Source/JavaScriptCore
Merge r211658. rdar://problem/29144126
- 9:51 PM Changeset in webkit [211703] by
-
- 5 edits in branches/safari-603-branch
Merge r211446. rdar://problem/30273885
- 9:50 PM Changeset in webkit [211702] by
-
- 2 edits in branches/safari-603-branch/Source/WebCore
Merge r211455. rdar://problem/30241193
- 9:25 PM Changeset in webkit [211701] by
-
- 21 edits5 adds in branches/safari-603-branch
Merge r211656. rdar://problem/30102568
- 9:25 PM Changeset in webkit [211700] by
-
- 15 edits2 moves2 adds1 delete in branches/safari-603-branch/LayoutTests
Merge r211616. rdar://problem/30060142
- 9:25 PM Changeset in webkit [211699] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit/win
Merge r211584. rdar://problem/29994156
- 9:25 PM Changeset in webkit [211698] by
-
- 6 edits1 add in branches/safari-603-branch
Merge r211207. rdar://problem/30154036
- 8:56 PM Changeset in webkit [211697] by
-
- 7 edits1 move3 adds1 delete in trunk/PerformanceTests
Change ES6SampleBench into ARES-6
https://bugs.webkit.org/show_bug.cgi?id=167863
Rubber stamped by Saam Barati.
This imports changes that Jonathan Davis (Jon Davis) made to ES6SampleBench to make it look
super awesome. Its now called ARES-6.
- ARES-6: Copied from PerformanceTests/ES6SampleBench.
- ARES-6/ARES-6.svg: Added.
- ARES-6/driver.js:
(Driver):
(Driver.prototype.readyTrigger):
(Driver.prototype.disableTrigger):
(Driver.prototype.start):
(Driver.prototype._updateIterations):
- ARES-6/glue.js:
- ARES-6/index.html:
- ARES-6/results.js:
(Results.prototype.reportRunning):
(Results.prototype.reportDone):
- ARES-6/stats.js:
(Stats.prototype.toString.return.span):
(Stats.prototype.toString.span.span):
(Stats.prototype.toString): Deleted.
- ARES-6/style.css: Removed.
- ARES-6/styles.css: Added.
(html):
(body):
(header,):
(p a):
(p a:hover):
(.flip):
(header):
(h2,):
(p):
(.about h2):
(.logo):
(.start):
(.start.ready):
(.start.ready:hover):
(.start:after):
(.start.ready .testrun):
(.tests):
(.test):
(.overall h2,):
(.test .indicator):
(.test .indicator.running):
(@keyframes test-running):
(100%):
(.score):
(.score label):
(.score .value):
(.score .units):
(.score .margin):
(.overall):
(.overall .score):
(.overall .margin):
(.testing, .about):
(.testing):
(.about):
(#about:target):
(@media only screen and (max-width: 784px)):
- ARES-6/swoop.svg: Added.
- ES6SampleBench: Removed.
- ES6SampleBench/Air: Removed.
- ES6SampleBench/Air/README.md: Removed.
- ES6SampleBench/Air/airjs-tests.yaml: Removed.
- ES6SampleBench/Air/all.js: Removed.
- ES6SampleBench/Air/allocate_stack.js: Removed.
- ES6SampleBench/Air/arg.js: Removed.
- ES6SampleBench/Air/basic_block.js: Removed.
- ES6SampleBench/Air/benchmark.js: Removed.
- ES6SampleBench/Air/code.js: Removed.
- ES6SampleBench/Air/custom.js: Removed.
- ES6SampleBench/Air/frequented_block.js: Removed.
- ES6SampleBench/Air/insertion_set.js: Removed.
- ES6SampleBench/Air/inst.js: Removed.
- ES6SampleBench/Air/liveness.js: Removed.
- ES6SampleBench/Air/make_dist.sh: Removed.
- ES6SampleBench/Air/opcode.js: Removed.
- ES6SampleBench/Air/payload-airjs-ACLj8C.js: Removed.
- ES6SampleBench/Air/payload-gbemu-executeIteration.js: Removed.
- ES6SampleBench/Air/payload-imaging-gaussian-blur-gaussianBlur.js: Removed.
- ES6SampleBench/Air/payload-typescript-scanIdentifier.js: Removed.
- ES6SampleBench/Air/reg.js: Removed.
- ES6SampleBench/Air/stack_slot.js: Removed.
- ES6SampleBench/Air/stress-test.js: Removed.
- ES6SampleBench/Air/strip-hash.rb: Removed.
- ES6SampleBench/Air/symbols.js: Removed.
- ES6SampleBench/Air/test.html: Removed.
- ES6SampleBench/Air/test.js: Removed.
- ES6SampleBench/Air/tmp.js: Removed.
- ES6SampleBench/Air/tmp_base.js: Removed.
- ES6SampleBench/Air/util.js: Removed.
- ES6SampleBench/Basic: Removed.
- ES6SampleBench/Basic/ast.js: Removed.
- ES6SampleBench/Basic/basic-tests.yaml: Removed.
- ES6SampleBench/Basic/basic.js: Removed.
- ES6SampleBench/Basic/benchmark.js: Removed.
- ES6SampleBench/Basic/caseless_map.js: Removed.
- ES6SampleBench/Basic/lexer.js: Removed.
- ES6SampleBench/Basic/number.js: Removed.
- ES6SampleBench/Basic/parser.js: Removed.
- ES6SampleBench/Basic/random.js: Removed.
- ES6SampleBench/Basic/state.js: Removed.
- ES6SampleBench/Basic/stress-test.js: Removed.
- ES6SampleBench/Basic/test.html: Removed.
- ES6SampleBench/Basic/test.js: Removed.
- ES6SampleBench/Basic/util.js: Removed.
- ES6SampleBench/air_benchmark.js: Removed.
- ES6SampleBench/basic_benchmark.js: Removed.
- ES6SampleBench/cli.js: Removed.
- ES6SampleBench/driver.js: Removed.
- ES6SampleBench/glue.js: Removed.
- ES6SampleBench/index.html: Removed.
- ES6SampleBench/results.js: Removed.
- ES6SampleBench/stats.js: Removed.
- ES6SampleBench/style.css: Removed.
- 8:03 PM Changeset in webkit [211696] by
-
- 5 edits2 adds in branches/safari-603-branch
Merge r211541. rdar://problem/30100286
- 8:03 PM Changeset in webkit [211695] by
-
- 2 edits in branches/safari-603-branch/Source/WebKit2
Merge r211538. rdar://problem/30229620
- 8:03 PM Changeset in webkit [211694] by
-
- 2 edits in branches/safari-603-branch/Tools
Merge r211526. rdar://problem/30301498
- 8:03 PM Changeset in webkit [211693] by
-
- 3 edits in branches/safari-603-branch/Source/JavaScriptCore
Merge r211486. rdar://problem/30167791
- 8:03 PM Changeset in webkit [211692] by
-
- 5 edits2 adds in branches/safari-603-branch
Merge r211471. rdar://problem/30270210
- 8:03 PM Changeset in webkit [211691] by
-
- 2 edits in branches/safari-603-branch/Source/JavaScriptCore
Merge r211463. rdar://problem/30296879
- 8:03 PM Changeset in webkit [211690] by
-
- 3 edits2 adds in branches/safari-603-branch
Merge r211433. rdar://problem/30091558
- 8:03 PM Changeset in webkit [211689] by
-
- 4 edits in branches/safari-603-branch/LayoutTests
Merge r211302. rdar://problem/23601055
- 3:04 PM Changeset in webkit [211688] by
-
- 7 edits in trunk/Source
Remove unparentsOffscreenTiles logic in TileController
https://bugs.webkit.org/show_bug.cgi?id=167823
Reviewed by Tim Horton.
Source/WebCore:
Give all TileGrids the "unparents offscreen tiles" behavior. This was enabled for
only the page tiles in WK2 on Mac and iOS, but there's no reason to not use it for
tiled composited layers also.
Also use more modern C++ idioms in a few places.
- platform/graphics/TiledBacking.h:
- platform/graphics/ca/TileController.h:
- platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::revalidateTiles):
(WebCore::TileGrid::ensureTilesForRect):
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
Source/WebKit2:
Drive-by fix: make sure we put the tiled scrolling indicator's layer back when switching tabs.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateRootLayers):
- 12:55 PM Changeset in webkit [211687] by
-
- 7 edits3 adds in trunk
[Modern Media Controls] PiP button is not visible with a live broadcast video
https://bugs.webkit.org/show_bug.cgi?id=167794
<rdar://problem/30348790>
Patch by Antoine Quint <Antoine Quint> on 2017-02-05
Reviewed by Dean Jackson.
Source/WebCore:
We were only listening to the "loadedmetadata", "error", "webkitpresentationmodechanged"
and "webkitcurrentplaybacktargetiswirelesschanged" events to invalidate the enabled state
for the PiP button. We also need to check availability of video tracks, which we already
did for fullscreen, which is quite similar.
So we now listen to "addtrack", "removetrack" and "change" events on the media.videoTracks
property, which correctly invalidates the PiP button when the first video track becomes
available or the last video track is removed.
Since a couple of other MediaControllerSupport subclasses (FullscreenSupport and TracksSupport)
would also listen to those events on various track types, we add a new "tracksToMonitor"
property on MediaControllerSupport which subclasses can override to provide a list of tracks
that should listen to those events. This removes the need for dedicated construction and
destruction time in MediaControllerSupport subclasses that need to listen to events on
tracks rather than the media itself.
Test: http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html
- Modules/modern-media-controls/media/fullscreen-support.js:
(FullscreenSupport):
(FullscreenSupport.prototype.get tracksToMonitor):
(FullscreenSupport.prototype.destroy): Deleted.
- Modules/modern-media-controls/media/media-controller-support.js:
(MediaControllerSupport):
(MediaControllerSupport.prototype.destroy):
(MediaControllerSupport.prototype.get tracksToMonitor):
- Modules/modern-media-controls/media/pip-support.js:
(PiPSupport.prototype.get tracksToMonitor):
- Modules/modern-media-controls/media/tracks-support.js:
(TracksSupport):
(TracksSupport.prototype.get tracksToMonitor):
(TracksSupport.prototype.destroy): Deleted.
LayoutTests:
Add a new test to check that a live broadcast video shows the picture-in-picture button.
- http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast-expected.txt: Added.
- http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html: Added.
- platform/mac/TestExpectations:
- 12:41 PM Changeset in webkit [211686] by
-
- 1 edit1 add in trunk/PerformanceTests
Simple line layout: Add performance test with varying string and font-size to minimize width-cache hit.
https://bugs.webkit.org/show_bug.cgi?id=167859
<rdar://problem/30368070>
Reviewed by Antti Koivisto.
This is in preparation for webkit.org/b/167843.
- Layout/simple-line-layout-with-varying-content.html: Added.
- 12:40 PM Changeset in webkit [211685] by
-
- 3 edits2 adds in trunk
[Modern Media Controls] Time labels may wrap instead of displaying on a single line
https://bugs.webkit.org/show_bug.cgi?id=167835
<rdar://problem/30340534>
Patch by Antoine Quint <Antoine Quint> on 2017-02-05
Reviewed by Dean Jackson.
Source/WebCore:
No text in modern media controls is expected to wrap, so let's prevent any wrapping.
Test: media/modern-media-controls/time-label/time-label-white-space-nowrap.html
- Modules/modern-media-controls/controls/media-controls.css:
(.media-controls):
LayoutTests:
New test that checks that time labels have "white-space: nowrap" applied.
- media/modern-media-controls/time-label/time-label-white-space-nowrap-expected.txt: Added.
- media/modern-media-controls/time-label/time-label-white-space-nowrap.html: Added.
- 11:26 AM Changeset in webkit [211684] by
-
- 4 edits in trunk/Source/JavaScriptCore
The VMInspector should use an RAII Locker.
https://bugs.webkit.org/show_bug.cgi?id=167854
Reviewed by Saam Barati.
Previously, VMInspector::lock() was returning an expected LockToken, and there's
no way to unlock it when we're done with it. This was not a problem before
because the VMInspector had only one client, the SigillCrashAnalyzer, that
expected the process to crash due to a SIGILL shortly thereafter.
However, the VMInspector is useful as a debugging tool that we can apply in other
debugging tasks. Fixing VMInspector::lock() to return an RAII locker will enable
other use cases. Plus it's just bad form to be able to lock something and never
be able to unlock it.
- tools/SigillCrashAnalyzer.cpp:
(JSC::SigillCrashAnalyzer::analyze):
- tools/VMInspector.cpp:
- tools/VMInspector.h:
- 11:18 AM Changeset in webkit [211683] by
-
- 19 edits5 adds in trunk
Clean up how GraphicsLayer's "inWindow" state is set, and fix some issues with Page Overlays
https://bugs.webkit.org/show_bug.cgi?id=167850
Reviewed by Tim Horton.
Source/WebCore:
RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants() walked the RenderLayer
tree to set the GraphicsLayer's "inWindow" state. This had the problem of skipping non-primary
GraphicsLayers. We also never did this work for page overlay layers.
Fix by giving GraphicsLayers a recursive function that sets the inWindow state, and call that
from RenderLayerCompositor::setIsInWindow() and PageOverlayController.
PageOverlayController also needs to implement tiledBackingUsageChanged so that tiled backings
created dynamically get the correct in-window state.
Page overlays also had some serious issues in MiniBrowser, in that they disappeared on reload,
and on hide/show web view. This was because the overlay root layers were re-parented, but
addChild() for each overlay's layer wasn't called. Clean up by replacing willAttachRootLayer() followed
by viewOverlayRootLayer()/documentOverlayRootLayer() with single calls that set up the layers,
update the inWindow state, and return the layer.
Make it possible to dump tile caches in page overlay tests.
Make showGraphicsLayers() always dump page overlay layers (source of much confusion).
Test: pageoverlay/overlay-remove-reinsert-view.html
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::documentOverlayRootLayer):
(WebCore::PageOverlayController::viewOverlayRootLayer):
(WebCore::PageOverlayController::layerWithDocumentOverlays):
(WebCore::PageOverlayController::layerWithViewOverlays):
(WebCore::PageOverlayController::tiledBackingUsageChanged):
(WebCore::PageOverlayController::willAttachRootLayer): Deleted.
- page/PageOverlayController.h:
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::setIsInWindowIncludingDescendants):
(WebCore::dumpChildren):
- platform/graphics/GraphicsLayer.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::appendDocumentOverlayLayers):
(WebCore::RenderLayerCompositor::setIsInWindow):
(WebCore::RenderLayerCompositor::attachRootLayer):
(WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
(WebCore::RenderLayerCompositor::setIsInWindowForLayerIncludingDescendants): Deleted.
- rendering/RenderLayerCompositor.h:
- testing/Internals.cpp:
(WebCore::toLayerTreeFlags):
(WebCore::Internals::layerTreeAsText):
(WebCore::Internals::pageOverlayLayerTreeAsText):
- testing/Internals.h:
- testing/Internals.idl:
- testing/MockPageOverlayClient.cpp:
(WebCore::MockPageOverlayClient::layerTreeAsText):
- testing/MockPageOverlayClient.h:
Tools:
- DumpRenderTree/TestRunner.cpp:
(TestRunner::uiScriptDidComplete): Fix an assertion that fires for non-16-bit strings.
LayoutTests:
- pageoverlay/overlay-large-document-expected.txt:
- pageoverlay/overlay-large-document-scrolled-expected.txt:
- pageoverlay/overlay-remove-reinsert-view-expected.txt: Added.
- pageoverlay/overlay-remove-reinsert-view.html: Added.
- platform/ios-simulator-wk2/pageoverlay/overlay-remove-reinsert-view-expected.txt: Added.
- platform/mac-wk1/pageoverlay/overlay-remove-reinsert-view-expected.txt: Added.
- tiled-drawing/tiled-backing-in-window-expected.txt:
- 10:01 AM Changeset in webkit [211682] by
-
- 3 edits2 adds in trunk
Simple line layout: Use RenderText::canUseSimpleFontCodePath() only as a hint.
https://bugs.webkit.org/show_bug.cgi?id=167853
<rdar://problem/30367302>
Reviewed by Simon Fraser.
Source/WebCore:
Apparently RenderText::canUseSimpleFontCodePath() only checks if the string is qualified for
the simple font code path. However certain css properties could still force us to use the complex
path.
In most cases, we still do only one string traversal thanks to TextRun::setCharacterScanForCodePath().
Test: fast/text/simple-line-layout-simple-text-but-complex-font-path.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForFontAndText):
LayoutTests:
- fast/text/simple-line-layout-simple-text-but-complex-font-path-expected.html: Added.
- fast/text/simple-line-layout-simple-text-but-complex-font-path.html: Added.
- 9:22 AM Changeset in webkit [211681] by
-
- 7 edits2 adds in trunk/Source/WebCore
Move TextureMapper-specific logic out of GraphicsContext3DPrivate
https://bugs.webkit.org/show_bug.cgi?id=167096
Reviewed by Alex Christensen.
Move the TextureMapper-specific functionality in GraphicsContext3DPrivate into a
separate class. The new TextureMapperGC3DPlatformLayer class inherits from the
class that's aliased to the PlatformLayer type, like GraphicsContext3DPrivate did
before.
In GraphicsContext3D, the new m_texmapLayer member variable of the
std::unique_ptr<TextureMapperGC3DPlatformLayer> type is used for configurations
that enable TextureMapper, largely the same way the GraphicsContext3DPrivate
object was used before. The remaining code in GraphicsContext3DPrivate is left
unchanged to keep it working for other ports.
No new tests -- no change in behavior.
- platform/TextureMapper.cmake:
- platform/graphics/GraphicsContext3D.h:
- platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate): Deleted.
(WebCore::GraphicsContext3DPrivate::proxy): Deleted.
(WebCore::GraphicsContext3DPrivate::swapBuffersIfNeeded): Deleted.
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Deleted.
- platform/graphics/GraphicsContext3DPrivate.h:
- platform/graphics/cairo/GraphicsContext3DCairo.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::platformGraphicsContext3D):
(WebCore::GraphicsContext3D::platformLayer):
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::createForCurrentGLContext):
- platform/graphics/texmap/TextureMapperGC3DPlatformLayer.cpp: Copied from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.cpp.
(WebCore::TextureMapperGC3DPlatformLayer::TextureMapperGC3DPlatformLayer):
(WebCore::TextureMapperGC3DPlatformLayer::~TextureMapperGC3DPlatformLayer):
(WebCore::TextureMapperGC3DPlatformLayer::makeContextCurrent):
(WebCore::TextureMapperGC3DPlatformLayer::platformContext):
(WebCore::TextureMapperGC3DPlatformLayer::proxy):
(WebCore::TextureMapperGC3DPlatformLayer::swapBuffersIfNeeded):
(WebCore::TextureMapperGC3DPlatformLayer::paintToTextureMapper):
- platform/graphics/texmap/TextureMapperGC3DPlatformLayer.h: Copied from Source/WebCore/platform/graphics/GraphicsContext3DPrivate.h.
(WebCore::TextureMapperGC3DPlatformLayer::renderStyle):
- 6:41 AM Changeset in webkit [211680] by
-
- 3 edits2 adds in trunk
Simple line layout: Bail out from Simple Line Layout on surrogate pairs.
https://bugs.webkit.org/show_bug.cgi?id=167840
<rdar://problem/30364784>
Reviewed by Myles C. Maxfield.
Source/WebCore:
Surrogate pairs require special line breaking logic.
Test: fast/text/simple-line-layout-no-surrogate-pairs.html
- rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForCharacter):
(WebCore::SimpleLineLayout::canUseForText): Checking against special characters is faster than
checking against glyphs. Reverse their order.
(WebCore::SimpleLineLayout::printReason):
LayoutTests:
- fast/text/simple-line-layout-no-surrogate-pairs-expected.html: Added.
- fast/text/simple-line-layout-no-surrogate-pairs.html: Added.