Timeline
Feb 24, 2016:
- 11:45 PM Changeset in webkit [197064] by
-
- 5 edits in releases/WebKitGTK/webkit-2.10/Source
Merge r197062 - [GTK] Tearing when entering AC mode
https://bugs.webkit.org/show_bug.cgi?id=150955
Reviewed by Michael Catanzaro.
Source/WebCore:
- platform/gtk/GtkUtilities.cpp:
(WebCore::widgetIsOnscreenToplevelWindow): Allow passing nullptr.
Source/WebKit2:
When entering accelerated compositing mode, we keep rendering the
non accelerated contents until we have the first frame of
accelerated compositing contents. When the view is created hidden,
for example when the browser opens a link in a new tab, the view
is not realized until it is mapped. The native surface handle for
compositing, needed by the web process to render accelerated
compositing contents, is not available until the view is realized,
because it depends on the properties of the parent. When a web
view is mapped for the first time, and then realized, we send the
native surface handle for compositing to the web process, and keep
rendering the non composited contents until we get the first
frame, but in this case we never had non composited contents and
we end up rendering an untinitalized surface. This sometimes just
produces flickering and sometimes rendering artifacts.
We can prevent this from happening by realizing the web view as
soon as possible. A GtkWidget can't be realized until it has been
added to a toplevel, so we can realize our view right after it is
added to a toplevel window, and wait until the view is actually
mapped to notify the web process that it has been added to a
window. This way can we enter accelerated compositing mode before
the web view is mapped, so that when mapped we don't try to paint
the previous contents and don't need to wait for the first frame.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toplevelWindowFocusInEvent): Handle the case of the window being
hidden when receiving focus in. According to
gtk_window_focus_in_event, this can happen.
(webkitWebViewBaseSetToplevelOnScreenWindow): When the web view is
removed from its toplevel parent, update the IsInWindow and
WindowIsActive flags accordingly. When the view is added to a
toplevel, realize it and don't update the window flags, they will be
updated when the view is mapped the first time.
(webkitWebViewBaseMap): Also update IsInWindow and WindowIsActive
flags if needed. This way, if for example you open a youtube video
in a new tab, the video won't start playing until you visit the
tab, like we did when the view was realized on map.
(webkitWebViewBaseHierarchyChanged): Use hierarchy-changed signal
instead of parent-set to be notified when the view is added to or
removed from a toplevel.
(webkit_web_view_base_class_init): Implement hierarchy-changed
instead of parent-set.
(webkitWebViewBaseRealize): Do not call
webkitWebViewBaseSetToplevelOnScreenWindow on realize, it's now
webkitWebViewBaseSetToplevelOnScreenWindow the one realizing the view.
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend): Do not realize the view
here, it should be realized already at this point. If it's not
realized at this point is because it hasn't been added to a
toplevel and gtk_widget_realize will not work anyway.
(WebKit::BackingStore::paint): This is changing the cairo source
operator, so save/restore the cairo context to ensure it doesn't
affect other drawing done after this.
- 11:43 PM Changeset in webkit [197063] by
-
- 3 edits in releases/WebKitGTK/webkit-2.10/Source/WebKit2
Merge r196062 - [GTK] Reduce IPC traffic due to view state changes
https://bugs.webkit.org/show_bug.cgi?id=153745
Reviewed by Sergio Villar Senin.
Very often view state changes happen one after another in a very
short period of time, even in the same run loop iteration. For
example, when you switch to the web view window, the view is
focused and the active window flag changes as well. In that case
we are sending two messages to the web process and the page
updates its status according to the new flags in two steps. So, we
could group all state changes happening in the same run loop
iteration and notify about them all in the next iteration. This
also prevents unnecessary changes of state when we quickly go back
to a previous state, for example in focus follows mouse
configurations if you move the mouse outside the window and then
inside the window again quickly.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate): Use
VirewState::Flags to keep the web view state instead of
boolean, and also to keep the flags that need to be updated. Use a
timer to update web view state flags.
(_WebKitWebViewBasePrivate::updateViewStateTimerFired): Call
WebPageProxy::viewStateDidChange() and reset the flags that need
to be updated.
(webkitWebViewBaseScheduleUpdateViewState): Update the flags that
need to be updated and schedule the timer if it's not active.
(toplevelWindowFocusInEvent): Use the flags and schedule an update.
(toplevelWindowFocusOutEvent): Ditto.
(toplevelWindowStateEvent): Also mark the view as hidden when minimized.
(webkitWebViewBaseSetToplevelOnScreenWindow): Connect to
window-state-event instead of deprecated visibility-notify-event.
(webkitWebViewBaseMap): Use the flags and schedule an update.
(webkitWebViewBaseUnmap): Ditto.
(webkitWebViewBaseSetFocus): Ditto.
(webkitWebViewBaseIsInWindowActive): Use the flags.
(webkitWebViewBaseIsFocused): Ditto
(webkitWebViewBaseIsVisible): Ditto.
(webkitWebViewBaseIsInWindow): Removed this since it was unused.
- UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
- 11:40 PM WebKitGTK/2.10.x edited by
- (diff)
- 11:37 PM Changeset in webkit [197062] by
-
- 5 edits in trunk/Source
[GTK] Tearing when entering AC mode
https://bugs.webkit.org/show_bug.cgi?id=150955
Reviewed by Michael Catanzaro.
Source/WebCore:
- platform/gtk/GtkUtilities.cpp:
(WebCore::widgetIsOnscreenToplevelWindow): Allow passing nullptr.
Source/WebKit2:
When entering accelerated compositing mode, we keep rendering the
non accelerated contents until we have the first frame of
accelerated compositing contents. When the view is created hidden,
for example when the browser opens a link in a new tab, the view
is not realized until it is mapped. The native surface handle for
compositing, needed by the web process to render accelerated
compositing contents, is not available until the view is realized,
because it depends on the properties of the parent. When a web
view is mapped for the first time, and then realized, we send the
native surface handle for compositing to the web process, and keep
rendering the non composited contents until we get the first
frame, but in this case we never had non composited contents and
we end up rendering an untinitalized surface. This sometimes just
produces flickering and sometimes rendering artifacts.
We can prevent this from happening by realizing the web view as
soon as possible. A GtkWidget can't be realized until it has been
added to a toplevel, so we can realize our view right after it is
added to a toplevel window, and wait until the view is actually
mapped to notify the web process that it has been added to a
window. This way can we enter accelerated compositing mode before
the web view is mapped, so that when mapped we don't try to paint
the previous contents and don't need to wait for the first frame.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(toplevelWindowFocusInEvent): Handle the case of the window being
hidden when receiving focus in. According to
gtk_window_focus_in_event, this can happen.
(webkitWebViewBaseSetToplevelOnScreenWindow): When the web view is
removed from its toplevel parent, update the IsInWindow and
WindowIsActive flags accordingly. When the view is added to a
toplevel, realize it and don't update the window flags, they will be
updated when the view is mapped the first time.
(webkitWebViewBaseMap): Also update IsInWindow and WindowIsActive
flags if needed. This way, if for example you open a youtube video
in a new tab, the video won't start playing until you visit the
tab, like we did when the view was realized on map.
(webkitWebViewBaseHierarchyChanged): Use hierarchy-changed signal
instead of parent-set to be notified when the view is added to or
removed from a toplevel.
(webkit_web_view_base_class_init): Implement hierarchy-changed
instead of parent-set.
(webkitWebViewBaseRealize): Do not call
webkitWebViewBaseSetToplevelOnScreenWindow on realize, it's now
webkitWebViewBaseSetToplevelOnScreenWindow the one realizing the view.
- UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::createBackend): Do not realize the view
here, it should be realized already at this point. If it's not
realized at this point is because it hasn't been added to a
toplevel and gtk_widget_realize will not work anyway.
(WebKit::BackingStore::paint): This is changing the cairo source
operator, so save/restore the cairo context to ensure it doesn't
affect other drawing done after this.
- 8:59 PM Changeset in webkit [197061] by
-
- 9 edits in trunk
Web Inspector: Expose Proxy target and handler internal properties to Inspector
https://bugs.webkit.org/show_bug.cgi?id=154663
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-02-24
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::getInternalProperties):
Expose the ProxyObject's target and handler.
Source/WebInspectorUI:
- UserInterface/Models/NativeFunctionParameters.js:
- UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._functionParameterString):
Improve the native parameter list for the global Reflect object methods.
Include "enumerate" even though it is deprecated, because we implement it.
LayoutTests:
- inspector/model/remote-object.html:
- platform/mac/inspector/model/remote-object-expected.txt:
Test that a Proxy object includes the internal properties.
- 6:39 PM Changeset in webkit [197060] by
-
- 46 edits in trunk/Source/WebCore
Drop [TreatReturnedNullStringAs=Null] WebKit-specific IDL attribute
https://bugs.webkit.org/show_bug.cgi?id=154659
Reviewed by Sam Weinig.
Drop [TreatReturnedNullStringAs=Null] WebKit-specific IDL attribute and
use nullable DOMString types instead:
http://heycam.github.io/webidl/#idl-nullable-type
This is the standard way of doing things. We already had support
in the bindings generator for nullable DOMString attributes so
we now just leverage this support. However, our IDL parser did
not correctly parse nullable DOMString return values for operations.
This patch fixes this.
This patch also drops [TreatNullAs=NullString] and
[TreatUndefinedAs=NullString] for writable DOMString attributes that
are now marked as nullable because they are implied.
- Modules/fetch/FetchHeaders.idl:
- Modules/indexeddb/IDBObjectStore.idl:
- Modules/mediasource/DOMURLMediaSource.idl:
- Modules/mediastream/DOMURLMediaStream.idl:
- Modules/websockets/WebSocket.idl:
- bindings/scripts/CodeGeneratorJS.pm:
(NativeToJSValue): Deleted.
- bindings/scripts/IDLAttributes.txt:
- bindings/scripts/IDLParser.pm:
(parseAttributeOrOperationRest):
(parseOperationOrIterator):
(parseSpecialOperation):
- bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_nullable_string_method):
(webkit_dom_test_obj_nullable_string_special_method):
(webkit_dom_test_obj_conditional_method3): Deleted.
(webkit_dom_test_obj_convert1): Deleted.
- bindings/scripts/test/GObject/WebKitDOMTestObj.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertySlotByIndex):
(WebCore::JSTestObj::getOwnPropertyNames):
(WebCore::jsTestObjPrototypeFunctionNullableStringMethod):
(WebCore::jsTestObjConstructorFunctionNullableStringStaticMethod):
(WebCore::jsTestObjPrototypeFunctionNullableStringSpecialMethod):
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence): Deleted.
(WebCore::jsTestObjPrototypeFunctionMethodWithAndWithoutNullableSequence2): Deleted.
- bindings/scripts/test/JS/JSTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.h:
- bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj nullableStringMethod]):
(-[DOMTestObj nullableStringStaticMethod]):
(-[DOMTestObj nullableStringSpecialMethod:]):
(-[DOMTestObj overloadedMethod1:]): Deleted.
(-[DOMTestObj getSVGDocument]): Deleted.
- bindings/scripts/test/TestObj.idl:
- css/CSSCharsetRule.idl:
- css/CSSImportRule.idl:
- css/CSSKeyframesRule.idl:
- css/CSSPageRule.idl:
- css/CSSRule.idl:
- css/CSSStyleDeclaration.idl:
- css/CSSStyleRule.idl:
- css/CSSValue.idl:
- css/MediaList.idl:
- css/StyleSheet.idl:
- dom/Attr.idl:
- dom/CharacterData.idl:
- dom/DOMStringList.idl:
- dom/Document.idl:
- dom/DocumentType.idl:
- dom/Element.idl:
- dom/Entity.idl:
- dom/MutationRecord.idl:
- dom/Node.idl:
- dom/ProcessingInstruction.idl:
- html/DOMSettableTokenList.idl:
- html/DOMTokenList.idl:
- html/DOMURL.idl:
- html/canvas/WebGLDebugShaders.idl:
- html/canvas/WebGLRenderingContextBase.idl:
- page/DOMWindow.idl:
- storage/Storage.idl:
- storage/StorageEvent.idl:
- xml/XMLHttpRequest.idl:
- xml/XPathNSResolver.idl:
- 6:37 PM WebKitIDL edited by
- (diff)
- 5:28 PM Changeset in webkit [197059] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Visual Styles sidebar should support multiple animations
https://bugs.webkit.org/show_bug.cgi?id=154546
<rdar://problem/24773861>
Patch by Devin Rousso <Devin Rousso> on 2016-02-24
Reviewed by Timothy Hatcher.
- UserInterface/Views/VisualStyleDetailsPanel.js:
(WebInspector.VisualStyleDetailsPanel.prototype._populateTransitionSection):
Set additional flags on the optional properties of transition to ensure
that the initial value of a new row is not considered invalid.
(WebInspector.VisualStyleDetailsPanel.prototype._populateAnimationSection):
Added a comma-separated keyword list to provide support for multiple
animations per rule.
- 5:11 PM Changeset in webkit [197058] by
-
- 28 edits11 adds in trunk
[web-animations] Add AnimationTimeline, DocumentTimeline and add extensions to Document interface
https://bugs.webkit.org/show_bug.cgi?id=151688
Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2016-02-24
Reviewed by Dean Jackson.
.:
Enables the WEB_ANIMATIONS compiler switch.
- Source/cmake/OptionsWin.cmake:
Source/JavaScriptCore:
Enables the WEB_ANIMATIONS compiler switch.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Adds DocumentTimeline interface and class implementation
- Implements the DocumentAnimation extension to the Document Interface that contains a default DocumentTimeline
- Add AnimationTimeline interface stub (i.e. without getAnimations and currentTime)
- Adds AnimationTimeline class implementation for AnimationTimeline interface stub
- Adds Javascript bindings for the above classes and interfaces
- Enables the WEB_ANIMATIONS compiler switch
No tests yet. Tests will be added as class functionality is added incrementally.
- CMakeLists.txt:
- Configurations/FeatureDefines.xcconfig:
- DerivedSources.make:
- PlatformGTK.cmake:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.vcxproj/WebCoreIncludeCommon.props:
- WebCore.vcxproj/copyForwardingHeaders.cmd:
- WebCore.xcodeproj/project.pbxproj:
- animation/AnimationTimeline.cpp: Added.
(WebCore::AnimationTimeline::AnimationTimeline):
(WebCore::AnimationTimeline::~AnimationTimeline):
(WebCore::AnimationTimeline::destroy):
- animation/AnimationTimeline.h: Added.
(WebCore::AnimationTimeline::deref):
(WebCore::AnimationTimeline::isDocumentTimeline):
(WebCore::AnimationTimeline::classType):
- animation/AnimationTimeline.idl: Added.
- animation/DocumentAnimation.cpp: Added.
(WebCore::DocumentAnimation::DocumentAnimation):
(WebCore::DocumentAnimation::~DocumentAnimation):
(WebCore::DocumentAnimation::timeline):
(WebCore::DocumentAnimation::supplementName):
(WebCore::DocumentAnimation::from):
- animation/DocumentAnimation.h: Added.
- animation/DocumentAnimation.idl: Added.
- animation/DocumentTimeline.cpp: Added.
(WebCore::DocumentTimeline::create):
(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::~DocumentTimeline):
- animation/DocumentTimeline.h: Added.
- animation/DocumentTimeline.idl: Added.
- bindings/js/JSAnimationTimelineCustom.cpp: Added.
(WebCore::toJS):
- bindings/js/JSBindingsAllInOne.cpp:
- bindings/scripts/CodeGeneratorGObject.pm:
- dom/Document.h:
Source/WebKit/mac:
Enables the WEB_ANIMATIONS compiler switch.
- Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
Enables the WEB_ANIMATIONS compiler switch.
- Configurations/FeatureDefines.xcconfig:
Source/WTF:
Enables the WEB_ANIMATIONS compiler switch.
- wtf/FeatureDefines.h:
Tools:
Enables the WEB_ANIMATIONS compiler switch by default.
- Scripts/webkitperl/FeatureList.pm:
WebKitLibraries:
Enables the WEB_ANIMATIONS compiler switch.
- win/tools/vsprops/FeatureDefines.props:
- win/tools/vsprops/FeatureDefinesCairo.props:
- 4:53 PM WebKitIDL edited by
- Drop TreatReturnedNullStringAs=False as this is NOT supported (diff)
- 4:23 PM Changeset in webkit [197057] by
-
- 5 edits in trunk/Source/WebCore
Modern IDB: Some w3c objectstore tests crash under GuardMalloc.
https://bugs.webkit.org/show_bug.cgi?id=154460
Reviewed by Alex Christensen.
No new tests (Covered by existing tests).
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::performCurrentDeleteOperation):
(WebCore::IDBServer::UniqueIDBDatabase::didDeleteBackingStore): Don't delete the UniqueIDBDatabase yet
if there are still any connections pending close.
(WebCore::IDBServer::UniqueIDBDatabase::didPerformCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::didPerformAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::inProgressTransactionCompleted): It's possible that with this
transaction completing, and a connection finished its close process, that the UniqueIDBDatabase is
now ready to be deleted.
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseConnection::abortTransactionWithoutCallback):
- Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
- Modules/indexeddb/server/UniqueIDBDatabaseTransaction.cpp:
(WebCore::IDBServer::UniqueIDBDatabaseTransaction::abortWithoutCallback):
- 3:47 PM Changeset in webkit [197056] by
-
- 8 edits in trunk
[cmake] Moved PRE/POST_BUILD_COMMAND to WEBKIT_FRAMEWORK.
https://bugs.webkit.org/show_bug.cgi?id=154651
Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-02-24
Reviewed by Alex Christensen.
.:
- Source/cmake/WebKitMacros.cmake:
Source/JavaScriptCore:
- CMakeLists.txt: Moved shared code to WEBKIT_FRAMEWORK macro.
Source/WebCore:
No new tests needed.
- CMakeLists.txt: Moved shared code to WEBKIT_FRAMEWORK macro.
Source/WTF:
- CMakeLists.txt: Moved shared code to WEBKIT_FRAMEWORK macro.
- 3:37 PM Changeset in webkit [197055] by
-
- 2 edits in trunk/Source/WebCore
Use more references in FocusNavigationScope
https://bugs.webkit.org/show_bug.cgi?id=154637
Reviewed by Chris Dumez.
Use references in various functions of FocusNavigationScope as well as m_treeScope.
- page/FocusController.cpp:
(WebCore::FocusNavigationScope::FocusNavigationScope): Takes TreeScope& instead of TreeScope*.
(WebCore::FocusNavigationScope::rootNode): Returns ContainerNode& instead of ContainerNode*.
(WebCore::FocusNavigationScope::owner):
(WebCore::FocusNavigationScope::scopeOf): Takes Node& instead of Node*. Renamed from focusNavigationScopeOf.
(WebCore::FocusNavigationScope::scopeOwnedByShadowHost): Ditto. Renamed from focusNavigationScopeOwnedByShadowHost.
(WebCore::FocusNavigationScope::scopeOwnedByIFrame): Ditto. Renamed from focusNavigationScopeOwnedByIFrame.
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):
(WebCore::FocusController::findFocusableElementAcrossFocusScope): Define currentScope inside the loop now that
the copy constructor of FocusNavigationScope no longer exists (since m_treeScope is a reference).
(WebCore::FocusController::findFocusableElementRecursively):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
- 3:19 PM Changeset in webkit [197054] by
-
- 7 edits in trunk/Source/WebKit2
Add WKPreference for HiddenPageDOMTimerThrottlingAutoIncreases
https://bugs.webkit.org/show_bug.cgi?id=154655
Reviewed by Geoff Garen.
Just plumbing WebCore.settings.setHiddenPageDOMTimerThrottlingAutoIncreases through as
WKPreferencesSetHiddenPageDOMTimerThrottlingAutoIncreases.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetHiddenPageDOMTimerThrottlingAutoIncreases):
(WKPreferencesGetHiddenPageDOMTimerThrottlingAutoIncreases):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _hiddenPageDOMTimerThrottlingAutoIncreases]):
(-[WKPreferences _setHiddenPageDOMTimerThrottlingAutoIncreases:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 2:23 PM Changeset in webkit [197053] by
-
- 5 edits8 adds in trunk/Source/WebCore
WebRTC: Add MediaEndpoint interface (WebRTC backend abstraction)
https://bugs.webkit.org/show_bug.cgi?id=150165
Reviewed by Eric Carlson.
Add the MediaEndpoint interface along with its companion objects.
MediaEndpoint interface: A WebRTC platform abstraction that is used to
configure how the the WebRTC backend sends and receives. It also abstracts
ICE functionality such as generating local candidates and doing
checking on remote candidates. The RTCPeerConnection API, and other API
objects such as RTCRtpSender/Receiver, live above MediaEndpoint.
MediaEndpointConfiguration: A settings object used to configure a
MediaEndpoint with, for example, ICE helper servers and other polices.
A MediaEndpointConfiguration is used to initialize a MediaEndpoint, but
can also be used to update settings.
MediaEndpointSessionConfiguration: An object that describes how the
MediaEndpoint should send and receive. Contains PeerMediaDescription,
MediaPayload and IceCandidate objects.
Tests: The MediaEndpoint platform interface has no implementations yet.
- CMakeLists.txt:
- Modules/mediastream/MediaEndpointPeerConnection.cpp:
(WebCore::MediaEndpointPeerConnection::gotDtlsFingerprint):
(WebCore::MediaEndpointPeerConnection::gotIceCandidate):
(WebCore::MediaEndpointPeerConnection::doneGatheringCandidates):
(WebCore::MediaEndpointPeerConnection::gotRemoteSource):
- Modules/mediastream/MediaEndpointPeerConnection.h:
- WebCore.xcodeproj/project.pbxproj:
- platform/mediastream/IceCandidate.h: Added.
(WebCore::IceCandidate::create):
(WebCore::IceCandidate::~IceCandidate):
(WebCore::IceCandidate::type):
(WebCore::IceCandidate::setType):
(WebCore::IceCandidate::foundation):
(WebCore::IceCandidate::setFoundation):
(WebCore::IceCandidate::componentId):
(WebCore::IceCandidate::setComponentId):
(WebCore::IceCandidate::transport):
(WebCore::IceCandidate::setTransport):
(WebCore::IceCandidate::priority):
(WebCore::IceCandidate::setPriority):
(WebCore::IceCandidate::address):
(WebCore::IceCandidate::setAddress):
(WebCore::IceCandidate::port):
(WebCore::IceCandidate::setPort):
(WebCore::IceCandidate::tcpType):
(WebCore::IceCandidate::setTcpType):
(WebCore::IceCandidate::relatedAddress):
(WebCore::IceCandidate::setRelatedAddress):
(WebCore::IceCandidate::relatedPort):
(WebCore::IceCandidate::setRelatedPort):
(WebCore::IceCandidate::clone):
(WebCore::IceCandidate::IceCandidate):
- platform/mediastream/MediaEndpoint.cpp: Added.
(WebCore::createMediaEndpoint):
- platform/mediastream/MediaEndpoint.h: Added.
(WebCore::MediaEndpointClient::~MediaEndpointClient):
(WebCore::MediaEndpoint::~MediaEndpoint):
- platform/mediastream/MediaEndpointConfiguration.cpp: Added.
(WebCore::IceServerInfo::IceServerInfo):
(WebCore::MediaEndpointConfiguration::MediaEndpointConfiguration):
- platform/mediastream/MediaEndpointConfiguration.h: Added.
(WebCore::IceServerInfo::create):
(WebCore::IceServerInfo::~IceServerInfo):
(WebCore::IceServerInfo::urls):
(WebCore::IceServerInfo::credential):
(WebCore::IceServerInfo::username):
(WebCore::MediaEndpointConfiguration::create):
(WebCore::MediaEndpointConfiguration::iceServers):
(WebCore::MediaEndpointConfiguration::iceTransportPolicy):
(WebCore::MediaEndpointConfiguration::bundlePolicy):
- platform/mediastream/MediaEndpointSessionConfiguration.h: Added.
(WebCore::MediaEndpointSessionConfiguration::create):
(WebCore::MediaEndpointSessionConfiguration::~MediaEndpointSessionConfiguration):
(WebCore::MediaEndpointSessionConfiguration::sessionId):
(WebCore::MediaEndpointSessionConfiguration::setSessionId):
(WebCore::MediaEndpointSessionConfiguration::sessionVersion):
(WebCore::MediaEndpointSessionConfiguration::setSessionVersion):
(WebCore::MediaEndpointSessionConfiguration::mediaDescriptions):
(WebCore::MediaEndpointSessionConfiguration::addMediaDescription):
(WebCore::MediaEndpointSessionConfiguration::clone):
(WebCore::MediaEndpointSessionConfiguration::MediaEndpointSessionConfiguration):
- platform/mediastream/MediaPayload.h: Added.
(WebCore::MediaPayload::create):
(WebCore::MediaPayload::~MediaPayload):
(WebCore::MediaPayload::type):
(WebCore::MediaPayload::setType):
(WebCore::MediaPayload::encodingName):
(WebCore::MediaPayload::setEncodingName):
(WebCore::MediaPayload::clockRate):
(WebCore::MediaPayload::setClockRate):
(WebCore::MediaPayload::channels):
(WebCore::MediaPayload::setChannels):
(WebCore::MediaPayload::ccmfir):
(WebCore::MediaPayload::setCcmfir):
(WebCore::MediaPayload::nackpli):
(WebCore::MediaPayload::setNackpli):
(WebCore::MediaPayload::nack):
(WebCore::MediaPayload::setNack):
(WebCore::MediaPayload::parameters):
(WebCore::MediaPayload::addParameter):
(WebCore::MediaPayload::clone):
(WebCore::MediaPayload::MediaPayload):
- platform/mediastream/PeerMediaDescription.h: Added.
(WebCore::PeerMediaDescription::create):
(WebCore::PeerMediaDescription::~PeerMediaDescription):
(WebCore::PeerMediaDescription::type):
(WebCore::PeerMediaDescription::setType):
(WebCore::PeerMediaDescription::port):
(WebCore::PeerMediaDescription::setPort):
(WebCore::PeerMediaDescription::address):
(WebCore::PeerMediaDescription::setAddress):
(WebCore::PeerMediaDescription::mode):
(WebCore::PeerMediaDescription::setMode):
(WebCore::PeerMediaDescription::payloads):
(WebCore::PeerMediaDescription::addPayload):
(WebCore::PeerMediaDescription::setPayloads):
(WebCore::PeerMediaDescription::rtcpMux):
(WebCore::PeerMediaDescription::setRtcpMux):
(WebCore::PeerMediaDescription::rtcpAddress):
(WebCore::PeerMediaDescription::setRtcpAddress):
(WebCore::PeerMediaDescription::rtcpPort):
(WebCore::PeerMediaDescription::setRtcpPort):
(WebCore::PeerMediaDescription::mediaStreamId):
(WebCore::PeerMediaDescription::setMediaStreamId):
(WebCore::PeerMediaDescription::mediaStreamTrackId):
(WebCore::PeerMediaDescription::setMediaStreamTrackId):
(WebCore::PeerMediaDescription::dtlsSetup):
(WebCore::PeerMediaDescription::setDtlsSetup):
(WebCore::PeerMediaDescription::dtlsFingerprintHashFunction):
(WebCore::PeerMediaDescription::setDtlsFingerprintHashFunction):
(WebCore::PeerMediaDescription::dtlsFingerprint):
(WebCore::PeerMediaDescription::setDtlsFingerprint):
(WebCore::PeerMediaDescription::cname):
(WebCore::PeerMediaDescription::setCname):
(WebCore::PeerMediaDescription::ssrcs):
(WebCore::PeerMediaDescription::addSsrc):
(WebCore::PeerMediaDescription::clearSsrcs):
(WebCore::PeerMediaDescription::iceUfrag):
(WebCore::PeerMediaDescription::setIceUfrag):
(WebCore::PeerMediaDescription::icePassword):
(WebCore::PeerMediaDescription::setIcePassword):
(WebCore::PeerMediaDescription::iceCandidates):
(WebCore::PeerMediaDescription::addIceCandidate):
(WebCore::PeerMediaDescription::source):
(WebCore::PeerMediaDescription::setSource):
(WebCore::PeerMediaDescription::clone):
(WebCore::PeerMediaDescription::PeerMediaDescription):
- 2:22 PM Changeset in webkit [197052] by
-
- 2 edits in trunk/LayoutTests
Marking storage/indexeddb/odd-strings.html as flaky on mac-wk1
https://bugs.webkit.org/show_bug.cgi?id=154619
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 2:11 PM Changeset in webkit [197051] by
-
- 2 edits in trunk/LayoutTests
Marking imported/w3c/indexeddb/idbcursor-advance.htm as flaky on Yosemite Release WK2
https://bugs.webkit.org/show_bug.cgi?id=154618
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:44 PM Changeset in webkit [197050] by
-
- 19 edits in trunk/Source/WebKit2
Fix downloads when using NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=154620
Reviewed by Brady Eidson.
This fixes all the _WKDownload API tests when using NetworkSession.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::willDecidePendingDownloadDestination):
When we store the NetworkDataTask in m_downloadsWaitingForDestination, we want to remove its owner
from m_pendingDownloads to prevent memory leaks.
(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
If a file exists and the UIProcess has told us to overwrite the file, delete the file
before starting a new download in its place. This used to be done by CFNetwork in
NSURLDownload's setDestination:allowOverwrite:, but the NSURLSession equivalent (setting
NSURLSessionDataTask's _pathToDownloadTaskFile attribute) does not overwrite the file for us.
(WebKit::DownloadManager::cancelDownload):
If a download is canceled while it is waiting for its destination from the UIProcess, the Download
object does not exist yet. Instead, we have a completion handler stored in m_downloadsWaitingForDestination.
In this case, we want to send the UIProcess a DownloadProxy::DidCancel message, which I did through
NetworkProcess::pendingDownloadCanceled because the DownloadManager is not a MessageSender, and then
call the completion handler with PolicyIgnore to cancel the download.
(WebKit::DownloadManager::downloadFinished):
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/Downloads/PendingDownload.cpp:
(WebKit::PendingDownload::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::PendingDownload::didBecomeDownload):
(WebKit::PendingDownload::didFailLoading):
(WebKit::PendingDownload::messageSenderConnection):
(WebKit::PendingDownload::didConvertToDownload): Deleted.
- NetworkProcess/Downloads/PendingDownload.h:
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::cancel):
Send a didCancel message to the UIProcess when a download was cancelled.
Use cancelByProducingResumeData so we can resume canceled downloads.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::convertMainResourceLoadToDownload):
didConvertToDownload is needed when using NetworkSession to tell the NetworkResourceLoader
not to call cancel on the NetworkLoad after converting it to a download.
- NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::setPendingDownload):
(WebKit::NetworkDataTask::pendingDownloadLocation):
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::convertTaskToDownload):
(WebKit::NetworkLoad::setPendingDownloadID):
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
Don't call findPendingDownloadLocation as a method on the NetworkDataTask to avoid memory leaks
in DownloadManager.m_pendingDownloads.
(WebKit::NetworkLoad::didBecomeDownload):
Call m_client.didBecomeDownload which is being separated from didConvertToDownload. The former is
called after the NetworkDataTask becomes a Download, the latter is called as soon as
convertMainResourceLoadToDownload is called.
- NetworkProcess/NetworkLoadClient.h:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::continueWillSendRequest):
(WebKit::NetworkProcess::pendingDownloadCanceled):
Send a DownloadProxy::DidCancel message when a pending download is canceled.
(WebKit::NetworkProcess::findPendingDownloadLocation):
(WebKit::NetworkProcess::continueDecidePendingDownloadDestination):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didConvertToDownload):
(WebKit::NetworkResourceLoader::didBecomeDownload):
Separate setting m_didConvertToDownload, which needs to happen before the didReceiveResponse completion
handler is called to tell the NetworkResourceLoader not to call cancel in NetworkResourceLoader::abort,
from deleting the NetworkLoad, which can be done after the NSURLSessionDataTask has been converted to a
NSURLSessionDownloadTask.
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/cache/NetworkCacheSpeculativeLoad.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTask::failureTimerFired):
(WebKit::NetworkDataTask::setPendingDownloadLocation):
(WebKit::NetworkDataTask::transferSandboxExtensionToDownload):
(WebKit::NetworkDataTask::suggestedFilename):
(WebKit::NetworkDataTask::currentRequest):
(WebKit::NetworkDataTask::findPendingDownloadLocation): Deleted.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
Take the downloadID if it failed because we will report that download as failed and not use it again.
(WebKit::NetworkSession::takeDownloadID):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
- 1:41 PM Changeset in webkit [197049] by
-
- 19 edits21 adds in trunk
[Fetch API] Implement Fetch API Response
https://bugs.webkit.org/show_bug.cgi?id=154536
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
New tests covering fetch API.
- web-platform-tests/fetch/api/response/response-clone-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-clone.html: Added.
- web-platform-tests/fetch/api/response/response-consume-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-consume.html: Added.
- web-platform-tests/fetch/api/response/response-error-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-error.html: Added.
- web-platform-tests/fetch/api/response/response-idl-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-idl.html: Added.
- web-platform-tests/fetch/api/response/response-init-001-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-init-001.html: Added.
- web-platform-tests/fetch/api/response/response-init-002-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-init-002.html: Added.
- web-platform-tests/fetch/api/response/response-static-error-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-static-error.html: Added.
- web-platform-tests/fetch/api/response/response-static-redirect-expected.txt: Added.
- web-platform-tests/fetch/api/response/response-static-redirect.html: Added.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/fetch/api/response/response-clone.html
imported/w3c/web-platform-tests/fetch/api/response/response-consume.html
imported/w3c/web-platform-tests/fetch/api/response/response-error.html
imported/w3c/web-platform-tests/fetch/api/response/response-idl.html
imported/w3c/web-platform-tests/fetch/api/response/response-init-001.html
imported/w3c/web-platform-tests/fetch/api/response/response-init-002.html
imported/w3c/web-platform-tests/fetch/api/response/response-static-error.html
imported/w3c/web-platform-tests/fetch/api/response/response-static-redirect.html
Adding Fetch Response as FetchResponse class.
Constructor uses a built-in to pre-process the parameters.
Support of body as ReadableStream is missing.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::empty):
- Modules/fetch/FetchResponse.cpp: Added.
(WebCore::JSFetchResponse::body):
(WebCore::isRedirectStatus):
(WebCore::isNullBodyStatus):
(WebCore::FetchResponse::error):
(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::initializeWith):
(WebCore::FetchResponse::FetchResponse):
(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::type):
- Modules/fetch/FetchResponse.h: Added.
(WebCore::FetchResponse::create):
(WebCore::FetchResponse::redirect):
(WebCore::FetchResponse::url):
(WebCore::FetchResponse::redirected):
(WebCore::FetchResponse::status):
(WebCore::FetchResponse::ok):
(WebCore::FetchResponse::statusText):
(WebCore::FetchResponse::headers):
(WebCore::FetchResponse::isDisturbed):
(WebCore::FetchResponse::arrayBuffer):
(WebCore::FetchResponse::formData):
(WebCore::FetchResponse::blob):
(WebCore::FetchResponse::json):
(WebCore::FetchResponse::text):
- Modules/fetch/FetchResponse.idl: Added.
- Modules/fetch/FetchResponse.js: Added.
(initializeFetchResponse):
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreJSBuiltins.cpp:
- bindings/js/WebCoreJSBuiltins.h:
(WebCore::JSBuiltinFunctions::JSBuiltinFunctions):
(WebCore::JSBuiltinFunctions::fetchResponseBuiltins):
LayoutTests:
Adding Response as constructor in global and worker scopes.
- js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- js/dom/global-constructors-attributes-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
- platform/efl/js/dom/global-constructors-attributes-expected.txt:
- platform/gtk/js/dom/global-constructors-attributes-expected.txt:
- platform/mac-mavericks/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:
- 1:37 PM Changeset in webkit [197048] by
-
- 2 edits in branches/safari-601-branch/LayoutTests
Rebaseline fast/writing-mode/broken-ideograph-small-caps.html for Mavericks. rdar://problem/24748658
- platform/mac-mavericks/fast/writing-mode/broken-ideograph-small-caps-expected.txt:
- 1:37 PM Changeset in webkit [197047] by
-
- 1 edit1 add in branches/safari-601-branch/LayoutTests
Rebaseline fast/text/small-caps-web-font.html for Mavericks. rdar://problem/24748533
- platform/mac-mavericks/fast/text/small-caps-web-font-expected.png: Added.
- 1:29 PM Changeset in webkit [197046] by
-
- 2 edits4 deletes in trunk/Source/WebInspectorUI
Web Inspector: Remove unused Profile.png images
https://bugs.webkit.org/show_bug.cgi?id=154647
rdar://problem/24820825
Reviewed by Brian Burg.
- UserInterface/Images/Profile.png: Removed.
- UserInterface/Images/Profile@2x.png: Removed.
- UserInterface/Images/gtk/Profile.png: Removed.
- UserInterface/Images/gtk/Profile@2x.png: Removed.
- UserInterface/Views/TimelineIcons.css:
(.profile-icon .icon): Deleted.
- 1:01 PM Changeset in webkit [197045] by
-
- 5 edits in trunk/Source
Versioning.
- 1:00 PM Changeset in webkit [197044] by
-
- 1 copy in tags/Safari-602.1.20
New tag.
- 12:46 PM Changeset in webkit [197043] by
-
- 23 edits10 deletes in trunk
Unreviewed, rolling out r197033.
https://bugs.webkit.org/show_bug.cgi?id=154649
"It broke JSC tests when 'this' was loaded from global scope"
(Requested by saamyjoon on #webkit).
Reverted changeset:
"[ES6] Arrow function syntax. Emit loading&putting this/super
only if they are used in arrow function"
https://bugs.webkit.org/show_bug.cgi?id=153981
http://trac.webkit.org/changeset/197033
- 12:43 PM Changeset in webkit [197042] by
-
- 4 edits1 add in trunk/Source/JavaScriptCore
[ES6] Implement Proxy.Delete
https://bugs.webkit.org/show_bug.cgi?id=154607
Reviewed by Mark Lam.
This patch implements Proxy.Delete with respect to section 9.5.10 of the ECMAScript spec.
https://tc39.github.io/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-delete-p
- runtime/ProxyObject.cpp:
(JSC::ProxyObject::getConstructData):
(JSC::ProxyObject::performDelete):
(JSC::ProxyObject::deleteProperty):
(JSC::ProxyObject::deletePropertyByIndex):
- runtime/ProxyObject.h:
- tests/es6.yaml:
- tests/stress/proxy-delete.js: Added.
(assert):
(throw.new.Error.let.handler.get deleteProperty):
(throw.new.Error):
(assert.let.handler.deleteProperty):
(let.handler.deleteProperty):
- 12:31 PM Changeset in webkit [197041] by
-
- 6 edits in trunk/Source
Add more WebKitAdditions extension points
https://bugs.webkit.org/show_bug.cgi?id=154648
rdar://problem/24820040
Reviewed by Beth Dakin.
- Shared/WebPreferencesDefinitions.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration copyWithZone:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- 12:26 PM Changeset in webkit [197040] by
-
- 5 edits in trunk/Source/WebCore
A function named canTakeNextToken executing blocking scripts is misleading
https://bugs.webkit.org/show_bug.cgi?id=154636
Reviewed by Darin Adler.
Merged canTakeNextToken into pumpTokenizer and extracted pumpTokenizerLoop out of pumpTokenizer.
Inlined m_parserChunkSize in HTMLParserScheduler into checkForYieldBeforeToken, and removed needsYield
from PumpSession in favor of making checkForYieldBeforeToken and checkForYieldBeforeScript return a bool.
No new tests since this is a pure refactoring.
- html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::canTakeNextToken): Deleted.
(WebCore::HTMLDocumentParser::pumpTokenizerLoop): Extracted from pumpTokenizer. We don't have to check
isStopped() at the beginning since pumpTokenizer asserts that. Return true when session.needsYield would
have been set to true in the old code and return false elsewhere (for stopping or incomplete token).
(WebCore::HTMLDocumentParser::pumpTokenizer):
- html/parser/HTMLDocumentParser.h:
- html/parser/HTMLParserScheduler.cpp:
(WebCore::PumpSession::PumpSession):
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::shouldYieldBeforeExecutingScript): Renamed from checkForYieldBeforeScript.
- html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::shouldYieldBeforeToken): Renamed from checkForYieldBeforeToken.
(WebCore::HTMLParserScheduler::isScheduledForResume):
(WebCore::HTMLParserScheduler::checkForYield): Extracted from checkForYieldBeforeToken. Reset
processedTokens to 1 instead of setting it to 0 here and incrementing it later as done in the old code.
- 12:19 PM Changeset in webkit [197039] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: TimelineViews should use the recording's end time when entire ruler range is selected
https://bugs.webkit.org/show_bug.cgi?id=154644
<rdar://problem/24818442>
Reviewed by Timothy Hatcher.
- UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView):
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
(WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
Update current timeline view when entire range selected.
(WebInspector.TimelineRecordingContentView.prototype._updateTimes):
Live-update the OverviewTimelineView during recording when entire range selected.
(WebInspector.TimelineRecordingContentView.prototype._updateTimelineViewSelection):
Update timeline view start and end times. When entire range selected, use the recording
end time or current time (while capturing).
- 11:41 AM WindowsWithoutCygwin edited by
- (diff)
- 10:51 AM Changeset in webkit [197038] by
-
- 19 edits in trunk
CSP: Enable plugin-types directive by default
https://bugs.webkit.org/show_bug.cgi?id=154420
<rdar://problem/24730322>
Reviewed by Brent Fulgham.
Source/WebCore:
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::isExperimentalDirectiveName): Move plugin-types from the directives considered
experimental to...
(WebCore::isCSPDirectiveName): ...the list of standard directives.
(WebCore::ContentSecurityPolicyDirectiveList::addDirective): Move logic to parse the plugin-types
directive outside the ENABLE(CSP_NEXT) macro guarded section/experimental feature runtime flag.
LayoutTests:
- TestExpectations: Mark http/tests/security/contentSecurityPolicy/1.1/plugintypes*.html tests as PASS so that we run them.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid-expected.txt: Update expected result.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-invalid.html: Call runTests() following changes to multiple-iframe-plugin-test.js.
Also add closing tags for <body> and <html> to make the document well-formed.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-data.html: Substitute "Content-Security-Policy" for "X-WebKit-CSP";
no behavior change.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-mismatched-url.html: Ditto.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html: Ditto.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url-expected.txt: Update expected result.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url.html: Substitute "Content-Security-Policy" for "X-WebKit-CSP";
no behavior change.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-allowed.html: Ditto.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html: Ditto.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-01.html: Call runTests() following changes to multiple-iframe-plugin-test.js.
Also add closing tags for <body> and <html> to make the document well-formed.
- http/tests/security/contentSecurityPolicy/1.1/plugintypes-url-02.html: Ditto.
- http/tests/security/contentSecurityPolicy/resources/echo-object-data.pl: Remove logic to support Content Security Policy header X-WebKit-CSP
as it is sufficient to make use of the standardized header Content-Security-Policy.
- http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js: Simplify code now that we do not pass query string parameter
experimental to script echo-object-data.pl.
(runTests): Runs all the sub-tests.
(runNextTest.iframe.onload): Formerly named testImpl.iframe.onload.
(runNextTest): Formerly named testImpl. Runs the next sub-test.
(testExperimentalPolicy): Deleted.
(test): Deleted.
(testImpl.iframe.onload): Deleted.
(testImpl): Deleted.
(finishTesting): Deleted.
- http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt: Update expected result based on change to test (below).
- http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Modified to test that we emit
a console warning when plugin-types is used as a source expression.
- 10:49 AM Changeset in webkit [197037] by
-
- 3 edits in trunk/Source/JavaScriptCore
Stackmaps have problems with double register constraints
https://bugs.webkit.org/show_bug.cgi?id=154643
Reviewed by Geoffrey Garen.
This is currently a benign bug. I found it while playing.
- b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::fillStackmap):
- b3/testb3.cpp:
(JSC::B3::testURShiftSelf64):
(JSC::B3::testPatchpointDoubleRegs):
(JSC::B3::zero):
(JSC::B3::run):
- 10:14 AM Changeset in webkit [197036] by
-
- 3 edits in trunk/LayoutTests
Rebaseline two W3C tests for ios-simulator after r197014
Unreviewed test gardening.
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt:
- platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
- 9:56 AM Changeset in webkit [197035] by
-
- 2 edits in trunk/Source/WebInspectorUI
Follow up fix for the TimelineRuler "select all" mode to fix zeroTime.
https://bugs.webkit.org/show_bug.cgi?id=154561
rdar://problem/24779872
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.set zeroTime): Change selectionStartTime
before _zeroTime so the check for entireRangeSelected still works.
- 9:41 AM Changeset in webkit [197034] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: TimelineRuler should have a "select all" mode
https://bugs.webkit.org/show_bug.cgi?id=154561
<rdar://problem/24779872>
Reviewed by Timothy Hatcher.
TimelineRuler is initialized with a selected range of [0, Number.MAX_VALUE),
indicating the entire timeline is selected. This patch makes it possible to
return the ruler to this state, after being overwritten by a custom selection.
When no custom selection exists, the selection handles are hidden.
- UserInterface/Views/TimelineRuler.css:
(.timeline-ruler.selection-hidden > :matches(.selection-drag, .selection-handle, .shaded-area)):
Style for hiding selection controls as needed.
- UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler):
Represent unbounded selection interval as [0, Number.MAX_VALUE).
(WebInspector.TimelineRuler.prototype.set allowsTimeRangeSelection):
Register double-click event listener.
(WebInspector.TimelineRuler.prototype.set zeroTime):
(WebInspector.TimelineRuler.prototype.get entireRangeSelected):
(WebInspector.TimelineRuler.prototype.selectEntireRange):
Let clients check and set the selection of the entire range without needing
to use the internal sentinel values 0 and Number.MAX_VALUE.
(WebInspector.TimelineRuler.prototype._updateSelection):
Update ruler styles and dispatch selection change event when entire
range is selected.
(WebInspector.TimelineRuler.prototype._handleDoubleClick):
If a user-defined selection exists, select the entire range.
- 9:36 AM Changeset in webkit [197033] by
-
- 23 edits10 adds in trunk
[ES6] Arrow function syntax. Emit loading&putting this/super only if they are used in arrow function
https://bugs.webkit.org/show_bug.cgi?id=153981
Patch by Skachkov Oleksandr <gskachkov@gmail.com> on 2016-02-24
Reviewed by Saam Barati.
Source/JavaScriptCore:
In first iteration of implemenation arrow function, we emit load and store variables 'this', 'arguments',
'super', 'new.target' in case if arrow function is exist even variables are not used in arrow function.
Current patch added logic that prevent from emiting those varibles if they are not used in arrow function.
During syntax analyze parser store information about using variables in arrow function inside of
the ordinary function scope and then put to BytecodeGenerator through UnlinkedCodeBlock
- bytecode/ExecutableInfo.h:
(JSC::ExecutableInfo::ExecutableInfo):
(JSC::ExecutableInfo::arrowFunctionCodeFeatures):
- bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
- bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::arrowFunctionCodeFeatures):
(JSC::UnlinkedCodeBlock::doAnyInnerArrowFunctionsUseArguments):
(JSC::UnlinkedCodeBlock::doAnyInnerArrowFunctionsUseSuperCall):
(JSC::UnlinkedCodeBlock::doAnyInnerArrowFunctionsUseSuperProperty):
(JSC::UnlinkedCodeBlock::doAnyInnerArrowFunctionsUseEval):
(JSC::UnlinkedCodeBlock::doAnyInnerArrowFunctionsUseThis):
(JSC::UnlinkedCodeBlock::doAnyInnerArrowFunctionsUseNewTarget):
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::initializeArrowFunctionContextScopeIfNeeded):
(JSC::BytecodeGenerator::emitLoadArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::emitLoadThisFromArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::emitLoadNewTargetFromArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::emitLoadDerivedConstructorFromArrowFunctionLexicalEnvironment):
(JSC::BytecodeGenerator::isThisUsedInInnerArrowFunction):
(JSC::BytecodeGenerator::isArgumentsUsedInInnerArrowFunction):
(JSC::BytecodeGenerator::isNewTargetUsedInInnerArrowFunction):
(JSC::BytecodeGenerator::isSuperUsedInInnerArrowFunction):
(JSC::BytecodeGenerator::emitPutNewTargetToArrowFunctionContextScope):
(JSC::BytecodeGenerator::emitPutDerivedConstructorToArrowFunctionContextScope):
(JSC::BytecodeGenerator::emitPutThisToArrowFunctionContextScope):
- bytecompiler/BytecodeGenerator.h:
- bytecompiler/NodesCodegen.cpp:
(JSC::ThisNode::emitBytecode):
(JSC::EvalFunctionCallNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):
- parser/ASTBuilder.h:
(JSC::ASTBuilder::createFunctionMetadata):
- parser/Nodes.cpp:
(JSC::FunctionMetadataNode::FunctionMetadataNode):
- parser/Nodes.h:
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseGeneratorFunctionSourceElements):
(JSC::Parser<LexerType>::parseFunctionBody):
(JSC::Parser<LexerType>::parseFunctionInfo):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parsePrimaryExpression):
(JSC::Parser<LexerType>::parseMemberExpression):
- parser/Parser.h:
(JSC::Scope::Scope):
(JSC::Scope::isArrowFunctionBoundary):
(JSC::Scope::innerArrowFunctionFeatures):
(JSC::Scope::setInnerArrowFunctionUseSuperCall):
(JSC::Scope::setInnerArrowFunctionUseSuperProperty):
(JSC::Scope::setInnerArrowFunctionUseEval):
(JSC::Scope::setInnerArrowFunctionUseThis):
(JSC::Scope::setInnerArrowFunctionUseNewTarget):
(JSC::Scope::setInnerArrowFunctionUseArguments):
(JSC::Scope::setInnerArrowFunctionUseEvalAndUseArgumentsIfNeeded):
(JSC::Scope::collectFreeVariables):
(JSC::Scope::mergeInnerArrowFunctionFeatures):
(JSC::Scope::fillParametersForSourceProviderCache):
(JSC::Scope::restoreFromSourceProviderCache):
(JSC::Scope::setIsFunction):
(JSC::Scope::setIsArrowFunction):
(JSC::Parser::closestParentNonArrowFunctionNonLexicalScope):
(JSC::Parser::pushScope):
(JSC::Parser::popScopeInternal):
- parser/ParserModes.h:
- parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
- parser/SyntaxChecker.h:
(JSC::SyntaxChecker::createFunctionMetadata):
- tests/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js:
- tests/stress/arrowfunction-lexical-bind-arguments-strict.js:
- tests/stress/arrowfunction-lexical-bind-newtarget.js:
- tests/stress/arrowfunction-lexical-bind-superproperty.js:
- tests/stress/arrowfunction-lexical-bind-this-8.js: Added.
LayoutTests:
Added new benchmark tests for invoking arrow function within function, class's constructor and method
- js/regress/arrowfunction-call-in-class-constructor-expected.txt: Added.
- js/regress/arrowfunction-call-in-class-constructor.html: Added.
- js/regress/arrowfunction-call-in-class-method-expected.txt: Added.
- js/regress/arrowfunction-call-in-class-method.html: Added.
- js/regress/arrowfunction-call-in-function-expected.txt: Added.
- js/regress/arrowfunction-call-in-function.html: Added.
- js/regress/script-tests/arrowfunction-call-in-class-constructor.js: Added.
- js/regress/script-tests/arrowfunction-call-in-class-method.js: Added.
- js/regress/script-tests/arrowfunction-call-in-function.js: Added.
- js/regress/script-tests/arrowfunction-call.js:
- 9:26 AM Changeset in webkit [197032] by
-
- 2 edits in trunk/Source/WebCore
Speculative fix for ios build.
Unreviewed build fix.
- bindings/objc/DOM.mm:
(-[DOMNode nextFocusNode]):
(-[DOMNode previousFocusNode]):
- 9:19 AM Changeset in webkit [197031] by
-
- 2 edits in trunk/Source/WebKit/win
[WinCairo] Mark layer as non composited.
https://bugs.webkit.org/show_bug.cgi?id=154640
Reviewed by Alex Christensen.
We need to mark the non composited layer as being non composited.
- WebCoreSupport/AcceleratedCompositingContext.cpp:
(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::flushPendingLayerChanges):
- 9:13 AM Changeset in webkit [197030] by
-
- 8 edits2 adds in trunk
Background of an absolutely positioned inline element inside text-indented parent is positioned statically.
https://bugs.webkit.org/show_bug.cgi?id=154019
Reviewed by Simon Fraser.
This patch ensures that statically positioned out-of-flow renderers are also text-aligned
even when none of the renderers on the first line generate a linebox (so we end up with no bidi runs at all).
The fix is to pass IndentTextOrNot information to startAlignedOffsetForLine through updateStaticInlinePositionForChild
so that we can compute the left position for this statically positioned out of flow renderer.
Source/WebCore:
Test: fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child.html
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::adjustPositionedBlock):
(WebCore::RenderBlockFlow::updateStaticInlinePositionForChild):
- rendering/RenderBlockFlow.h:
- rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::startAlignedOffsetForLine):
- rendering/line/LineBreaker.cpp:
(WebCore::LineBreaker::skipTrailingWhitespace):
(WebCore::LineBreaker::skipLeadingWhitespace):
- rendering/line/LineInlineHeaders.h: webkit.org/b/154628 fixes the bool vs IndentTextOrNot issue.
(WebCore::setStaticPositions):
LayoutTests:
- fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child-expected.html: Added.
- fast/css3-text/css3-text-indent/text-indent-with-absolute-pos-child.html: Added.
- 9:06 AM Changeset in webkit [197029] by
-
- 13 edits in trunk/Source/WebInspectorUI
Web Inspector: Dim selected items when docked Inspector window is inactive
https://bugs.webkit.org/show_bug.cgi?id=154526
<rdar://problem/24764365>
Abstract selected item and SVG glyph colors into CSS variables.
Reviewed by Timothy Hatcher.
- UserInterface/Views/BezierEditor.css:
(.bezier-editor > .bezier-preview > div):
- UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button > .glyph):
(.navigation-bar .item.button:not(.disabled):active > .glyph):
(.navigation-bar .item.button:not(.disabled):matches(:focus, .activate.activated, .radio.selected) > .glyph):
(.navigation-bar .item.button:not(.disabled):active:matches(:focus, .activate.activated, .radio.selected) > .glyph):
(.navigation-bar .item.button.disabled > .glyph):
- UserInterface/Views/ButtonToolbarItem.css:
(.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph):
(.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph):
- UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover):
- UserInterface/Views/ConsoleMessageView.css:
(.console-user-command.special-user-log > .console-message-text):
- UserInterface/Views/DOMTreeOutline.css:
(.tree-outline.dom li.pseudo-class-enabled > .selection::before):
- UserInterface/Views/Main.css:
(input[type=range]::-webkit-slider-runnable-track::before):
- UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button.text-only:hover):
(.navigation-bar .item.radio.button.text-only.selected):
(.navigation-bar .item.radio.button.text-only:active):
(.navigation-bar .item.radio.button.text-only.selected:active):
- UserInterface/Views/ScopeBar.css:
(.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows):
(.scope-bar > li:hover):
(.scope-bar > li.selected):
(.scope-bar > li:active):
(.scope-bar > li.selected:active):
- UserInterface/Views/Variables.css:
(:root):
(body.window-inactive):
- UserInterface/Views/VisualStyleDetailsPanel.css:
(.sidebar > .panel.details.css-style .visual > .details-section .details-section.has-set-property > .header > span::after):
- UserInterface/Views/VisualStyleKeywordIconList.css:
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)):
(.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
- 6:17 AM Changeset in webkit [197028] by
-
- 3 edits in trunk/Source/WebCore
Remove IteratorKey and IteratorValue declarations from JSXX class declarations.
https://bugs.webkit.org/show_bug.cgi?id=154577
Reviewed by Myles C. Maxfield.
No change of behavior.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Deleted declaration of IteratorKey and IteratorValue.
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::createStructure): Rebasing of binding test expectation.
- 4:14 AM Changeset in webkit [197027] by
-
- 8 edits in trunk
W3C importer should generate all web-platform-tests submodules descriptions
https://bugs.webkit.org/show_bug.cgi?id=154587
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
- resources/TestRepositories: Reactivated submodules description generation.
- resources/web-platform-tests-modules.json: Updated according modified scripts.
Tools:
Updated submodules description format (removing submodule name as it is the last string of the path really).
Added git subroutines.
- Scripts/webkitpy/common/checkout/scm/git.py:
(Git.origin_url):
(Git):
(Git.init_submodules):
(Git.submodules_status):
(Git.deinit_submodules):
- Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
(WebPlatformTestServer._install_modules): Updated to submodule name removal.
- Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader._git_submodules_description): Updated to cope with recursive submodules (use of submodule init/deinit).
- Scripts/webkitpy/w3c/test_importer_unittest.py:
(TestImporterTest.test_submodules_generation): Reactivated partially this test.
- 4:11 AM Changeset in webkit [197026] by
-
- 5 edits in trunk/Source/WebCore
[Fetch API] Refactor FetchHeaders initialization with iterators
https://bugs.webkit.org/show_bug.cgi?id=154537
Reviewed by Darin Adler.
Covered by existing tests.
- Modules/fetch/FetchHeaders.cpp:
(WebCore::initializeWith): Deleted.
- Modules/fetch/FetchHeaders.h: Removed FetchHeaders::initializeWith.
- Modules/fetch/FetchHeaders.idl: Ditto.
- Modules/fetch/FetchHeaders.js:
(initializeFetchHeaders): Making use of iterators to fill headers.
- 3:13 AM Changeset in webkit [197025] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed. Fix GObject DOM bindings API break after r196998.
webkit_dom_node_clone_node can now raise exceptions, so rename it
as webkit_dom_node_clone_node_with_error and deprecate the old one
that calls the new one ignoring the error.
- bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_node_clone_node):
- bindings/gobject/WebKitDOMDeprecated.h:
- bindings/gobject/WebKitDOMDeprecated.symbols:
- bindings/gobject/webkitdom.symbols:
- bindings/scripts/CodeGeneratorGObject.pm:
(FunctionUsedToNotRaiseException):
(GenerateFunction):
- 2:41 AM Changeset in webkit [197024] by
-
- 3 edits2 adds in trunk
REGRESSION(r195949): [GTK] Test /webkit2/WebKitWebView/insert/link is failing since r195949
https://bugs.webkit.org/show_bug.cgi?id=153747
Reviewed by Michael Catanzaro.
Source/WebCore:
Do not return early when reaching a boundary if there's a range
selection. In that case, the selection will be cleared and
accessibility will be notified.
Test: editing/selection/move-to-line-boundary-clear-selection.html
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::modify):
LayoutTests:
Add test to check that moving to line boundary clears the
selection even if the cursor is already at the boundary.
- editing/selection/move-to-line-boundary-clear-selection-expected.txt: Added.
- editing/selection/move-to-line-boundary-clear-selection.html: Added.
- 2:12 AM Changeset in webkit [197023] by
-
- 3 edits in trunk/Source/WebCore
[Gstreamer] Mediaplayer should observe the tracks and not the source
https://bugs.webkit.org/show_bug.cgi?id=154582
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-02-24
Reviewed by Philippe Normand.
We have to observe the track objects that define the
mediastream. Replace the source attributes with the new tracks and
use them properly in the class.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.cpp:
(WebCore::MediaPlayerPrivateGStreamerOwr::~MediaPlayerPrivateGStreamerOwr):
Make sure we are not observing anymore the tracks after
destruction.
(WebCore::MediaPlayerPrivateGStreamerOwr::hasVideo): Used the track
instead of the source.
(WebCore::MediaPlayerPrivateGStreamerOwr::hasAudio): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::currentTime): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::internalLoad): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::stop): Ditto.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnded): Added, new
track observer API, make sure we disable the ended tracks.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackMutedChanged):
Added, new track observer API.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackSettingsChanged):
Added, new track observer API.
(WebCore::MediaPlayerPrivateGStreamerOwr::trackEnabledChanged):
Added, new track observer API.
(WebCore::MediaPlayerPrivateGStreamerOwr::sourceStopped): Deleted,
source observer API.
(WebCore::MediaPlayerPrivateGStreamerOwr::sourceMutedChanged):
Deleted, source observer API.
(WebCore::MediaPlayerPrivateGStreamerOwr::sourceSettingsChanged):
Deleted, source observer API.
(WebCore::MediaPlayerPrivateGStreamerOwr::preventSourceFromStopping):
Deleted, source observer API.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerOwr.h:
Replaced the attributes representing the source with the tracks
and added the new track observer functions.
- 2:03 AM Changeset in webkit [197022] by
-
- 6 edits in trunk
[css-grid] Swap the order of columns/rows in grid-gap shorthand
https://bugs.webkit.org/show_bug.cgi?id=154584
Source/WebCore:
The latest editor's draft have just changed the order. Now it
should be <grid-row-gap> <grid-column-gap>?.
Reviewed by Darin Adler.
- css/CSSParser.cpp:
(WebCore::CSSParser::parseGridGapShorthand):
- css/CSSPropertyNames.in:
LayoutTests:
Reviewed by Darin Adler.
- fast/css-grid-layout/grid-gutters-get-set-expected.txt:
- fast/css-grid-layout/grid-gutters-get-set.html:
- 1:36 AM Changeset in webkit [197021] by
-
- 6 edits in trunk/Source
Move FocusNavigationScope into FocusController.cpp
https://bugs.webkit.org/show_bug.cgi?id=154630
Reviewed by Darin Adler.
Source/WebCore:
Moved FocusNavigationScope from FocusController.h to FocusController.cpp.
- bindings/objc/DOM.mm:
(-[DOMNode nextFocusNode]):
(-[DOMNode previousFocusNode]):
- page/FocusController.cpp:
(WebCore::parentInScope):
(WebCore::FocusNavigationScope::firstChildInScope): Moved into FocusNavigationScope.
(WebCore::FocusNavigationScope::lastChildInScope): Ditto.
(WebCore::FocusNavigationScope::nextInScope): Ditto.
(WebCore::FocusNavigationScope::previousInScope): Ditto.
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findFocusableElementRecursively):
(WebCore::FocusController::findFocusableElement):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement): Added a variant for DOM.mm and WebPageIOS.mm.
(WebCore::FocusController::previousFocusableElement): Ditto.
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement): Use if instead of for loop for clarity.
- page/FocusController.h:
Source/WebKit2:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::nextAssistableElement):
- 12:14 AM Changeset in webkit [197020] by
-
- 6 edits in trunk
WebRTC: RTCPeerConnection: Sort out responsibilities of close() and stop()
https://bugs.webkit.org/show_bug.cgi?id=154581
Reviewed by Eric Carlson.
Source/WebCore:
Let RTCPeerConnection::close() contain all teardown logic be called by stop().
close() is also responisble for stopping the PeerConnectionBackend and stopping
all RTCRtpSender objects.
Test coverage:
fast/mediastream/RTCRtpSender-replaceTrack.html (updated)
fast/mediastream/RTCPeerConnection-closed-state.html
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::RTCPeerConnection): Deleted.
- Modules/mediastream/RTCPeerConnection.h:
LayoutTests:
Updated test with replaceTrack() call after the RTCPeerConnection object, that
created the RTCRtpSender, is closed.
- fast/mediastream/RTCRtpSender-replaceTrack-expected.txt:
- fast/mediastream/RTCRtpSender-replaceTrack.html:
- 12:12 AM Changeset in webkit [197019] by
-
- 4 edits in trunk/Source/WebCore
WebRTC: Add addReceiver() function to PeerConnectionBackendClient interface
https://bugs.webkit.org/show_bug.cgi?id=154583
Reviewed by Eric Carlson.
The addRecevier() notifies the PeerConnectionBackendClient that a new RTCRtpReceiver,
representing an MediaStreamTrack received from a remote peer, is added.
- Modules/mediastream/PeerConnectionBackend.h:
- Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::addReceiver):
- Modules/mediastream/RTCPeerConnection.h:
Feb 23, 2016:
- 11:20 PM Changeset in webkit [197018] by
-
- 3 edits in trunk/Source/WebCore
Support building LocaleICU with light ICU (UCONFIG_NO_FORMATTING)
https://bugs.webkit.org/show_bug.cgi?id=154484
Patch by Olivier Blin <Olivier Blin> on 2016-02-23
Reviewed by Darin Adler.
In this mode, this makes LocaleICU with UCONFIG_NO_FORMATTING
essentially the same as LocaleNone, but allows to keep using ICU for
other features.
- platform/text/LocaleICU.cpp:
(WebCore::LocaleICU::LocaleICU):
(WebCore::LocaleICU::~LocaleICU):
(WebCore::LocaleICU::initializeLocaleData):
- platform/text/LocaleICU.h:
- 11:11 PM Changeset in webkit [197017] by
-
- 2 edits in trunk/Source/WebKit2
Web Inspector: don't run the protocol generator once per output file
https://bugs.webkit.org/show_bug.cgi?id=154635
Reviewed by Myles C. Maxfield.
- DerivedSources.make: Use $(firstword, ...) to take just one file as
the target to be built so that the generator runs only once. Make isn't
really designed to coalesce multiple file outputs to one production rule.
- 11:07 PM Changeset in webkit [197016] by
-
- 9 edits3 deletes in trunk/Source/WebCore
Remove dead FontLoader code
https://bugs.webkit.org/show_bug.cgi?id=154625
Reviewed by Darin Adler.
This code has been replaced by FontFaceSet.
No new tests because there is no behavior change.
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- WebCore.vcxproj/WebCore.vcxproj:
- WebCore.vcxproj/WebCore.vcxproj.filters:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSAllInOne.cpp:
- css/FontLoader.cpp: Removed.
(WebCore::LoadFontCallback::create): Deleted.
(WebCore::LoadFontCallback::createFromParams): Deleted.
(WebCore::LoadFontCallback::~LoadFontCallback): Deleted.
(WebCore::LoadFontCallback::familyCount): Deleted.
(WebCore::LoadFontCallback::LoadFontCallback): Deleted.
(WebCore::LoadFontCallback::notifyLoaded): Deleted.
(WebCore::LoadFontCallback::notifyError): Deleted.
(WebCore::FontLoader::loadFontDone): Deleted.
(WebCore::FontLoader::FontLoader): Deleted.
(WebCore::FontLoader::~FontLoader): Deleted.
(WebCore::FontLoader::eventTargetData): Deleted.
(WebCore::FontLoader::ensureEventTargetData): Deleted.
(WebCore::FontLoader::eventTargetInterface): Deleted.
(WebCore::FontLoader::scriptExecutionContext): Deleted.
(WebCore::FontLoader::didLayout): Deleted.
(WebCore::FontLoader::activeDOMObjectName): Deleted.
(WebCore::FontLoader::canSuspendForDocumentSuspension): Deleted.
(WebCore::FontLoader::scheduleEvent): Deleted.
(WebCore::FontLoader::firePendingEvents): Deleted.
(WebCore::FontLoader::beginFontLoading): Deleted.
(WebCore::FontLoader::fontLoaded): Deleted.
(WebCore::FontLoader::loadError): Deleted.
(WebCore::FontLoader::notifyWhenFontsReady): Deleted.
(WebCore::FontLoader::loadingDone): Deleted.
(WebCore::FontLoader::loadFont): Deleted.
(WebCore::FontLoader::checkFont): Deleted.
(WebCore::applyPropertyToCurrentStyle): Deleted.
(WebCore::FontLoader::resolveFontStyle): Deleted.
- css/FontLoader.h: Removed.
- css/FontLoader.idl: Removed.
- page/FrameView.cpp:
- 11:05 PM Changeset in webkit [197015] by
-
- 3 edits in trunk/Source/WebCore
[WinCairo][MediaFoundation] Implement methods to set volume.
https://bugs.webkit.org/show_bug.cgi?id=154580
Reviewed by Alex Christensen.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::paused):
(WebCore::MediaPlayerPrivateMediaFoundation::setVolume):
(WebCore::MediaPlayerPrivateMediaFoundation::supportsMuting):
(WebCore::MediaPlayerPrivateMediaFoundation::setMuted):
(WebCore::MediaPlayerPrivateMediaFoundation::networkState):
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:
- 11:04 PM Changeset in webkit [197014] by
-
- 13 edits in trunk
[Reflected] IDL attributes of integer types should use HTML rules for parsing integers
https://bugs.webkit.org/show_bug.cgi?id=154573
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rebaseline W3C HTML tests now that more checks are passing.
- web-platform-tests/html/dom/reflection-embedded-expected.txt:
- web-platform-tests/html/dom/reflection-forms-expected.txt:
- web-platform-tests/html/dom/reflection-grouping-expected.txt:
- web-platform-tests/html/dom/reflection-metadata-expected.txt:
- web-platform-tests/html/dom/reflection-misc-expected.txt:
- web-platform-tests/html/dom/reflection-obsolete-expected.txt:
- web-platform-tests/html/dom/reflection-sections-expected.txt:
- web-platform-tests/html/dom/reflection-tabular-expected.txt:
- web-platform-tests/html/dom/reflection-text-expected.txt:
Source/WebCore:
[Reflected] IDL attributes of integer types should use HTML rules for
parsing integers:
Those rules are defined here:
- https://html.spec.whatwg.org/#rules-for-parsing-integers
- https://html.spec.whatwg.org/#rules-for-parsing-non-negative-integers
We already had an implementation for parsing HTML integers but our reflected
attributes currently use WTFString::toInt() / toUint() instead.
No new tests, already covered by existing tests.
- dom/Element.cpp:
(WebCore::Element::getIntegralAttribute):
This method used by the bindings only, for reflected IDL attributed of
type 'long'. Now call parseHTMLInteger() instead of String::toInt() to
parse the content attribute as per the HTML specification.
(WebCore::Element::getUnsignedIntegralAttribute):
This method used by the bindings only, for reflected IDL attributed of
type 'unsigned long'. Now call parseHTMLNonNegativeInteger() instead of
String::toUInt() to parse the content attribute as per the HTML
specification.
- html/parser/HTMLParserIdioms.cpp:
(WebCore::parseHTMLIntegerInternal):
Fix a bug in our implementation of parseHTMLIntegerInternal() that
would cause the string "−2147483648" to be parsed as 0. It should
be parsed as −2147483648, which is in the valid range as per:
http://heycam.github.io/webidl/#idl-long
- 10:43 PM Changeset in webkit [197013] by
-
- 21 edits in trunk/Source/JavaScriptCore
Web Inspector: teach the Objective-C protocol generators about --frontend and --backend directives
https://bugs.webkit.org/show_bug.cgi?id=154615
<rdar://problem/24804330>
Reviewed by Timothy Hatcher.
Some of the generated Objective-C bindings are only relevant to code acting as the
protocol backend. Add a per-generator setting mechanism and propagate --frontend and
--backend to all generators. Use the setting in a few generators to omit code that's
not needed.
Also fix a few places where the code emits the wrong Objective-C class prefix.
There is some common non-generated code that must always have the RWIProtocol prefix.
Lastly, change includes to use RWIProtocolJSONObjectPrivate.h instead of *Internal.h. The
macros defined in the internal header now need to be used outside of the framework.
- inspector/scripts/codegen/generate_objc_conversion_helpers.py:
Use OBJC_STATIC_PREFIX along with the file name and use different include syntax
depending on the target framework.
- inspector/scripts/codegen/generate_objc_header.py:
(ObjCHeaderGenerator.generate_output):
For now, omit generating command protocol and event dispatchers when generating for --frontend.
(ObjCHeaderGenerator._generate_type_interface):
Use OBJC_STATIC_PREFIX along with the unprefixed file name.
- inspector/scripts/codegen/generate_objc_internal_header.py:
Use RWIProtocolJSONObjectPrivate.h instead.
- inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator.generate_output):
Include the Internal header if it's being generated (only for --backend).
- inspector/scripts/codegen/generator.py:
(Generator.init):
(Generator.set_generator_setting):
(Generator):
(Generator.get_generator_setting):
Crib a simple setting system from the Framework class. Make the names more obnoxious.
(Generator.string_for_file_include):
Inspired by the replay input generator, this is a function that uses the proper syntax
for a file include depending on the file's framework and target framework.
- inspector/scripts/codegen/objc_generator.py:
(ObjCGenerator.and):
(ObjCGenerator.and.objc_prefix):
(ObjCGenerator):
(ObjCGenerator.objc_type_for_raw_name):
(ObjCGenerator.objc_class_for_raw_name):
Whitelist the 'Automation' domain for the ObjC generators. Revise use of OBJC_STATIC_PREFIX.
- inspector/scripts/generate-inspector-protocol-bindings.py:
(generate_from_specification):
Change the generators to use for the frontend. Propagate --frontend and --backend.
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
- inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
- inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
- inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
- inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-declaration-object-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
Rebaseline tests. They now correctly include RWIProtocolJSONObject.h and the like.
- 9:15 PM Changeset in webkit [197012] by
-
- 5 edits14 adds in trunk
Align our implementation of Range.createContextualFragment with the specification
https://bugs.webkit.org/show_bug.cgi?id=154627
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
Rebaseline as one more check is passing.
- web-platform-tests/dom/nodes/Node-contains-xhtml-expected.txt:
Source/WebCore:
Align our implementation of Range.createContextualFragment with the
specification:
In particular, if the Range's start node is a Document / DocumentFragment,
we now create a new HTMLBodyElement and use it as context element, instead
of throwing an exception.
This also aligns our behavior with Firefox and Chrome.
Tests: imported/blink/fast/dom/Range/create-contextual-fragment-from-bodyless-document-range.html
imported/blink/fast/dom/Range/create-contextual-fragment-from-detached-text-node-range.html
imported/blink/fast/dom/Range/create-contextual-fragment-from-document-fragment-range.html
imported/blink/fast/dom/Range/create-contextual-fragment-from-document-range.html
imported/blink/fast/dom/Range/create-contextual-fragment-from-xhtml-document-range.xhtml
imported/blink/fast/dom/Range/create-contextual-fragment-script-not-ran.html
imported/blink/fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html
- dom/Range.cpp:
(WebCore::Range::createContextualFragment):
LayoutTests:
Import some more layout tests from blink to improve coverage for
Range.createContextualFragment().
- imported/blink/fast/dom/Range/create-contextual-fragment-from-bodyless-document-range-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-bodyless-document-range.html: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-detached-text-node-range-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-detached-text-node-range.html: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-document-fragment-range-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-document-fragment-range.html: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-document-range-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-document-range.html: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-xhtml-document-range-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-from-xhtml-document-range.xhtml: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-script-not-ran-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-script-not-ran.html: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-script-unmark-already-started-expected.txt: Added.
- imported/blink/fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html: Added.
- 8:39 PM Changeset in webkit [197011] by
-
- 2 edits in trunk/Source/JavaScriptCore
arrayProtoFuncConcat doesn't check for an exception after allocating an array
https://bugs.webkit.org/show_bug.cgi?id=154621
Reviewed by Michael Saboff.
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncConcat):
- 8:26 PM Changeset in webkit [197010] by
-
- 24 edits in trunk
[Xcode] Linker errors display mangled names, but no longer should
https://bugs.webkit.org/show_bug.cgi?id=154632
Reviewed by Sam Weinig.
Source/bmalloc:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/JavaScriptCore:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/ThirdParty/ANGLE:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/WebCore:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/WebInspectorUI:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/WebKit/mac:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/WebKit2:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Source/WTF:
- Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
Tools:
- ContentExtensionTester/Configurations/Base.xcconfig: Stop setting LINKER_DISPLAYS_MANGLED_NAMES to YES.
- DumpRenderTree/mac/Configurations/Base.xcconfig: Ditto.
- LayoutTestRelay/Configurations/Base.xcconfig: Ditto.
- MiniBrowser/Configurations/Base.xcconfig: Ditto.
- TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
- WebEditingTester/Configurations/Base.xcconfig: Ditto.
- WebKitTestRunner/Configurations/Base.xcconfig: Ditto.
- 5:57 PM Changeset in webkit [197009] by
-
- 21 edits in trunk/Source
Source/JavaScriptCore:
Remove HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define
https://bugs.webkit.org/show_bug.cgi?id=112323
Reviewed by Chris Dumez.
This feature is controlled by a runtime switch, and defaults off.
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
[WebGL] iOS doesn't respect the alpha:false context creation attribute
https://bugs.webkit.org/show_bug.cgi?id=154617
<rdar://problem/13417023>
Patch by Dean Jackson <dino@apple.com> on 2016-02-23
Reviewed by Sam Weinig.
On iOS we were not respecting the alpha:false context creation
attribute, which meant you always got output that could
have an alpha channel.
The good news is that now we're setting the opaque flag on
the CALayer, there should be a performance improvement when
compositing WebGL into the page.
Test: fast/canvas/webgl/context-attributes-alpha.html
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D): Don't tell the layer
to be transparent.
(WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable): Do it
here instead, but based on the value of the alpha attribute.
Source/WebKit/mac:
Remove HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define
https://bugs.webkit.org/show_bug.cgi?id=112323
Reviewed by Chris Dumez.
This feature is controlled by a runtime switch, and defaults off.
- Configurations/FeatureDefines.xcconfig:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKit2:
Remove HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define
https://bugs.webkit.org/show_bug.cgi?id=112323
Reviewed by Chris Dumez.
This feature is controlled by a runtime switch, and defaults off.
- Configurations/FeatureDefines.xcconfig:
- WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WTF:
Remove HIDDEN_PAGE_DOM_TIMER_THROTTLING feature define
https://bugs.webkit.org/show_bug.cgi?id=112323
Reviewed by Chris Dumez.
This feature is controlled by a runtime switch, and defaults off.
- wtf/FeatureDefines.h:
- 5:21 PM Changeset in webkit [197008] by
-
- 3 edits2 adds in trunk
[WebGL] iOS doesn't respect the alpha:false context creation attribute
https://bugs.webkit.org/show_bug.cgi?id=154617
<rdar://problem/13417023>
Reviewed by Sam Weinig.
Source/WebCore:
On iOS we were not respecting the alpha:false context creation
attribute, which meant you always got output that could
have an alpha channel.
The good news is that now we're setting the opaque flag on
the CALayer, there should be a performance improvement when
compositing WebGL into the page.
Test: fast/canvas/webgl/context-attributes-alpha.html
- platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D): Don't tell the layer
to be transparent.
(WebCore::GraphicsContext3D::setRenderbufferStorageFromDrawable): Do it
here instead, but based on the value of the alpha attribute.
LayoutTests:
Add a test that draws contexts with and without alpha, and then a reference
version that hard-codes the non-alpha colors.
- fast/canvas/webgl/context-attributes-alpha-expected.html: Added.
- fast/canvas/webgl/context-attributes-alpha.html: Added.
- 4:53 PM Changeset in webkit [197007] by
-
- 8 edits1 copy8 adds in trunk
CSP: Enable base-uri directive by default
https://bugs.webkit.org/show_bug.cgi?id=154521
<rdar://problem/24762032>
Reviewed by Brent Fulgham.
Source/WebCore:
Tests: http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored.html
http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny.html
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::isExperimentalDirectiveName): Move base-uri from the directives considered
experimental to...
(WebCore::isCSPDirectiveName): ...the list of standard directives.
(WebCore::ContentSecurityPolicyDirectiveList::addDirective): Move logic to parse the base-uri
directive outside the ENABLE(CSP_NEXT) macro guarded section/experimental feature runtime flag.
LayoutTests:
Copy test http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html to
http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny.html,
making some minor stylistic changes, and update TestExpectations to skip it because it depends
on the firing of event SecurityPolicyViolationEvent, which is disabled as of the time of writing.
We will enable the firing of this event in <https://bugs.webkit.org/show_bug.cgi?id=154522>.
Repurpose test name base-uri-deny.html to test that the base-uri directive prevents the use of
document base URL without depending on the firing of event SecurityPolicyViolationEvent.
Additionally, add test http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored.html
to ensure that we do not fall back to enforcing the default-src directive in absence of
a base-uri directive as per section base-uri of the Content Security Policy 2.0 spec.,
<https://www.w3.org/TR/2015/CR-CSP2-20150721/>.
- TestExpectations:
- http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/1.1/base-uri-default-ignored.html: Added.
- http/tests/security/contentSecurityPolicy/1.1/base-uri-deny-expected.txt:
- http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html: Repurpose test.
- http/tests/security/contentSecurityPolicy/1.1/resources/base-href/resources/safe-script.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/resources/safe-script.js: Added.
- http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny-expected.txt: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/base-uri-deny-expected.txt.
- http/tests/security/contentSecurityPolicy/1.1/securitypolicyviolation-base-uri-deny.html: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/1.1/base-uri-deny.html.
- http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt: Update expected result based on change to test (below).
- http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Modified to test that we emit
a console warning when base-uri is used as a source expression.
- 4:32 PM Changeset in webkit [197006] by
-
- 5 edits in trunk/Source/WebCore
Add a mechanism to automatically ramp up timer alignment.
https://bugs.webkit.org/show_bug.cgi?id=154578
Reviewed by Antti Koivisto & Chris Dumez.
Allow timer alignment duration to be proportional to the time the page
has been hidden. This implementation does so by scaling up the throttle
in exponential steps, spaced exponentially far apart.
- page/Page.cpp:
(WebCore::Page::Page):
- initialize timer.
(WebCore::Page::hiddenPageDOMTimerThrottlingStateChanged):
- if setting are changed fully disable/reenable to ensure new setting are read.
(WebCore::Page::setTimerThrottlingEnabled):
- enebled bool flag converted to an Optional<double>, tracking time throttling is enabled.
(WebCore::Page::setDOMTimerAlignmentInterval):
- when new mechanism is enabled schedule a timer to step up alignment.
(WebCore::Page::timerAlignmentIntervalIncreaseTimerFired):
- when timer fires increase alignment.
- page/Page.h:
- added new member.
- page/Settings.cpp:
(WebCore::Settings::Settings):
- initialize new member.
(WebCore::Settings::setHiddenPageDOMTimerThrottlingAutoIncreaseLimit):
- added, update new setting. Setting to zero disabled. A non-zero value is a duration in seconds for timer throttling to ramp up to.
- page/Settings.h:
(WebCore::Settings::hiddenPageDOMTimerThrottlingAutoIncreases):
- read as boolean whether throttle increasing is enabled.
(WebCore::Settings::hiddenPageDOMTimerThrottlingAutoIncreaseLimit):
- read throttle increasing limit.
- 4:30 PM Changeset in webkit [197005] by
-
- 2 edits in trunk/Source/WebCore
Refactor script that updates fullscreen buttons.
https://bugs.webkit.org/show_bug.cgi?id=154562
Reviewed by Dean Jackson.
Also expose extra property and element in getCurrentControlsStatus() for future testing.
- Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.updatePictureInPictureButton):
(Controller.prototype.updateFullscreenButtons):
- 4:20 PM Changeset in webkit [197004] by
-
- 6 edits in trunk
WKWebView should implement NSCoding
https://bugs.webkit.org/show_bug.cgi?id=137160
Source/WebKit2:
rdar://problem/17380562
Reviewed by Dan Bernstein.
- UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController initWithCoder:]):
We need to call [self init] here, so that the wrapper will be initialized.
- UIProcess/API/Cocoa/WKWebView.h:
-initWithCoder: shouldn't be unavailable, it should be a designated initializer.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initializeWithConfiguration:]):
Move initialization out into a common method.
(-[WKWebView initWithFrame:configuration:]):
Call -initializeWithConfiguration: here.
(-[WKWebView initWithCoder:]):
Decode everything.
(-[WKWebView encodeWithCoder:]):
Encode everything.
Tools:
Reviewed by Dan Bernstein.
Add tests.
- TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
(TEST):
- 3:41 PM Changeset in webkit [197003] by
-
- 2 edits in trunk/Source/WebKit2
Fix an API test.
- UIProcess/API/APIWebsiteDataStore.cpp:
(API::WebsiteDataStore::defaultDataStore):
Make sure to initialize WebKit2.
- 3:05 PM Changeset in webkit [197002] by
-
- 2 edits in trunk/Source/WebKit2
WKWebViewConfiguration should encode more of its properties
https://bugs.webkit.org/show_bug.cgi?id=154611
Reviewed by Sam Weinig.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
- 3:03 PM Changeset in webkit [197001] by
-
- 3 edits in trunk/Source/JavaScriptCore
JSC stress tests' standalone-pre.js should exit on the first failure by default
https://bugs.webkit.org/show_bug.cgi?id=154565
Reviewed by Mark Lam.
Currently, if a test writer does not call finishJSTest() at the end of
any test using stress/resources/standalone-pre.js then the test can fail
without actually reporting an error to the harness. By default, we
should throw on the first error so, in the event someone does not call
finishJSTest() the harness will still notice the error.
- tests/stress/regress-151324.js:
- tests/stress/resources/standalone-pre.js:
(testFailed):
- 2:54 PM Changeset in webkit [197000] by
-
- 3 edits in trunk/Source/WebKit2
WKUserContentController should conform to NSCoding
https://bugs.webkit.org/show_bug.cgi?id=154609
Reviewed by Sam Weinig.
Since we just want to be able to encode WKUserContentController from WKWebViewConfiguration,
we don't encode anything inside WKUserContentController.
- UIProcess/API/Cocoa/WKUserContentController.h:
- UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController encodeWithCoder:]):
(-[WKUserContentController initWithCoder:]):
- 2:41 PM Changeset in webkit [196999] by
-
- 2 edits in trunk/Source/JavaScriptCore
Make JSObject::getMethod have fewer branches
https://bugs.webkit.org/show_bug.cgi?id=154603
Reviewed by Mark Lam.
Writing code with fewer branches is almost always better.
- runtime/JSObject.cpp:
(JSC::JSObject::getMethod):
- 2:35 PM Changeset in webkit [196998] by
-
- 6 edits6 adds in trunk
Calling importNode on shadow root causes a crash
https://bugs.webkit.org/show_bug.cgi?id=154570
Reviewed by Anders Carlsson.
Source/WebCore:
The bug was caused by a missing check in cloneNode. Added cloneNodeForBindings to explicitly throw
an NotSupportedError when it's called on a shadow root. We don't clone shadow root when deep-cloning
the tree so we don't have to check that condition.
The behavior of cloneNode is specified at:
http://w3c.github.io/webcomponents/spec/shadow/#the-shadowroot-interface
(it current says we should throw DATA_CLONE_ERR but I have an spec bug filed at
https://github.com/w3c/webcomponents/issues/393)
The behavior of importNode and adoptNode are specified in DOM4 specification:
https://dom.spec.whatwg.org/#dom-document-importnode
https://dom.spec.whatwg.org/#dom-document-adoptnode
Tests: fast/shadow-dom/Document-prototype-adoptNode.html
fast/shadow-dom/Document-prototype-importNode.html
fast/shadow-dom/Node-prototype-cloneNode.html
- dom/Document.cpp:
(WebCore::Document::importNode): Throw NotSupportedError when importing a shadow root.
- dom/Node.cpp:
(WebCore::Node::cloneNodeForBindings): Added.
- dom/Node.h:
- dom/Node.idl: Use cloneNodeForBindings here.
LayoutTests:
Added W3C-style testharness tests for calling cloneNode on a shadow root.
Also added tests for adoptNode and importNode.
- fast/shadow-dom/Document-prototype-adoptNode-expected.txt: Added.
- fast/shadow-dom/Document-prototype-adoptNode.html: Added.
- fast/shadow-dom/Document-prototype-importNode-expected.txt: Added.
- fast/shadow-dom/Document-prototype-importNode.html: Added.
- fast/shadow-dom/Node-prototype-cloneNode-expected.txt: Added.
- fast/shadow-dom/Node-prototype-cloneNode.html: Added.
- 2:29 PM Changeset in webkit [196997] by
-
- 6 edits in trunk
WKProcessPool should conform to NSCoding
https://bugs.webkit.org/show_bug.cgi?id=154608
Reviewed by Sam Weinig.
Source/WebKit2:
Add +[WKProcessPool _sharedProcessPool] and encode/decode whether the process pool is shared.
- UIProcess/API/Cocoa/WKProcessPool.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool encodeWithCoder:]):
(-[WKProcessPool initWithCoder:]):
(+[WKProcessPool _sharedProcessPool]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
Tools:
Add tests.
- TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
(TEST):
- 2:17 PM Changeset in webkit [196996] by
-
- 3 edits in trunk/Source/JavaScriptCore
B3::Value doesn't self-destruct virtually enough (Causes many leaks in LowerDFGToB3::appendOSRExit)
https://bugs.webkit.org/show_bug.cgi?id=154592
Reviewed by Saam Barati.
If Foo has a virtual destructor, then:
foo->Foo::~Foo() does a non-virtual call to Foo's destructor. Even if foo points to a
subclass of Foo that overrides the destructor, this syntax will not call that override.
foo->~Foo() does a virtual call to the destructor, and so if foo points to a subclass, you
get the subclass's override.
In B3, we used this->Value::~Value() thinking that it would call the subclass's override.
This caused leaks because this didn't actually call the subclass's override. This fixes the
problem by using this->~Value() instead.
- b3/B3ControlValue.cpp:
(JSC::B3::ControlValue::convertToJump):
(JSC::B3::ControlValue::convertToOops):
- b3/B3Value.cpp:
(JSC::B3::Value::replaceWithIdentity):
(JSC::B3::Value::replaceWithNop):
(JSC::B3::Value::replaceWithPhi):
- 2:08 PM Changeset in webkit [196995] by
-
- 5 edits in trunk
WKWebsiteDataStore should conform to NSCoding
https://bugs.webkit.org/show_bug.cgi?id=154605
Reviewed by Dan Bernstein.
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebsiteDataStore.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore initWithCoder:]):
(-[WKWebsiteDataStore encodeWithCoder:]):
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
(TEST):
- 1:49 PM Changeset in webkit [196994] by
-
- 2 edits in trunk/Source/WebKit2
Fix iOS build.
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration initWithCoder:]):
- 1:49 PM Changeset in webkit [196993] by
-
- 25 edits in trunk/Source/JavaScriptCore
Web Inspector: the protocol generator's Objective-C name prefix should be configurable
https://bugs.webkit.org/show_bug.cgi?id=154596
<rdar://problem/24794962>
Reviewed by Timothy Hatcher.
In order to support different generated protocol sets that don't have conflicting
file and type names, allow the Objective-C prefix to be configurable based on the
target framework. Each name also has the implicit prefix 'Protocol' appended to the
per-target framework prefix.
For example, the existing protocol for remote inspection has the prefix 'RWI'
and is generated as 'RWIProtocol'. The WebKit framework has the 'Automation' prefix
and is generated as 'AutomationProtocol'.
To make this change, convert ObjCGenerator to be a subclass of Generator and use
the instance method model() to find the target framework and its setting for
'objc_prefix'. Make all ObjC generators subclass ObjCGenerator so they can use
these instance methods that used to be static methods. This is a large but
mechanical change to use self instead of ObjCGenerator.
- inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py:
(ObjCBackendDispatcherHeaderGenerator):
(ObjCBackendDispatcherHeaderGenerator.init):
(ObjCBackendDispatcherHeaderGenerator.output_filename):
(ObjCBackendDispatcherHeaderGenerator._generate_objc_forward_declarations):
(ObjCBackendDispatcherHeaderGenerator._generate_objc_handler_declarations_for_domain):
- inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py:
(ObjCConfigurationImplementationGenerator):
(ObjCConfigurationImplementationGenerator.init):
(ObjCConfigurationImplementationGenerator.output_filename):
(ObjCConfigurationImplementationGenerator.generate_output):
(ObjCConfigurationImplementationGenerator._generate_success_block_for_command):
(ObjCConfigurationImplementationGenerator._generate_success_block_for_command.and):
(ObjCConfigurationImplementationGenerator._generate_conversions_for_command):
- inspector/scripts/codegen/generate_objc_configuration_header.py:
(ObjCConfigurationHeaderGenerator):
(ObjCConfigurationHeaderGenerator.init):
(ObjCConfigurationHeaderGenerator.output_filename):
(ObjCConfigurationHeaderGenerator.generate_output):
(ObjCConfigurationHeaderGenerator._generate_configuration_interface_for_domains):
(ObjCConfigurationHeaderGenerator._generate_properties_for_domain):
- inspector/scripts/codegen/generate_objc_configuration_implementation.py:
(ObjCBackendDispatcherImplementationGenerator):
(ObjCBackendDispatcherImplementationGenerator.init):
(ObjCBackendDispatcherImplementationGenerator.output_filename):
(ObjCBackendDispatcherImplementationGenerator.generate_output):
(ObjCBackendDispatcherImplementationGenerator._generate_configuration_implementation_for_domains):
(ObjCBackendDispatcherImplementationGenerator._generate_ivars):
(ObjCBackendDispatcherImplementationGenerator._generate_handler_setter_for_domain):
(ObjCBackendDispatcherImplementationGenerator._generate_event_dispatcher_getter_for_domain):
- inspector/scripts/codegen/generate_objc_conversion_helpers.py:
(ObjCConversionHelpersGenerator):
(ObjCConversionHelpersGenerator.init):
(ObjCConversionHelpersGenerator.output_filename):
(ObjCConversionHelpersGenerator.generate_output):
(ObjCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_declaration):
(ObjCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_member):
(ObjCConversionHelpersGenerator._generate_anonymous_enum_conversion_for_parameter):
- inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py:
(ObjCFrontendDispatcherImplementationGenerator):
(ObjCFrontendDispatcherImplementationGenerator.init):
(ObjCFrontendDispatcherImplementationGenerator.output_filename):
(ObjCFrontendDispatcherImplementationGenerator.generate_output):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_dispatcher_implementations):
(ObjCFrontendDispatcherImplementationGenerator._generate_event):
(ObjCFrontendDispatcherImplementationGenerator._generate_event.and):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_signature):
(ObjCFrontendDispatcherImplementationGenerator._generate_event_out_parameters):
- inspector/scripts/codegen/generate_objc_header.py:
(ObjCHeaderGenerator):
(ObjCHeaderGenerator.init):
(ObjCHeaderGenerator.output_filename):
(ObjCHeaderGenerator.generate_output):
(ObjCHeaderGenerator._generate_forward_declarations):
(ObjCHeaderGenerator._generate_anonymous_enum_for_declaration):
(ObjCHeaderGenerator._generate_anonymous_enum_for_member):
(ObjCHeaderGenerator._generate_anonymous_enum_for_parameter):
(ObjCHeaderGenerator._generate_type_interface):
(ObjCHeaderGenerator._generate_init_method_for_required_members):
(ObjCHeaderGenerator._generate_member_property):
(ObjCHeaderGenerator._generate_command_protocols):
(ObjCHeaderGenerator._generate_single_command_protocol):
(ObjCHeaderGenerator._callback_block_for_command):
(ObjCHeaderGenerator._generate_event_interfaces):
(ObjCHeaderGenerator._generate_single_event_interface):
- inspector/scripts/codegen/generate_objc_internal_header.py:
(ObjCInternalHeaderGenerator):
(ObjCInternalHeaderGenerator.init):
(ObjCInternalHeaderGenerator.output_filename):
(ObjCInternalHeaderGenerator.generate_output):
(ObjCInternalHeaderGenerator._generate_event_dispatcher_private_interfaces):
- inspector/scripts/codegen/generate_objc_protocol_types_implementation.py:
(ObjCProtocolTypesImplementationGenerator):
(ObjCProtocolTypesImplementationGenerator.init):
(ObjCProtocolTypesImplementationGenerator.output_filename):
(ObjCProtocolTypesImplementationGenerator.generate_output):
(ObjCProtocolTypesImplementationGenerator.generate_type_implementation):
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members):
(ObjCProtocolTypesImplementationGenerator._generate_init_method_for_required_members.and):
(ObjCProtocolTypesImplementationGenerator._generate_setter_for_member):
(ObjCProtocolTypesImplementationGenerator._generate_setter_for_member.and):
(ObjCProtocolTypesImplementationGenerator._generate_getter_for_member):
- inspector/scripts/codegen/models.py:
- inspector/scripts/codegen/objc_generator.py:
(ObjCTypeCategory.category_for_type):
(ObjCGenerator):
(ObjCGenerator.init):
(ObjCGenerator.objc_prefix):
(ObjCGenerator.objc_name_for_type):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_declaration):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_member):
(ObjCGenerator.objc_enum_name_for_anonymous_enum_parameter):
(ObjCGenerator.objc_enum_name_for_non_anonymous_enum):
(ObjCGenerator.objc_class_for_type):
(ObjCGenerator.objc_class_for_array_type):
(ObjCGenerator.objc_accessor_type_for_member):
(ObjCGenerator.objc_accessor_type_for_member_internal):
(ObjCGenerator.objc_type_for_member):
(ObjCGenerator.objc_type_for_member_internal):
(ObjCGenerator.objc_type_for_param):
(ObjCGenerator.objc_type_for_param_internal):
(ObjCGenerator.objc_protocol_export_expression_for_variable):
(ObjCGenerator.objc_protocol_import_expression_for_member):
(ObjCGenerator.objc_protocol_import_expression_for_parameter):
(ObjCGenerator.objc_protocol_import_expression_for_variable):
(ObjCGenerator.objc_to_protocol_expression_for_member):
(ObjCGenerator.protocol_to_objc_expression_for_member):
Change the prefix for the 'Test' target framework to be 'Test.' Rebaseline results.
- inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
- inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
- inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
- inspector/scripts/tests/expected/enum-values.json-result:
- inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
- inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
- inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
- inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
- inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
- inspector/scripts/tests/expected/type-declaration-array-type.json-result:
- inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
- inspector/scripts/tests/expected/type-declaration-object-type.json-result:
- inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
- 1:32 PM Changeset in webkit [196992] by
-
- 5 edits in trunk
REGRESSION (r196892): No longer emit error message when CSP form-action directive is used as a source expression
https://bugs.webkit.org/show_bug.cgi?id=154555
<rdar://problem/24776777>
Reviewed by Andy Estes.
Source/WebCore:
Fixes an issue where an error message is not emitted when directive form-action is used as a
source expression. Prior to <http://trac.webkit.org/changeset/196892>, when directive form-action
was used as a source expression a console error message would be emitted with the form:
The Content Security Policy directive 'script-src' contains 'form-action' as a source expression.
Did you mean 'script-src ...; form-action...' (note the semicolon)?
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::isCSPDirectiveName): Return true if the specified directive name is "form-action".
LayoutTests:
Test that we emit a console error message when form-action is used as a source expression.
- http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon-expected.txt:
- http/tests/security/contentSecurityPolicy/source-list-parsing-no-semicolon.html: Use form-action as a
source expression. Also, use a double quoted (") string literal instead of a single quoted (') string
literal to represent the CSP policy so as to avoid the need to escape embedded single quote characters.
- 1:18 PM Changeset in webkit [196991] by
-
- 14 edits in trunk/Source/WebCore
Lay the groundwork for more constness in StyleResolver-related code
https://bugs.webkit.org/show_bug.cgi?id=154598
Reviewed by Antti Koivisto.
Make some of the leaf functions that are used by the style resolver take
const CSSValues, and use 'auto' more to automatically get const stack variables
when appropriate.
- css/CSSBorderImageSliceValue.h:
(WebCore::CSSBorderImageSliceValue::slices):
- css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isQuirkValue):
- css/FontVariantBuilder.cpp:
(WebCore::extractFontVariantLigatures):
(WebCore::extractFontVariantNumeric):
(WebCore::extractFontVariantEastAsian):
- css/FontVariantBuilder.h:
- css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertReflection):
(WebCore::StyleBuilderConverter::convertGridAutoFlow):
- css/StyleBuilderCustom.h:
(WebCore::StyleBuilderCustom::applyValueSize):
(WebCore::StyleBuilderCustom::applyValueStroke):
- css/StyleResolver.cpp:
(WebCore::StyleResolver::colorFromPrimitiveValueIsDerivedFromElement):
(WebCore::StyleResolver::colorFromPrimitiveValue):
(WebCore::StyleResolver::createFilterOperations):
- css/StyleResolver.h:
- css/TransformFunctions.cpp:
(WebCore::transformsForValue):
- css/TransformFunctions.h:
- rendering/style/StylePendingImage.h:
- svg/SVGLength.cpp:
(WebCore::SVGLength::fromCSSPrimitiveValue):
- svg/SVGLength.h:
- 1:17 PM Changeset in webkit [196990] by
-
- 5 edits in trunk
WKWebViewConfiguration should conform to NSCoding
https://bugs.webkit.org/show_bug.cgi?id=154602
Reviewed by Beth Dakin.
Source/WebKit2:
- UIProcess/API/Cocoa/WKWebViewConfiguration.h:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration encodeWithCoder:]):
(-[WKWebViewConfiguration initWithCoder:]):
Tools:
- TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
(TEST):
- 12:38 PM Changeset in webkit [196989] by
-
- 4 edits2 copies6 adds in trunk/LayoutTests
Add tests for fast click change in r196679
https://bugs.webkit.org/show_bug.cgi?id=154568
<rdar://problem/24782479>
Reviewed by Myles Maxfield.
Bug http://webkit.org/b/154318 made some changes to the fast
click behaviour, but didn't include any tests. Here they are!
- fast/events/ios/fast-click-double-tap-sends-click-expected.txt: Added.
- fast/events/ios/fast-click-double-tap-sends-click.html: Checks that a double tap on a clickable element sends a click.
- fast/events/ios/fast-click-double-tap-zooms-on-image-expected.txt: Added.
- fast/events/ios/fast-click-double-tap-zooms-on-image.html: Checks that a double tap on an image can trigger a zoom if there
isn't anything else listening.
- fast/events/ios/fast-click-double-tap-zooms-on-text-expected.txt: Added.
- fast/events/ios/fast-click-double-tap-zooms-on-text.html: Checks that a double tap on a block of text can trigger a zoom
if there isn't anything else listening.
- fast/events/ios/no-fast-click-double-tap-causes-zoom-expected.txt: Added.
- fast/events/ios/no-fast-click-double-tap-causes-zoom.html: When we are not in fast click mode, a double tap should
trigger a zoom. This is checking the inverse behaviour to fast-click-double-tap-sends-click.
- fast/events/ios/viewport-device-width-allows-double-tap-zoom-out.html: Removed some code that could never be called.
- fast/events/ios/viewport-zooms-from-element-to-initial-scale.html: Ditto.
- platform/ios-simulator/TestExpectations: Add the new tests.
- 12:09 PM Changeset in webkit [196988] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r192251): http/tests/navigation/page-cache-xhr.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=154589
Reviewed by Youenn Fablet.
- http/tests/navigation/page-cache-xhr.html: Load a file that exists. The content
doesn't matter, as we expect to navigate away before the load occurs.
- http/tests/resources/load-and-stall.cgi: Added cache control, just for a good measure.
- 12:04 PM Changeset in webkit [196987] by
-
- 5 edits1 copy in trunk
WKPreferences should conform to NSCoding
https://bugs.webkit.org/show_bug.cgi?id=154597
Reviewed by Sam Weinig.
Source/WebKit2:
Add NSCoding implementation.
- UIProcess/API/Cocoa/WKPreferences.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences encodeWithCoder:]):
(-[WKPreferences initWithCoder:]):
Tools:
Test encoding and decoding WKPreferences.
- TestWebKitAPI/Tests/WebKit2Cocoa/Coding.mm:
(encodeAndDecode):
(TEST):
- 11:41 AM Changeset in webkit [196986] by
-
- 29 edits1 add in trunk
Debug assertion failure while loading http://kangax.github.io/compat-table/es6/.
https://bugs.webkit.org/show_bug.cgi?id=154542
Reviewed by Saam Barati.
Source/JavaScriptCore:
According to the spec, the constructors of the following types "are not intended
to be called as a function and will throw an exception". These types are:
TypedArrays - https://tc39.github.io/ecma262/#sec-typedarray-constructors
Map - https://tc39.github.io/ecma262/#sec-map-constructor
Set - https://tc39.github.io/ecma262/#sec-set-constructor
WeakMap - https://tc39.github.io/ecma262/#sec-weakmap-constructor
WeakSet - https://tc39.github.io/ecma262/#sec-weakset-constructor
ArrayBuffer - https://tc39.github.io/ecma262/#sec-arraybuffer-constructor
DataView - https://tc39.github.io/ecma262/#sec-dataview-constructor
Promise - https://tc39.github.io/ecma262/#sec-promise-constructor
Proxy - https://tc39.github.io/ecma262/#sec-proxy-constructor
This patch does the foillowing:
- Ensures that these constructors can be called but will throw a TypeError when called.
- Makes all these objects use throwConstructorCannotBeCalledAsFunctionTypeError() in their implementation to be consistent.
- Change the error message to "calling XXX constructor without new is invalid". This is clearer because the error is likely due to the user forgetting to use the new operator on these constructors.
- runtime/Error.h:
- runtime/Error.cpp:
(JSC::throwConstructorCannotBeCalledAsFunctionTypeError):
- Added a convenience function to throw the TypeError.
- runtime/JSArrayBufferConstructor.cpp:
(JSC::constructArrayBuffer):
(JSC::callArrayBuffer):
(JSC::JSArrayBufferConstructor::getCallData):
- runtime/JSGenericTypedArrayViewConstructorInlines.h:
(JSC::callGenericTypedArrayView):
(JSC::JSGenericTypedArrayViewConstructor<ViewClass>::getCallData):
- runtime/JSPromiseConstructor.cpp:
(JSC::callPromise):
- runtime/MapConstructor.cpp:
(JSC::callMap):
- runtime/ProxyConstructor.cpp:
(JSC::callProxy):
(JSC::ProxyConstructor::getCallData):
- runtime/SetConstructor.cpp:
(JSC::callSet):
- runtime/WeakMapConstructor.cpp:
(JSC::callWeakMap):
- runtime/WeakSetConstructor.cpp:
(JSC::callWeakSet):
- tests/es6.yaml:
- The typed_arrays_%TypedArray%[Symbol.species].js test now passes.
- tests/stress/call-non-calleable-constructors-as-function.js: Added.
(test):
- tests/stress/map-constructor.js:
(testCallTypeError):
- tests/stress/promise-cannot-be-called.js:
(shouldThrow):
- tests/stress/proxy-basic.js:
- tests/stress/set-constructor.js:
- tests/stress/throw-from-ftl-call-ic-slow-path-cells.js:
(i.catch):
- tests/stress/throw-from-ftl-call-ic-slow-path-undefined.js:
(i.catch):
- tests/stress/throw-from-ftl-call-ic-slow-path.js:
(i.catch):
- tests/stress/weak-map-constructor.js:
(testCallTypeError):
- tests/stress/weak-set-constructor.js:
- Updated error message string.
LayoutTests:
- js/Promise-types-expected.txt:
- js/basic-map-expected.txt:
- js/basic-set-expected.txt:
- js/dom/basic-weakmap-expected.txt:
- js/dom/basic-weakset-expected.txt:
- js/script-tests/Promise-types.js:
- js/typedarray-constructors-expected.txt:
- Updated error message string.
- 11:38 AM Changeset in webkit [196985] by
-
- 2 edits in trunk/Source/JavaScriptCore
ASan build fix.
Let's not export a template function that is only used in InspectorBackendDispatcher.cpp.
- inspector/InspectorBackendDispatcher.h:
- 11:13 AM Changeset in webkit [196984] by
-
- 15 edits in trunk/Source/WebKit2
Implement downloads with NetworkSession
https://bugs.webkit.org/show_bug.cgi?id=154473
Reviewed by Brady Eidson.
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::~Download):
(WebKit::Download::didStart):
(WebKit::Download::shouldDecodeSourceDataOfMIMEType):
(WebKit::Download::decideDestinationWithSuggestedFilename):
(WebKit::Download::didCreateDestination):
- NetworkProcess/Downloads/Download.h:
(WebKit::Download::downloadID):
(WebKit::Download::setSandboxExtension):
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::startDownload):
(WebKit::DownloadManager::dataTaskBecameDownloadTask):
(WebKit::DownloadManager::continueCanAuthenticateAgainstProtectionSpace):
(WebKit::DownloadManager::continueWillSendRequest):
(WebKit::DownloadManager::willDecidePendingDownloadDestination):
(WebKit::DownloadManager::continueDecidePendingDownloadDestination):
(WebKit::DownloadManager::convertHandleToDownload):
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/NetworkDataTask.h:
(WebKit::NetworkDataTask::clearClient):
NetworkDataTasks can now outlive their client, so we need to make client a pointer
with the ability to be nulled from the client's destructor.
(WebKit::NetworkDataTask::pendingDownloadID):
(WebKit::NetworkDataTask::pendingDownload):
(WebKit::NetworkDataTask::setPendingDownload):
(WebKit::NetworkDataTask::pendingDownloadLocation):
(WebKit::NetworkDataTask::client): Deleted.
- NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::~NetworkLoad):
(WebKit::NetworkLoad::convertTaskToDownload):
(WebKit::NetworkLoad::setPendingDownloadID):
(WebKit::NetworkLoad::didReceiveResponseNetworkSession):
Don't call the didReceiveResponse completion handler immediately when we know we are
going to turn the load into a download. Instead, save the completion handler until
after we have determined the download destination and set it in the NetworkDataTask.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::continueWillSendRequest):
(WebKit::NetworkProcess::findPendingDownloadLocation):
(WebKit::NetworkProcess::continueDecidePendingDownloadDestination):
(WebKit::NetworkProcess::setCacheModel):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTask::NetworkDataTask):
(WebKit::NetworkDataTask::~NetworkDataTask):
(WebKit::NetworkDataTask::didSendData):
(WebKit::NetworkDataTask::didReceiveChallenge):
(WebKit::NetworkDataTask::didCompleteWithError):
(WebKit::NetworkDataTask::didReceiveResponse):
(WebKit::NetworkDataTask::didReceiveData):
(WebKit::NetworkDataTask::didBecomeDownload):
(WebKit::NetworkDataTask::willPerformHTTPRedirection):
(WebKit::NetworkDataTask::scheduleFailure):
(WebKit::NetworkDataTask::failureTimerFired):
(WebKit::NetworkDataTask::findPendingDownloadLocation):
(WebKit::NetworkDataTask::setPendingDownloadLocation):
(WebKit::NetworkDataTask::tryPasswordBasedAuthentication):
(WebKit::NetworkDataTask::transferSandboxExtensionToDownload):
(WebKit::NetworkDataTask::currentRequest):
(WebKit::NetworkDataTask::cancel):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:]):
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
This delegate callback is used for downloads, too.
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveData:]):
(-[WKNetworkSessionDelegate URLSession:downloadTask:didFinishDownloadingToURL:]):
(-[WKNetworkSessionDelegate URLSession:dataTask:didBecomeDownloadTask:]):
Call didCreateDestination now, which is after the file has been opened on the disk.
A DownloadProxy::DidStart message is now sent from NetworkProcess::findPendingDownloadLocation before
we ask the UIProcess where the download should end up on disk.
Null check the NetworkDataTask's client before using it because it is now a pointer that could be null.
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilenameAsync):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
(WebKit::DownloadProxy::didCreateDestination):
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxy.messages.in:
- 10:17 AM Changeset in webkit [196983] by
-
- 3 edits in trunk/Source/WebCore
[css-grid] Avoid duplicated calls to resolution code
https://bugs.webkit.org/show_bug.cgi?id=154336
Reviewed by Sergio Villar Senin.
We were calling GridResolvedPosition::resolveGridPositionsFromStyle()
several times per item.
We can store the GridCoordinates in
RenderGrid::populateExplicitGridAndOrderIterator()
and reuse them in the placement code.
Once RenderGrid::placeItemsOnGrid() is over,
all the items will have a definite position in both axis.
No new tests, no change of behavior.
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::insertItemIntoGrid):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::cachedGridCoordinate):
(WebCore::RenderGrid::cachedGridSpan):
- rendering/RenderGrid.h:
- 9:57 AM Changeset in webkit [196982] by
-
- 2 edits in trunk/Tools
Fix build.
- TestWebKitAPI/mac/SyntheticBackingScaleFactorWindow.m:
(-[SyntheticBackingScaleFactorWindow initWithContentRect:styleMask:backing:defer:]):
- 9:42 AM Changeset in webkit [196981] by
-
- 2 edits in trunk/PerformanceTests
Unreviewed change to revert extraneous changes made part of change set 196955.
- MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::doMallocOp):
(Interpreter::Thread::switchTo):
(writeData): Deleted.
- 9:40 AM Changeset in webkit [196980] by
-
- 6 edits in trunk/Source
Connect WebAutomationSession to its backend dispatcher as if it were an agent and add stub implementations
https://bugs.webkit.org/show_bug.cgi?id=154518
<rdar://problem/24761096>
Reviewed by Timothy Hatcher.
Source/JavaScriptCore:
- inspector/InspectorBackendDispatcher.h:
Export all the classes since they are used by WebKit::WebAutomationSession.
Source/WebKit2:
Add a domain dispatcher for the 'Automation' domain, and register the
WebAutomationSession itself as the handler for Automation commands.
Stub out these command implementations so the code will compile.
- UIProcess/Automation/Automation.json:
Fix the createWindow command's parameters and description.
Add an ErrorMessage string enumeration and document how it can be used
to signal well-known errors to the frontend.
- UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::WebAutomationSession):
Add the domain backend dispatcher. It further parses commands that were deemed
valid by the generic dispatcher and match the 'Automation' domain prefix.
(WebKit::WebAutomationSession::getWindows):
(WebKit::WebAutomationSession::openWindow):
(WebKit::WebAutomationSession::closeWindow):
Stub these out with our new ErrorMessage enumeration and a macro to
make this code pattern more readable.
- UIProcess/Automation/WebAutomationSession.h:
Add new declarations and members.
- 9:38 AM Changeset in webkit [196979] by
-
- 7 edits2 adds in trunk/Tools
[GTK] Allow to run the WebKitGTK+ MiniBrowser with the run-benchmark script.
https://bugs.webkit.org/show_bug.cgi?id=153993
Reviewed by Carlos Garcia Campos.
- MiniBrowser/gtk/main.c:
(createBrowserWindow): Support --geometry argument for MiniBrowser.
We use this on the gtk_minibrowser_driver script to start the MiniBrowser maximized.
- Scripts/webkitpy/benchmark_runner/browser_driver/init.py: Fix loading of subclasses:
The base class has to be loaded first, otherwise any subclase referencing it will give import error.
In OSX the ordering of os.listdir() causes the base class (browser_driver.py) to be first on the list, but not on Linux.
By specifiying the name of the base class file, we ensure it is always loaded first on any system despite the ordering of listdir.
- Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver_factory.py:
(BrowserDriverFactory.create):
- Scripts/webkitpy/benchmark_runner/browser_driver/gtk_browser_driver.py: Added.
(GTKBrowserDriver):
(GTKBrowserDriver.prepare_env):
(GTKBrowserDriver.restore_env):
(GTKBrowserDriver.close_browsers):
(GTKBrowserDriver._launch_process):
(GTKBrowserDriver._terminate_processes):
(GTKBrowserDriver._screen_size):
- Scripts/webkitpy/benchmark_runner/browser_driver/gtk_minibrowser_driver.py: Added.
(GTKMiniBrowserDriver):
(GTKMiniBrowserDriver.prepare_env):
(GTKMiniBrowserDriver.launch_url):
(GTKMiniBrowserDriver.close_browsers):
- Scripts/webkitpy/benchmark_runner/http_server_driver/init.py: Fix loading of subclasses. See description above.
- Scripts/webkitpy/benchmark_runner/http_server_driver/simple_http_server_driver.py:
(SimpleHTTPServerDriver):
(SimpleHTTPServerDriver.kill_server): Check if the server is still running before trying to terminate it.
Usually the server ends gracefully (no need to terminate it), so this was causing ugly errors on the log.
- Scripts/webkitpy/benchmark_runner/utils.py: Fix loading of subclasses. See description above.
(load_subclasses):
- 8:49 AM Changeset in webkit [196978] by
-
- 5 edits in trunk
[css-grid] Rows track sizes are optional in grid-template shorthand
https://bugs.webkit.org/show_bug.cgi?id=154586
Reviewed by Sergio Villar Senin.
You can omit the size of the rows in grid-template shorthand,
even if you specify a named grid line for the end of the row,
due to a change in the spec back in 2014:
https://github.com/w3c/csswg-drafts/commit/9f660c4183c73c1f5279c46904dc6cb314f76194
Before if you want to specify a named grid line,
you need to set the row size.
Update parsing, so it nows accepts things like:
grid-template: 100px / "a" [bottom];
Source/WebCore:
- css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateRowsAndAreasAndColumns):
(WebCore::CSSParser::parseGridTemplateShorthand):
- 8:30 AM Changeset in webkit [196977] by
-
- 15 edits3 adds in trunk
[SVG] Update SVG source to return string literals as ASCIILiteral and add test cases for case sensitivity
https://bugs.webkit.org/show_bug.cgi?id=154373
Patch by Nikos Andronikos <nikos.andronikos-webkit@cisra.canon.com.au> on 2016-02-23
Reviewed by Youenn Fablet.
Source/WebCore:
Update SVGAnimatedEnumeration toString method to return ASCIILiteral for string literals and add test cases for
case-sensitivity for these elements.
Test: svg/dom/SVGAnimatedEnumeration-case-sensitive.html
- svg/SVGComponentTransferFunctionElement.h:
(WebCore::SVGPropertyTraits<ComponentTransferType>::toString):
- svg/SVGFEBlendElement.h:
(WebCore::SVGPropertyTraits<BlendMode>::toString):
- svg/SVGFEColorMatrixElement.h:
(WebCore::SVGPropertyTraits<ColorMatrixType>::toString):
- svg/SVGFECompositeElement.h:
(WebCore::SVGPropertyTraits<CompositeOperationType>::toString):
- svg/SVGFEConvolveMatrixElement.h:
(WebCore::SVGPropertyTraits<EdgeModeType>::toString):
- svg/SVGFEDisplacementMapElement.h:
(WebCore::SVGPropertyTraits<ChannelSelectorType>::toString):
- svg/SVGFEMorphologyElement.h:
(WebCore::SVGPropertyTraits<MorphologyOperatorType>::toString):
- svg/SVGFETurbulenceElement.h:
(WebCore::SVGPropertyTraits<SVGStitchOptions>::toString):
(WebCore::SVGPropertyTraits<TurbulenceType>::toString):
- svg/SVGGradientElement.h:
(WebCore::SVGPropertyTraits<SVGSpreadMethodType>::toString):
- svg/SVGMarkerElement.h:
(WebCore::SVGPropertyTraits<SVGMarkerUnitsType>::toString):
- svg/SVGTextContentElement.h:
(WebCore::SVGPropertyTraits<SVGLengthAdjustType>::toString):
- svg/SVGTextPathElement.h:
(WebCore::SVGPropertyTraits<SVGTextPathMethodType>::toString):
(WebCore::SVGPropertyTraits<SVGTextPathSpacingType>::toString):
- svg/SVGUnitTypes.h:
(WebCore::SVGPropertyTraits<SVGUnitTypes::SVGUnitType>::toString):
LayoutTests:
Add test cases for case-sensitivity for SVGAnimatedEnumeration elements.
- svg/dom/SVGAnimatedEnumeration-case-sensitive-expected.txt: Added.
- svg/dom/SVGAnimatedEnumeration-case-sensitive.html: Added.
- svg/dom/script-tests/SVGAnimatedEnumeration-case-sensitive.js: Added.
(testCaseSensitivity):
- 7:51 AM Changeset in webkit [196976] by
-
- 2 edits in trunk/Source/WebCore
[Mac][cmake] Unreviewed speculative buildfix after r196779. Just for fun.
- PlatformMac.cmake:
- 7:46 AM WebKitGTK/2.12.x edited by
- (diff)
- 6:36 AM Changeset in webkit [196975] by
-
- 8 edits in trunk/Source
Remove tab suspension code
https://bugs.webkit.org/show_bug.cgi?id=154585
Reviewed by Andreas Kling.
Source/WebCore:
It causes too many problems.
- page/Page.cpp:
(WebCore::networkStateChanged):
(WebCore::Page::Page):
(WebCore::Page::setPageActivityState):
(WebCore::Page::setIsVisible):
(WebCore::Page::setIsVisibleInternal):
(WebCore::Page::setIsPrerender):
(WebCore::Page::setResourceUsageOverlayVisible):
(WebCore::Page::canTabSuspend): Deleted.
(WebCore::Page::setIsTabSuspended): Deleted.
(WebCore::Page::setTabSuspensionEnabled): Deleted.
(WebCore::Page::updateTabSuspensionState): Deleted.
(WebCore::Page::tabSuspensionTimerFired): Deleted.
- page/Page.h:
(WebCore::Page::setEditable):
(WebCore::Page::isEditable):
(WebCore::Page::setShowAllPlugins):
Source/WebKit2:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 4:22 AM Changeset in webkit [196974] by
-
- 1 edit1 add in trunk/Tools
[GTK] Missing configuration patch for openh264 compilation
https://bugs.webkit.org/show_bug.cgi?id=154455
This patch is required for the openh264 compilation with the
jhbuild-webrtc.modules. The code was implemented by Alessandro
Decina.
Patch by Alejandro G. Castro <alex@igalia.com> on 2016-02-23
Reviewed by Philippe Normand.
- gtk/patches/openh264-configure.patch: Added.
- 1:39 AM Changeset in webkit [196973] by
-
- 6 edits in trunk/Source/WebCore
Refactor DOM Iterator next signature
https://bugs.webkit.org/show_bug.cgi?id=154531
Reviewed by Myles C. Maxfield.
Covered by existing tests.
- Modules/fetch/FetchHeaders.cpp:
(WebCore::FetchHeaders::Iterator::next): Using Optional<KeyValuePair> to return iterator value.
- Modules/fetch/FetchHeaders.h:
- bindings/js/JSKeyValueIterator.h: Using Optional<KeyValuePair> as returned iterator value.
(WebCore::keyValueIteratorForEach):
(WebCore::JSKeyValueIterator<JSWrapper>::next):
- css/FontFaceSet.cpp:
(WebCore::FontFaceSet::Iterator::next): Using Optional<KeyValuePair> to return iterator value.
- css/FontFaceSet.h: