Timeline
Aug 7, 2016:
- 11:05 PM Changeset in webkit [204252] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed. Fix GObject DOM bindings API break after r204236.
Text.replaceWholeText was removed from DOM API.
- bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_text_replace_whole_text):
- bindings/gobject/WebKitDOMDeprecated.h:
- bindings/gobject/WebKitDOMDeprecated.symbols:
- 10:54 PM Changeset in webkit [204251] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed. Fix GObject DOM bindings API break after r204113.
Document.defaultCharset was removed from DOM API.
- bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_document_get_default_charset):
- bindings/gobject/WebKitDOMDeprecated.h:
- bindings/gobject/WebKitDOMDeprecated.symbols:
- 10:40 PM Changeset in webkit [204250] by
-
- 2 edits in trunk/Source/WebKit2
[GTK] Bad performance in accelerated compositing mode with the modesetting intel driver and DRI3 enabled
https://bugs.webkit.org/show_bug.cgi?id=160491
Reviewed by Michael Catanzaro.
This is becoming the default in several linux distributions and it makes WebKitGTK+ unusable in accelerated
compositing mode, which is now always enabled because since we switched to use the threaded compositor. The
problem seems to be an optimization of the intel driver for windows that are offscreen, and our redirected
window is always positioned at ScreenWidth + 1, 0. Using negative coordinates to position the redirected window
offscreen fixes the problem.
See also https://bugs.freedesktop.org/show_bug.cgi?id=85064.
- WebProcess/WebPage/gtk/RedirectedXCompositeWindow.cpp:
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow): Position the parent window at -1, -1.
- 10:38 PM Changeset in webkit [204249] by
-
- 9 edits2 moves in trunk/Source/WebKit2
Duplicated code in DrawingAreaProxyImpl and CoordinatedDrawingAreaProxy
https://bugs.webkit.org/show_bug.cgi?id=160506
Reviewed by Michael Catanzaro.
Same logic as in r202855 but in the UI process. CoordinatedDrawingAreaProxy is just a copy paste of
DrawingAreaProxyImpl with non-accelerated code path removed. There's actually nothing (or very little) specific
to coordinated graphics in the CoordinatedDrawingAreaProxy implementation. This patch renames
CoordinatedDrawingAreaProxy as AcceleratedDrawingAreaProxy and makes DrawingAreaProxyImpl inherit from it, so
that in case of accelerated compositing the parent class is used, and DrawingAreaProxyImpl only adds the non
accelerated code path.
To simplify the common API of AcceleratedDrawingAreaProxy, I have changed CoordinatedLayerTreeHostProxy to
receive a WebPageProxy in the constructor instead of a drawing area, since the drawing area was used just to get
the page proxy.
- PlatformEfl.cmake:
- PlatformGTK.cmake:
- UIProcess/AcceleratedDrawingAreaProxy.cpp: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp.
(WebKit::AcceleratedDrawingAreaProxy::AcceleratedDrawingAreaProxy):
(WebKit::AcceleratedDrawingAreaProxy::~AcceleratedDrawingAreaProxy):
(WebKit::AcceleratedDrawingAreaProxy::alwaysUseCompositing):
(WebKit::AcceleratedDrawingAreaProxy::dispatchAfterEnsuringDrawing):
(WebKit::AcceleratedDrawingAreaProxy::sizeDidChange):
(WebKit::AcceleratedDrawingAreaProxy::deviceScaleFactorDidChange):
(WebKit::AcceleratedDrawingAreaProxy::visibilityDidChange):
(WebKit::AcceleratedDrawingAreaProxy::waitForBackingStoreUpdateOnNextPaint):
(WebKit::AcceleratedDrawingAreaProxy::didUpdateBackingStoreState):
(WebKit::AcceleratedDrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingAreaProxy::exitAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingAreaProxy::updateAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingAreaProxy::backingStoreStateDidChange):
(WebKit::AcceleratedDrawingAreaProxy::sendUpdateBackingStoreState):
(WebKit::AcceleratedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
(WebKit::AcceleratedDrawingAreaProxy::setNativeSurfaceHandleForCompositing):
(WebKit::AcceleratedDrawingAreaProxy::destroyNativeSurfaceHandleForCompositing):
- UIProcess/AcceleratedDrawingAreaProxy.h: Renamed from Source/WebKit2/UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h.
(WebKit::AcceleratedDrawingAreaProxy::isInAcceleratedCompositingMode):
(WebKit::AcceleratedDrawingAreaProxy::coordinatedLayerTreeHostProxy):
- UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::updateViewport):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
(WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):
- UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
- UIProcess/CoordinatedGraphics/PageViewportController.cpp:
(WebKit::PageViewportController::syncVisibleContents):
- UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::paint):
(WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl): Deleted.
(WebKit::DrawingAreaProxyImpl::update): Deleted.
(WebKit::DrawingAreaProxyImpl::incorporateUpdate): Deleted.
(WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): Deleted.
(WebKit::DrawingAreaProxyImpl::discardBackingStore): Deleted.
- UIProcess/DrawingAreaProxyImpl.h:
- UIProcess/efl/WebView.cpp:
(WebKit::WebView::setVisible):
(WebKit::WebView::coordinatedGraphicsScene):
(WebKit::WebView::updateViewportSize):
(WebKit::WebView::createDrawingAreaProxy):
- 7:48 PM Changeset in webkit [204248] by
-
- 11 edits8 adds in trunk
[ES6] Module namespace object should not allow unset IC
https://bugs.webkit.org/show_bug.cgi?id=160553
Reviewed by Saam Barati.
JSTests:
- modules/namespace-object-get-property.js: Added.
(import.as.ns.from.string_appeared_here.shouldThrow):
- modules/namespace-object-has-property.js: Added.
- modules/namespace-object-inline-caching.js: Added.
(import.as.A.from.string_appeared_here.import.as.B.from.string_appeared_here.lookup):
(shouldBe.lookup.lookup):
(shouldBe.lookup):
- modules/namespace-object-inline-caching/a.js: Added.
- modules/namespace-object-inline-caching/b.js: Added.
- modules/namespace-object-try-get.js: Added.
(import.as.ns.from.string_appeared_here.tryGetByIdText):
(tryGetByIdTextStrict):
- modules/namespace-object-typed-array-fast-path.js: Added.
- test262.yaml:
Source/JavaScriptCore:
Previously, module namespace object accidentally allow "unset IC". But this "unsetness" does not rely on
the structure. We should disable inline caching onto the namespace object. Once it is needed, we should
create the special caching for namespace object like the following: it should be similar to monomorphic IC,
but it caches the object itself instead of the structure. It checks the object itself (And in DFG, it should be
CheckCell) and loads the value from the target module environment directly[1].
And this patch also set setIsTaintedByProxy for the module namespace object to notify to the caller that
this object has impure ::getOwnPropertySlot. Then this function is now renamed to setIsTaintedByOpaqueObject.
We drop the hack in JSModuleNamespaceObject::getOwnPropertySlot since we already introduced InternalMethodType
for ProxyObject. Previously we cannot distinguish ::HasProperty and ::GetOwnProperty. So not to throw any
errors for ::HasProperty case, we used slot.setCustom to delay the observable operation.
But, this hack lacks the support for hasOwnProperty: hasOwnProperty uses GetOwnProperty, so it should throw an error.
However the previous implementation does not throw an error since the delayed observable part (custom function part) is
skipped in hasOwnProperty implementation. We now remove this custom property hack and fix the corresponding failure
in test262.
[1]: https://bugs.webkit.org/show_bug.cgi?id=160590
- jit/JITOperations.cpp:
- runtime/ArrayPrototype.cpp:
(JSC::getProperty):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::constructGenericTypedArrayViewWithArguments):
- runtime/JSModuleNamespaceObject.cpp:
(JSC::JSModuleNamespaceObject::getOwnPropertySlot):
(JSC::callbackGetter): Deleted.
- runtime/JSModuleNamespaceObject.h:
- runtime/PropertySlot.cpp:
(JSC::PropertySlot::getPureResult):
- runtime/PropertySlot.h:
(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::setIsTaintedByOpaqueObject):
(JSC::PropertySlot::isTaintedByOpaqueObject):
(JSC::PropertySlot::setIsTaintedByProxy): Deleted.
(JSC::PropertySlot::isTaintedByProxy): Deleted.
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::getOwnPropertySlotCommon):
- 7:47 PM Changeset in webkit [204247] by
-
- 10 edits3 deletes in trunk
Node.baseURI should not be nullable
https://bugs.webkit.org/show_bug.cgi?id=160649
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- web-platform-tests/dom/interfaces-expected.txt:
Rebaseline now that one more check is passing.
- web-platform-tests/domparsing/DOMParser-parseFromString-html-expected.txt:
Rebaseline now that the baseURI is "about:blank" instead of null. The check
is still failing. We are falling back to using the document's URL, as expected.
However, the document's URL should not be "about:blank" in this case, which is
why we are failing the previous check.
Source/WebCore:
Node.baseURI should not be nullable as per the latest DOM specification:
It is not nullable in Firefox. It is supposed to fallback to using the
document's URL. The document's URL is "about:blank" by default so
baseURI() now returns "about:blank" in the internal URL is null,
similarly to what we do for Document.URL (c.g. urlForBindings()).
No new tests, rebaselined existing test.
- dom/Node.cpp:
(WebCore::Node::baseURI):
- dom/Node.h:
- dom/Node.idl:
LayoutTests:
Drop outdated DOM test.
- dom/xhtml/level3/core/nodegetbaseuri02-expected.txt: Removed.
- dom/xhtml/level3/core/nodegetbaseuri02.js: Removed.
- dom/xhtml/level3/core/nodegetbaseuri02.xhtml: Removed.
- 6:33 PM Changeset in webkit [204246] by
-
- 22 edits in trunk
Drop SVGDocument as per the SVG2 specification
https://bugs.webkit.org/show_bug.cgi?id=160361
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/dom/nodes/DOMImplementation-createDocument-expected.txt:
Source/WebCore:
Drop SVGDocument as per the SVG2 specification:
SVGDocument has been merged into Document.
Chrome and Edge have dropped SVGDocument already, Firefox has not.
No new tests, rebaselined existing test.
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
- bindings/js/JSDocumentCustom.cpp:
(WebCore::createNewDocumentWrapper): Deleted.
- bindings/js/JSXMLDocumentCustom.cpp:
(WebCore::toJSNewlyCreated):
(WebCore::toJS): Deleted.
- page/DOMWindow.idl:
- page/FrameView.cpp:
(WebCore::FrameView::scrollToAnchor):
- svg/SVGDocument.cpp:
(WebCore::SVGDocument::rootElement):
(WebCore::SVGDocument::zoomAndPanEnabled):
(WebCore::SVGDocument::startPan):
(WebCore::SVGDocument::updatePan):
- svg/SVGDocument.h:
- svg/SVGDocument.idl:
- svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::rootElement):
LayoutTests:
Update / rebaseline existing tests to reflect behavior change.
- platform/mac/svg/custom/dynamic-svg-document-creation-expected.txt:
- svg/custom/clone-node-expected.txt:
- svg/custom/clone-node.html:
- svg/custom/frame-getSVGDocument.html:
- svg/custom/global-constructors-expected.txt:
- svg/custom/manually-parsed-svg-allowed-in-dashboard-expected.txt:
- svg/custom/script-tests/global-constructors.js:
- 1:50 PM Changeset in webkit [204245] by
-
- 10 edits in trunk
[Cocoa] Reply block leaks if the remote object doesn’t call it
https://bugs.webkit.org/show_bug.cgi?id=160642
Reviewed by Sam Weinig.
Source/WebKit2:
- Shared/API/Cocoa/RemoteObjectRegistry.h: Declared new member functions.
- Shared/API/Cocoa/RemoteObjectRegistry.messages.in: Added ReleaseUnusedReplyBlock message.
- Shared/API/Cocoa/RemoteObjectRegistry.mm:
(WebKit::RemoteObjectRegistry::sendUnusedReply): Send the ReleaseUnusedReplyBlock message.
(WebKit::RemoteObjectRegistry::releaseUnusedReplyBlock): Message receiver that call through
to -_releaseReplyWithID:.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]): Define a ReplyBlockCallChecker object and
capture an instance of it in the reply block we pass to the exported object. Have that
block set a flag on the checker when it’s called. If the checker gets destroyed without
the block having been called, which means that the block got destroyed without being
called, call sendUnusedReply to let the other side know that the block will not be invoked.
(-[_WKRemoteObjectRegistry _releaseReplyWithID:]): Added. Removed the pending reply from the
map, which release the block.
- Shared/API/Cocoa/_WKRemoteObjectRegistryInternal.h:
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.h: Declared a new method.
- TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistry.mm:
(TEST): Added a test case that checks that the reply block is released even when it’s not
called.
- TestWebKitAPI/Tests/WebKit2Cocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn doNotCallCompletionHandler:]): Implement new method by not
calling the completion handler.
- 12:40 PM Changeset in webkit [204244] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION (r201245): switching between Computed and Visual Styles panels causes internal error
https://bugs.webkit.org/show_bug.cgi?id=160604
<rdar://problem/27723416>
Reviewed by Timothy Hatcher.
- UserInterface/Views/StyleDetailsPanel.js:
(WebInspector.StyleDetailsPanel.prototype.shown):
Only perform a layout if needed. Subclasses access node style
data during layout, which may not exist yet.
- 12:08 PM Changeset in webkit [204243] by
-
- 5 edits in trunk
Write API test to cover crash fix in r204135
https://bugs.webkit.org/show_bug.cgi?id=160587
Reviewed by Darin Adler.
Source/WebKit2:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::terminateProcess):
Stop calling resetStateAfterProcessExited() after calling
requestTermination() because requestTermination() now calls
didClose() which calls processDidCrash() which already calls
resetStateAfterProcessExited(). Because the processDidCrash()
delegates may start new loads, we really do not want to
reset the state again after calling the delegates.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::requestTermination):
- Call didClose() in WebProcessProxy::requestTermination() so that the processDidCrash() delegates get called in API tests whenever a WebContent process is terminated to simulate a crash.
- Stop calling shutDown() and webConnection()->didClose() because didClose() already does this for us.
Tools:
Add API test to cover crash fix in r204135. This reproduces the crash
by destroying a related WKWebView in the webViewWebContentProcessDidTerminate
callback.
- TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:
(-[NavigationDelegate webViewWebContentProcessDidTerminate:]):
(TEST):
- 10:14 AM Changeset in webkit [204242] by
-
- 17 edits in trunk
Un-expose DOMSettableTokenList
https://bugs.webkit.org/show_bug.cgi?id=160643
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/dom/historical-expected.txt:
Source/WebCore:
Un-expose DOMSettableTokenList. We merged DOMSettableTokenList into
DOMTokenList a while back, as per the specification. At the time, we
kept DOMSettableTokenList on Window, as an alias to DOMTokenList.
However, Firefox and Chrome dropped DOMSettableTokenList completely.
We now do the same as other browsers.
No new tests, rebaselined existing test.
- page/DOMWindow.idl:
LayoutTests:
Update / rebaseline existing tests.
- fast/dom/HTMLLinkElement/sizes-setter-expected.txt:
- fast/dom/HTMLLinkElement/sizes-setter.html:
- fast/dom/HTMLOutputElement/dom-settable-token-list-expected.txt:
- fast/dom/HTMLOutputElement/script-tests/dom-settable-token-list.js:
- fast/frames/sandbox-attribute-expected.txt:
- fast/frames/sandbox-attribute.html:
- js/dom/global-constructors-attributes-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
- platform/mac/js/dom/global-constructors-attributes-expected.txt:
- platform/win/js/dom/global-constructors-attributes-expected.txt:
- 10:05 AM Changeset in webkit [204241] by
-
- 2 edits in trunk/Source/WebCore
DocumentRuleSets::collectFeatures() should shrink-to-fit.
<https://webkit.org/b/160646>
Reviewed by Darin Adler.
We forgot to shrink-wrap the RuleFeatureSet in DocumentRuleSets
after collecting the document-wide features.
- css/DocumentRuleSets.cpp:
(WebCore::DocumentRuleSets::collectFeatures):
- 12:40 AM Changeset in webkit [204240] by
-
- 2 edits in trunk/LayoutTests
LayoutTest http/tests/fetch/fetch-in-worker-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=160510
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-07
- TestExpectations: Marking fetch-in-worker-crash.html as flaky
Aug 6, 2016:
- 10:52 PM Changeset in webkit [204239] by
-
- 45 edits in trunk/Source/WebCore
Purge all uses of PassRefPtr in WebCore/Modules
https://bugs.webkit.org/show_bug.cgi?id=159965
Reviewed by Chris Dumez.
Final clean up in Modules directory.
No new tests, no behavior changes.
- Modules/gamepad/deprecated/GamepadList.cpp:
(WebCore::GamepadList::set):
- Modules/gamepad/deprecated/GamepadList.h:
- Modules/indexeddb/IDBGetResult.h:
(WebCore::IDBGetResult::IDBGetResult):
- Modules/indieui/UIRequestEvent.cpp:
(WebCore::UIRequestEvent::create):
(WebCore::UIRequestEvent::UIRequestEvent):
- Modules/indieui/UIRequestEvent.h:
(WebCore::UIRequestEvent::receiver):
- Modules/mediasource/MediaSourceRegistry.h:
- Modules/mediasource/SampleMap.cpp:
(WebCore::SampleMap::addSample):
- Modules/mediasource/SampleMap.h:
(WebCore::SampleMap::addRange):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::textTrackAddCue):
(WebCore::SourceBuffer::textTrackRemoveCue):
- Modules/mediasource/SourceBuffer.h:
- Modules/mediastream/CaptureDeviceManager.cpp:
(CaptureDeviceManager::bestSourcesForTypeAndConstraints):
- Modules/mediastream/CaptureDeviceManager.h:
- Modules/mediastream/MediaDevicesRequest.h:
- Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::internalAddTrack):
(WebCore::MediaStream::internalRemoveTrack):
- Modules/mediastream/MediaStreamRegistry.h:
- Modules/mediastream/MediaStreamTrackEvent.cpp:
(WebCore::MediaStreamTrackEvent::create):
(WebCore::MediaStreamTrackEvent::MediaStreamTrackEvent):
(WebCore::MediaStreamTrackEvent::track):
- Modules/mediastream/MediaStreamTrackEvent.h:
- Modules/mediastream/MediaTrackConstraints.cpp:
(WebCore::MediaTrackConstraints::create):
(WebCore::MediaTrackConstraints::MediaTrackConstraints):
(WebCore::MediaTrackConstraints::optional):
- Modules/mediastream/MediaTrackConstraints.h:
- Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::create):
(WebCore::RTCDTMFSender::RTCDTMFSender):
- Modules/mediastream/RTCDTMFSender.h:
- Modules/mediastream/RTCDataChannelEvent.cpp:
(WebCore::RTCDataChannelEvent::create):
(WebCore::RTCDataChannelEvent::RTCDataChannelEvent):
(WebCore::RTCDataChannelEvent::channel):
- Modules/mediastream/RTCDataChannelEvent.h:
- Modules/mediastream/RTCIceServer.h:
- Modules/mediastream/RTCStatsReport.h:
- Modules/mediastream/SourceInfo.cpp:
(WebCore::SourceInfo::create):
(WebCore::SourceInfo::SourceInfo):
- Modules/mediastream/SourceInfo.h:
- Modules/mediastream/UserMediaClient.h:
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::UserMediaRequest):
(WebCore::UserMediaRequest::didCreateStream):
- Modules/mediastream/UserMediaRequest.h:
- Modules/webdatabase/Database.cpp:
(WebCore::Database::~Database):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackAddCue):
(WebCore::HTMLMediaElement::textTrackRemoveCue):
- html/HTMLMediaElement.h:
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::textTrackAddCue):
(WebCore::HTMLTrackElement::textTrackRemoveCue):
- html/HTMLTrackElement.h:
- html/track/TextTrack.h:
- platform/graphics/SourceBufferPrivateClient.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
- platform/mediastream/MediaStreamCreationClient.h:
- platform/mediastream/mac/AVCaptureDeviceManager.h:
- platform/mediastream/mac/AVCaptureDeviceManager.mm:
(WebCore::AVCaptureDeviceManager::bestSourcesForTypeAndConstraints):
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
(WebCore::RealtimeMediaSourceCenterMac::validateRequestConstraints):
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::didReceiveSample):
- 9:21 PM Changeset in webkit [204238] by
-
- 4 edits in trunk
Unreviewed, rolling out r204226.
Broke some API tests
Reverted changeset:
"Write API test to cover crash fix in r204135"
https://bugs.webkit.org/show_bug.cgi?id=160587
http://trac.webkit.org/changeset/204226
- 8:22 PM Changeset in webkit [204237] by
-
- 5 edits2 adds in trunk
a.replaceChild(a, a) should throw a HierarchyRequestError
https://bugs.webkit.org/show_bug.cgi?id=160640
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/dom/nodes/Node-replaceChild-expected.txt:
Source/WebCore:
a.replaceChild(a, a) should throw a HierarchyRequestError, because 'a'
is a host-including inclusive ancestor of 'a':
However, the call is merely ignored in WebKit.
No new tests, rebaselined existing test.
- dom/ContainerNode.cpp:
(WebCore::ContainerNode::replaceChild):
LayoutTests:
- fast/dom/Node/replaceChild-notFoundError-expected.txt: Added.
- fast/dom/Node/replaceChild-notFoundError.html: Added.
- 8:06 PM Changeset in webkit [204236] by
-
- 12 edits17 deletes in trunk
Drop legacy Text.replaceWholeText() API
https://bugs.webkit.org/show_bug.cgi?id=160641
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that one more check is passing.
- web-platform-tests/dom/historical-expected.txt:
Source/WebCore:
Drop legacy Text.replaceWholeText() API, which is no longer in the
specification:
Firefox and Chrome already dropped support for it.
No new tests, rebaselined existing test.
- dom/Text.idl:
LayoutTests:
Drop outdated tests / checks.
- dom/xhtml/level3/core/textreplacewholetext01-expected.txt: Removed.
- dom/xhtml/level3/core/textreplacewholetext01.js: Removed.
- dom/xhtml/level3/core/textreplacewholetext01.xhtml: Removed.
- dom/xhtml/level3/core/textreplacewholetext02-expected.txt: Removed.
- dom/xhtml/level3/core/textreplacewholetext02.js: Removed.
- dom/xhtml/level3/core/textreplacewholetext02.xhtml: Removed.
- dom/xhtml/level3/core/textreplacewholetext03-expected.txt: Removed.
- dom/xhtml/level3/core/textreplacewholetext03.js: Removed.
- dom/xhtml/level3/core/textreplacewholetext03.xhtml: Removed.
- dom/xhtml/level3/core/textreplacewholetext04-expected.txt: Removed.
- dom/xhtml/level3/core/textreplacewholetext04.js: Removed.
- dom/xhtml/level3/core/textreplacewholetext04.xhtml: Removed.
- dom/xhtml/level3/core/textreplacewholetext05-expected.txt: Removed.
- dom/xhtml/level3/core/textreplacewholetext05.js: Removed.
- dom/xhtml/level3/core/textreplacewholetext05.xhtml: Removed.
- fast/dom/Attr/change-id-via-attr-node-value-expected.txt:
- fast/dom/Attr/change-id-via-attr-node-value.html:
- fast/dom/Text/replaceWholeText-expected.txt: Removed.
- fast/dom/Text/replaceWholeText.html: Removed.
- fast/storage/storage-detached-iframe-expected.txt:
- fast/storage/storage-detached-iframe.html:
- http/tests/security/xss-DENIED-iframe-src-alias-expected.txt:
- http/tests/security/xss-DENIED-iframe-src-alias.html:
- platform/mac/inspector/model/remote-object-expected.txt:
- 7:43 PM Changeset in webkit [204235] by
-
- 10 edits in trunk
Align Range.createContextualFragment() input validation with the specification
https://bugs.webkit.org/show_bug.cgi?id=160634
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/domparsing/createContextualFragment-expected.txt:
Source/WebCore:
Align Range.createContextualFragment() input validation with the specification:
In particular, we were throwing a NOT_SUPPORTED_ERR when element had localname
"html" but was not in the HTML namespace. We should not throw in this case.
Firefox complies with the specification here.
No new tests, rebaselined existing test.
- dom/Range.cpp:
(WebCore::Range::createContextualFragment): Deleted.
- 7:29 PM Changeset in webkit [204234] by
-
- 9 edits in trunk
[Web IDL] Add support for [Unscopable] extended attribute
https://bugs.webkit.org/show_bug.cgi?id=160637
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C test now that more checks are passing.
- web-platform-tests/dom/nodes/remove-unscopable-expected.txt:
Source/WebCore:
Add support for [Unscopable] extended attribute:
No new tests, rebaselined existing test.
- bindings/scripts/CodeGeneratorJS.pm:
(addUnscopableProperties):
(GenerateImplementation):
- bindings/scripts/IDLAttributes.txt:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjPrototype::finishCreation):
- bindings/scripts/test/TestObj.idl:
- dom/ChildNode.idl:
- dom/ParentNode.idl:
- 6:50 PM Changeset in webkit [204233] by
-
- 4 edits in trunk/Source/WebInspectorUI
REGRESSION (r203253): Node details sidebar flickers while resizing
https://bugs.webkit.org/show_bug.cgi?id=160631
<rdar://problem/27733024>
Reviewed by Timothy Hatcher.
Sidebar panel layouts can be expensive, and should be performed only
when necessary (i.e., when the panel is shown for the first time, or
model data changed while the panel was hidden).
- UserInterface/Views/Sidebar.js:
(WebInspector.Sidebar.prototype._recalculateWidth):
- UserInterface/Views/SidebarPanel.js:
(WebInspector.SidebarPanel.prototype.shown):
- UserInterface/Views/View.js:
(WebInspector.View.prototype.updateLayoutIfNeeded):
Update the layout if an initial layout was never performed.
- 6:41 PM Changeset in webkit [204232] by
-
- 2 edits in trunk/Source/WebKit2
[Cocoa] -[_WKRemoteObjectRegistry() _invokeMethod:] leaks a block
https://bugs.webkit.org/show_bug.cgi?id=160636
Reviewed by Darin Adler.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]): Release the block returned from
NSMakeSpecialForwardingCaptureBlock.
- 4:43 PM Changeset in webkit [204231] by
-
- 3 edits in trunk/LayoutTests/imported/w3c
imported/w3c/web-platform-tests/fetch/api/basic/mode-same-origin.html and -worker.html are failing after r204224
https://bugs.webkit.org/show_bug.cgi?id=160639
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
- web-platform-tests/fetch/api/basic/mode-same-origin-expected.txt: Rebaased after redirect.py update in
https://bugs.webkit.org/show_bug.cgi?id=160593.
- web-platform-tests/fetch/api/basic/mode-same-origin-worker-expected.txt: Ditto.
- 12:33 PM Changeset in webkit [204230] by
-
- 3 edits in trunk/Tools
EWS Style Queue fails to process patches which fails validation
https://bugs.webkit.org/show_bug.cgi?id=160632
Reviewed by Alexey Proskuryakov.
- Scripts/webkitpy/tool/bot/stylequeuetask.py:
(StyleQueueTask.validate): Add more information about validation failure.
(StyleQueueTask.run): Pass the error details in the PatchIsNotValid exception.
- Scripts/webkitpy/tool/commands/queues_unittest.py:
(test_non_valid_patch): Add a unit test to test the above code path.
- 11:23 AM Changeset in webkit [204229] by
-
- 1 copy in tags/Safari-602.1.50
New tag.
- 11:19 AM Changeset in webkit [204228] by
-
- 2 edits in trunk/Source/WebCore
Simplify valueToUSVString
https://bugs.webkit.org/show_bug.cgi?id=160628
Reviewed by Sam Weinig.
- bindings/js/JSDOMBinding.cpp:
(WebCore::isUnmatchedSurrogatePair): Deleted. This function was incorrectly named,
since it actually returned true if any surrogate code unit was passed.
(WebCore::valueToUSVString): Added a fast path for 8-bit characters that doesn't
bother iterating the string at all. Changed the fast path to actually check for
surrogate pairs. Use StringView::codePoints rather than writing our own loop that
does the same thing. In the slow path, use StringView::codePoints to make the logic
clear rather than writing out exactly what the specification says. This gets rid of
all the many constants the old version of the function contained.
- 9:01 AM Changeset in webkit [204227] by
-
- 6 edits2 adds in trunk
WTF needs a variant implementation
https://bugs.webkit.org/show_bug.cgi?id=160618
Patch by Sam Weinig <sam@webkit.org> on 2016-08-06
Reviewed by Darin Adler.
Source/WTF:
Add an implementation of std::experimental::variant matching the C++17 draft http://wg21.link/n4606
taken from https://bitbucket.org/anthonyw/variant/src (5bce47fa788648f79e5ea1d77b0eef2e8f0b2999) and
modified to support compiling without exceptions (where it used to throw, we lovingly CRASH()).
- WTF.xcodeproj/project.pbxproj:
Add new file.
- wtf/Compiler.h:
Add COMPILER_SUPPORTS define for C++ exceptions.
- wtf/Variant.h: Added.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/Variant.cpp: Added.
Add tests for the variant implementation.
- 8:13 AM Changeset in webkit [204226] by
-
- 4 edits in trunk
Write API test to cover crash fix in r204135
https://bugs.webkit.org/show_bug.cgi?id=160587
Reviewed by Darin Adler.
Source/WebKit2:
Call didClose() in WebProcessProxy::requestTermination() so that
the processDidCrash() delegates get called in API tests whenever
a WebContent process is terminated to simulate a crash.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::requestTermination):
Tools:
Add API test to cover crash fix in r204135. This reproduces the crash
by destroying a related WKWebView in the webViewWebContentProcessDidTerminate
callback.
- TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:
(-[NavigationDelegate webViewWebContentProcessDidTerminate:]):
(TEST):
- 1:51 AM Changeset in webkit [204225] by
-
- 9 edits in trunk
[Fetch API] Fetching with a FormData body should reject until it is implemented
https://bugs.webkit.org/show_bug.cgi?id=160595
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Adding new tests to cover changes.
Removing HEAD with body test as it throws as expected and is redundant with
web-platform-tests/fetch/api/request/request-init-002.html.
- web-platform-tests/fetch/api/basic/request-headers-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers-worker-expected.txt:
- web-platform-tests/fetch/api/basic/request-headers.js:
(checkContentType):
(requestHeaders):
Source/WebCore:
Covered by updated tests.
This patch ensures that fetch will throw if trying to upload something that is not supported.
This is the case of BufferSource (FetchBody does not yet extract it) and FormData (no upload support yet).
- Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::extract): Added a FIXME.
- Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::bodyType): Getter used by FetchResponse.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::setBody): Throwing if given body parameter cannot be extracted by FetchBody.
This ensures that a fetch with a body that cannot be uploaded will fail.
This is the case of BufferSource which is not yet supported.
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::fetch): Rejecting fetch promise if trying to upload a FormData as it is not implemented.
- 1:50 AM Changeset in webkit [204224] by
-
- 11 edits in trunk
[Fetch API] Fetch API should strip fragment and credentials from URLs used as referrer
https://bugs.webkit.org/show_bug.cgi?id=160593
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/basic/referrer-expected.txt:
- web-platform-tests/fetch/api/basic/referrer-worker-expected.txt:
- web-platform-tests/fetch/api/basic/referrer.js:
(runTest): Adding more tests.
One test is failing as the redirection from same-origin to cross-origin is stripping the referer header.
But none is added afterwards. Hence cross-origin redirected request is sent without any referer header.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-expected.txt: Rebasing according redirect.py script changes.
- web-platform-tests/fetch/api/cors/cors-redirect-credentials-worker-expected.txt: Ditto.
- web-platform-tests/fetch/api/resources/redirect.py:
(main): Fixing rediret.py script.
Source/WebCore:
Covered by updated tests.
Stripping of referrer value before sending a load request.
Fixing bug in workers as referrer value was overwritten by WorkerThreadableLoader.
The current handling of referrer values as HTTP header is not great as this may trigger unnecessary preflighting.
Refactoring should allow passing it as a separate parameter and setting it after preflighting as per
https://fetch.spec.whatwg.org/#http-network-or-cache-fetch.
Also a newly added test is failing, as SubresourceLoader is removing the referer header in case of a cross-origin redirection.
But none is added back.
- Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::internalRequest): Stripping referrer value.
- loader/WorkerThreadableLoader.cpp:
(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Do not override referrer value if one is defined.
- page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::generateReferrerHeader): Adding assertion to ensure referrer value does not contain
credentials and/or fragment identifiers.
- 1:48 AM Changeset in webkit [204223] by
-
- 3 edits in trunk/LayoutTests
LayoutTest http/tests/fetch/fetch-in-worker-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=160510
Patch by Youenn Fablet <youenn@apple.com> on 2016-08-06
Reviewed by Sam Weinig.
- http/tests/fetch/fetch-in-worker-crash.html:
- http/tests/fetch/fetch-in-worker.js:
Adding a new test based on a ReadableStream that is not closed and therefore Response.text promise cannot resolve.
Removing the blob resolve message as there is no guarantee that blob load will finish after the test is done.
- 1:00 AM Changeset in webkit [204222] by
-
- 7 edits10 adds in trunk/Source/WebKit2
Lay WebProcess/UIProcess groundwork for an IPC GamepadProvider.
https://bugs.webkit.org/show_bug.cgi?id=160605
Reviewed by Alex Christensen.
This patch:
- Introduces the GamepadProvider that the WebProcess will use (WebGamepadProvider)
- Has that provider message to the UIProcess notifying interest in gamepad state
- Introduces a GamepadProviderClient in the UIProcess (UIGamepadProvider) that will use one of the existing GamepadProviders to pass gamepad state along to WebProcesses.
- Adds an empty skeleton for the soon-to-be-used WebGamepad, which will be the "PlatformGamepad" for WebProcesses.
- CMakeLists.txt:
- WebKit2.xcodeproj/project.pbxproj:
- UIProcess/Gamepads/UIGamepadProvider.cpp: Added.
(WebKit::UIGamepadProvider::singleton):
(WebKit::UIGamepadProvider::UIGamepadProvider):
(WebKit::UIGamepadProvider::~UIGamepadProvider):
(WebKit::UIGamepadProvider::platformGamepadConnected):
(WebKit::UIGamepadProvider::platformGamepadDisconnected):
(WebKit::UIGamepadProvider::platformGamepadInputActivity):
(WebKit::UIGamepadProvider::processPoolStartedUsingGamepads):
(WebKit::UIGamepadProvider::processPoolStoppedUsingGamepads):
(WebKit::UIGamepadProvider::platformStartMonitoringGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads):
- UIProcess/Gamepads/UIGamepadProvider.h: Added.
- UIProcess/Gamepads/mac/UIGamepadProviderHID.cpp: Added.
(WebKit::UIGamepadProvider::platformStartMonitoringGamepads):
(WebKit::UIGamepadProvider::platformStopMonitoringGamepads):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::~WebProcessPool):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::startedUsingGamepads):
(WebKit::WebProcessPool::stoppedUsingGamepads):
(WebKit::WebProcessPool::processStoppedUsingGamepads):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessPool.messages.in:
- WebProcess/Gamepad/WebGamepad.cpp: Added.
- WebProcess/Gamepad/WebGamepad.h: Added.
- WebProcess/Gamepad/WebGamepadProvider.cpp: Added.
(WebKit::WebGamepadProvider::singleton):
(WebKit::WebGamepadProvider::WebGamepadProvider):
(WebKit::WebGamepadProvider::~WebGamepadProvider):
(WebKit::WebGamepadProvider::startMonitoringGamepads):
(WebKit::WebGamepadProvider::stopMonitoringGamepads):
(WebKit::WebGamepadProvider::platformGamepads):
- WebProcess/Gamepad/WebGamepadProvider.h: Added.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):