sbarati@apple.com [Thu, 22 Jun 2017 23:34:05 +0000 (23:34 +0000)]
ValueRep(DoubleRep(@v)) can not simply convert to @v
https://bugs.webkit.org/show_bug.cgi?id=173687
<rdar://problem/
32855563>
Reviewed by Mark Lam.
JSTests:
* stress/dont-strength-reduce-valuerep-of-doublerep.js: Added.
(i.catch):
Source/JavaScriptCore:
Consider this IR:
block#x
p: Phi() // int32 and double flows into this phi from various control flow
d: DoubleRep(@p)
some uses of @d here
v: ValueRep(DoubleRepUse:@d)
a: NewArrayWithSize(Int32:@v)
some more nodes here ...
Because the flow of ValueRep(DoubleRep(@p)) will not produce an Int32,
AI proves that the Int32 check will fail. Constant folding phase removes
all nodes after @a and inserts an Unreachable after the NewArrayWithSize node.
The IR then looks like this:
block#x
p: Phi() // int32 and double flows into this phi from various control flow
d: DoubleRep(@p)
some uses of @d here
v: ValueRep(DoubleRepUse:@d)
a: NewArrayWithSize(Int32:@v)
Unreachable
However, there was a strength reduction rule that tries eliminate redundant
conversions. It used to convert the program to:
block#x
p: Phi() // int32 and double flows into this phi from various control flow
d: DoubleRep(@p)
some uses of @d here
a: NewArrayWithSize(Int32:@p)
Unreachable
However, at runtime, @p will actually be an Int32, so @a will not OSR exit,
and we'll crash. This patch removes this strength reduction rule since it
does not maintain what would have happened if we executed the program before
the rule.
This rule is also wrong for other types of programs (I'm not sure we'd
actually emit this code, but if such IR were generated, we would previously
optimize it incorrectly):
@a: Constant(JSTrue)
@b: DoubleRep(@a)
@c: ValueRep(@b)
@d: use(@c)
However, the strength reduction rule would've transformed this into:
@a: Constant(JSTrue)
@d: use(@a)
And this would be wrong because node @c before the transformation would
have produced the JSValue jsNumber(1.0).
This patch was neutral in the benchmark run I did.
* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218728
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Thu, 22 Jun 2017 23:32:29 +0000 (23:32 +0000)]
[iOS DnD] [WK2] Enable in-app dragging from WKWebView on the phone
https://bugs.webkit.org/show_bug.cgi?id=173736
<rdar://problem/
32873545>
Reviewed by Tim Horton.
Flip the drag interaction enabled switch on when initializing WKContentView's UIDragInteraction.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupDataInteractionDelegates]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218727
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 22:49:41 +0000 (22:49 +0000)]
Add a test for multi data channel peer connection
https://bugs.webkit.org/show_bug.cgi?id=173735
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-22
Reviewed by Eric Carlson.
* webrtc/datachannel/multi-channel-expected.txt: Added.
* webrtc/datachannel/multi-channel.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218726
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 22:47:00 +0000 (22:47 +0000)]
REGRESSION: LayoutTest media/modern-media-controls/placard-support/placard-support-pip.html is a flaky timeout on Sierra
https://bugs.webkit.org/show_bug.cgi?id=173725
Patch by Antoine Quint <graouts@apple.com> on 2017-06-22
Reviewed by Dean Jackson.
On WK1, this test enters fullscreen rather than PiP (which is unexpected, see webkit.org/b/173729) and thus the button
to exit PiP could not be clicked. But we don't need a button click to exit PiP, so instead we just call a method to
toggle it.
* media/modern-media-controls/placard-support/placard-support-pip.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218725
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 22 Jun 2017 22:24:05 +0000 (22:24 +0000)]
isMainThread() assertions in CallbackMap are incorrectly failing on some iOS apps
https://bugs.webkit.org/show_bug.cgi?id=173738
<rdar://problem/
32923933>
Reviewed by Brady Eidson.
The assertions hit on certain iOS apps even though the crash traces clearly
show them on the main thread. We have verified locally that RunLoop::isMain()
propertly return true in this case (while WTF::isMainThread() returns false).
Update the assertions to use RunLoop::isMain() instead.
* UIProcess/GenericCallback.h:
(WebKit::CallbackMap::put):
(WebKit::CallbackMap::take):
(WebKit::CallbackMap::invalidate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218724
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jfbastien@apple.com [Thu, 22 Jun 2017 22:12:26 +0000 (22:12 +0000)]
ARM64: doubled executable memory limit from 32MiB to 64MiB
https://bugs.webkit.org/show_bug.cgi?id=173734
<rdar://problem/
32932407>
Reviewed by Oliver Hunt.
Some WebAssembly programs stress the amount of memory we have
available, especially when we consider tiering (BBQ never dies,
and is bigger that OMG). Tiering to OMG just piles on more memory,
and we're also competing with JavaScript.
* jit/ExecutableAllocator.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218723
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 22 Jun 2017 22:03:39 +0000 (22:03 +0000)]
Mark perf/object-keys.html as flaky on iOS.
https://bugs.webkit.org/show_bug.cgi?id=171617
Unreviewed test gardening.
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218722
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zalan@apple.com [Thu, 22 Jun 2017 21:55:38 +0000 (21:55 +0000)]
REGRESSION(r214712): Infinite recursion in RenderTable::layout in paginated mode
https://bugs.webkit.org/show_bug.cgi?id=173731
<rdar://problem/
32237775>
Reviewed by Antti Koivisto.
Source/WebCore:
We should just skip bottom captions to check if section is moved, since they don't affect
the section position (bottom <caption> is preceded by <tfoot>).
Test: fast/table/caption-bottom-with-pagination.html
* rendering/RenderTable.cpp:
(WebCore::RenderTable::layout):
LayoutTests:
* fast/table/caption-bottom-with-pagination-expected.txt: Added.
* fast/table/caption-bottom-with-pagination.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218721
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 22 Jun 2017 21:46:03 +0000 (21:46 +0000)]
Mark media/modern-media-controls/forward-button/forward-button.html as flaky on mac-wk1.
https://bugs.webkit.org/show_bug.cgi?id=168265
Unreviewed test gardening.
* platform/mac-wk1/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218720
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Thu, 22 Jun 2017 21:36:02 +0000 (21:36 +0000)]
REGRESSION (r218419): 7 leaks in PluginLoadClientPolicies.mm
<https://webkit.org/b/173721>
Reviewed by Joseph Pecoraro.
Use RetainPtr<> to create NSMutableDictionary and NSNumber
objects to fix leaks and to avoid the autoreleasepool.
* TestWebKitAPI/Tests/WebKit2Cocoa/PluginLoadClientPolicies.mm:
(TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218719
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 22 Jun 2017 21:12:01 +0000 (21:12 +0000)]
Web Inspector: Pausing with a deep call stack can be very slow, avoid eagerly generating object previews
https://bugs.webkit.org/show_bug.cgi?id=173698
Reviewed by Matt Baker.
Source/JavaScriptCore:
When pausing in a deep call stack the majority of the time spent in JavaScriptCore
when preparing Inspector pause information is spent generating object previews for
the `thisObject` of each of the call frames. In some cases, this could be more
than 95% of the time generating pause information. In the common case, only one of
these (the top frame) will ever be seen by users. This change avoids eagerly
generating object previews up front and let the frontend request previews if they
are needed.
This introduces the `Runtime.getPreview` protocol command. This can be used to:
- Get a preview for a RemoteObject that did not have a preview but could.
- Update a preview for a RemoteObject that had a preview.
This patch only uses it for the first case, but the second is valid and may be
something we want to do in the future.
* inspector/protocol/Runtime.json:
A new command to get an up to date preview for an object.
* inspector/InjectedScript.h:
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::getPreview):
* inspector/agents/InspectorRuntimeAgent.cpp:
(Inspector::InspectorRuntimeAgent::getPreview):
* inspector/agents/InspectorRuntimeAgent.h:
Plumbing for the new command.
* inspector/InjectedScriptSource.js:
(InjectedScript.prototype.getPreview):
Implementation just uses the existing helper.
(InjectedScript.CallFrameProxy):
Do not generate a preview for the this object as it may not be shown.
Let the frontend request a preview if it wants or needs one.
Source/WebInspectorUI:
Introduce RemoteObject.prototype.updatePreview which can be used to update
the preview of a RemoteObject with a current view for the object. Currently
we only use this to fetch the preview that we did not have for the `thisObject`
in the scope chain sidebar. However this could be used generically to update
a RemoteObject's preview (ObjectPreview) at any time.
* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.canLoadPreview):
(WebInspector.RemoteObject.prototype.updatePreview):
Allow a RemoteObject to update its preview property. Since this only makes
sense on certain Object values include a helper to know when it is appropriate
to fetch a preview.
* UserInterface/Views/ObjectTreePropertyTreeElement.js:
(WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
(WebInspector.ObjectTreePropertyTreeElement.prototype._loadPreviewLazilyIfNeeded):
If the object being shown in the sidebar does not have a preview but can load a
preview then attempt to load it lazily. This is the case for the `thisObject`
which is injected into an ObjectTree in the scope chain sidebar.
LayoutTests:
* inspector/runtime/getPreview-expected.txt: Added.
* inspector/runtime/getPreview.html: Added.
Test the new protocol command `Runtime.getPreview` as well as the frontend
model method RemoteObject.prototype.updatePreview which uses it with its
own slightly different semantics about when it should be used.
* inspector/debugger/tail-deleted-frames-this-value.html:
This test used `CallFrame.thisObject.preview` so rewrite it to first
load the preview and then check values with it.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218718
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dino@apple.com [Thu, 22 Jun 2017 21:06:29 +0000 (21:06 +0000)]
REGRESSION (r215809): 50% regression 14E305 -> 15A293a in MotionMark Suits test
https://bugs.webkit.org/show_bug.cgi?id=173728
<rdar://problem/
32526744>
Reviewed by Tim Horton.
It turns out that CGGradientCreateWithColors is much slower than
CGGradientCreateWithColorComponents, even without colorspace variations.
Update the gradient creation code to only use this slower path
when it has extended colors.
* platform/graphics/Color.h: Add a FIXME about renaming some methods.
* platform/graphics/cg/GradientCG.cpp: Use CGGradientCreateWithColorComponents
if we have stops that are not extended colors.
(WebCore::Gradient::platformGradient):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218717
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 22 Jun 2017 21:06:21 +0000 (21:06 +0000)]
Skip fast/forms/file/input-file-write-files-using-open-panel.html on ios-wk2.
https://bugs.webkit.org/show_bug.cgi?id=173733
Unreviewed test gardening.
* platform/ios-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218716
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 22 Jun 2017 21:06:19 +0000 (21:06 +0000)]
Remove TestExpectations for test that were removed in r218651.
Unreviewed test gardening.
* platform/ios/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218715
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 19:54:06 +0000 (19:54 +0000)]
Fix memory leak in LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=173717
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-22
Reviewed by Eric Carlson.
No chnage of behavior.
Making sure SessionDescription pointer get properly released.
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
(WebCore::LibWebRTCMediaEndpoint::createSessionDescriptionSucceeded):
* Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
* testing/MockLibWebRTCPeerConnection.cpp: Allocating description.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218714
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 22 Jun 2017 19:45:10 +0000 (19:45 +0000)]
Make FrameLoadRequest a move-only type
https://bugs.webkit.org/show_bug.cgi?id=173682
Reviewed by Alex Christensen and Darin Adler.
A FrameLoadRequest groups together the information to perform a load into a single object
that is more manageable to pass around than its constituent parts. Code that receives a
FrameLoadRequest is expected to extract out the information it needs to complete its task.
And it does not make sense to re-use the same FrameLoadRequest object for more than one
load. Therefore, it is sufficient to make FrameLoadRequest a move-only type.
Source/WebCore:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate):
* loader/FrameLoadRequest.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::createWindow):
* loader/FrameLoader.h:
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::scheduleLocationChange):
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow):
* replay/UserInputBridge.cpp:
(WebCore::UserInputBridge::loadRequest):
* replay/UserInputBridge.h:
Source/WebKit/ios:
* WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKit/mac:
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Source/WebKit/win:
* Plugins/PluginView.cpp:
(WebCore::PluginView::start):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::load):
(WebCore::PluginView::getURLNotify):
(WebCore::PluginView::getURL):
(WebCore::PluginView::handlePost):
* Plugins/PluginView.h:
(WebCore::PluginRequest::PluginRequest):
Source/WebKit2:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::URLRequest::create):
(WebKit::PluginView::URLRequest::URLRequest):
(WebKit::PluginView::performFrameLoadURLRequest):
(WebKit::PluginView::loadURL):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchCreatePage):
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218713
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 22 Jun 2017 19:41:08 +0000 (19:41 +0000)]
Add release assertion in CallbackMap::invalidate()
https://bugs.webkit.org/show_bug.cgi?id=173722
Reviewed by Brady Eidson.
Add release assertion in CallbackMap::invalidate() to make sure it is called on the main thread.
* UIProcess/GenericCallback.h:
(WebKit::CallbackMap::invalidate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218712
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
clopez@igalia.com [Thu, 22 Jun 2017 19:38:39 +0000 (19:38 +0000)]
pretty patch doesn't show image diffs with newer versions of git
https://bugs.webkit.org/show_bug.cgi?id=173691
A new security check added in git >= 2.3.3 causes it to abort
when the tool runs "git apply" to generate the images.
Detect if git supports the flag --unsafe-paths and pass it.
Reviewed by Darin Adler.
* PrettyPatch/PrettyPatch.rb:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218711
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jer.noble@apple.com [Thu, 22 Jun 2017 18:56:15 +0000 (18:56 +0000)]
REGRESSION (r217223): [iOS] Video keeps playing after application is backgrounded
https://bugs.webkit.org/show_bug.cgi?id=173727
Reviewed by Eric Carlson.
Only override media element visibility if it is in picture-in-picture mode (not fullscreen generally).
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::visibilityStateChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 22 Jun 2017 18:39:53 +0000 (18:39 +0000)]
Follow-up to r218662. Only log backtraces for DumpRenderTree.
Rubber-stamped by Antoine Quint.
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::logSuspendCount):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218709
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
joepeck@webkit.org [Thu, 22 Jun 2017 18:35:17 +0000 (18:35 +0000)]
Web Inspector: Remove stale "rawScopes" concept that was never available in JSC
https://bugs.webkit.org/show_bug.cgi?id=173686
Reviewed by Mark Lam.
* inspector/InjectedScript.cpp:
(Inspector::InjectedScript::functionDetails):
* inspector/InjectedScriptSource.js:
(InjectedScript.prototype.functionDetails):
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::functionDetails):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218708
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ryanhaddad@apple.com [Thu, 22 Jun 2017 18:05:25 +0000 (18:05 +0000)]
Mark webaudio/silent-audio-interrupted-in-background.html as flaky on mac-wk2.
https://bugs.webkit.org/show_bug.cgi?id=172201
Unreviewed test gardening.
* platform/mac-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218706
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
beidson@apple.com [Thu, 22 Jun 2017 17:34:35 +0000 (17:34 +0000)]
Add some thread safety guards to GenericCallback.
https://bugs.webkit.org/show_bug.cgi?id=173693
Reviewed by Sam Weinig.
A callback should be created, performed, invalidated, and/or destroyed all on the same thread.
Let's write code to notify us if that doesn't happen.
* UIProcess/GenericCallback.h:
(WebKit::GenericCallback::~GenericCallback):
(WebKit::GenericCallback::performCallbackWithReturnValue):
(WebKit::GenericCallback::invalidate):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218705
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Thu, 22 Jun 2017 17:07:52 +0000 (17:07 +0000)]
v2: REGRESSION (r218419): 3 NSMutableDictionary leaks calling -[WKProcessPool _pluginLoadClientPolicies]
<https://webkit.org/b/173689>
Reviewed by Chris Dumez.
* UIProcess/API/Cocoa/WKProcessPool.mm:
(policiesHashMapToDictionary): Use -dictionaryWithCapacity:
instead of -new since the former returns an autoreleased object
while the latter does not. This has the added benefit of tuning
the size of each NSMutableDictionary.
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
(-[WKProcessPool _pluginLoadClientPolicies]): Remove 'copy'
attribute from @property declaration since it is read-only.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218704
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 16:43:52 +0000 (16:43 +0000)]
[GTK] Spreaker live shows won't play
https://bugs.webkit.org/show_bug.cgi?id=173306
Patch by Charlie Turner <cturner@igalia.com> on 2017-06-22
Reviewed by Xabier Rodriguez-Calvar.
This was due to removing the code that negotiated caps for Icecast
streams based on the response headers in r191947. The problem is that
the typefind element can sometimes squint hard enough and see an MP3
stream and attempt to play it, resulting in garbled audio playback. More
commonly typefind fails to recognize the Icecast stream and bails,
resulting in no playback at all.
r191947 also removed the emission of metadata into the pipeline. This
patch also leaves that out since we have no use for it within WebKit.
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::handleResponseReceived):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218703
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jlewis3@apple.com [Thu, 22 Jun 2017 16:33:55 +0000 (16:33 +0000)]
Unreviewed, rolling out r218633.
The test is failing frequently on Sierra Debug and Windows
Reverted changeset:
"AX: Cannot call setValue() on contenteditable or ARIA text
controls"
https://bugs.webkit.org/show_bug.cgi?id=173520
http://trac.webkit.org/changeset/218633
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218702
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 16:17:20 +0000 (16:17 +0000)]
[Readable Streams API] Implement ReadableStreamBYOBReader read()
https://bugs.webkit.org/show_bug.cgi?id=172714
Patch by Romain Bellessort <romain.bellessort@crf.canon.fr> on 2017-06-22
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Updated expectations.
Some tests are not passing yet due to 2 bugs not directly related to read() implementation
(172716 and 172717) that will be fixed distinctly.
* web-platform-tests/streams/readable-byte-streams/general-expected.txt:
* web-platform-tests/streams/readable-byte-streams/general.dedicatedworker-expected.txt:
Source/WebCore:
Implemented read() method of ReadableStreamBYOBReader [1]. Also added code related
to BYOB features that were previously described as FIXMEs and that now become reachable.
In addition, WPT tests that involve read() have allowed to identify 2 bugs not directly
related to read() (172716 and 172717). They will be fixed distinctly. Once done, all WPT
tests should pass.
[1] https://streams.spec.whatwg.org/#byob-reader-read
WPT tests (web-platform-tests/streams/readable-byte-streams/general.js) already cover
most cases for read() usage. Corresponding expectations have been updated. In addition,
1 test has been added to WebKit tests (in streams/readable-stream-byob-reader.js) to
check that read() can only be applied to a ReadableStreamBYOBReader.
* Modules/streams/ReadableByteStreamInternals.js:
(readableByteStreamControllerClearPendingPullIntos): Implemented.
(readableByteStreamControllerEnqueue): Updated with support for BYOBReader.
(readableByteStreamControllerPullInto): Added.
(readableStreamAddReadIntoRequest): Added.
* Modules/streams/ReadableStreamBYOBReader.js:
(read): Added.
LayoutTests:
Added 1 test to check that read() can only be applied to a ReadableStreamBYOBReader.
Other behaviors are checked by WPT (web-platform-tests/streams/readable-byte-streams/general.js).
* streams/readable-stream-byob-reader-expected.txt: Updated.
* streams/readable-stream-byob-reader.js: Added 1 test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218701
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 15:32:51 +0000 (15:32 +0000)]
Remove testRunner.overridePreference from WPT tests
https://bugs.webkit.org/show_bug.cgi?id=173713
Patch by Frederic Wang <fwang@igalia.com> on 2017-06-22
Reviewed by Youenn Fablet.
We update two W3C tests to remove the setting of the Chromium-specific preference
WebKitAllowDisplayingInsecureContent. This update also fixes the link to the
get-host-info.sub.js resource.
* web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-inscope.https.html:
* web-platform-tests/service-workers/service-worker/fetch-mixed-content-to-outscope.https.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218700
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 15:29:14 +0000 (15:29 +0000)]
[WebRTC] Prevent capturing at unconventional resolutions when using the SW encoder on Mac
https://bugs.webkit.org/show_bug.cgi?id=172602
<rdar://problem/
32407693>
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-22
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Adding a parameter to disable hardware encoder.
* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.h:
* Source/webrtc/sdk/objc/Framework/Classes/VideoToolbox/encoder.mm:
(webrtc::H264VideoToolboxEncoder::CreateCompressionSession):
Source/WebCore:
Test: platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html
Add internal API to switch on/off hardware H264 encoder.
Add checks for standard size. If using a software encoder and frame size is not standard,
the session is destroyed and no frame is sent at all.
Added tests based on captureStream.
Fixed the case of capturing a canvas which size is changing.
* Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::canvasResized):
* platform/mediastream/libwebrtc/H264VideoToolBoxEncoder.h:
* platform/mediastream/libwebrtc/H264VideoToolBoxEncoder.mm:
(WebCore::H264VideoToolboxEncoder::setHardwareEncoderForWebRTCAllowed):
(WebCore::H264VideoToolboxEncoder::hardwareEncoderForWebRTCAllowed):
(WebCore::isUsingSoftwareEncoder):
(WebCore::H264VideoToolboxEncoder::CreateCompressionSession):
(isStandardFrameSize): Added.
(isUsingSoftwareEncoder): Added.
* testing/Internals.cpp:
(WebCore::Internals::setH264HardwareEncoderAllowed):
* testing/Internals.h:
* testing/Internals.idl:
LayoutTests:
* platform/mac-wk1/TestExpectations: Mark captureCanvas as flaky due to AVDCreateGPUAccelerator: Error loading GPU renderer" appearing on some bots.
* platform/mac/webrtc/captureCanvas-webrtc-software-encoder-expected.txt: Copied from LayoutTests/webrtc/captureCanvas-webrtc-expected.txt.
* platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html: Added.
* webrtc/captureCanvas-webrtc-expected.txt:
* webrtc/captureCanvas-webrtc.html:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218699
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 15:22:00 +0000 (15:22 +0000)]
[Win] Cleanup: Remove unnecessary include of header FrameLoadRequest.h
https://bugs.webkit.org/show_bug.cgi?id=173683
Patch by Daniel Bates <dabates@apple.com> on 2017-06-22
Reviewed by Alex Christensen.
Neither file PluginViewWin.cpp nor WebContextMenuClient.cpp need to include
header FrameLoadRequest.h. The former includes FrameLoadRequest.h indirectly
by including PluginView.h. The latter does not make use of the functionality
provided by FrameLoadRequest.h.
* Plugins/PluginViewWin.cpp:
* WebCoreSupport/WebContextMenuClient.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218698
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
utatane.tea@gmail.com [Thu, 22 Jun 2017 15:18:53 +0000 (15:18 +0000)]
[JSC] Object.values should be implemented in C++
https://bugs.webkit.org/show_bug.cgi?id=173703
Reviewed by Sam Weinig.
JSTests:
* microbenchmarks/object-keys-map-values.js: Added.
(test):
* microbenchmarks/object-values.js: Added.
(test):
* stress/object-values-changing-properties.js: Added.
(shouldBe):
(throw.new.Error.let.source.get x):
(throw.new.Error):
(shouldBe.let.handler.get order):
(get let):
(shouldBe.let.handler.get return):
(let.handler.get order):
Source/JavaScriptCore:
As the same to Object.assign, Object.values() is also inherently polymorphic.
And allocating JSString / Symbol for Identifier and JSArray for Object.keys()
result is costly.
In this patch, we implement Object.values() in C++. It can avoid above allocations.
Furthermore, by using `slot.isTaintedByOpaqueObject()` information, we can skip
non-observable JSObject::get() calls.
This improves performance by 2.49x. And also now Object.values() beats
Object.keys(object).map(key => object[key]) implementation.
baseline patched
object-values 132.1551+-3.7209 ^ 53.1254+-1.6139 ^ definitely 2.4876x faster
object-keys-map-values 78.2008+-2.1378 ? 78.9078+-2.2121 ?
* builtins/ObjectConstructor.js:
(values): Deleted.
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorValues):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218697
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 15:16:37 +0000 (15:16 +0000)]
LayoutTests/inspector/indexeddb/requestDatabaseNames.html: Sort database names to prevent flakiness
https://bugs.webkit.org/show_bug.cgi?id=173699
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-06-22
Reviewed by Alex Christensen.
* inspector/indexeddb/requestDatabaseNames.html:
Sort database names (when more than one) to ensure a consistent order.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218696
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Thu, 22 Jun 2017 13:36:55 +0000 (13:36 +0000)]
[WPE] Skip js geolocation test.
Unreviewed gardening.
Geolocation was disabled since r218553.
* platform/wpe/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218695
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Thu, 22 Jun 2017 13:14:59 +0000 (13:14 +0000)]
[TestWebKitAPI] Fix misuse of -[NSData dataWithBytesNoCopy:length:] with global variables
<https://webkit.org/b/173690>
Reviewed by Chris Dumez.
Per documentation, -[NSData dataWithBytesNoCopy:length:] takes
ownership of malloc()-ed memory, then frees it when it's
released. These tests were passing global variables into the
method, which is not malloc()-ed memory, which violates the API
contract.
The fix is to switch to use
-[NSData dataWithBytesNoCopy:length:freeWhenDone:] and to pass
NO for the last argument.
Caught by the clang static analyzer.
* TestWebKitAPI/Tests/WebKit2Cocoa/IconLoadingDelegate.mm:
(TEST):
* TestWebKitAPI/Tests/WebKit2Cocoa/WKURLSchemeHandler-1.mm:
(TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218694
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 13:01:03 +0000 (13:01 +0000)]
[GTK] Upgrade Harfbuzz to version 1.4.2
https://bugs.webkit.org/show_bug.cgi?id=173592
Reviewed by Carlos Alberto Lopez Perez.
* gtk/jhbuild.modules:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218693
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Thu, 22 Jun 2017 12:59:45 +0000 (12:59 +0000)]
[WPE] Unskip http cache tests.
Unreviewed gardening.
Currently failing tests are the same as in the GTK+ port.
* platform/wpe/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218692
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 11:55:07 +0000 (11:55 +0000)]
[WPE] Downloads never have a web view associated in WPE
https://bugs.webkit.org/show_bug.cgi?id=173709
Reviewed by Žan Doberšek.
Convert the WPE view client into an API client and add handleDownloadRequest(). WebKitWebView now uses it to
associate itself to the download like the GTK+ port does.
* PlatformWPE.cmake:
* UIProcess/API/C/wpe/WKView.cpp:
(WKViewSetViewClient): Add C API client implementation here.
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewConstructed): Set the view client in WPE.
* UIProcess/API/wpe/APIViewClient.h: Renamed from Source/WebKit2/UIProcess/API/wpe/WPEViewClient.h.
(API::ViewClient::frameDisplayed):
(API::ViewClient::handleDownloadRequest):
* UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::handleDownloadRequest): Call WKWPE::View::handleDownloadRequest().
* UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::View): Initialize the view client.
(WKWPE::View::setClient): Set or reset the client.
(WKWPE::View::handleDownloadRequest): Notify the client.
* UIProcess/API/wpe/WPEView.h:
* UIProcess/API/wpe/WPEViewClient.cpp: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218691
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 11:53:33 +0000 (11:53 +0000)]
[WPE] Update WPEBackend-mesa
https://bugs.webkit.org/show_bug.cgi?id=173705
Reviewed by Carlos Alberto Lopez Perez.
A crash has been fixed, needed for unit tests to work.
* wpe/jhbuild.modules:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218690
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 11:38:51 +0000 (11:38 +0000)]
[GTK] Web Inspector: Add icon for Canvas.svg
https://bugs.webkit.org/show_bug.cgi?id=173580
Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-06-22
Reviewed by Carlos Garcia Campos.
* UserInterface/Images/gtk/Canvas.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218689
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 11:16:54 +0000 (11:16 +0000)]
[WPE] Page should be closed on WebKitWebView dispose
https://bugs.webkit.org/show_bug.cgi?id=173707
Reviewed by Žan Doberšek.
In the GTK+ port it's done in the WebKitWebViewBase dispose implementation. It fixes TestMultiprocess.
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewDispose): Call WKWPE::View::close().
* UIProcess/API/wpe/WPEView.cpp:
(WKWPE::View::close): Close the WebPageProxy.
* UIProcess/API/wpe/WPEView.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218688
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 11:15:14 +0000 (11:15 +0000)]
Remove unused coordinated graphics C API
https://bugs.webkit.org/show_bug.cgi?id=173706
Reviewed by Žan Doberšek.
Source/WebKit2:
* UIProcess/API/C/CoordinatedGraphics/WKView.cpp: Removed.
* UIProcess/API/C/CoordinatedGraphics/WKView.h: Removed.
* UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp: Removed.
* UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h: Removed.
Tools:
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive_Bundle.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewRestoreZoomAndScrollBackForward.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewUserViewportToContents.cpp: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward1.html: Removed.
* TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/backforward2.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218687
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 11:12:39 +0000 (11:12 +0000)]
[WPE] Build glib API tests
https://bugs.webkit.org/show_bug.cgi?id=173702
Reviewed by Žan Doberšek.
Many of the tests pass without problems, others need to be investigated, and some others are known issues. The
main difference between the GTK+ and WPE WebKitWebView is that in GTK+ it's a GtkWidget, so initially
unowned. The tests assume that webkit_web_view_new methods return a floating reference. This patch adds
Test::adoptView() method that returns a GRefPtr<WebKitWebView> with a different implementation in GTK+ and
WPE. In the case of GTK+, it sinks the floating reference, while in WPE it simply adopts the reference. Another
difference is that in GTK+ the web view is initially hidden and needs to be added to a window to make it
visible. Also, some tests need the web view to be realized to work, and others need that the view is added to a
toplevel window, instead of a popup window. All those things are not needed at all in WPE. I've added several
#ifdefs with FIXME comments for the things that we know don't work in WPE yet, for example, because we haven't
implemented the methods to send events to the web view. Those will be removed eventually when we fix the issues
and implement the missing features.
* CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/EditorTest.cpp:
* TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp:
(testAutomationSessionRequestSession):
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
(testWebKitWebViewSessionState):
(testWebKitWebViewSessionStateWithFormData):
(testWebKitWebViewNavigationAfterSessionRestore):
* TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp:
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp:
(testCookieManagerEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp:
(testBlobDownload):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp:
(testProcessPerWebView):
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewCreateNavigationData):
(testWebViewJavaScriptDialogs):
(testWebViewWindowProperties):
(testWebViewMouseTarget):
(testWebViewGeolocationPermissionRequests):
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
(testWebViewFileChooserRequest):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp:
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp:
(testPrivateBrowsing):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp:
(testFindControllerHide):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp:
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
(testWebKitSettings):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp:
(testWebViewNewWithUserContentManager):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp:
(testWebContextEphemeral):
(testWebContextProxySettings):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
(testWebViewWebContext):
(testWebViewWebContextLifetime):
(testWebViewEphemeral):
(testWebViewSettings):
(testWebViewCanShowMIMEType):
(testWebViewPageVisibility):
(testWebViewIsPlayingAudio):
(beforeAll):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:
(testWebsiteDataEphemeral):
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp:
(documentLoadedCallback):
(pageCreatedCallback):
(methodCallCallback):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h:
* TestWebKitAPI/glib/CMakeLists.txt:
* TestWebKitAPI/glib/PlatformGTK.cmake:
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp:
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp:
(main):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h:
(Test::adoptView):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp:
(WebKitTestBus::run):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(WebViewTest::~WebViewTest):
(WebViewTest::initializeWebView):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* TestWebKitAPI/glib/WebKitGLib/gtk/WebViewTestGtk.cpp: Added.
(WebViewTest::platformDestroy):
(WebViewTest::platformInitializeWebView):
(WebViewTest::quitMainLoopAfterProcessingPendingEvents):
(WebViewTest::resizeView):
(WebViewTest::hideView):
(parentWindowMapped):
(WebViewTest::showInWindow):
(WebViewTest::showInWindowAndWaitUntilMapped):
(WebViewTest::mouseMoveTo):
(WebViewTest::clickMouseButton):
(WebViewTest::emitPopupMenuSignal):
(WebViewTest::keyStroke):
(WebViewTest::doMouseButtonEvent):
* TestWebKitAPI/glib/WebKitGLib/wpe/WebViewTestWPE.cpp: Copied from Tools/TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h.
(WebViewTest::platformDestroy):
(WebViewTest::platformInitializeWebView):
(WebViewTest::quitMainLoopAfterProcessingPendingEvents):
(WebViewTest::resizeView):
(WebViewTest::hideView):
(WebViewTest::mouseMoveTo):
(WebViewTest::clickMouseButton):
(WebViewTest::keyStroke):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218686
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 07:47:39 +0000 (07:47 +0000)]
[GTK] Move WebKit2 GLib API tests to glib directories
https://bugs.webkit.org/show_bug.cgi?id=173642
Reviewed by Žan Doberšek.
* CMakeLists.txt:
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Removed.
* TestWebKitAPI/Tests/WebKit2Gtk/resources/webkit2gtk-tests.gresource.xml: Removed.
* TestWebKitAPI/Tests/WebKitGLib/FrameTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/FrameTest.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestAutomationSession.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestAutomationSession.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestBackForwardList.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestConsoleMessage.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestConsoleMessage.cpp.
(testWebKitConsoleMessageNetworkError):
* TestWebKitAPI/Tests/WebKitGLib/TestCookieManager.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestDownloads.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestFrame.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp.
(testLoadFromGResource):
* TestWebKitAPI/Tests/WebKitGLib/TestMultiprocess.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestResources.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebExtensions.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFaviconDatabase.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitFindController.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFindController.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitPolicyClient.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitPolicyClient.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSecurityOrigin.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSecurityOrigin.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitSettings.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitUserContentManager.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebContext.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp.
* TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp.
(testWebViewRunJavaScript):
* TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebsiteData.cpp.
* TestWebKitAPI/Tests/WebKitGLib/WebExtensionTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp.
(registerGResource):
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp.
* TestWebKitAPI/Tests/WebKitGLib/WebProcessTest.h: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.h.
* TestWebKitAPI/Tests/WebKitGLib/resources/blank.ico: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/blank.ico.
* TestWebKitAPI/Tests/WebKitGLib/resources/boring.html: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/boring.html.
* TestWebKitAPI/Tests/WebKitGLib/resources/link-title.js: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/link-title.js.
* TestWebKitAPI/Tests/WebKitGLib/resources/silence.mpg: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/silence.mpg.
* TestWebKitAPI/Tests/WebKitGLib/resources/simple.json: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/simple.json.
* TestWebKitAPI/Tests/WebKitGLib/resources/test-cert.pem: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test-cert.pem.
* TestWebKitAPI/Tests/WebKitGLib/resources/test-key.pem: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test-key.pem.
* TestWebKitAPI/Tests/WebKitGLib/resources/test.pdf: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/test.pdf.
* TestWebKitAPI/Tests/WebKitGLib/resources/track.ogg: Renamed from Tools/TestWebKitAPI/Tests/WebKit2Gtk/resources/track.ogg.
* TestWebKitAPI/Tests/WebKitGLib/resources/webkitglib-tests.gresource.xml: Added.
* TestWebKitAPI/glib/CMakeLists.txt: Added.
* TestWebKitAPI/glib/PlatformGTK.cmake: Added.
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.cpp.
* TestWebKitAPI/glib/WebKitGLib/LoadTrackingTest.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/LoadTrackingTest.h.
* TestWebKitAPI/glib/WebKitGLib/TestMain.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp.
(registerGResource):
* TestWebKitAPI/glib/WebKitGLib/TestMain.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h.
(Test::getResourcesDir):
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.cpp.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestBus.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestBus.h.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.cpp.
* TestWebKitAPI/glib/WebKitGLib/WebKitTestServer.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebKitTestServer.h.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp.
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h: Renamed from Tools/TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218685
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Thu, 22 Jun 2017 07:40:44 +0000 (07:40 +0000)]
[WPE] Add initial web extensions API
https://bugs.webkit.org/show_bug.cgi?id=173640
Reviewed by Žan Doberšek.
.:
* Source/cmake/OptionsWPE.cmake:
Source/WebKit2:
Build the glib web extensions API files and the builtin injected bundle library for WPE.
* PlatformWPE.cmake:
* UIProcess/API/glib/WebKitWebContext.cpp:
(webkitWebContextConstructed): Use a different injected bundle filename in WPE and GTK+.
* WebProcess/InjectedBundle/API/glib/WebKitWebPage.cpp:
(webkit_web_page_class_init): Do not expose DOM bindings in WPE.
(webkitWebPageCreate): Ditto.
* WebProcess/InjectedBundle/API/wpe/WebKitConsoleMessage.h: Added.
* WebProcess/InjectedBundle/API/wpe/WebKitFrame.h: Added.
* WebProcess/InjectedBundle/API/wpe/WebKitScriptWorld.h: Added.
* WebProcess/InjectedBundle/API/wpe/WebKitWebEditor.h: Added.
* WebProcess/InjectedBundle/API/wpe/WebKitWebExtension.h: Added.
* WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h: Added.
* WebProcess/InjectedBundle/API/wpe/webkit-web-extension.h: Added.
Tools:
Add style checker exceptions for WPE web extensions API files.
* Scripts/webkitpy/style/checker.py:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218684
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 06:17:42 +0000 (06:17 +0000)]
[GTK] Web Inspector: Add NavigationItemCheckers.svg
https://bugs.webkit.org/show_bug.cgi?id=173692
Patch by Fujii Hironori <Hironori.Fujii@sony.com> on 2017-06-21
Reviewed by Carlos Garcia Campos.
* UserInterface/Images/gtk/NavigationItemCheckers.svg: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218679
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
ddkilzer@apple.com [Thu, 22 Jun 2017 04:46:42 +0000 (04:46 +0000)]
REGRESSION (r218419): 3 NSMutableDiciontary leaks calling -[WKProcessPool _pluginLoadClientPolicies]
<https://webkit.org/b/173689>
Reviewed by Chris Dumez.
Caught by the clang static analyzer.
* UIProcess/API/Cocoa/WKProcessPool.mm:
(policiesHashMapToDictionary): Switch from using
[[NSMutableDictionary alloc] init] which returns a +1 retained
object in MRR to [NSMutableDictionary new] which returns an
autoreleased object under MRR. This bug caused 3 leaks when
calling -[WKProcessPool _pluginLoadClientPolicies], which should
return an autoreleased object based on its signature.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218678
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 04:31:12 +0000 (04:31 +0000)]
[Fetch API] TypeError when called with body === {}
https://bugs.webkit.org/show_bug.cgi?id=173295
<rdar://problem/
32746733>
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
Reviewed by Sam Weinig.
Source/WebCore:
Test: fetch/body-init.html
Handling body of Request and Response using binding generator to correctly handle unions.
The biggest change is that any value that is not a specific type in the union will match a String.
This is matching WebIDL spec and Firefox behavior.
Handling of ReadableStream bodies remains in JS builtin for Response.
This allows easier handling cloning and consumption of body.
Adding setBodyAsReadableStream since this is no longer handled by extractBody.
* Modules/fetch/FetchBody.cpp:
(WebCore::FetchBody::extract): Using Variant instead of JSC::JSValue.
(WebCore::FetchBody::readableStreamBody): Introduced to handle the
case of readable stream bodies.
* Modules/fetch/FetchBody.h:
* Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::extractBody):
* Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::setBody):
* Modules/fetch/FetchRequest.cpp:
(WebCore::FetchRequest::setBody): Splitting setBody for ease of readability.
(WebCore::FetchRequest::setBodyFromInputRequest):
* Modules/fetch/FetchRequest.h:
* Modules/fetch/FetchRequest.idl:
* Modules/fetch/FetchRequest.js:
(initializeFetchRequest):
* Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::initializeWith):
(WebCore::FetchResponse::setBodyAsReadableStream):
* Modules/fetch/FetchResponse.h:
* Modules/fetch/FetchResponse.idl:
* Modules/fetch/FetchResponse.js:
(initializeFetchResponse):
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/WebCoreBuiltinNames.h:
LayoutTests:
* fetch/body-init-expected.txt: Added.
* fetch/body-init.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218677
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
rniwa@webkit.org [Thu, 22 Jun 2017 02:44:13 +0000 (02:44 +0000)]
Add release assertions help diagnose a hang in CallbackMap
https://bugs.webkit.org/show_bug.cgi?id=173680
<rdar://problem/
32911286>
Reviewed by Chris Dumez.
Assert that these functions are only called in the main thread and the empty value is never used as a key.
* UIProcess/GenericCallback.h:
(WebKit::CallbackMap::put):
(WebKit::CallbackMap::take):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218676
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Thu, 22 Jun 2017 02:24:09 +0000 (02:24 +0000)]
Add z-index to compositing logging output
https://bugs.webkit.org/show_bug.cgi?id=173684
Reviewed by Zalan Bujtas.
Show z-index, which is often useful to find negative z-index items.
Log "+foreground" rather than "foreground" to indicate that this layer has an
additional foreground/background layer, and fix spacing.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218675
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Thu, 22 Jun 2017 02:22:12 +0000 (02:22 +0000)]
ArrayPrototype.map builtin declares a var it does not use
https://bugs.webkit.org/show_bug.cgi?id=173685
Reviewed by Keith Miller.
* builtins/ArrayPrototype.js:
(map):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218674
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Thu, 22 Jun 2017 01:54:45 +0000 (01:54 +0000)]
eval virtual call is incorrect in the baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=173587
<rdar://problem/
32867897>
Reviewed by Michael Saboff.
JSTests:
* stress/do-eval-virtual-call-correctly.js: Added.
(assert):
(f):
(i.test):
(catch):
Source/JavaScriptCore:
When making a virtual call for call_eval, e.g, when the thing
we're calling isn't actually eval, we end up calling the caller
instead of the callee. This is clearly wrong. The code ends up
issuing a load for the Callee in the callers frame instead of
the callee we're calling. The fix is simple, we just need to
load the real callee. Only the 32-bit baseline JIT had this bug.
* jit/JITCall32_64.cpp:
(JSC::JIT::compileCallEvalSlowCase):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218673
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Thu, 22 Jun 2017 01:41:36 +0000 (01:41 +0000)]
[iOS DnD] [WK2] Cancelling a drag interaction using the ObjC SPI causes subsequent dragging to fail
https://bugs.webkit.org/show_bug.cgi?id=173659
<rdar://problem/
32879788>
Reviewed by Tim Horton.
Source/WebKit2:
Currently, a drag session that failed to begin is cleaned up either when the web process responds in
-[WKContentView _didHandleStartDataInteractionRequest:] with started = NO, or if started is YES, in
-dragInteraction:session:didEndWithOperation: instead. However, it is possible that even when the pasteboard has
items and the drag has started in the web process, something in the UI process may then cause the drag to be
cancelled (for instance, an SPI client returning empty arrays for all adjusted item providers, or UIKit not even
calling into -dragInteraction:itemsForBeginningSession: when we invoke their completion block).
In any case, if the drag session is drag-item-less after calling the drag start completion block, clean up and
cancel the drag.
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleStartDataInteractionRequest:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
Tools:
Adds a new test to verify that a lift cancelled within the UI process does not cause subsequent dragging to fail.
* TestWebKitAPI/Tests/WebKit2Cocoa/link-and-target-div.html:
Augment this test page to log dragend and dragstart events on the drag source as well.
* TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(checkStringArraysAreEqual):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218672
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Thu, 22 Jun 2017 01:25:50 +0000 (01:25 +0000)]
Unreviewed, fix Window Debug build after r218660.
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218671
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 01:22:40 +0000 (01:22 +0000)]
Update libyuv to
8cab2e31d76246263206318f3568d452e7f3ff3e
https://bugs.webkit.org/show_bug.cgi?id=173675
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
Reviewed by Sam Weinig.
* Source/third_party/libyuv/.clang-format: Added.
* Source/third_party/libyuv/.gitignore: Added.
* Source/third_party/libyuv/Android.mk:
* Source/third_party/libyuv/BUILD.gn:
* Source/third_party/libyuv/CM_linux_packages.cmake: Added.
* Source/third_party/libyuv/CMakeLists.txt:
* Source/third_party/libyuv/DEPS:
* Source/third_party/libyuv/PRESUBMIT.py:
(_RunPythonTests):
(_RunPythonTests.join):
(_CommonChecks):
(CheckChangeOnUpload):
(CheckChangeOnCommit):
* Source/third_party/libyuv/README.chromium:
* Source/third_party/libyuv/build_overrides/build.gni:
* Source/third_party/libyuv/chromium/.gclient: Removed.
* Source/third_party/libyuv/chromium/README: Removed.
* Source/third_party/libyuv/cleanup_links.py: Added.
(WebRTCLinkSetup):
(WebRTCLinkSetup.__init__):
(WebRTCLinkSetup.CleanupLinks):
(_initialize_database):
(main):
* Source/third_party/libyuv/codereview.settings:
* Source/third_party/libyuv/docs/deprecated_builds.md:
* Source/third_party/libyuv/docs/getting_started.md:
* Source/third_party/libyuv/gyp_libyuv.py:
* Source/third_party/libyuv/include/libyuv/basic_types.h:
* Source/third_party/libyuv/include/libyuv/compare.h:
* Source/third_party/libyuv/include/libyuv/compare_row.h:
* Source/third_party/libyuv/include/libyuv/convert.h:
* Source/third_party/libyuv/include/libyuv/convert_argb.h:
* Source/third_party/libyuv/include/libyuv/convert_from.h:
* Source/third_party/libyuv/include/libyuv/convert_from_argb.h:
* Source/third_party/libyuv/include/libyuv/cpu_id.h:
* Source/third_party/libyuv/include/libyuv/macros_msa.h:
* Source/third_party/libyuv/include/libyuv/mjpeg_decoder.h:
* Source/third_party/libyuv/include/libyuv/planar_functions.h:
* Source/third_party/libyuv/include/libyuv/rotate.h:
* Source/third_party/libyuv/include/libyuv/rotate_argb.h:
* Source/third_party/libyuv/include/libyuv/rotate_row.h:
* Source/third_party/libyuv/include/libyuv/row.h:
* Source/third_party/libyuv/include/libyuv/scale.h:
* Source/third_party/libyuv/include/libyuv/scale_argb.h:
* Source/third_party/libyuv/include/libyuv/scale_row.h:
* Source/third_party/libyuv/include/libyuv/version.h:
* Source/third_party/libyuv/include/libyuv/video_common.h:
* Source/third_party/libyuv/infra/config/OWNERS: Added.
* Source/third_party/libyuv/infra/config/README.md: Added.
* Source/third_party/libyuv/infra/config/cq.cfg: Added.
* Source/third_party/libyuv/libyuv.gyp:
* Source/third_party/libyuv/libyuv.gypi:
* Source/third_party/libyuv/libyuv_test.gyp:
* Source/third_party/libyuv/linux.mk:
* Source/third_party/libyuv/pylintrc: Added.
* Source/third_party/libyuv/setup_links.py: Removed.
* Source/third_party/libyuv/source/compare.cc:
* Source/third_party/libyuv/source/compare_common.cc:
* Source/third_party/libyuv/source/compare_gcc.cc:
* Source/third_party/libyuv/source/compare_neon.cc:
* Source/third_party/libyuv/source/compare_neon64.cc:
* Source/third_party/libyuv/source/compare_win.cc:
* Source/third_party/libyuv/source/convert.cc:
* Source/third_party/libyuv/source/convert_argb.cc:
* Source/third_party/libyuv/source/convert_from.cc:
* Source/third_party/libyuv/source/convert_from_argb.cc:
* Source/third_party/libyuv/source/convert_jpeg.cc:
* Source/third_party/libyuv/source/convert_to_argb.cc:
* Source/third_party/libyuv/source/convert_to_i420.cc:
* Source/third_party/libyuv/source/cpu_id.cc:
* Source/third_party/libyuv/source/mjpeg_decoder.cc:
* Source/third_party/libyuv/source/mjpeg_validate.cc:
* Source/third_party/libyuv/source/planar_functions.cc:
* Source/third_party/libyuv/source/rotate.cc:
* Source/third_party/libyuv/source/rotate_any.cc:
* Source/third_party/libyuv/source/rotate_argb.cc:
* Source/third_party/libyuv/source/rotate_common.cc:
* Source/third_party/libyuv/source/rotate_dspr2.cc: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/source/rotate_mips.cc.
* Source/third_party/libyuv/source/rotate_gcc.cc:
* Source/third_party/libyuv/source/rotate_msa.cc: Added.
* Source/third_party/libyuv/source/rotate_neon.cc:
* Source/third_party/libyuv/source/rotate_neon64.cc:
* Source/third_party/libyuv/source/rotate_win.cc:
* Source/third_party/libyuv/source/row_any.cc:
* Source/third_party/libyuv/source/row_common.cc:
* Source/third_party/libyuv/source/row_dspr2.cc: Added.
* Source/third_party/libyuv/source/row_gcc.cc:
* Source/third_party/libyuv/source/row_mips.cc: Removed.
* Source/third_party/libyuv/source/row_msa.cc:
* Source/third_party/libyuv/source/row_neon.cc:
* Source/third_party/libyuv/source/row_neon64.cc:
* Source/third_party/libyuv/source/row_win.cc:
* Source/third_party/libyuv/source/scale.cc:
* Source/third_party/libyuv/source/scale_any.cc:
* Source/third_party/libyuv/source/scale_argb.cc:
* Source/third_party/libyuv/source/scale_common.cc:
* Source/third_party/libyuv/source/scale_dspr2.cc: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/source/scale_mips.cc.
* Source/third_party/libyuv/source/scale_gcc.cc:
* Source/third_party/libyuv/source/scale_msa.cc: Added.
* Source/third_party/libyuv/source/scale_neon.cc:
* Source/third_party/libyuv/source/scale_neon64.cc:
* Source/third_party/libyuv/source/scale_win.cc:
* Source/third_party/libyuv/source/video_common.cc:
* Source/third_party/libyuv/sync_chromium.py: Removed.
* Source/third_party/libyuv/third_party/gflags/BUILD.gn: Removed.
* Source/third_party/libyuv/third_party/gflags/LICENSE: Removed.
* Source/third_party/libyuv/third_party/gflags/README.libyuv: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags_completions.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags_declare.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/posix/include/gflags/gflags_gflags.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/posix/include/private/config.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags_completions.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags_declare.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/win/include/gflags/gflags_gflags.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gen/win/include/private/config.h: Removed.
* Source/third_party/libyuv/third_party/gflags/gflags.gyp: Removed.
* Source/third_party/libyuv/tools/gritsettings/README: Removed.
* Source/third_party/libyuv/tools/gritsettings/resource_ids: Removed.
* Source/third_party/libyuv/tools/valgrind-libyuv/tsan/OWNERS: Removed.
* Source/third_party/libyuv/tools/valgrind-libyuv/tsan/PRESUBMIT.py: Removed.
* Source/third_party/libyuv/tools/valgrind-libyuv/tsan/suppressions.txt: Removed.
* Source/third_party/libyuv/tools/valgrind-libyuv/tsan/suppressions_mac.txt: Removed.
* Source/third_party/libyuv/tools/valgrind-libyuv/tsan/suppressions_win32.txt: Removed.
* Source/third_party/libyuv/tools_libyuv/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/OWNERS.
* Source/third_party/libyuv/tools_libyuv/autoroller/roll_deps.py: Added.
(RollError):
(ParseDepsDict):
(ParseLocalDepsFile):
(ParseRemoteCrDepsFile):
(ParseCommitPosition):
(_RunCommand):
(_GetBranches):
(_ReadGitilesContent):
(ReadRemoteCrFile):
(ReadRemoteCrCommit):
(ReadUrlContent):
(GetMatchingDepsEntries):
(BuildDepsentryDict):
(BuildDepsentryDict.AddDepsEntries):
(CalculateChangedDeps):
(CalculateChangedClang):
(CalculateChangedClang.GetClangRev):
(GenerateCommitMessage):
(UpdateDepsFile):
(_IsTreeClean):
(_EnsureUpdatedMasterBranch):
(_CreateRollBranch):
(_RemovePreviousRollBranch):
(_LocalCommit):
(_UploadCL):
(_SendToCQ):
(main):
* Source/third_party/libyuv/tools_libyuv/autoroller/unittests/roll_deps_test.py: Added.
(TestError):
(FakeCmd):
(FakeCmd.__init__):
(FakeCmd.add_expectation):
(FakeCmd.__call__):
(TestRollChromiumRevision):
(TestRollChromiumRevision.setUp):
(TestRollChromiumRevision.tearDown):
(TestRollChromiumRevision.testUpdateDepsFile):
(TestRollChromiumRevision.testParseDepsDict):
(TestRollChromiumRevision.testParseDepsDict.assertVar):
(TestRollChromiumRevision.testGetMatchingDepsEntriesReturnsPathInSimpleCase):
(TestRollChromiumRevision.testGetMatchingDepsEntriesHandlesSimilarStartingPaths):
(TestRollChromiumRevision.testGetMatchingDepsEntriesHandlesTwoPathsWithIdenticalFirstParts):
(TestRollChromiumRevision.testCalculateChangedDeps):
(_SetupGitLsRemoteCall):
* Source/third_party/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS: Added.
* Source/third_party/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.new: Added.
* Source/third_party/libyuv/tools_libyuv/autoroller/unittests/testdata/DEPS.chromium.old: Added.
* Source/third_party/libyuv/tools_libyuv/get_landmines.py: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/get_landmines.py.
* Source/third_party/libyuv/tools_libyuv/msan/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/msan/OWNERS.
* Source/third_party/libyuv/tools_libyuv/msan/blacklist.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/msan/blacklist.txt.
* Source/third_party/libyuv/tools_libyuv/ubsan/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/ubsan/OWNERS.
* Source/third_party/libyuv/tools_libyuv/ubsan/blacklist.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/ubsan/blacklist.txt.
* Source/third_party/libyuv/tools_libyuv/ubsan/vptr_blacklist.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/ubsan/vptr_blacklist.txt.
* Source/third_party/libyuv/tools_libyuv/valgrind/libyuv_tests.bat: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/libyuv_tests.bat.
* Source/third_party/libyuv/tools_libyuv/valgrind/libyuv_tests.py: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/libyuv_tests.py.
(LibyuvTest._DefaultCommand):
* Source/third_party/libyuv/tools_libyuv/valgrind/libyuv_tests.sh: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/libyuv_tests.sh.
* Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/OWNERS: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/OWNERS.
* Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/PRESUBMIT.py: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/PRESUBMIT.py.
(CheckChange):
* Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/suppressions.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/suppressions.txt.
* Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/suppressions_mac.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/suppressions_mac.txt.
* Source/third_party/libyuv/tools_libyuv/valgrind/memcheck/suppressions_win32.txt: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/tools/valgrind-libyuv/memcheck/suppressions_win32.txt.
* Source/third_party/libyuv/unit_test/color_test.cc:
* Source/third_party/libyuv/unit_test/compare_test.cc:
* Source/third_party/libyuv/unit_test/convert_test.cc:
* Source/third_party/libyuv/unit_test/cpu_test.cc:
* Source/third_party/libyuv/unit_test/cpu_thread_test.cc: Added.
* Source/third_party/libyuv/unit_test/math_test.cc:
* Source/third_party/libyuv/unit_test/planar_test.cc:
* Source/third_party/libyuv/unit_test/rotate_argb_test.cc:
* Source/third_party/libyuv/unit_test/rotate_test.cc:
* Source/third_party/libyuv/unit_test/scale_argb_test.cc:
* Source/third_party/libyuv/unit_test/scale_test.cc:
* Source/third_party/libyuv/unit_test/unit_test.cc:
* Source/third_party/libyuv/unit_test/unit_test.h:
(SizeValid):
* Source/third_party/libyuv/unit_test/video_common_test.cc:
* Source/third_party/libyuv/util/compare.cc:
* Source/third_party/libyuv/util/cpuid.c:
(main):
* Source/third_party/libyuv/util/psnr.cc:
* Source/third_party/libyuv/util/psnr_main.cc:
* Source/third_party/libyuv/util/ssim.cc:
* Source/third_party/libyuv/util/ssim.h:
* Source/third_party/libyuv/util/yuvconvert.cc: Renamed from Source/ThirdParty/libwebrtc/Source/third_party/libyuv/util/convert.cc.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218670
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Thu, 22 Jun 2017 01:09:26 +0000 (01:09 +0000)]
Increase memory kill limits for WebContent processes that manage multiple tabs.
https://bugs.webkit.org/show_bug.cgi?id=173674
Reviewed by Geoffrey Garen.
Source/WebCore:
Plumb the non-utility Page count down to WTF::MemoryPressureHandler.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
Source/WTF:
When opening <a target=_blank> links, we currently have to use the same WebContent
process for the new tab, to support scripting the window.opener object.
This means that some WebContent processes end up hosting multiple tabs, making it
more likely that those processes will hit the memory limits.
Address this by adding some additional allowance for multi-tab processes:
For each additional tab, up to 4 tabs, add 1GB to the memory kill limit.
* wtf/MemoryPressureHandler.cpp:
(WTF::thresholdForMemoryKillWithProcessState):
(WTF::MemoryPressureHandler::setTabCount):
(WTF::MemoryPressureHandler::thresholdForMemoryKill):
(WTF::MemoryPressureHandler::measurementTimerFired):
* wtf/MemoryPressureHandler.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218669
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jiewen_tan@apple.com [Thu, 22 Jun 2017 00:40:58 +0000 (00:40 +0000)]
[WebCrypto] Restore ordering of CryptoAlgorithmIdentifier in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=173678
<rdar://problem/
32879314>
Reviewed by Sam Weinig.
r218030 reorders the ordering of CryptoAlgorithmIdentifier in SerializedScriptValue,
which introduces backward compatibility issues with CryptoKey objects stored in the
IndexedDB. Hence, we should restore it back.
No tests.
* bindings/js/SerializedScriptValue.cpp:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218666
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Thu, 22 Jun 2017 00:27:51 +0000 (00:27 +0000)]
Change FrameLoadRequest from a struct to a class
FrameLoadRequest is underutilizing the purpose of a struct - default visibility of
members is public, as FrameLoadRequest explicitly groups its members under public:
or private: sections. Maybe in the future we can make FrameLoadRequest a struct
with only public members. For now, we should consider FrameLoadRequest a class.
* loader/FormSubmission.h:
* loader/FrameLoadRequest.h:
* loader/FrameLoader.h:
* page/Chrome.h:
* page/ChromeClient.h:
* replay/UserInputBridge.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218665
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Thu, 22 Jun 2017 00:25:06 +0000 (00:25 +0000)]
Compiler error while building with !HAVE(ACCESSIBILITY)
https://bugs.webkit.org/show_bug.cgi?id=173670
Patch by Daewoong Jang <daewoong.jang@navercorp.com> on 2017-06-21
Reviewed by Chris Fleizach.
* accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::childrenChanged):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218664
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
graouts@webkit.org [Thu, 22 Jun 2017 00:24:38 +0000 (00:24 +0000)]
Build fix.
Reviewed by Tim "Mr. T" Horton.
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::logSuspendCount):
* page/Page.cpp:
(WebCore::Page::suspendScriptedAnimations):
(WebCore::Page::resumeScriptedAnimations):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218663
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
graouts@webkit.org [Wed, 21 Jun 2017 23:55:15 +0000 (23:55 +0000)]
Ensure DRT always logs rAF suspension debugging code
https://bugs.webkit.org/show_bug.cgi?id=173681
Reviewed by Tim "Mr. T" Horton.
Source/WebCore:
Instead of using a setting to check whether we should log information related to rAF
callbacks being suspended with WK1, we now check whether we're using in DRT to avoid
any potential issue with settings being in the incorrect state when a test is run.
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::logSuspendCount):
* page/Page.cpp:
(WebCore::Page::suspendScriptedAnimations):
(WebCore::Page::resumeScriptedAnimations):
* page/Settings.in:
* platform/RuntimeApplicationChecks.h:
* platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::MacApplication::isDumpRenderTree):
Source/WebKit/mac:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences shouldLogScriptedAnimationControllerSuspensionChange]): Deleted.
(-[WebPreferences setShouldLogScriptedAnimationControllerSuspensionChange:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218662
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cdumez@apple.com [Wed, 21 Jun 2017 22:53:14 +0000 (22:53 +0000)]
Allow constructing a WTF:Function from a function pointer
https://bugs.webkit.org/show_bug.cgi?id=173660
Reviewed by Alex Christensen.
Source/WebCore:
Construct WTF:Function directly from a function pointer when possible
instead of constructing a lambda to do so.
* Modules/encryptedmedia/InitDataRegistry.cpp:
(WebCore::InitDataRegistry::InitDataRegistry):
* page/Page.cpp:
* page/mac/PageMac.mm:
(WebCore::Page::platformInitialize):
* platform/cf/MainThreadSharedTimerCF.cpp:
(WebCore::setupPowerObserver):
* platform/mac/WebCoreNSURLExtras.mm:
* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseForWithReason):
* workers/Worker.cpp:
(WebCore::Worker::Worker):
Source/WTF:
Allow constructing a WTF:Function from a function pointer and
assigning a function pointer to a WTF:Function.
* wtf/Function.h:
Tools:
Add API test coverage.
* TestWebKitAPI/Tests/WTF/Function.cpp:
(TestWebKitAPI::returnThree):
(TestWebKitAPI::returnFour):
(TestWebKitAPI::returnPassedValue):
(TestWebKitAPI::TEST):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218660
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 22:13:19 +0000 (22:13 +0000)]
Fix build after r218645
https://bugs.webkit.org/show_bug.cgi?id=173668
Unreviewed.
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
* Source/webrtc/base/sigslottester.h: Removing executable right.
* Source/webrtc/modules/video_coding/codecs/vp8/temporal_layers.h:
(webrtc::TemporalLayersFactory::Create): Inline a default implementation.
* Source/webrtc/modules/video_processing/util/skin_detection.h: Removing executable right.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218657
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
timothy_horton@apple.com [Wed, 21 Jun 2017 22:11:07 +0000 (22:11 +0000)]
REGRESSION (r218606): 3D Touch action menu for links is missing items
https://bugs.webkit.org/show_bug.cgi?id=173669
<rdar://problem/
32905541>
Reviewed by Wenson Hsieh.
* UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
defaultActionsForLinkSheet is used outside the usual action sheet flow,
by 3D Touch code. Therefore, we're not guaranteed to have a _positionInformation.
We don't need one, though -- we can get the URL from the passed-in
_WKActivatedElementInfo, exactly like defaultActionsForImageSheet already did.
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
Remove the delegate null check, which isn't used after r218606.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218656
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 21:55:27 +0000 (21:55 +0000)]
CSS text properties affect <video> shadow root
https://bugs.webkit.org/show_bug.cgi?id=173664
<rdar://problem/
32904328>
Patch by Antoine Quint <graouts@apple.com> on 2017-06-21
Reviewed by Dean Jackson.
Source/WebCore:
Ensure that we reset all inheritable styles back to their initial value for media shadow roots.
Test: media/modern-media-controls/time-label/time-label-inherited-text-indent.html
* Modules/modern-media-controls/controls/media-controls.css:
(.media-controls-container):
LayoutTests:
Add a test that ensures that setting an inheritable style on the <video> does not affect
time labels within the shadow root.
* media/modern-media-controls/time-label/time-label-inherited-text-indent-expected.txt: Added.
* media/modern-media-controls/time-label/time-label-inherited-text-indent.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218655
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 21:32:44 +0000 (21:32 +0000)]
Web Inspector: Using "break on all exceptions" when throwing stack overflow hangs inspector
https://bugs.webkit.org/show_bug.cgi?id=172432
<rdar://problem/
29870873>
Patch by Joseph Pecoraro <pecoraro@apple.com> on 2017-06-21
Reviewed by Saam Barati.
Source/JavaScriptCore:
Avoid pausing on StackOverflow and OutOfMemory errors to avoid a hang.
We will proceed to improve debugging of these cases in the follow-up bugs.
* debugger/Debugger.cpp:
(JSC::Debugger::exception):
Ignore pausing on these errors.
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::setStackOverflowError):
(JSC::ErrorInstance::isStackOverflowError):
(JSC::ErrorInstance::setOutOfMemoryError):
(JSC::ErrorInstance::isOutOfMemoryError):
* runtime/ExceptionHelpers.cpp:
(JSC::createStackOverflowError):
* runtime/Error.cpp:
(JSC::createOutOfMemoryError):
Mark these kinds of errors.
LayoutTests:
* inspector/debugger/no-pause-out-of-memory-exception-expected.txt: Added.
* inspector/debugger/no-pause-out-of-memory-exception.html: Added.
* inspector/debugger/no-pause-stack-overflow-exception-expected.txt: Added.
* inspector/debugger/no-pause-stack-overflow-exception.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218652
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 21 Jun 2017 21:29:21 +0000 (21:29 +0000)]
Remove WILL_REVEAL_EDGE_EVENTS code
https://bugs.webkit.org/show_bug.cgi?id=173632
Reviewed by Sam Weinig, Beth Dakin.
Remove will-reveal-edge events, which never took off.
Source/WebCore:
* dom/Document.cpp:
(WebCore::Document::clearScriptedAnimationController):
(WebCore::Document::sendWillRevealEdgeEventsIfNeeded): Deleted.
* dom/Document.h:
* dom/GlobalEventHandlers.idl:
* html/HTMLBodyElement.idl:
* html/HTMLFrameSetElement.idl:
* page/FrameView.cpp:
(WebCore::FrameView::scrollPositionChanged):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
Source/WTF:
* wtf/FeatureDefines.h:
LayoutTests:
* fast/events/will-reveal-edge-on-div-expected.txt: Removed.
* fast/events/will-reveal-edge-on-div.html: Removed.
* fast/events/will-reveal-edges-body-attributes-expected.txt: Removed.
* fast/events/will-reveal-edges-body-attributes.html: Removed.
* fast/events/will-reveal-edges-event-listeners-expected.txt: Removed.
* fast/events/will-reveal-edges-event-listeners.html: Removed.
* fast/events/will-reveal-edges-window-attributes-expected.txt: Removed.
* fast/events/will-reveal-edges-window-attributes.html: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218651
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
dbates@webkit.org [Wed, 21 Jun 2017 21:19:05 +0000 (21:19 +0000)]
Cleanup FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=173564
<rdar://problem/
32903570>
Reviewed by Brent Fulgham.
Source/WebCore:
FrameLoadRequest has too many constructors. Use default values to reduce the number of
constructors. Have FrameLoadRequest hold a Ref<SecurityOrigin> instead of a RefPtr<SecurityOrigin>
as FrameLoadRequest must always hold a valid SecurityOrigin, the security origin of the
document that initiated the request.
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::openInNewTab): Explicitly pass the null-string for
the target frame name as we do not have one. Use C++11 brace initialization syntax and ASCIILiteral().
Rename local variable from request to frameLoadRequest to better describe its purpose. Fix up
FIXME comment added in r105600 to better describe the issue we should fix as the code as
changed since the FIXME was added.
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::navigate): No need to pass ShouldReplaceDocumentIfJavaScriptURL::ReplaceDocumentIfJavaScriptURL
now that the FrameLoadRequests constructor uses this policy by default. Use C++11 brace
initialization syntax and ASCIILiteral(). Rename local variable from frameRequest to frameLoadRequest
to better describe its purpose.
* loader/FrameLoadRequest.cpp:
(WebCore::FrameLoadRequest::FrameLoadRequest): Use C++11 brace initialization syntax.
* loader/FrameLoadRequest.h: Remove many constructor overloads. Changed m_requester from
RefPtr<SecurityOrigin> to Ref<SecurityOrigin> as we can never be instantiated with a null
SecurityOrigin. Moved m_shouldCheckNewWindowPolicy to be under ShouldOpenExternalURLsPolicy
to reduce the size of the class by 8 bytes.
* loader/FrameLoadRequest.h:
(WebCore::FrameLoadRequest::FrameLoadRequest): Added copy constructor as we must use Ref::copyRef()
to copy the Ref<SecurityOrigin>.
(WebCore::FrameLoadRequest::requester): Return a const SecurityOrigin& instead of a const SecurityOrigin*.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::urlSelected): Update now that the order of the ShouldReplaceDocumentIfJavaScriptURL
and ShouldOpenExternalURLsPolicy arguments in the FrameLoadRequest constructor has changed.
(WebCore::FrameLoader::loadURLIntoChildFrame): Ditto. Also use C++11 brace initialization syntax
and ASCIILiteral().
(WebCore::FrameLoader::loadFrameRequest): Update code now that FrameLoadRequest::requester() returns a
SecurityOrigin& instead of a SecurityOrigin*. Use C++11 brace initialization syntax.
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::scheduleLocationChange): Use C++11 brace initialization syntax.
Rename local variable from frameRequest to frameLoadRequest to better describe its purpose.
* page/ContextMenuController.cpp:
(WebCore::openNewWindow):
(WebCore::ContextMenuController::contextMenuItemSelected): ove FrameLoadRequest instantiation
into a local variable and use C++11 brace initialization syntax to make it easier to identify
the arguments passed to FrameLoader::loadFrameRequest().
* page/DOMWindow.cpp:
(WebCore::DOMWindow::createWindow): Update now that the order of the ShouldReplaceDocumentIfJavaScriptURL
and ShouldOpenExternalURLsPolicy arguments in the FrameLoadRequest constructor has changed.
Use C++11 brace initialization syntax and ASCIILiteral(). Rename some local variables to better
describe their purpose.
Source/WebKit/ios:
Move FrameLoadRequest instantiation into a local variable and use C++11 brace initialization
syntax to make it easier to identify the arguments passed to FrameLoader::loadFrameRequest().
* WebView/WebPDFViewPlaceholder.mm:
(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):
Source/WebKit/mac:
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Move FrameLoadRequest instantiation
into a local variable and use C++11 brace initialization syntax to make it easier to identify
the arguments passed to FrameLoader::loadFrameRequest().
Source/WebKit/win:
* Plugins/PluginView.cpp:
(WebCore::PluginView::start): Explicitly pass an empty ResourceRequest (we populate it after
we instantiate the FrameLoadRequest) and pass the null-string for the target frame name as
we do not have one. Use C++11 brace initialization syntax.
(WebCore::PluginView::getURLNotify): Explicitly pass the null-string for the target frame
name as we do not have one. Use C++11 brace initialization syntax.
(WebCore::PluginView::getURL): Ditto.
(WebCore::PluginView::handlePost): Move instantiation of FrameLoadRequest from the top of the
function to closer to where it is actually used. Explicitly pass the null-string for the target
frame name as we do not have one. Use C++11 brace initialization syntax.
Source/WebKit2:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::loadURL): Explicitly pass the null-string for the target frame
name as we do not have one. Use C++11 brace initialization syntax.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchCreatePage): Ditto.
* WebProcess/WebPage/WebInspector.cpp:
(WebKit::WebInspector::openInNewTab): It is no longer necessary to pass ReplaceDocumentIfJavaScriptURL
when instantiating the FrameLoadRequest as it defaults to this policy. Use C++11 brace initialization syntax.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218649
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
simon.fraser@apple.com [Wed, 21 Jun 2017 21:13:58 +0000 (21:13 +0000)]
svgPath.getTotalLength() freezes webkit
https://bugs.webkit.org/show_bug.cgi?id=173566
<rdar://problem/
32866731>
Reviewed by Dean Jackson.
Source/WebCore:
Ensure that curveLength() progresses by making split() return a bool indicating
whether either of the resulting curves are the same as the original. This can happen
when midPoint() on two close points returns a point that is the same as one of the
arguments because of floating-point precision limitations.
Test: svg/custom/path-getTotalLength-hang.html
* platform/graphics/PathTraversalState.cpp:
(WebCore::QuadraticBezier::operator ==):
(WebCore::QuadraticBezier::split):
(WebCore::CubicBezier::operator ==):
(WebCore::CubicBezier::split):
(WebCore::curveLength):
LayoutTests:
* svg/custom/path-getTotalLength-hang.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218648
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 21:06:21 +0000 (21:06 +0000)]
Fix AVVideoCaptureSource frameRate setter and getter
https://bugs.webkit.org/show_bug.cgi?id=173637
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
Reviewed by Eric Carlson.
Covered by manual testing.
Using activeVideoMaxFrameDuration to get the frame rate.
Setting the frame rate according the given vale if in the allowed range.
* platform/mediastream/mac/AVVideoCaptureSource.h:
* platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::updateSettings):
(WebCore::AVVideoCaptureSource::applyFrameRate):
(WebCore::AVVideoCaptureSource::applySizeAndFrameRate):
(WebCore::AVVideoCaptureSource::shutdownCaptureSession):
(WebCore::AVVideoCaptureSource::processNewFrame):
(WebCore::AVVideoCaptureSource::updateFramerate): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218647
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 20:52:20 +0000 (20:52 +0000)]
Remove expat source code from Source/ThirdParty/libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=173656
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
Reviewed by Brent Fulgham.
* Source/third_party/expat/BUILD.gn: Removed.
* Source/third_party/expat/OWNERS: Removed.
* Source/third_party/expat/README.chromium: Removed.
* Source/third_party/expat/files/COPYING: Removed.
* Source/third_party/expat/files/Changes: Removed.
* Source/third_party/expat/files/MANIFEST: Removed.
* Source/third_party/expat/files/README: Removed.
* Source/third_party/expat/files/lib/amigaconfig.h: Removed.
* Source/third_party/expat/files/lib/ascii.h: Removed.
* Source/third_party/expat/files/lib/asciitab.h: Removed.
* Source/third_party/expat/files/lib/expat.h: Removed.
* Source/third_party/expat/files/lib/expat_config.h: Removed.
* Source/third_party/expat/files/lib/expat_external.h: Removed.
* Source/third_party/expat/files/lib/iasciitab.h: Removed.
* Source/third_party/expat/files/lib/internal.h: Removed.
* Source/third_party/expat/files/lib/latin1tab.h: Removed.
* Source/third_party/expat/files/lib/libexpat.def: Removed.
* Source/third_party/expat/files/lib/libexpatw.def: Removed.
* Source/third_party/expat/files/lib/macconfig.h: Removed.
* Source/third_party/expat/files/lib/nametab.h: Removed.
* Source/third_party/expat/files/lib/utf8tab.h: Removed.
* Source/third_party/expat/files/lib/winconfig.h: Removed.
* Source/third_party/expat/files/lib/winconfig.h.original: Removed.
* Source/third_party/expat/files/lib/xmlparse.c: Removed.
* Source/third_party/expat/files/lib/xmlparse.c.original: Removed.
* Source/third_party/expat/files/lib/xmlrole.c: Removed.
* Source/third_party/expat/files/lib/xmlrole.h: Removed.
* Source/third_party/expat/files/lib/xmltok.c: Removed.
* Source/third_party/expat/files/lib/xmltok.h: Removed.
* Source/third_party/expat/files/lib/xmltok_impl.c: Removed.
* Source/third_party/expat/files/lib/xmltok_impl.c.original: Removed.
* Source/third_party/expat/files/lib/xmltok_impl.h: Removed.
* Source/third_party/expat/files/lib/xmltok_ns.c: Removed.
* Source/third_party/expat/fuzz/OWNERS: Removed.
* Source/third_party/expat/fuzz/expat_xml_parse_fuzzer.cc: Removed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218646
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 20:40:33 +0000 (20:40 +0000)]
Refresh libwebrtc code up to
a87675d4a160e2c49c3e754cd9ca291d6c8f36ae
https://bugs.webkit.org/show_bug.cgi?id=173602
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
* Configurations/libwebrtc.xcconfig:
* Source: Updated to
a87675d4a160e2c49c3e754cd9ca291d6c8f36ae and reapplied WebKit specific changes.
* WebKit/patch-libwebrtc:
* libwebrtc.xcodeproj/project.pbxproj:
Source/WebCore:
No feature change.
Updated according small libwebrtc API changes.
* Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::configurationFromMediaEndpointConfiguration):
* platform/mediastream/mac/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::pixelBufferFromVideoFrame):
* platform/mediastream/mac/RealtimeOutgoingVideoSource.cpp:
(WebCore::RealtimeOutgoingVideoSource::sendBlackFramesIfNeeded):
(WebCore::RealtimeOutgoingVideoSource::videoSampleAvailable):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218645
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 20:05:59 +0000 (20:05 +0000)]
Add support for structured serialization of CSS Geometry types
https://bugs.webkit.org/show_bug.cgi?id=173631
Patch by Sam Weinig <sam@webkit.org> on 2017-06-21
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
* web-platform-tests/css/geometry-1/structured-serialization-expected.txt:
Update test results now that they pass.
Source/WebCore:
Tests: imported/w3c/web-platform-tests/css/geometry-1/structured-serialization.html
Adds support for serializing the new geometry types as specified by:
https://drafts.fxtf.org/geometry-1/#structured-serialization
* WebCore.xcodeproj/project.pbxproj:
Move a few custom bindings into the "GC / Wrapping Only" since they have no more custom operations or attributes.
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpDOMPoint):
(WebCore::CloneSerializer::dumpDOMRect):
(WebCore::CloneSerializer::dumpDOMMatrix):
(WebCore::CloneSerializer::dumpDOMQuad):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::getJSValue):
(WebCore::CloneDeserializer::readDOMPoint):
(WebCore::CloneDeserializer::readDOMMatrix):
(WebCore::CloneDeserializer::readDOMRect):
(WebCore::CloneDeserializer::readDOMPointInit):
(WebCore::CloneDeserializer::readDOMQuad):
(WebCore::CloneDeserializer::readTerminal):
Add serialization/deserialization of the geometry types.
* css/DOMMatrix.cpp:
(WebCore::DOMMatrix::DOMMatrix):
* css/DOMMatrix.h:
(WebCore::DOMMatrix::create):
* css/DOMMatrixReadOnly.cpp:
(WebCore::DOMMatrixReadOnly::DOMMatrixReadOnly):
* css/DOMMatrixReadOnly.h:
(WebCore::DOMMatrixReadOnly::create):
Add create functions and constructors that take a TransformationMatrix by r-value reference
so they can be moved into the DOM type.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218644
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
akling@apple.com [Wed, 21 Jun 2017 19:49:11 +0000 (19:49 +0000)]
[iOS] Ensure that GraphicsServices is initialized before calling GSFontPurgeFontCache().
https://bugs.webkit.org/show_bug.cgi?id=173616
<rdar://problem/
30780050>
Reviewed by Chris Dumez.
Source/WebCore:
Fix for crash in GSFontPurgeFontCache() seen in apps embedding WebKit.
Ensure GSFontInitialize() has been called first, since the former depends on state
set up by this function.
* page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::platformReleaseMemory):
* platform/spi/ios/GraphicsServicesSPI.h:
WebKitLibraries:
* WebKitPrivateFrameworkStubs/iOS/10/GraphicsServices.framework/GraphicsServices.tbd:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218643
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
wenson_hsieh@apple.com [Wed, 21 Jun 2017 18:54:45 +0000 (18:54 +0000)]
[iOS DnD] [WK2] Add drag-and-drop release logging around WKContentView
https://bugs.webkit.org/show_bug.cgi?id=173636
Reviewed by Tim Horton.
Add logging at key points in the drag-and-drop lifecycle in the UI process, so that sysdiagnoses will contain
sufficient information to debug sparse failures.
* Platform/Logging.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didHandleStartDataInteractionRequest:]):
(-[WKContentView cleanUpDragSourceSessionState]):
(-[WKContentView _didPerformDataInteractionControllerOperation:]):
(-[WKContentView _dragInteraction:prepareForSession:completion:]):
(-[WKContentView dragInteraction:itemsForBeginningSession:]):
(-[WKContentView dragInteraction:sessionWillBegin:]):
(-[WKContentView _api_dragInteraction:session:didEndWithOperation:]):
(-[WKContentView dropInteraction:canHandleSession:]):
(-[WKContentView _api_dropInteraction:sessionDidEnter:]):
(-[WKContentView dropInteraction:sessionDidExit:]):
(-[WKContentView dropInteraction:performDrop:]):
(-[WKContentView dropInteraction:sessionDidEnd:]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218642
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
sbarati@apple.com [Wed, 21 Jun 2017 18:42:44 +0000 (18:42 +0000)]
Make it clear that regenerating ICs are holding the CodeBlock's lock by passing the locker as a parameter
https://bugs.webkit.org/show_bug.cgi?id=173609
Reviewed by Keith Miller.
This patch makes many of the IC generating functions require a locker as
a parameter. We do this in other places in JSC to indicate that
a particular API is only valid while a particular lock is held.
This is the case when generating ICs. This patch just makes it
explicit in the IC generating interface.
* bytecode/PolymorphicAccess.cpp:
(JSC::PolymorphicAccess::addCases):
(JSC::PolymorphicAccess::addCase):
(JSC::PolymorphicAccess::commit):
(JSC::PolymorphicAccess::regenerate):
* bytecode/PolymorphicAccess.h:
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::initStub): Deleted.
* bytecode/StructureStubInfo.h:
* jit/Repatch.cpp:
(JSC::tryCacheGetByID):
(JSC::repatchGetByID):
(JSC::tryCachePutByID):
(JSC::repatchPutByID):
(JSC::tryRepatchIn):
(JSC::repatchIn):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218641
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 18:37:02 +0000 (18:37 +0000)]
Add logging to identify when the Page suspends scripted animations
https://bugs.webkit.org/show_bug.cgi?id=173626
Patch by Antoine Quint <graouts@apple.com> on 2017-06-21
Reviewed by Tim Horton.
Source/WebCore:
We have a longstanding issue that some media/modern-media-controls tests time out due to
requestAnimationFrame callbacks not being serviced, which is tracked by webkit.org/b/173628.
We added some logging to identify when ScriptedAnimationController would get suspended in
webkit.org/b/173326. This logging points to the fact that the reason rAF callbacks aren't
serviced is because Document::requestAnimationFrame() suspends rAF when the page reports
that scripted animations ought to be suspended, which is true when m_scriptedAnimationsSuspended
is true. This patch adds logging that tracks when this flag is set, provided a new setting
shouldLogScriptedAnimationControllerSuspensionChange is true.
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::logSuspendCount):
* page/Page.cpp:
(WebCore::Page::suspendScriptedAnimations):
(WebCore::Page::resumeScriptedAnimations):
* page/Settings.in:
Source/WebKit/mac:
Add a new preference to control the new shouldLogScriptedAnimationControllerSuspensionChange settings
through WebKit. This is specific to WK1 since the issue we're trying to pinpoint only occurs on WK1 bots.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences shouldLogScriptedAnimationControllerSuspensionChange]):
(-[WebPreferences setShouldLogScriptedAnimationControllerSuspensionChange:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Tools:
Turn the new logging on for WK1/DRT since the issue we're trying to pinpoint only occurs on WK1 bots.
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218640
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 17:08:02 +0000 (17:08 +0000)]
Import W3C tests regarding navigation inside sandboxed iframes
https://bugs.webkit.org/show_bug.cgi?id=173649
Patch by Frederic Wang <fwang@igalia.com> on 2017-06-21
Reviewed by Youenn Fablet.
This import new tests added in https://github.com/w3c/web-platform-tests/pull/6221 to verify
sandboxing of iframes and will help to test the changes in bug 173162.
* resources/import-expectations.json:
* resources/resource-files.json:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/content_document_changes_only_after_load_matures.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-1.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_allow_top_navigation-2.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-1.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-2-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_ancestor-2.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_descendants-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_descendants.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_itself-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_navigate_itself.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-performs-top-navigation-on-popup.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-that-tries-to-navigate-parent-and-sends-result-to-grandparent.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-tried-to-be-navigated-by-its-child.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-trying-to-navigate-its-child.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/iframe-trying-to-navigate-itself.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/support/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218639
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 17:05:28 +0000 (17:05 +0000)]
[MSVC] Fix compilation in CP932 (Shift_JIS) environment
https://bugs.webkit.org/show_bug.cgi?id=173638
Patch by Yoshiaki Jitsukawa <Yoshiaki.Jitsukawa@sony.com> on 2017-06-21
Reviewed by Alex Christensen.
Give "/utf-8 /validate-charset" options to the MSVC compiler
to specify the source code encoding.
* Source/cmake/OptionsMSVC.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218638
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
achristensen@apple.com [Wed, 21 Jun 2017 16:48:43 +0000 (16:48 +0000)]
[Curl] Extract CurlDownloadManager as shared background task handler
https://bugs.webkit.org/show_bug.cgi?id=173557
Curl resource handling should be shared by other part of Curl
network stack. CurlDownloadManager is extracted as stand alone
CurlManager singleton class to be ready for others
(i.e. ResourceHandle).
Patch by Basuke Suzuki <Basuke.Suzuki@sony.com> on 2017-06-21
Reviewed by Alex Christensen.
* PlatformWinCairo.cmake:
* platform/network/curl/CookieJarCurl.cpp:
(WebCore::setCookiesFromDOM):
(WebCore::cookiesForSession):
* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownload::init):
(WebCore::CurlDownload::start):
(WebCore::CurlDownload::cancel):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::handleCurlMsg):
(WebCore::CurlDownloadManager::CurlDownloadManager): Deleted.
(WebCore::CurlDownloadManager::~CurlDownloadManager): Deleted.
(WebCore::CurlDownloadManager::add): Deleted.
(WebCore::CurlDownloadManager::remove): Deleted.
(WebCore::CurlDownloadManager::getActiveDownloadCount): Deleted.
(WebCore::CurlDownloadManager::getPendingDownloadCount): Deleted.
(WebCore::CurlDownloadManager::startThreadIfNeeded): Deleted.
(WebCore::CurlDownloadManager::stopThread): Deleted.
(WebCore::CurlDownloadManager::stopThreadIfIdle): Deleted.
(WebCore::CurlDownloadManager::updateHandleList): Deleted.
(WebCore::CurlDownloadManager::addToCurl): Deleted.
(WebCore::CurlDownloadManager::removeFromCurl): Deleted.
(WebCore::CurlDownloadManager::downloadThread): Deleted.
* platform/network/curl/CurlDownload.h:
(WebCore::CurlDownloadManager::getMultiHandle): Deleted.
(WebCore::CurlDownloadManager::runThread): Deleted.
(WebCore::CurlDownloadManager::setRunThread): Deleted.
* platform/network/curl/CurlManager.cpp: Added.
(WebCore::CurlManager::CurlManager):
(WebCore::CurlManager::~CurlManager):
(WebCore::CurlManager::add):
(WebCore::CurlManager::remove):
(WebCore::CurlManager::getActiveCount):
(WebCore::CurlManager::getPendingCount):
(WebCore::CurlManager::startThreadIfNeeded):
(WebCore::CurlManager::stopThread):
(WebCore::CurlManager::stopThreadIfIdle):
(WebCore::CurlManager::updateHandleList):
(WebCore::CurlManager::addToCurl):
(WebCore::CurlManager::removeFromCurl):
(WebCore::CurlManager::workerThread):
(WebCore::CurlUtils::getEffectiveURL):
(WebCore::CurlSharedResources::mutexFor):
(WebCore::CurlSharedResources::lock):
(WebCore::CurlSharedResources::unlock):
* platform/network/curl/CurlManager.h: Added.
(WebCore::CurlManager::singleton):
(WebCore::CurlManager::getCurlShareHandle):
(WebCore::CurlManager::getMultiHandle):
(WebCore::CurlManager::runThread):
(WebCore::CurlManager::setRunThread):
* platform/network/curl/ResourceHandleManager.cpp:
(WebCore::ResourceHandleManager::ResourceHandleManager):
(WebCore::ResourceHandleManager::~ResourceHandleManager):
(WebCore::handleLocalReceiveResponse):
(WebCore::getProtectionSpace):
(WebCore::headerCallback):
(WebCore::ResourceHandleManager::downloadTimerCallback):
(WebCore::getCurlEffectiveURL): Deleted.
(WebCore::sharedResourceMutex): Deleted.
(WebCore::curl_lock_callback): Deleted.
(WebCore::curl_unlock_callback): Deleted.
(WebCore::ResourceHandleManager::getCurlShareHandle): Deleted.
* platform/network/curl/ResourceHandleManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218637
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
csaavedra@igalia.com [Wed, 21 Jun 2017 16:25:16 +0000 (16:25 +0000)]
[WPE] Unreviewed gardening
Update expectations to known flaky http/appcache tests and also a
couple of flaky crashing tests.
* platform/wpe/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218636
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 16:19:10 +0000 (16:19 +0000)]
LayoutTests/imported/w3c/resources/import-expectations.json is broken after trac.webkit.org/changeset/218181
https://bugs.webkit.org/show_bug.cgi?id=173651
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-21
Reviewed by Chris Dumez.
* resources/import-expectations.json: Fix the merge.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218635
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 16:04:51 +0000 (16:04 +0000)]
Include audio/vnd.wave as a valid mime-type for wav files.
https://bugs.webkit.org/show_bug.cgi?id=173635
rdar://problem/
32656568
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-21
Reviewed by Eric Carlson.
audio/vnd.wave is a valid mime-type for wav files per https://tools.ietf.org/html/rfc2361
Updated test and test results:
LayoutTests/media/media-can-play-wav-audio.html
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::mimeTypeAssociationMap):
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeSet):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218634
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
cfleizach@apple.com [Wed, 21 Jun 2017 15:58:53 +0000 (15:58 +0000)]
AX: Cannot call setValue() on contenteditable or ARIA text controls
https://bugs.webkit.org/show_bug.cgi?id=173520
Reviewed by Ryosuke Niwa.
Source/WebCore:
Add support for changing the value of a contenteditable and any other aria text control in setValue().
Test: accessibility/set-value-editable-types.html
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::setValue):
Tools:
Add setValue() method to WKTR (already existed in DRT).
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:
(WTR::AccessibilityUIElement::setValue):
* WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
* WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::setValue):
LayoutTests:
* accessibility/set-value-editable-types-expected.txt: Added.
* accessibility/set-value-editable-types.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218633
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 15:56:06 +0000 (15:56 +0000)]
Don't clear audio mute when muting capture.
https://bugs.webkit.org/show_bug.cgi?id=173639
rdar://problem/
32749737
Patch by Jeremy Jones <jeremyj@apple.com> on 2017-06-21
Reviewed by Eric Carlson.
Setting capture mute was clearing audio mute.
Added setMediaStreamCaptureMuted to set just the capture mute bit.
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _muteMediaCapture]):
* UIProcess/UserMediaProcessManager.cpp:
(WebKit::UserMediaProcessManager::muteCaptureMediaStreamsExceptIn):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::setMediaStreamCaptureMuted):
* UIProcess/WebPageProxy.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218632
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
magomez@igalia.com [Wed, 21 Jun 2017 15:50:48 +0000 (15:50 +0000)]
[GTK] Fix the condition to enable/disable GSTREAMER_GL
https://bugs.webkit.org/show_bug.cgi?id=173650
Reviewed by Carlos Garcia Campos.
If GSTREAMER_GL is enabled, check for the GStreamer version. If the version is < 1.10, disable
GSTREAMER_GL and continue. If the version is >= 1.10 but there's no gstreamer-gl package available
then fail.
* Source/cmake/FindGStreamer.cmake:
* Source/cmake/OptionsGTK.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218631
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
magomez@igalia.com [Wed, 21 Jun 2017 12:33:17 +0000 (12:33 +0000)]
[GTK] Enable GStreamer GL by default on production builds
https://bugs.webkit.org/show_bug.cgi?id=173406
Reviewed by Carlos Garcia Campos.
Enable GStreamer GL by default when the GStreamer version >= 1.10.
* Source/cmake/OptionsGTK.cmake:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218630
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
magomez@igalia.com [Wed, 21 Jun 2017 12:29:03 +0000 (12:29 +0000)]
[GTK][WAYLAND] Create WaylandCompositorDisplay unconditionally when initializing the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=173598
Reviewed by Carlos Garcia Campos.
Move WaylandCompositorDisplay code to its own files so it can be used from other classes. Then, instead of
storing the waylandCompositorDisplayName in the WebProcess, keep a WaylandCompositorDisplay instance that
is created during the initialization. This way the appropriate sharedDisplayForCompositing will be set
since the creation of the WebProcess.
* PlatformGTK.cmake:
* WebProcess/WebPage/gtk/AcceleratedSurfaceWayland.cpp:
(WebKit::AcceleratedSurfaceWayland::create):
(WebKit::AcceleratedSurfaceWayland::AcceleratedSurfaceWayland):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* WebProcess/WebProcess.h:
(WebKit::WebProcess::waylandCompositorDisplay):
* WebProcess/gtk/WaylandCompositorDisplay.cpp: Added.
(WebKit::WaylandCompositorDisplay::create):
(WebKit::WaylandCompositorDisplay::bindSurfaceToPage):
(WebKit::WaylandCompositorDisplay::WaylandCompositorDisplay):
(WebKit::WaylandCompositorDisplay::registryGlobal):
* WebProcess/gtk/WaylandCompositorDisplay.h: Added.
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218629
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
carlosgc@webkit.org [Wed, 21 Jun 2017 07:49:21 +0000 (07:49 +0000)]
[GTK] Move WebGtkExtensionManager and WebGtkInjectedBundleMain to glib API dir
https://bugs.webkit.org/show_bug.cgi?id=173606
Reviewed by Žan Doberšek.
.:
Update public symbols that were renamed.
* Source/cmake/gtksymbols.filter:
Source/WebKit2:
And rename them to use WebKit prefix instead of WebGtk.
* PlatformGTK.cmake:
* WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.cpp.
(WebKit::WebKitExtensionManager::singleton):
(WebKit::WebKitExtensionManager::WebKitExtensionManager):
(WebKit::WebKitExtensionManager::scanModules):
(WebKit::WebKitExtensionManager::initializeWebExtension):
(WebKit::WebKitExtensionManager::initialize):
* WebProcess/InjectedBundle/API/glib/WebKitExtensionManager.h: Renamed from Source/WebKit2/WebProcess/gtk/WebGtkExtensionManager.h.
* WebProcess/InjectedBundle/API/glib/WebKitInjectedBundleMain.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebGtkInjectedBundleMain.cpp.
(WKBundleInitialize):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218628
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 21 Jun 2017 07:09:53 +0000 (07:09 +0000)]
List libtasn1 packages in GTK+ and WPE install-dependencies scripts
as one of the dependencies required to build the product.
Rubber-stamped by Carlos Garcia Campos.
* gtk/install-dependencies:
* wpe/install-dependencies:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218627
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
zandobersek@gmail.com [Wed, 21 Jun 2017 06:52:29 +0000 (06:52 +0000)]
[GCrypt] Implement CryptoKeyEC SPKI imports
https://bugs.webkit.org/show_bug.cgi?id=172927
Reviewed by Jiewen Tan, Michael Catanzaro and Carlos Garcia Campos.
.:
* Source/cmake/FindLibtasn1.cmake: Added.
* Source/cmake/OptionsGTK.cmake: Require libtasn1 when SUBTLE_CRYPTO is enabled.
* Source/cmake/OptionsWPE.cmake: Ditto.
Source/WebCore:
No new tests -- affected tests are now passing and are unskipped.
Implement libgcrypt-based support for SPKI imports of EC keys.
Using libtasn1 through the utility functions and wrappers, the given key data
is decoded against the SubjectPublicKeyInfo ASN.1 definition. The algorithm
member is then properly validated, making sure that the key algorithm idenfitier
is supported and that the algorithm parameters specify the correct EC curve.
The public key bit string is then retrieved and validated, ensuring it represents
an uncompressed EC point that is of valid size for the specified EC curve. The
point is then tested through an EC context to make sure it's positioned on the
specified EC curve.
Finally, the curve name and uncompressed point data are embedded into a
`public-key` s-expression that will be used through the libgcrypt API. This is
then used, along with other information, to create a valid CryptoKeyEC object.
* PlatformGTK.cmake: Use LIBTASN1_INCLUDE_DIRECTORIES and LIBTASN1_LIBRARIES.
* PlatformWPE.cmake: Ditto.
* crypto/gcrypt/CryptoKeyECGCrypt.cpp:
(WebCore::supportedAlgorithmIdentifier):
(WebCore::curveForIdentifier):
(WebCore::CryptoKeyEC::platformImportSpki):
Source/WebCore/PAL:
Add a file that provides utility functions for operating with libtasn1 APIs.
The precomputed ASN.1 declarations, generated from the WebCrypto.asn file with
the asn1Parser tool, are used to enable construction of ASN.1 structures that
are then used to decode the SPKI or PKCS#8 data through the decodeStructure()
function. Raw data of each element in that structure can be retrieved throug the
elementData() function.
The Structure class is added as a wrapper for asn1_node objects that are used
as decoding targets, simplifying lifetime management of these objects.
* pal/PlatformGTK.cmake:
* pal/PlatformWPE.cmake:
* pal/crypto/tasn1/Utilities.cpp: Added.
(PAL::TASN1::asn1Definitions):
(PAL::TASN1::decodeStructure):
(PAL::TASN1::elementData):
* pal/crypto/tasn1/Utilities.h: Added.
(PAL::TASN1::Structure::~Structure):
(PAL::TASN1::Structure::operator&):
(PAL::TASN1::Structure::operator asn1_node):
* pal/crypto/tasn1/WebCrypto.asn: Added.
LayoutTests:
* platform/gtk/TestExpectations:
Unskip or enable the EC-based SPKI import tests that are now passing.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218626
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
fred.wang@free.fr [Wed, 21 Jun 2017 06:24:50 +0000 (06:24 +0000)]
Pass the argument of DrawingArea::shouldUseTiledBackingForFrameView by reference
https://bugs.webkit.org/show_bug.cgi?id=173605
DrawingArea::shouldUseTiledBackingForFrameView is only called from
WebChromeClient::shouldUseTiledBackingForFrameView where the frame view is already available
as a reference. This patch makes the argument of
DrawingArea::shouldUseTiledBackingForFrameView a reference, so it does not need to be
converted to a pointer or to perform nullchecks.
Patch by Frederic Wang <fwang@igalia.com> on 2017-06-20
Reviewed by Simon Fraser.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldUseTiledBackingForFrameView): Just pass the reference.
* WebProcess/WebPage/DrawingArea.h: Make the parameter a reference.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h: Ditto.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Ditto.
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::shouldUseTiledBackingForFrameView): Use the reference
to frame view and remove the nullcheck.
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::shouldUseTiledBackingForFrameView): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218625
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 21 Jun 2017 04:17:46 +0000 (04:17 +0000)]
WebGPU contexts should have a back reference to the canvas element
https://bugs.webkit.org/show_bug.cgi?id=173633
Reviewed by Jon Lee.
No tests added, as this is already implemented within other canvas types.
* html/canvas/WebGPURenderingContext.idl:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218624
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 21 Jun 2017 03:13:18 +0000 (03:13 +0000)]
Web Inspector: change the selected ScopeBarItem on mousedown instead of click
https://bugs.webkit.org/show_bug.cgi?id=173586
Reviewed by Matt Baker.
Both the Tab bar and Sidebar navigation bar switch the active item on "mousedown" instead of
on "click". ScopeBarItem should follow this pattern, as it is faster and keeps consistency.
* UserInterface/Views/MultipleScopeBarItem.js:
(WebInspector.MultipleScopeBarItem):
(WebInspector.MultipleScopeBarItem.prototype._handleMouseDown):
(WebInspector.MultipleScopeBarItem.prototype._clicked): Deleted.
* UserInterface/Views/ScopeBarItem.js:
(WebInspector.ScopeBarItem):
(WebInspector.ScopeBarItem.prototype._handleMouseDown):
(WebInspector.ScopeBarItem.prototype._clicked): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
commit-queue@webkit.org [Wed, 21 Jun 2017 03:05:39 +0000 (03:05 +0000)]
WebAudioSourceProvider should be thread safe ref counted
https://bugs.webkit.org/show_bug.cgi?id=173623
Patch by Youenn Fablet <youenn@apple.com> on 2017-06-20
Reviewed by Eric Carlson.
No observable change of behavior.
* platform/mediastream/WebAudioSourceProvider.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218622
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
yoav@yoav.ws [Wed, 21 Jun 2017 01:04:25 +0000 (01:04 +0000)]
[preload] Turn on preload's feature flag by default.
https://bugs.webkit.org/show_bug.cgi?id=173139
Reviewed by Youenn Fablet.
Turn on the runtime enabled feature flag for link preload by default.
No new tests as this just turns on a feature that was already on-by-default for tests.
* page/RuntimeEnabledFeatures.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218621
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Wed, 21 Jun 2017 00:54:43 +0000 (00:54 +0000)]
Disable font variations on macOS Sierra and iOS 10
https://bugs.webkit.org/show_bug.cgi?id=173618
<rdar://problem/
32879164>
Reviewed by Jon Lee.
Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:
Source/WebCore:
On macOS Sierra and iOS 10, there are some platform problems involved with font variations. They
were previously enabled on those OSes just as a preview development tool. These platform bugs have
been fixed in macOS High Sierra and iOS 11, so we should align our feature flags with the eventual
configurations.
* Configurations/FeatureDefines.xcconfig:
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::defaultVariationValues):
(WebCore::preparePlatformFont):
Source/WebCore/PAL:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
Tools:
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
LayoutTests:
Update expected test results. The old test results are now High Sierra- and iOS 11-expected.
* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-font-family-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/text/font-selection-font-face-parse-expected.txt:
* fast/text/font-selection-font-loading-api-parse-expected.txt:
* fast/text/font-stretch-parse-expected.txt:
* fast/text/font-style-parse-expected.txt:
* fast/text/font-weight-parse-expected.txt:
* platform/ios/TestExpectations:
* platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-font-family-expected.txt: Removed.
* platform/mac-elcapitan/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-selection-font-face-parse-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-selection-font-loading-api-parse-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-stretch-parse-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-style-parse-expected.txt: Removed.
* platform/mac-elcapitan/fast/text/font-weight-parse-expected.txt: Removed.
* platform/mac-elcapitan/svg/css/getComputedStyle-basic-expected.txt: Removed
* platform/mac/TestExpectations:
* platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218620
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
keith_miller@apple.com [Wed, 21 Jun 2017 00:32:25 +0000 (00:32 +0000)]
Fix leak of ModuleInformations in BBQPlan constructors.
https://bugs.webkit.org/show_bug.cgi?id=173577
Reviewed by Saam Barati.
This patch fixes a leak in the BBQPlan constructiors. Previously,
the plans were calling makeRef on the newly constructed objects.
This patch fixes the issue and uses adoptRef instead. Additionally,
an old, incorrect, attempt to fix the leak is removed.
* inspector/remote/cocoa/RemoteInspectorXPCConnection.mm:
(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
* jit/JITWorklist.cpp:
(JSC::JITWorklist::Thread::Thread):
* runtime/PromiseDeferredTimer.cpp:
(JSC::PromiseDeferredTimer::addPendingPromise):
* runtime/VM.cpp:
(JSC::VM::VM):
* wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::BBQPlan):
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::Plan):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218619
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
drousso@apple.com [Wed, 21 Jun 2017 00:07:41 +0000 (00:07 +0000)]
Web Inspector: Send context attributes for tracked canvases
https://bugs.webkit.org/show_bug.cgi?id=173327
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
* inspector/protocol/Canvas.json:
Add ContextAttributes object type that is optionally used for WebGL canvases.
Source/WebCore:
Test: inspector/canvas/context-attributes.html
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::buildObjectForCanvas):
Source/WebInspectorUI:
* UserInterface/Models/Canvas.js:
(WebInspector.Canvas.fromPayload):
(WebInspector.Canvas.prototype.get contextAttributes):
* UserInterface/Views/CanvasDetailsSidebarPanel.js:
(WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
(WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
(WebInspector.CanvasDetailsSidebarPanel.prototype.sizeDidChange):
(WebInspector.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
* UserInterface/Views/DataGridNode.js:
(WebInspector.DataGridNode.prototype.createCellContent):
Instead of checking if the value of the cell is falsy, check that the key exists in the data.
This allows values like `false` to be displayed.
LayoutTests:
* inspector/canvas/context-attributes-expected.txt: Added.
* inspector/canvas/context-attributes.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218618
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
jlewis3@apple.com [Wed, 21 Jun 2017 00:02:14 +0000 (00:02 +0000)]
Marked webrtc/video-replace-muted-track.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=173486
Unreviewed test gardening.
* platform/ios-wk2/TestExpectations:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218617
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
mmaxfield@apple.com [Tue, 20 Jun 2017 23:52:22 +0000 (23:52 +0000)]
[Cocoa] The system Japanese font cannot be italicized
https://bugs.webkit.org/show_bug.cgi?id=173300
<rdar://problem/
31805407>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Items in the system font cascade list may lie about whether or not they support italics.
In order to get the truth, we need to use the physical font underlying the font in question,
because this one won't lie. Then, we can interrogate this physical font about its traits
in order to synthesize italics correctly.
Test: fast/text/system-font-japanese-synthetic-italic.html
* platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::lookupFallbackFont):
* platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp:
(WebCore::FontFamilySpecificationCoreText::fontRanges):
LayoutTests:
* fast/text/system-font-japanese-synthetic-italic-expected-mismatch.html: Added.
* fast/text/system-font-japanese-synthetic-italic.html: Added.
* platform/mac/TestExpectations: This codepath doesn't work in El Capitan.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@218616
268f45cc-cd09-0410-ab3c-
d52691b4dbfc