Timeline
Sep 8, 2017:
- 10:19 PM Changeset in webkit [221807] by
-
- 3 edits1 add in trunk
[DFG] NewArrayWithSize(size)'s size does not care negative zero
https://bugs.webkit.org/show_bug.cgi?id=176300
Reviewed by Saam Barati.
JSTests:
- stress/new-array-with-size-div.js: Added.
(shouldBe):
(test):
(i.i):
Source/JavaScriptCore:
NewArrayWithSize(size)'s size does not care negative zero as
is the same to NewTypedArray. We propagate this information
in DFGBackwardsPropagationPhase. This removes negative zero
check in kraken fft's deinterleave function.
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
- 8:32 PM Changeset in webkit [221806] by
-
- 13 edits2 deletes in trunk/Source/WebCore
Replace JS builtin implementation of the FetchResponse constructor with a C++ one
https://bugs.webkit.org/show_bug.cgi?id=176627
Patch by Sam Weinig <sam@webkit.org> on 2017-09-08
Reviewed by Alex Christensen.
Removes the last of the Fetch related JS builtin code.
- CMakeLists.txt:
- DerivedSources.make:
- WebCore.xcodeproj/project.pbxproj:
- Modules/fetch/FetchInternals.js: Removed.
- Modules/fetch/FetchResponse.js: Removed.
Remove FetchInternals.js and FetchResponse.js.
- Modules/fetch/FetchBody.idl:
- Modules/fetch/FetchBodyConsumer.h:
Remove no longer correct FIXMEs.
- Modules/fetch/FetchBodySource.cpp:
Add missing newline between functions.
- Modules/fetch/FetchHeaders.idl:
- Modules/fetch/FetchResponse.idl:
Remove builtin related operations and extended attributes.
- Modules/fetch/FetchHeaders.h:
(WebCore::FetchHeaders::fastHas const):
- Modules/fetch/FetchHeaders.cpp:
Added fastHas to allow checking for a header using a HTTPHeaderName. Remove
now unused filter function.
- Modules/fetch/FetchResponse.cpp:
(WebCore::isNullBodyStatus):
Added helper predicate for 'null body status' concept.
(WebCore::FetchResponse::create):
Add spec defined constructor implementation.
(WebCore::FetchResponse::setBodyData):
Reformatted to match more common WTF::switchOn style.
(WebCore::FetchResponse::setStatus): Deleted.
(WebCore::FetchResponse::initializeWith): Deleted.
Removed now unused functions.
- Modules/fetch/FetchResponse.h:
(WebCore::FetchResponse::create):
Move inline create out of the class definition to make things a bit less crowded.
- 8:09 PM Changeset in webkit [221805] by
-
- 10 edits10 adds in trunk
Implement HTMLImageElement.decoode() method
https://bugs.webkit.org/show_bug.cgi?id=176016
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-08
Reviewed by Simon Fraser.
Source/WebCore:
The specs is:
https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-decode.
-- img.decode() waits till loading the image finishes. Otherwise it starts
decoding the image immediately.
-- If the image frame is already decoded, the promise will be resolved
before return.
-- If an error happens in loading the image or decoding the image frame,
the promise will be rejected with 'EncodingError' exception.
-- Animated image resolves the promise when the next frame is decoded and
the animation is advanced it. If the image is not displayed, decode() will
request the decoding the first frame and start animating the image.
Tests: fast/images/decode-animated-image.html
fast/images/decode-render-animated-image.html
fast/images/decode-render-static-image.html
fast/images/decode-static-image-reject.html
fast/images/decode-static-image-resolve.html
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::decode):
- html/HTMLImageElement.h:
- html/HTMLImageElement.idl:
- loader/ImageLoader.cpp:
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::decode):
(WebCore::ImageLoader::decodeError):
- loader/ImageLoader.h:
(WebCore::ImageLoader::hasPendingDecodePromise const):
- platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::internalStartAnimation):
(WebCore::BitmapImage::internalAdvanceAnimation):
(WebCore::BitmapImage::decode):
(WebCore::BitmapImage::imageFrameAvailableAtIndex):
- platform/graphics/BitmapImage.h:
- platform/graphics/Image.h:
(WebCore::Image::decode):
LayoutTests:
- fast/images/decode-animated-image-expected.html: Added.
- fast/images/decode-animated-image.html: Added.
- fast/images/decode-render-animated-image-expected.html: Added.
- fast/images/decode-render-animated-image.html: Added.
- fast/images/decode-render-static-image-expected.html: Added.
- fast/images/decode-render-static-image.html: Added.
- fast/images/decode-static-image-reject-expected.txt: Added.
- fast/images/decode-static-image-reject.html: Added.
- fast/images/decode-static-image-resolve-expected.html: Added.
- fast/images/decode-static-image-resolve.html: Added.
- 5:33 PM Changeset in webkit [221804] by
-
- 5 edits7 adds in trunk
Fetch's Response.statusText is unexpectedly the full http status line for HTTP/2 responses
https://bugs.webkit.org/show_bug.cgi?id=176479
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-08
Reviewed by Alex Christensen.
Source/WebCore:
Test: http/wpt/fetch/response-status-text.html
HTTP/2 doesn't include a status reason phrase. So the "status line"
ends up just being the version and status code. Fallback to the empty
string instead of the full line.
- platform/network/HTTPParsers.cpp:
(WebCore::extractReasonPhraseFromHTTPStatusLine):
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeNetworkProcess):
Initialize AtomicString statics like emptyAtom().
LayoutTests:
- http/wpt/fetch/resources/status-garbage.asis: Added.
- http/wpt/fetch/resources/status-normal.txt: Added.
- http/wpt/fetch/resources/status-with-message.asis: Added.
- http/wpt/fetch/resources/status-without-message.asis: Added.
Various text HTTP responses with different status lines.
- http/wpt/fetch/response-status-text-expected.txt: Added.
- http/wpt/fetch/response-status-text.html: Added.
Test the Fetch Response's status / statusText for different HTTP status lines.
The status without a message is similiar to HTTP/2 because HTTP/2 only
has a :status pseudo-header and lacks a reason phrase.
- 5:10 PM Changeset in webkit [221803] by
-
- 4 edits2 adds in trunk
Implement the attribute HTMLImageElement.async
https://bugs.webkit.org/show_bug.cgi?id=176204
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-08
Reviewed by Darin Adler.
Source/WebCore:
Adding this attribute to the <img> element will force async decoding for
this image all the times. None of the heuristics, which prevents flickering
the image, will be checked.
Test: fast/images/async-attribute-with-small-image.html
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
- html/HTMLImageElement.h:
(WebCore::HTMLImageElement::async const):
- html/HTMLImageElement.idl:
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
LayoutTests:
- fast/images/async-attribute-with-small-image-expected.html: Added.
- fast/images/async-attribute-with-small-image.html: Added.
- 4:11 PM Changeset in webkit [221802] by
-
- 2 edits in trunk/LayoutTests
Fix duplicate entry warnings on Windows.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 4:00 PM Changeset in webkit [221801] by
-
- 4 edits in trunk/Tools
bisect-builds doesn't work due to missing requests module
https://bugs.webkit.org/show_bug.cgi?id=175709
Reviewed by Ryosuke Niwa.
- Scripts/bisect-builds: update import to webkitpy.thirdparty.autoinstalled
- Scripts/webkitpy/thirdparty/init.py: add logic to install requests module.
(AutoinstallImportHook.find_module):
(AutoinstallImportHook):
(AutoinstallImportHook._install_requests):
- Scripts/webkitpy/thirdparty/init_unittest.py:
(ThirdpartyTest.test_imports):
- 3:09 PM Changeset in webkit [221800] by
-
- 2 edits in trunk/Source/WebInspectorUI
Uncaught Exception: TypeError: this._heapSnapshot.addEventListener is not a function.
https://bugs.webkit.org/show_bug.cgi?id=176633
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-08
Reviewed by Michael Saboff.
- UserInterface/Proxies/HeapSnapshotDiffProxy.js:
(WI.HeapSnapshotDiffProxy):
This class has listeners of another object's events. It should extend WI.Object.
- 2:27 PM Changeset in webkit [221799] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/websocket/tests/hybi/websocket-pending-activity.html as a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=176632
Unreviewed test gardening.
- platform/win/TestExpectations:
- 1:37 PM Changeset in webkit [221798] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas: changes to currentX/currentY aren't highlighted in the details sidebar
https://bugs.webkit.org/show_bug.cgi?id=176569
Reviewed by Matt Baker.
- UserInterface/Models/RecordingAction.js:
Add entries to WI.RecordingAction._stateModifiers for each path function.
- 1:31 PM Changeset in webkit [221797] by
-
- 2 edits in trunk/LayoutTests
Added timeout expectation to imported/w3c/web-platform-tests/IndexedDB/large-nested-cloning.html on mac.
https://bugs.webkit.org/show_bug.cgi?id=173487
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:24 PM Changeset in webkit [221796] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/canvas-remote-read-remote-video-allowed-anonymous.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176626.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:30 PM Changeset in webkit [221795] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/resource-timing/rt-initiatorType-element.html as slow.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:03 PM Changeset in webkit [221794] by
-
- 11 edits in trunk/Source
Unreviewed, rolling out r221773.
https://bugs.webkit.org/show_bug.cgi?id=176614
This caused build failures. (Requested by mlewis13 on
#webkit).
Reverted changeset:
"[Mac] Upstream QTKit-related WebKitSystemInterface functions"
https://bugs.webkit.org/show_bug.cgi?id=176472
http://trac.webkit.org/changeset/221773
- 11:58 AM Changeset in webkit [221793] by
-
- 11 edits2 adds in trunk
[DFG] PutByVal with Array::Generic is too generic
https://bugs.webkit.org/show_bug.cgi?id=176345
Reviewed by Filip Pizlo.
JSTests:
- stress/object-assign-symbols.js: Added.
(shouldBe):
(test):
- stress/object-assign.js: Added.
(shouldBe):
(test):
(i.shouldBe.JSON.stringify.test):
Source/JavaScriptCore:
Our DFG/FTL's PutByVal with Array::Generic is too generic implementation.
We could have the case like,
dst[key] = src[key];
with string or symbol keys. But they are handled in slow path.
This patch adds PutByVal(CellUse, StringUse/SymbolUse, UntypedUse). They go
to optimized path that does not have generic checks like (isInt32() / isDouble() etc.).
This improves SixSpeed object-assign.es5 by 9.1%.
object-assign.es5 424.3159+-11.0471 388.8771+-10.9239 definitely 1.0911x faster
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGOperations.cpp:
(JSC::DFG::putByVal):
(JSC::DFG::putByValInternal):
(JSC::DFG::putByValCellInternal):
(JSC::DFG::putByValCellStringInternal):
(JSC::DFG::operationPutByValInternal): Deleted.
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForCellWithString):
(JSC::DFG::SpeculativeJIT::compilePutByValForCellWithSymbol):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compilePutByVal):
- jit/JITOperations.h:
- 11:55 AM Changeset in webkit [221792] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit to verify trac sync is working.
- 11:46 AM Changeset in webkit [221791] by
-
- 2 edits5 adds in trunk/Source/WebKit
[WinCairo] Add Storage Process files for wincairo webkit
https://bugs.webkit.org/show_bug.cgi?id=176567
Patch by Stephan Szabo <stephan.szabo@am.sony.com> on 2017-09-08
Reviewed by Alex Christensen.
- PlatformWin.cmake:
- StorageProcess/EntryPoint/win/StorageProcessMain.cpp: Added.
(main):
- StorageProcess/win/StorageProcessMainWin.cpp: Added.
(WebKit::StorageProcessMainWin):
- StorageProcess/win/StorageProcessMainWin.h: Added.
- 11:45 AM Changeset in webkit [221790] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit to verify git sync is working.
- 10:25 AM Changeset in webkit [221789] by
-
- 2 edits in trunk/Tools
bisect-builds should not print out extracting command
https://bugs.webkit.org/show_bug.cgi?id=175632
Reviewed by Alexey Proskuryakov.
- Scripts/bisect-builds:
(extract_archive):
- 9:35 AM Changeset in webkit [221788] by
-
- 40 edits10 deletes in trunk
Remove support for >> descendant combinator syntax
https://bugs.webkit.org/show_bug.cgi?id=175765
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Tests for these have been removed in WPT master, just update expectations until new version is imported.
- web-platform-tests/dom/nodes/Element-matches-expected.txt:
- web-platform-tests/dom/nodes/Element-webkitMatchesSelector-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-expected.txt:
- web-platform-tests/dom/nodes/ParentNode-querySelector-All-xht-expected.txt:
Source/WebCore:
This is an alternative syntax for the normal descendant combinator (just space) that was
advertised as being consistent with > (child combinator) and >>> (shadow piercing combinator).
The latter has been killed so it is not consistent with anything anymore.
No other engine besides WebKit has implemented this and the WPT tests have been removed
(in https://github.com/w3c/web-platform-tests/pull/6785). Full removal from spec is still
open (https://github.com/w3c/csswg-drafts/issues/641) but we shouldn't encourage adoption of
this pointless feature.
While this has shipped the compatibility risk is low as no other engine implemented it and
there were no incentives to use it over the standard syntax.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- css/CSSSelector.h:
(WebCore::CSSSelector::hasDescendantRelation const):
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::matchRecursively const):
- css/SelectorFilter.cpp:
(WebCore::SelectorFilter::collectIdentifierHashes):
- css/parser/CSSParserSelector.cpp:
(WebCore::CSSParserSelector::appendTagHistory):
- css/parser/CSSParserSelector.h:
- css/parser/CSSSelectorParser.cpp:
(WebCore::isDescendantCombinator):
(WebCore::CSSSelectorParser::consumeCombinator):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::fragmentRelationForSelectorRelation):
LayoutTests:
- fast/css/ancestor-of-hovered-element-removed.html:
- fast/css/css-selector-text-expected.txt:
- fast/css/css-selector-text.html:
- fast/css/css-set-selector-text-expected.txt:
- fast/css/css-set-selector-text.html:
- fast/css/currentColor-value-style-update.html:
- fast/css/descendant-combinator-doubled-child-syntax-styling-expected.html: Removed.
- fast/css/descendant-combinator-doubled-child-syntax-styling.html: Removed.
- fast/css/parsing-css-attribute-case-insensitive-value-1-expected.txt:
- fast/css/parsing-css-attribute-case-insensitive-value-1.html:
- fast/css/parsing-css-attribute-case-insensitive-value-4-expected.txt:
- fast/css/parsing-css-attribute-case-insensitive-value-4.html:
- fast/css/parsing-css-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/css/parsing-css-descendant-combinator-doubled-child-syntax.html: Removed.
- fast/selectors/case-insensitive-attribute-register-requirement-2.html:
- fast/selectors/element-closest-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/selectors/element-closest-descendant-combinator-doubled-child-syntax.html: Removed.
- fast/selectors/element-matches-attribute-ascii-case-insensitive-html.html:
- fast/selectors/element-matches-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/selectors/element-matches-descendant-combinator-doubled-child-syntax.html: Removed.
- fast/selectors/id-attribute-querySelector-used-as-id-selector-quirks.html:
- fast/selectors/id-attribute-querySelector-used-as-id-selector.html:
- fast/selectors/nth-child-matching-first.html:
- fast/selectors/nth-last-child-matching-first.html:
- fast/selectors/querySelector-attribute-ascii-case-insensitive-html.html:
- fast/selectors/querySelector-descendant-combinator-doubled-child-syntax-expected.txt: Removed.
- fast/selectors/querySelector-descendant-combinator-doubled-child-syntax.html: Removed.
- 9:19 AM Changeset in webkit [221787] by
-
- 9 edits in trunk/Source/WebKit
Unreviewed, rolling out r221771.
This change caused two API tests to crash.
Reverted changeset:
"Clean up API::UIClient"
https://bugs.webkit.org/show_bug.cgi?id=176568
http://trac.webkit.org/changeset/221771
- 9:03 AM Changeset in webkit [221786] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/websocket/tests/hybi/close-code-and-reason.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176609.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:57 AM Changeset in webkit [221785] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/preload/single_download_preload_headers.php as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176606.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:43 AM Changeset in webkit [221784] by
-
- 2 edits in trunk/LayoutTests
Mark http/tests/security/contentSecurityPolicy/audio-redirect-allowed2.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=176598.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:36 AM Changeset in webkit [221783] by
-
- 10 edits4 adds in trunk
[DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported
https://bugs.webkit.org/show_bug.cgi?id=176590
Reviewed by Saam Barati.
JSTests:
- microbenchmarks/object-iterate-symbols.js: Added.
(test):
- microbenchmarks/object-iterate.js: Added.
(test):
- stress/object-iterate-symbols.js: Added.
(shouldBe):
(test):
- stress/object-iterate.js: Added.
(shouldBe):
(test):
Source/JavaScriptCore:
We add fixup edges for GetByVal(Array::Generic) to call faster operation instead of generic operationGetByVal.
baseline patched
object-iterate 5.8531+-0.3029 5.7903+-0.2795 might be 1.0108x faster
object-iterate-symbols 7.4099+-0.3993 5.8254+-0.2276 definitely 1.2720x faster
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGOperations.cpp:
(JSC::DFG::getByValObject):
- dfg/DFGOperations.h:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithString):
(JSC::DFG::SpeculativeJIT::compileGetByValForObjectWithSymbol):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileGetByVal):
- 8:06 AM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 3:57 AM Changeset in webkit [221782] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] initializationDataEncountered() dispatch can outlive MediaPlayerPrivateGStreamerBase
https://bugs.webkit.org/show_bug.cgi?id=176544
Reviewed by Xabier Rodriguez-Calvar.
The RunLoop dispatch that invokes MediaPlayer::initializationDataEncountered()
can outlive the MediaPlayerPrivateGStreamerBase object that is referenced
from the dispatched functor. To avoid this, a WeakPtrFactory is placed onto
MediaPlayerPrivateGStreamerBase and a WeakPtr object is kept in the functor,
bailing during dispatch if the factory (along with MediaPlayerPrivateGStreamerBase)
has already been destroyed since the schedule of this dispatch.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
Also remove the unusedsessionIdstring.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- 3:55 AM Changeset in webkit [221781] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Add GRefPtr specializations for GstGLDisplay, GstGLContext
https://bugs.webkit.org/show_bug.cgi?id=176543
Reviewed by Xabier Rodriguez-Calvar.
Both GstGLDisplay and GstGLContext inherit from GstObject, meaning
gst_object_ref_sink() and gst_object_unref() should be used for
incrementing and decrementing reference count. Template specializations
for the adoptGRef(), refGPtr() and derefGPtr() are added for both types,
preventing GRefPtr<> from falling back to using g_object_ref() and
g_object_unref() for reference count modification purposes.
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
(WTF::adoptGRef):
(WTF::refGPtr<GstGLDisplay>):
(WTF::derefGPtr<GstGLDisplay>):
(WTF::refGPtr<GstGLContext>):
(WTF::derefGPtr<GstGLContext>):
- platform/graphics/gstreamer/GRefPtrGStreamer.h:
- 3:54 AM Changeset in webkit [221780] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Incorrect GstCaps unreffing in GStreamerEMEUtilities::createDecryptor()
https://bugs.webkit.org/show_bug.cgi?id=176540
Reviewed by Xabier Rodriguez-Calvar.
- platform/graphics/gstreamer/eme/GStreamerEMEUtilities.cpp:
Include the GRefPtrGStreamer.h header in order to use specialized template
functions that correctly adopt and dereference GstCaps object that is
wrapped the GRefPtr<>.
Sep 7, 2017:
- 11:31 PM Changeset in webkit [221779] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] UI process crash in WebBackForwardList::restoreFromState
https://bugs.webkit.org/show_bug.cgi?id=176303
Reviewed by Michael Catanzaro.
Ensure the current index provided by the session state is not out of actual item list bounds. This is a bug in
the session state decoder, but WebBackForwardList::backForwardListState() is already doing the check and using
the last item index instead, so it's not easy to know where the actual problem is. In any case we should
still protect the decoder.
- UIProcess/API/glib/WebKitWebViewSessionState.cpp:
(decodeSessionState):
- 11:21 PM Changeset in webkit [221778] by
-
- 8 edits2 adds in trunk
WebKit should claim that it can show responses for a broader range of JSON MIMETypes
https://bugs.webkit.org/show_bug.cgi?id=176252
<rdar://problem/34212885>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-07
Reviewed by Ryosuke Niwa.
Source/WebCore:
- platform/MIMETypeRegistry.h:
- platform/MIMETypeRegistry.cpp:
(WebCore::MIMETypeRegistry::canShowMIMEType):
Extend this to support JavaScript and JSON MIMETypes that WebKit
knows how to treat as text.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WKNavigationResponse.mm: Added.
(-[WKNavigationResponseTestNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[WKNavigationResponseTestNavigationDelegate webView:didCommitNavigation:]):
(-[WKNavigationResponseTestSchemeHandler webView:startURLSchemeTask:]):
(-[WKNavigationResponseTestSchemeHandler webView:stopURLSchemeTask:]):
(TEST):
Test for canShowMIMEType with multiple JSON mime types and a garbage mime type.
Previously canShowMIMEType would have been YES for "application/json" but
NO for "application/vnd.api+json". Now it shows YES for both.
- TestWebKitAPI/PlatformGTK.cmake:
- TestWebKitAPI/PlatformWPE.cmake:
- TestWebKitAPI/PlatformWin.cmake:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/MIMETypeRegistry.cpp: Added.
(TestWebKitAPI::TEST):
Tests for MIMETypeRegistry's dynamic JSON mime type detection.
- 7:58 PM Changeset in webkit [221777] by
-
- 1 edit15 adds in trunk/Tools
Add Live PLT implemented with WebDriver
https://bugs.webkit.org/show_bug.cgi?id=176436
Patch by Matthew Stewart <matthew_r_stewart@apple.com> on 2017-09-07
Reviewed by Stephanie Lewis.
Adds a new PLT that runs on live websites.
- Scripts/run-webdriver-plt.py: Added.
(parse_args):
(start):
(make_suites):
(main):
- Scripts/webkitpy/webdriver_plt/init.py: Added.
- Scripts/webkitpy/webdriver_plt/liveplt.py: Added.
(PageLoadTest):
(PageLoadTest.init):
(PageLoadTest.start):
(PageLoadTest.run_suite):
(PageLoadTest._get_driver_for_browser):
(PageLoadTest._setup_browser_window):
(PageLoadTest.run_one_test):
(PageLoadTest.get_results):
- Scripts/webkitpy/webdriver_plt/pltresults.py: Added.
(PLTResults):
(PLTResults.init):
(PLTResults.add):
(PLTResults.add_timing_result):
(PLTResults.mean):
(PLTResults.geometric_mean):
(PLTResults.mean_coef_variance):
(PLTResults.print_results):
(PLTResults.print_url_results):
(PLTResults._format_time):
- Scripts/webkitpy/webdriver_plt/suites/init.py: Added.
- Scripts/webkitpy/webdriver_plt/suites/arabic.suite: Added.
- Scripts/webkitpy/webdriver_plt/suites/cjk.suite: Added.
- Scripts/webkitpy/webdriver_plt/suites/news.suite: Added.
- Scripts/webkitpy/webdriver_plt/suites/search.suite: Added.
- Scripts/webkitpy/webdriver_plt/suites/shopping.suite: Added.
- Scripts/webkitpy/webdriver_plt/suites/social.suite: Added.
- Scripts/webkitpy/webdriver_plt/suites/suite.py: Added.
(Suite):
(Suite.init):
(Suite.get_available_suites):
- Scripts/webkitpy/webdriver_plt/urlresults.py: Added.
(URLResults):
(URLResults.init):
(URLResults.add):
(URLResults.mean):
(URLResults.coef_variance):
(URLResults.print_results):
(URLResults._format_time):
- 7:57 PM Changeset in webkit [221776] by
-
- 12 edits1 copy in trunk/Tools
Add "if" statements to WSL
https://bugs.webkit.org/show_bug.cgi?id=176294
Reviewed by Filip Pizlo.
Fairly straightforward implementation. ReturnChecker only returns true iff there is an else block,
and both the if body and the else body recursively return true.
In order to accept both syntaxes:
if (foo)
bar;
... and ...
if (foo) {
bar;
}
This patch lets parseStatement() call parseBlock(). This means that the following is valid:
int x = 7;
if (foo) {
int x = 8;
x is 8 here!
}
x is 7 here!
This production means that these blocks don't require "if" statements, so you can just have:
int foo() {
int x = 7;
{
int x = 8;
x is 8 here!
}
x is 7 here!
}
However, this patch doesn't touch the following use-case:
if (int x = bar()) {
use x here
}
- WebGPUShadingLanguageRI/All.js:
- WebGPUShadingLanguageRI/Checker.js:
- WebGPUShadingLanguageRI/Evaluator.js:
(Evaluator.prototype.visitIfStatement):
- WebGPUShadingLanguageRI/IfStatement.js: Copied from Tools/WebGPUShadingLanguageRI/TypeDef.js.
(IfStatement):
(IfStatement.prototype.get origin):
(IfStatement.prototype.get conditional):
(IfStatement.prototype.get body):
(IfStatement.prototype.get elseBody):
(IfStatement.prototype.toString):
- WebGPUShadingLanguageRI/NameResolver.js:
(NameResolver.prototype.visitIfStatement):
- WebGPUShadingLanguageRI/Parse.js:
(parseTypeParameters):
(parseIfStatement):
(parseStatement):
- WebGPUShadingLanguageRI/ReturnChecker.js:
(ReturnChecker.prototype.visitIfStatement):
- WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter.prototype.visitIfStatement):
(Rewriter):
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js:
(TEST_variableShadowing):
(TEST_ifStatement):
(TEST_ifElseStatement):
(TEST_ifElseIfStatement):
(TEST_ifElseIfElseStatement):
(TEST_returnIf):
(TEST_protocolMonoPolySigDoublePolyDefExplicit): Deleted.
- WebGPUShadingLanguageRI/TypeDef.js:
(TypeDef.prototype.toString):
(TypeDef):
- WebGPUShadingLanguageRI/Visitor.js:
(Visitor.prototype.visitIfStatement):
- 6:49 PM Changeset in webkit [221775] by
-
- 1 edit in trunk/Tools/ChangeLog
Test commit after server upgrade from subversion 1.9.5 to 1.9.7
- 6:14 PM Changeset in webkit [221774] by
-
- 35 edits1 add in trunk/Source/JavaScriptCore
Use JIT probes for DFG OSR exit.
https://bugs.webkit.org/show_bug.cgi?id=175144
<rdar://problem/33437050>
Reviewed by Saam Barati.
This patch does the following:
- Replaces osrExitGenerationThunkGenerator() with osrExitThunkGenerator(). While osrExitGenerationThunkGenerator() generates a thunk that compiles a unique OSR offramp for each DFG OSR exit site, osrExitThunkGenerator() generates a thunk that just executes the OSR exit.
The osrExitThunkGenerator() generated thunk works by using a single JIT probe
to call OSRExit::executeOSRExit(). The JIT probe takes care of preserving
CPU registers, and providing the Probe::Stack mechanism for modifying the
stack frame.
OSRExit::executeOSRExit() replaces OSRExit::compileOSRExit() and
OSRExit::compileExit(). It is basically a re-write of those functions to
execute the OSR exit work instead of compiling code to execute the work.
As a result, we get the following savings:
- no more OSR exit ramp compilation time.
- no use of JIT executable memory for storing each unique OSR exit ramp.
On the negative side, we incur these costs:
- the OSRExit::executeOSRExit() ramp may be a little slower than the compiled version of the ramp. However, OSR exits are rare. Hence, this small difference should not matter much. It is also offset by the savings from (a).
- the Probe::Stack allocates 1K pages for memory for buffering stack modifcations. The number of these pages depends on the span of stack memory that the OSR exit ramp reads from and writes to. Since the OSR exit ramp tends to only modify values in the current DFG frame and the current VMEntryRecord, the number of pages tends to only be 1 or 2.
Using the jsc tests as a workload, the vast majority of tests that do OSR
exit, uses 3 or less 1K pages (with the overwhelming number using just 1 page).
A few tests that are pathological uses up to 14 pages, and one particularly
bad test (function-apply-many-args.js) uses 513 pages.
Similar to the old code, the OSR exit ramp still has 2 parts: 1 part that is
only executed once to compute some values for the exit site that is used by
all exit operations from that site, and a 2nd part to execute the exit. The
1st part is protected by a checking if exit.exitState has already been
initialized. The computed values are cached in exit.exitState.
Because the OSR exit thunk no longer compiles an OSR exit off-ramp, we no
longer need the facility to patch the site that jumps to the OSR exit ramp.
The DFG::JITCompiler has been modified to remove this patching code.
- Fixed the bottom most Probe::Context and Probe::Stack get/set methods to use std::memcpy to avoid strict aliasing issues.
Also optimized the implementation of Probe::Stack::physicalAddressFor().
- Miscellaneous convenience methods added to make the Probe::Context easier of use.
- Added a Probe::Frame class that makes it easier to get/set operands and arguments in a given frame using the deferred write properties of the Probe::Stack. Probe::Frame makes it easier to do some of the recovery work in the OSR exit ramp.
- Cloned or converted some functions needed by the OSR exit ramp. The original JIT versions of these functions are still left in place because they are still needed for FTL OSR exit. A FIXME comment has been added to remove them later. These functions include:
DFGOSRExitCompilerCommon.cpp's handleExitCounts() ==>
CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize()
DFGOSRExitCompilerCommon.cpp's reifyInlinedCallFrames() ==>
DFGOSRExit.cpp's reifyInlinedCallFrames()
DFGOSRExitCompilerCommon.cpp's adjustAndJumpToTarget() ==>
DFGOSRExit.cpp's adjustAndJumpToTarget()
MethodOfGettingAValueProfile::emitReportValue() ==>
MethodOfGettingAValueProfile::reportValue()
DFGOperations.cpp's operationCreateDirectArgumentsDuringExit() ==>
DFGOSRExit.cpp's createDirectArgumentsDuringExit()
DFGOperations.cpp's operationCreateClonedArgumentsDuringExit() ==>
DFGOSRExit.cpp's createClonedArgumentsDuringExit()
- JavaScriptCore.xcodeproj/project.pbxproj:
- assembler/MacroAssembler.cpp:
(JSC::stdFunctionCallback):
- assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printCallback):
- assembler/ProbeContext.h:
(JSC::Probe::CPUState::gpr const):
(JSC::Probe::CPUState::spr const):
(JSC::Probe::Context::Context):
(JSC::Probe::Context::arg):
(JSC::Probe::Context::gpr):
(JSC::Probe::Context::spr):
(JSC::Probe::Context::fpr):
(JSC::Probe::Context::gprName):
(JSC::Probe::Context::sprName):
(JSC::Probe::Context::fprName):
(JSC::Probe::Context::gpr const):
(JSC::Probe::Context::spr const):
(JSC::Probe::Context::fpr const):
(JSC::Probe::Context::pc):
(JSC::Probe::Context::fp):
(JSC::Probe::Context::sp):
(JSC::Probe:: const): Deleted.
- assembler/ProbeFrame.h: Added.
(JSC::Probe::Frame::Frame):
(JSC::Probe::Frame::getArgument):
(JSC::Probe::Frame::getOperand):
(JSC::Probe::Frame::get):
(JSC::Probe::Frame::setArgument):
(JSC::Probe::Frame::setOperand):
(JSC::Probe::Frame::set):
- assembler/ProbeStack.cpp:
(JSC::Probe::Page::Page):
- assembler/ProbeStack.h:
(JSC::Probe::Page::get):
(JSC::Probe::Page::set):
(JSC::Probe::Page::physicalAddressFor):
(JSC::Probe::Stack::lowWatermark):
(JSC::Probe::Stack::get):
(JSC::Probe::Stack::set):
- bytecode/ArithProfile.cpp:
- bytecode/ArithProfile.h:
- bytecode/ArrayProfile.h:
(JSC::ArrayProfile::observeArrayMode):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::updateOSRExitCounterAndCheckIfNeedToReoptimize):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::addressOfOSRExitCounter): Deleted.
- bytecode/ExecutionCounter.h:
(JSC::ExecutionCounter::hasCrossedThreshold const):
(JSC::ExecutionCounter::setNewThresholdForOSRExit):
- bytecode/MethodOfGettingAValueProfile.cpp:
(JSC::MethodOfGettingAValueProfile::reportValue):
- bytecode/MethodOfGettingAValueProfile.h:
- dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
- dfg/DFGJITCode.cpp:
(JSC::DFG::JITCode::findPC): Deleted.
- dfg/DFGJITCode.h:
- dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
- dfg/DFGOSRExit.cpp:
(JSC::DFG::jsValueFor):
(JSC::DFG::restoreCalleeSavesFor):
(JSC::DFG::saveCalleeSavesFor):
(JSC::DFG::restoreCalleeSavesFromVMEntryFrameCalleeSavesBuffer):
(JSC::DFG::copyCalleeSavesToVMEntryFrameCalleeSavesBuffer):
(JSC::DFG::saveOrCopyCalleeSavesFor):
(JSC::DFG::createDirectArgumentsDuringExit):
(JSC::DFG::createClonedArgumentsDuringExit):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::emitRestoreArguments):
(JSC::DFG::OSRExit::executeOSRExit):
(JSC::DFG::reifyInlinedCallFrames):
(JSC::DFG::adjustAndJumpToTarget):
(JSC::DFG::printOSRExit):
(JSC::DFG::OSRExit::setPatchableCodeOffset): Deleted.
(JSC::DFG::OSRExit::getPatchableCodeOffsetAsJump const): Deleted.
(JSC::DFG::OSRExit::codeLocationForRepatch const): Deleted.
(JSC::DFG::OSRExit::correctJump): Deleted.
(JSC::DFG::OSRExit::emitRestoreArguments): Deleted.
(JSC::DFG::OSRExit::compileOSRExit): Deleted.
(JSC::DFG::OSRExit::compileExit): Deleted.
(JSC::DFG::OSRExit::debugOperationPrintSpeculationFailure): Deleted.
- dfg/DFGOSRExit.h:
(JSC::DFG::OSRExitState::OSRExitState):
(JSC::DFG::OSRExit::considerAddingAsFrequentExitSite):
- dfg/DFGOSRExitCompilerCommon.cpp:
- dfg/DFGOSRExitCompilerCommon.h:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGThunks.cpp:
(JSC::DFG::osrExitThunkGenerator):
(JSC::DFG::osrExitGenerationThunkGenerator): Deleted.
- dfg/DFGThunks.h:
- jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::debugCall): Deleted.
- jit/AssemblyHelpers.h:
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- profiler/ProfilerOSRExit.h:
(JSC::Profiler::OSRExit::incCount):
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
- runtime/VM.h:
- 5:24 PM Changeset in webkit [221773] by
-
- 11 edits in trunk/Source
[Mac] Upstream QTKit-related WebKitSystemInterface functions
https://bugs.webkit.org/show_bug.cgi?id=176472
Reviewed by Eric Carlson.
Source/WebCore:
- platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::disableComponentsOnce):
(WebCore::MediaPlayerPrivateQTKit::createQTMovie):
(WebCore::MediaPlayerPrivateQTKit::hasClosedCaptions const):
(WebCore::MediaPlayerPrivateQTKit::setClosedCaptionsVisible):
(WebCore::selectPreferredAlternateTrackForMediaType):
(WebCore::selectPreferredAlternates):
(WebCore::MediaPlayerPrivateQTKit::updateStates):
(WebCore::mimeModernTypesCache):
(WebCore::MediaPlayerPrivateQTKit::originsInMediaCache):
(WebCore::MediaPlayerPrivateQTKit::clearMediaCache):
(WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForOrigins):
(WebCore::MediaPlayerPrivateQTKit::hasSingleSecurityOrigin const):
(WebCore::MediaPlayerPrivateQTKit::movieLoadType const):
(WebCore::MediaPlayerPrivateQTKit::canSaveMediaData const):
- platform/mac/WebCoreSystemInterface.h:
- platform/mac/WebCoreSystemInterface.mm:
- platform/mac/WebVideoFullscreenHUDWindowController.mm:
(createMediaUIControl):
(createControlWithMediaUIControlType):
(createMediaUIBackgroundView):
(-[WebVideoFullscreenHUDWindowController windowDidLoad]):
Source/WebCore/PAL:
- pal/spi/mac/QTKitSPI.h:
Source/WebKit:
- WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
Source/WebKitLegacy/mac:
- WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):
- 4:23 PM Changeset in webkit [221772] by
-
- 24 edits in trunk
Align FetchResponse and FetchRequest body handling
https://bugs.webkit.org/show_bug.cgi?id=176539
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-07
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/fetch/api/request/request-consume-empty-expected.txt:
- web-platform-tests/fetch/api/request/request-consume-expected.txt:
- web-platform-tests/fetch/api/request/request-idl-expected.txt:
- web-platform-tests/fetch/api/request/request-structure-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-empty-expected.txt:
- web-platform-tests/fetch/api/response/response-consume-expected.txt:
- web-platform-tests/url/urlencoded-parser-expected.txt:
Source/WebCore:
Covered by rebased tests.
Removing most of FetchResponse JS Builtins now that ReadableStream has full support.
Implementing FetchResponse body cloning through ReadableStream.
Cloning a loading FetchResponse still requires to create a ReadableStream for the purpose of teeing.
Moving exposure of the body from FetchResponse to FetchBodyOwner.
This is controlled by a boolean flag set according response tainting.
Moving handling of body ReadableStream consuming from FetchResponse to FetchBodyConsumer.
For that purpose, a loading boolean flag is added to FetchBodyConsumer so that it will resolve consume promises
when loading is finished.
Added support for getting a body in case the request/response body is already consumed.
In that case, a locked ReadableStream is returned.
- Modules/cache/DOMCache.cpp:
(WebCore::DOMCache::doMatch):
(WebCore::DOMCache::matchAll):
- Modules/fetch/FetchBody.h:
(WebCore::FetchBody::loadingBody):
(WebCore::FetchBody::FetchBody):
- Modules/fetch/FetchBody.idl:
- Modules/fetch/FetchBodyConsumer.cpp:
(WebCore::FetchBodyConsumer::resolve):
(WebCore::FetchBodyConsumer::loadingFailed):
(WebCore::FetchBodyConsumer::loadingSucceeded):
- Modules/fetch/FetchBodyConsumer.h:
(WebCore::FetchBodyConsumer::setAsLoading):
- Modules/fetch/FetchBodyOwner.cpp:
(WebCore::FetchBodyOwner::arrayBuffer):
(WebCore::FetchBodyOwner::blob):
(WebCore::FetchBodyOwner::formData):
(WebCore::FetchBodyOwner::json):
(WebCore::FetchBodyOwner::text):
(WebCore::FetchBodyOwner::readableStream):
- Modules/fetch/FetchBodyOwner.h:
(WebCore::FetchBodyOwner::isBodyNullOrOpaque const):
(WebCore::FetchBodyOwner::setBodyAsOpaque):
(WebCore::FetchBodyOwner::isBodyOpaque const):
- Modules/fetch/FetchInternals.js:
(fillFetchHeaders):
- Modules/fetch/FetchResponse.cpp:
(WebCore::FetchResponse::clone):
(WebCore::FetchResponse::fetch):
(WebCore::FetchResponse::BodyLoader::didReceiveResponse):
(WebCore::FetchResponse::setBodyData):
(WebCore::FetchResponse::consumeChunk):
(WebCore::FetchResponse::consumeBodyAsStream):
- Modules/fetch/FetchResponse.h:
- Modules/fetch/FetchResponse.idl:
- Modules/fetch/FetchResponse.js:
(initializeFetchResponse):
- bindings/js/ReadableStream.cpp:
(WebCore::ReadableStream::create):
(WebCore::ReadableStream::lock):
- bindings/js/ReadableStream.h:
- bindings/js/WebCoreBuiltinNames.h:
- 4:18 PM Changeset in webkit [221771] by
-
- 9 edits in trunk/Source/WebKit
Clean up API::UIClient
https://bugs.webkit.org/show_bug.cgi?id=176568
Reviewed by Brady Eidson.
We don't need createNewPage and createNewPageAsync.
An async version can support synchronous delegate calls by just calling the completion handler synchronously.
- UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
(API::UIClient::createNewPageAsync): Deleted.
(API::UIClient::canCreateNewPageAsync): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/glib/WebKitUIClient.cpp:
- UIProcess/API/glib/WebKitUIClient.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::createNewPageCommon): Deleted.
(WebKit::UIDelegate::UIClient::canCreateNewPageAsync): Deleted.
(WebKit::UIDelegate::UIClient::createNewPageAsync): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::createNewPage):
- UIProcess/WebPageProxy.h:
- 4:16 PM Changeset in webkit [221770] by
-
- 6 edits in trunk/Source/WebKit
Make DragControllerAction an enum class
https://bugs.webkit.org/show_bug.cgi?id=176565
Reviewed by Andy Estes.
- Shared/DragControllerAction.h:
(): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::dragEntered):
(WebKit::WebPageProxy::dragUpdated):
(WebKit::WebPageProxy::dragExited):
(WebKit::WebPageProxy::performDragOperation):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::performDragControllerAction):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- 4:13 PM Changeset in webkit [221769] by
-
- 18 edits3 adds in trunk
Add support for RegExp named capture groups
https://bugs.webkit.org/show_bug.cgi?id=176435
Reviewed by Filip Pizlo.
Source/JavaScriptCore:
Added parsing for both naming a captured parenthesis as well and using a named group in
a back reference. Also added support for using named groups with String.prototype.replace().
This patch does not throw Syntax Errors as described in the current spec text for the two
cases of malformed back references in String.prototype.replace() as I believe that it
is inconsistent with the current semantics for handling of other malformed replacement
tokens. I filed an issue for the requested change to the proposed spec and also filed
a FIXME bug https://bugs.webkit.org/show_bug.cgi?id=176434.
This patch does not implement strength reduction in the optimizing JITs for named capture
groups. Filed https://bugs.webkit.org/show_bug.cgi?id=176464.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- runtime/CommonIdentifiers.h:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::haveABadTime):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::regExpMatchesArrayWithGroupsStructure const):
- runtime/RegExp.cpp:
(JSC::RegExp::finishCreation):
- runtime/RegExp.h:
- runtime/RegExpMatchesArray.cpp:
(JSC::createStructureImpl):
(JSC::createRegExpMatchesArrayWithGroupsStructure):
(JSC::createRegExpMatchesArrayWithGroupsSlowPutStructure):
- runtime/RegExpMatchesArray.h:
(JSC::createRegExpMatchesArray):
- runtime/StringPrototype.cpp:
(JSC::substituteBackreferencesSlow):
(JSC::replaceUsingRegExpSearch):
- yarr/YarrParser.h:
(JSC::Yarr::Parser::CharacterClassParserDelegate::atomNamedBackReference):
(JSC::Yarr::Parser::parseEscape):
(JSC::Yarr::Parser::parseParenthesesBegin):
(JSC::Yarr::Parser::tryConsumeUnicodeEscape):
(JSC::Yarr::Parser::tryConsumeIdentifierCharacter):
(JSC::Yarr::Parser::isIdentifierStart):
(JSC::Yarr::Parser::isIdentifierPart):
(JSC::Yarr::Parser::tryConsumeGroupName):
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPatternConstructor::atomParenthesesSubpatternBegin):
(JSC::Yarr::YarrPatternConstructor::atomNamedBackReference):
(JSC::Yarr::YarrPattern::errorMessage):
- yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::reset):
- yarr/YarrSyntaxChecker.cpp:
(JSC::Yarr::SyntaxChecker::atomParenthesesSubpatternBegin):
(JSC::Yarr::SyntaxChecker::atomNamedBackReference):
Source/WebCore:
Implemented stub routines to support named capture groups. These are no-ops
just like for number capture group.
No new tests as this is covered by existing tests.
- contentextensions/URLFilterParser.cpp:
(WebCore::ContentExtensions::PatternParser::atomNamedBackReference):
(WebCore::ContentExtensions::PatternParser::atomParenthesesSubpatternBegin):
LayoutTests:
New regression tests.
- js/regexp-named-capture-groups-expected.txt: Added.
- js/regexp-named-capture-groups.html: Added.
- js/script-tests/regexp-named-capture-groups.js: Added.
- 4:11 PM Changeset in webkit [221768] by
-
- 44 edits5 moves1 delete in trunk/Source
[PAL] Unify PlatformUserPreferredLanguages.h with Language.h
https://bugs.webkit.org/show_bug.cgi?id=176561
Reviewed by Brent Fulgham.
Source/JavaScriptCore:
- runtime/IntlObject.cpp:
(JSC::defaultLocale):
Source/WebCore:
No new tests because there is no behavior change.
- CMakeLists.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/AccessibilitySVGElement.cpp:
- bindings/js/JSDOMWindowBase.cpp:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
- dom/Document.cpp:
- html/HTMLInputElement.cpp:
- html/HTMLMediaElement.cpp:
- html/shadow/MediaControlElements.cpp:
- html/track/TrackBase.cpp:
- page/CaptionUserPreferences.cpp:
- page/CaptionUserPreferencesMediaAF.cpp:
- page/DOMWindow.cpp:
- page/Navigator.cpp:
- page/NavigatorBase.cpp:
- platform/graphics/FontGenericFamilies.cpp:
- platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
- platform/network/HTTPParsers.cpp:
- platform/text/PlatformLocale.h:
- platform/text/cf/HyphenationCF.cpp:
- platform/text/mac/LocaleMac.mm:
- svg/SVGTests.cpp:
- testing/InternalSettings.cpp:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::userPreferredLanguages const):
(WebCore::Internals::setUserPreferredLanguages):
Source/WebKit:
- UIProcess/WebProcessPool.cpp:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userPreferredLanguagesChanged const):
Source/WebKitLegacy/mac:
- Misc/WebNSUserDefaultsExtras.mm:
Source/WTF:
WebCore/platform/Language was the only* user of PlatformUserPreferredLanguages (with 1 exception).
That exception is that JavaScriptCore needed the functionality of WebCore/platform/Language, but it
couldn't get it because of the layering violation, so instead it erroneously called into
PlatformUserPreferredLanguages instead. This patch merges these two files into WTF so JSC gets the
right function and the PAL effort has one less file to move from WebCore/platform into PAL.
- WTF.xcodeproj/project.pbxproj:
- wtf/CMakeLists.txt:
- wtf/Language.cpp: Renamed from Source/WebCore/platform/Language.cpp.
(WTF::addLanguageChangeObserver):
(WTF::userPreferredLanguages):
- wtf/Language.h: Renamed from Source/WebCore/platform/Language.h.
- wtf/PlatformGTK.cmake:
- wtf/PlatformJSCOnly.cmake:
- wtf/PlatformMac.cmake:
- wtf/PlatformUserPreferredLanguages.h: Removed.
- wtf/PlatformWPE.cmake:
- wtf/PlatformWin.cmake:
- wtf/cf/LanguageCF.cpp: Renamed from Source/WTF/wtf/PlatformUserPreferredLanguagesMac.mm.
(WTF::httpStyleLanguageCode):
(WTF::languagePreferencesDidChange):
(WTF::platformUserPreferredLanguages):
- wtf/unix/LanguageUnix.cpp: Renamed from Source/WTF/wtf/PlatformUserPreferredLanguagesUnix.cpp.
- wtf/win/LanguageWin.cpp: Renamed from Source/WTF/wtf/PlatformUserPreferredLanguagesWin.cpp.
- 4:06 PM Changeset in webkit [221767] by
-
- 2 edits in trunk/Source/WebKit
Remove entry from CacheStorageEngineConnection lock map when unlocking a Cache
https://bugs.webkit.org/show_bug.cgi?id=176548
Patch by Youenn Fablet <youenn@apple.com> on 2017-09-07
Reviewed by Alex Christensen.
- NetworkProcess/cache/CacheStorageEngineConnection.cpp:
(WebKit::CacheStorageEngineConnection::dereference):
- 3:49 PM Changeset in webkit [221766] by
-
- 16 edits in trunk
[WK2] Add C API to retrieve the originating page of a WKDownload
https://bugs.webkit.org/show_bug.cgi?id=176557
<rdar://problem/34314776>
Reviewed by Alex Christensen.
Source/WebKit:
Add C API to retrieve the original page of a WKDownload. This is the C API equivalent to
_WKDownload.originatingWebView which already exists in ObjC. The pointer is weak so as
to not keep alive the page for the duration of the download.
- UIProcess/API/C/WKDownload.cpp:
(WKDownloadGetOriginatingPage):
- UIProcess/API/C/WKDownload.h:
- UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload originatingWebView]):
- UIProcess/API/Cocoa/_WKDownloadInternal.h:
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::originatingPage const):
(WebKit::DownloadProxy::setOriginatingPage):
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::download):
(WebKit::WebProcessPool::resumeDownload):
(WebKit::WebProcessPool::createDownloadProxy):
- UIProcess/WebProcessPool.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleDownloadRequest):
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::handleDownloadRequest):
Tools:
Add layout test coverage for both the ObjC and C API.
- TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[RedirectedDownloadDelegate _downloadDidStart:]):
(TEST):
- 3:22 PM Changeset in webkit [221765] by
-
- 6 edits2 adds in trunk
Augmented Inspector: Provide a way to inspect a DOM Node (DOM.inspect)
https://bugs.webkit.org/show_bug.cgi?id=176563
<rdar://problem/19639583>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2017-09-07
Reviewed by Matt Baker.
Source/JavaScriptCore:
- inspector/protocol/DOM.json:
Add an event that is useful for augmented inspectors to inspect
a node. Web pages will still prefer Inspector.inspect.
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
(WI.contentLoaded):
Always create the element search toolbar icon. Only show it if the DOM domain
is available. With augmented agents the DOM domain may be activated later.
- UserInterface/Protocol/DOMObserver.js:
(WI.DOMObserver.prototype.inspect):
Select the node in the DOM tree outline.
LayoutTests:
- inspector/dom/inspect-expected.txt: Added.
- inspector/dom/inspect.html: Added.
Test the frontend on receiving DOM.inspect events.
- 3:20 PM Changeset in webkit [221764] by
-
- 17 edits in trunk/Source/WebKit
Clean up Geolocation request handling
https://bugs.webkit.org/show_bug.cgi?id=176562
Reviewed by Tim Horton.
Instead of passing a GeolocationPermissionRequestProxy& to each client and returning a bool if the request will be handled,
pass a Function<void(bool)>&& completionHandler and return the function if it won't be handled.
This allows to temporarily support our UIClient/PageClient hybrid design while moving towards a sane design.
- UIProcess/API/APIUIClient.h:
(API::UIClient::Function<void):
(API::UIClient::decidePolicyForGeolocationPermissionRequest): Deleted.
- UIProcess/API/C/WKAPICast.h:
- UIProcess/API/C/WKGeolocationPermissionRequest.cpp:
(WKGeolocationPermissionRequestGetTypeID):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/GeolocationPermissionRequestProxy.cpp:
(WebKit::GeolocationPermissionRequestProxy::allow):
(WebKit::GeolocationPermissionRequestProxy::deny):
(WebKit::GeolocationPermissionRequestProxy::invalidate):
- UIProcess/GeolocationPermissionRequestProxy.h:
(WebKit::GeolocationPermissionRequest::create):
(WebKit::GeolocationPermissionRequest::allow):
(WebKit::GeolocationPermissionRequest::deny):
(WebKit::GeolocationPermissionRequest::GeolocationPermissionRequest):
- UIProcess/PageClient.h:
(WebKit::PageClient::decidePolicyForGeolocationPermissionRequest): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::Function<void):
(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest): Deleted.
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKGeolocationProviderIOS.h:
- UIProcess/ios/WKGeolocationProviderIOS.mm:
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:completionHandler:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WKWebAllowDenyPolicyListener initWithCompletionHandler:]):
(-[WKWebAllowDenyPolicyListener allow]):
(-[WKWebAllowDenyPolicyListener deny]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:view:]): Deleted.
(-[WKWebAllowDenyPolicyListener initWithPermissionRequestProxy:]): Deleted.
- 3:08 PM Changeset in webkit [221763] by
-
- 2 edits in trunk/LayoutTests
Marked http/tests/misc/delete-frame-during-readystatechange.html as flaky on Windows.
https://bugs.webkit.org/show_bug.cgi?id=176564
Unreviewed test gardening.
- platform/win/TestExpectations:
- 3:01 PM Changeset in webkit [221762] by
-
- 11 edits6 adds in trunk
[WebGL] accelerated texImage2D for video doesn't respect flipY
https://bugs.webkit.org/show_bug.cgi?id=176491
<rdar://problem/33833511>
Reviewed by Jer Noble.
Source/WebCore:
Previously, if UNPACK_FLIP_Y_WEBGL was set to true, we'd either fall
back to software or fail to upload texture data. Fix this by intercepting
the texImage2D call, checking the orientation of the video, and running
a small shader program to flip it if necessary.
While there, implement UNPACK_PREMULTIPLY_ALPHA_WEBGL as well, although
none of our media decoders support video with alpha, so unfortunately
this will have no visible change.
Tests: fast/canvas/webgl/texImage2D-video-flipY-false.html
fast/canvas/webgl/texImage2D-video-flipY-true.html
- platform/cocoa/CoreVideoSoftLink.cpp: Add link to CVOpenGL(ES)TextureGetCleanTexCoords,
which is used to check the orientation of the source video.
- platform/cocoa/CoreVideoSoftLink.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture): We can
now handle flipped or premultiplied requests.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::copyVideoTextureToPlatformTexture): Ditto.
- platform/graphics/cv/VideoTextureCopierCV.cpp:
(WebCore::VideoTextureCopierCV::VideoTextureCopierCV): Rename readFramebuffer to
simply framebuffer.
(WebCore::VideoTextureCopierCV::~VideoTextureCopierCV): Delete the program and buffer
if they were created.
(WebCore::VideoTextureCopierCV::initializeContextObjects): Sets up the shader program
and the vertex buffer for drawing. Also records the location of the uniforms.
(WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture): Create a new
framebuffer object, and render the video texture into that framebuffer using a
shader that can flip the coordinates.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::GC3DStateSaver): Helper to restore
the state of the user's GraphicsContext3D while we're intercepting calls.
(WebCore::VideoTextureCopierCV::GC3DStateSaver::~GC3DStateSaver):
- platform/graphics/cv/VideoTextureCopierCV.h:
- platform/graphics/GraphicsContext3D.h: Add two new entry points, for direct shader
compilation and attribute access. This avoids going through ANGLE.
- platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::compileShaderDirect):
(WebCore::GraphicsContext3D::getAttribLocationDirect):
LayoutTests:
Test that exercises UNPACK_FLIP_Y_WEBGL for video on the accelerated
path.
- fast/canvas/webgl/resources/orientation-flipped.mp4: Added.
- fast/canvas/webgl/resources/orientation-normal.mp4: Added.
- fast/canvas/webgl/texImage2D-video-flipY-false-expected.txt: Added.
- fast/canvas/webgl/texImage2D-video-flipY-false.html: Added.
- fast/canvas/webgl/texImage2D-video-flipY-true-expected.txt: Added.
- fast/canvas/webgl/texImage2D-video-flipY-true.html: Added.
- platform/ios/TestExpectations:
- 2:58 PM Changeset in webkit [221761] by
-
- 2 edits in trunk/LayoutTests
Mark imported/w3c/web-platform-tests/resource-timing/rt-cors.worker.html as slow.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 2:57 PM Changeset in webkit [221760] by
-
- 5 edits in trunk/Source/WebKit
Allow modern decoding of enums and OptionSets
https://bugs.webkit.org/show_bug.cgi?id=176480
Reviewed by Andy Estes.
- Platform/IPC/ArgumentCoders.h:
(IPC::ArgumentCoder<OptionSet<T>>::decode):
- Platform/IPC/Decoder.h:
(IPC::Decoder::operator>>):
- Platform/IPC/Encoder.h:
- Shared/WebsitePolicies.h:
(WebKit::WebsitePolicies::encode const):
(WebKit::WebsitePolicies::decode):
- 2:52 PM Changeset in webkit [221759] by
-
- 2 edits in trunk/LayoutTests
Marked media/video-controls-drop-and-restore-timeline.html as flaky on macOS WK2.
https://bugs.webkit.org/show_bug.cgi?id=176122
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 2:38 PM Changeset in webkit [221758] by
-
- 2 edits in trunk/LayoutTests
Marked imported/w3c/web-platform-tests/IndexedDB/idbobjectstore-query-exception-order.html as flaky on El Capitan.
https://bugs.webkit.org/show_bug.cgi?id=176229
Unreviewed test gardening.
- platform/mac-elcapitan/TestExpectations:
- 2:18 PM Changeset in webkit [221757] by
-
- 7 edits1 add in trunk/Tools
WSL Node.prototype.visit should probably do memoization
https://bugs.webkit.org/show_bug.cgi?id=176286
Reviewed by Mark Lam.
Visitors can sometimes revisit the same thing. For example, we may visit a FuncDef because it belongs
to Program and we may visit it again because a CallExpression resolved to it. That's just plain silly.
Our tests don't currently do this, so it's not a performance problem, yet. Also, we usually avoid that
kind of repetitive visiting inside the visitor implementations. But as far as I can tell, this is an
emergent property rather than a deliberate design.
This change just makes the policy super explicit. If you visit something more than once with the same
visitor, you get the same answer back. This is achieved by means of a memo table inside each visitor.
- WebGPUShadingLanguageRI/All.js:
- WebGPUShadingLanguageRI/FuncInstantiator.js:
- WebGPUShadingLanguageRI/Node.js:
(Node.prototype.visit):
- WebGPUShadingLanguageRI/Rewriter.js:
(Rewriter):
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Visitor.js:
(Visitor):
- WebGPUShadingLanguageRI/VisitorBase.js: Added.
(VisitorBase):
- 1:55 PM Changeset in webkit [221756] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas RecordingAction tree outline virtualization is broken
https://bugs.webkit.org/show_bug.cgi?id=176547
Reviewed by Joseph Pecoraro.
- UserInterface/Views/TreeOutline.js:
(WI.TreeOutline.prototype.updateVirtualizedElements.walk):
(WI.TreeOutline.prototype.updateVirtualizedElements):
Pass the currentcountto each recursive call ofwalkso that the cumulative index of a
TreeElement in any given sub-tree is correct.
Drive-by: if there is a focused TreeElement when scrolling, only change the current
scrollTopif it is not already visible. Also rewrote some loops for clarity.
- 1:46 PM Changeset in webkit [221755] by
-
- 7 edits in branches/safari-604-branch/Source
Versioning.
- 1:41 PM Changeset in webkit [221754] by
-
- 1 copy in tags/Safari-604.2.9
Tag Safari-604.2.9.
- 1:21 PM Changeset in webkit [221753] by
-
- 7 edits in trunk/Source
Move more code from ScrollingTreeScrollingNodeDelegateIOS to ScrollingTreeScrollingNodeDelegate
https://bugs.webkit.org/show_bug.cgi?id=174130
Reviewed by Simon Fraser.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.h: Remove some members, headers and pre-declaration that are moved into the delegate. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollLayer): Deleted.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeOverflowScrollingNodeIOS.mm: Remove some headers and WKOverflowScrollViewDelegate since they are moved into the delegate file. Also fix the comment to closing the WebKit namespace. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::~ScrollingTreeOverflowScrollingNodeIOS): Remove some code moved into the delegate and call the corresponding helper function to preserve the current behavior. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::commitStateBeforeChildren): Ditto. Note that it is only necessary to cast the parameter to a ScrollingStateTreeNode. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::commitStateAfterChildren): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateLayersAfterAncestorChange): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::scrollPosition): Ditto. (WebKit::ScrollingTreeOverflowScrollingNodeIOS::setScrollLayerPosition): Ditto. (-[WKOverflowScrollViewDelegate initWithScrollingTreeNodeDelegate:]): Deleted. (-[WKOverflowScrollViewDelegate scrollViewDidScroll:]): Deleted. (-[WKOverflowScrollViewDelegate scrollViewWillBeginDragging:]): Deleted. (-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Deleted. (-[WKOverflowScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]): Deleted. (-[WKOverflowScrollViewDelegate scrollViewDidEndDecelerating:]): Deleted.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h: Import headers and members from ScrollingTreeOverflowScrollingNodeIOS. Define new helper functions for the code imported from ScrollingTreeOverflowScrollingNodeIOS. Remove the friendship with ScrollingTreeOverflowScrollingNodeIOS and only makes public the function used by that class. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::scrollLayer): This function is moved from ScrollingTreeOverflowScrollingNodeIOS.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: Add headers, WKOverflowScrollViewDelegate (renamed WKScrollingNodeScrollViewDelegate) and some helper code imported from ScrollingTreeOverflowScrollingNodeIOS. (-[WKScrollingNodeScrollViewDelegate scrollViewDidScroll:]): Moved from ScrollingTreeOverflowScrollingNodeIOS. (-[WKScrollingNodeScrollViewDelegate scrollViewWillBeginDragging:]): Ditto. (-[WKScrollingNodeScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Ditto. (-[WKScrollingNodeScrollViewDelegate scrollViewDidEndDragging:willDecelerate:]): Ditto. (-[WKScrollingNodeScrollViewDelegate scrollViewDidEndDecelerating:]): Ditto. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::~ScrollingTreeScrollingNodeDelegateIOS): Import code from ScrollingTreeOverflowScrollingNodeIOS. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::resetScrollViewDelegate): New helper function importing code from ScrollingTreeOverflowScrollingNodeIOS. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateBeforeChildren): Ditto. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::commitStateAfterChildren): Ditto. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::updateLayersAfterAncestorChange): Ditto. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::scrollPosition): Ditto. (WebKit::ScrollingTreeScrollingNodeDelegateIOS::setScrollLayerPosition): Ditto.
Patch by Frederic Wang <fwang@igalia.com> on 2017-09-07
- 1:12 PM Changeset in webkit [221752] by
-
- 2 edits in trunk/LayoutTests
[Win] tests/security/contentSecurityPolicy/report-only.php is flaky.
https://bugs.webkit.org/show_bug.cgi?id=176541
Reviewed by Brent Fulgham.
The function call rename will sometimes fail on Windows because one of the files is
opened by another process. If rename fails, wait, and try again.
- http/tests/security/contentSecurityPolicy/resources/save-report.php:
- 1:12 PM Changeset in webkit [221751] by
-
- 6 edits1 add in trunk
[Directory Upload] Extend drag and drop support to iOS
https://bugs.webkit.org/show_bug.cgi?id=176492
<rdar://problem/34291584>
Reviewed by Tim Horton.
Source/WebCore:
Adds support for accepting dropped folders on iOS.
Tests: DataInteractionTests.ExternalSourceDataTransferItemGetFolderAsEntry
DataInteractionTests.ExternalSourceDataTransferItemGetPlainTextFileAsEntry
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::supportedFileUploadPasteboardTypes):
Add "public.folder" as a compatible pasteboard type for drops on iOS. This means file inputs and custom drop
targets that preventDefault() will, by default, be able to accept incoming folders.
- platform/ios/WebItemProviderPasteboard.mm:
(linkTemporaryItemProviderFilesToDropStagingDirectory):
Tweak temporaryFileURLForDataInteractionContent to also hard link UIKit's temporary files instead, and return
a non-null destination URL only if the necessary file operations succeeded. Also renames this helper to
linkTemporaryItemProviderFilesToDropStagingDirectory to better reflect its new purpose. This makes logic much
cleaner at the call site, which no longer checks against various conditions before proceeding to set the data
transfer URL.
(-[WebItemProviderPasteboard doAfterLoadingProvidedContentIntoFileURLs:synchronousTimeout:]):
(temporaryFileURLForDataInteractionContent): Deleted.
Tools:
Adds two new iOS drag and drop unit tests, which both exercise the DataTransferItem.webKitGetAsEntry codepath
upon drop. (...)GetFolderAsEntry creates a new folder in the temporary directory and uses it to generate an item
provider. This item provider is then dropped over a custom drop handling element, which writes information about
the exposed FileSystemEntries into a textarea. (...)ExternalSourceDataTransferItemGetPlainTextFileAsEntry does
something similar, except that it only drops a plain text file instead.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/DataTransferItem-getAsEntry.html: Added.
Introduce a new test page that dumps information about DataTransferItems' file system entries upon drop.
- TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
(runTestWithTemporaryTextFile):
(runTestWithTemporaryFolder):
Introduce helpers to set up and tear down temporary files and folders over the duration of a test.
(TestWebKitAPI::setUpTestWebViewForDataTransferItems):
(TestWebKitAPI::TEST):
- 12:56 PM Changeset in webkit [221750] by
-
- 5 edits2 adds in trunk/Tools
WSL should check recursion
https://bugs.webkit.org/show_bug.cgi?id=176553
Reviewed by Michael Saboff and Mark Lam.
This adds a recursion checker. Previously, we would only check for recursion during inlining, but that
generally only happens when we call the function.
- WebGPUShadingLanguageRI/All.js:
- WebGPUShadingLanguageRI/CheckRecursion.js: Added.
(checkRecursion):
- WebGPUShadingLanguageRI/Prepare.js:
(prepare):
- WebGPUShadingLanguageRI/RecursionChecker.js: Added.
(RecursionChecker):
(RecursionChecker.prototype.visitFuncDef):
(RecursionChecker.prototype.visitCallExpression):
- WebGPUShadingLanguageRI/Test.html:
- WebGPUShadingLanguageRI/Test.js:
(TEST_simpleRecursion):
- 12:51 PM Changeset in webkit [221749] by
-
- 21 edits2 adds in trunk
[WK2] Notify client when downloads are redirected
https://bugs.webkit.org/show_bug.cgi?id=176481
<rdar://problem/34309065>
Reviewed by Geoffrey Garen.
Source/WebKit:
Notify client when downloads are redirected via both ObjC and C
API.
- NetworkProcess/Downloads/Download.cpp:
(WebKit::Download::willSendRedirectedRequest):
- NetworkProcess/Downloads/Download.h:
- NetworkProcess/Downloads/mac/DownloadMac.mm:
(-[WKDownloadAsDelegate download:willSendRequest:redirectResponse:]):
- UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::willSendRequest):
- UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient):
- UIProcess/API/C/WKContextDownloadClient.h:
- UIProcess/API/Cocoa/_WKDownloadDelegate.h:
- UIProcess/Cocoa/DownloadClient.h:
- UIProcess/Cocoa/DownloadClient.mm:
(WebKit::DownloadClient::DownloadClient):
(WebKit::DownloadClient::willSendRequest):
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::willSendRequest):
- UIProcess/Downloads/DownloadProxy.h:
- UIProcess/Downloads/DownloadProxy.messages.in:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenuWithItems):
Set menu proxy before calling menuFromProposedMenu() client delegate.
This allows me to perform one of the menu item's action from the
menuFromProposedMenu() client delegate in my API test.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[UIDownloadAsFileTestDelegate _webView:contextMenu:forElement:]):
(-[RedirectedDownloadDelegate _download:decideDestinationWithSuggestedFilename:allowOverwrite:]):
(-[RedirectedDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[RedirectedDownloadDelegate _downloadDidFinish:]):
(TEST):
Add API test coverage.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::downloadDidReceiveServerRedirectToURL):
- WebKitTestRunner/TestController.h:
Add layout test infrastructure.
LayoutTests:
Add layout test coverage.
- http/tests/download/anchor-download-redirect-expected.txt: Added.
- http/tests/download/anchor-download-redirect.html: Added.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk1/TestExpectations:
- 12:39 PM Changeset in webkit [221748] by
-
- 32 edits in trunk/Source/WebInspectorUI
Unreviewed, change my copyright email.
- Scripts/copy-user-interface-resources.pl:
- UserInterface/Controllers/CodeMirrorSpringEditingController.js:
- UserInterface/Images/AnimationPlayStatePaused.svg:
- UserInterface/Images/AnimationPlayStateRunning.svg:
- UserInterface/Images/CSSVariable.svg:
- UserInterface/Images/ListStylePositionInside.svg:
- UserInterface/Images/ListStylePositionOutside.svg:
- UserInterface/Images/StyleRule.svg:
- UserInterface/Images/StyleRulePseudoElement.svg:
- UserInterface/Models/Collection.js:
- UserInterface/Models/ResourceCollection.js:
- UserInterface/Views/CollectionContentView.css:
- UserInterface/Views/CollectionContentView.js:
- UserInterface/Views/ContextMenuUtilities.js:
- UserInterface/Views/GeneralTabBarItem.js:
- UserInterface/Views/GradientEditor.css:
- UserInterface/Views/GradientEditor.js:
- UserInterface/Views/InlineSwatch.css:
- UserInterface/Views/InlineSwatch.js:
- UserInterface/Views/PinnedTabBarItem.js:
- UserInterface/Views/SettingsTabContentView.css:
- UserInterface/Views/SettingsTabContentView.js:
- UserInterface/Views/SpringEditor.css:
- UserInterface/Views/SpringEditor.js:
- UserInterface/Views/StyleRuleIcons.css:
- UserInterface/Views/TabBarItem.js:
- UserInterface/Views/TitleView.css:
- UserInterface/Views/TitleView.js:
- UserInterface/Views/VisualStyleBackgroundPicker.css:
- UserInterface/Views/VisualStyleBackgroundPicker.js:
- UserInterface/Views/VisualStyleBasicInput.js:
- 12:31 PM Changeset in webkit [221747] by
-
- 3 edits in trunk/JSTests
[Win32] 10 JSC stress tests are failing.
https://bugs.webkit.org/show_bug.cgi?id=176538
Reviewed by Mark Lam.
Skip tests on Windows to make the bots green.
- ChakraCore.yaml:
- stress/date-relaxed.js:
- 12:30 PM Changeset in webkit [221746] by
-
- 8 edits in trunk
[Win] fast/canvas/2d.getPath.modification.html is failing.
https://bugs.webkit.org/show_bug.cgi?id=176534
Reviewed by Alex Christensen.
We need to enable Inspector additions at runtime in order to expose the getPath function.
Source/WebKitLegacy/win:
- Interfaces/IWebPreferencesPrivate.idl:
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::setDataTransferItemsEnabled):
(WebPreferences::inspectorAdditionsEnabled):
(WebPreferences::setInspectorAdditionsEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
- 12:25 PM Changeset in webkit [221745] by
-
- 2 edits1 add in trunk/Tools
WSL tests should run in run-javascriptcore-tests
https://bugs.webkit.org/show_bug.cgi?id=176550
Reviewed by Keith Miller.
- Scripts/run-javascriptcore-tests:
(runJSCStressTests):
- WebGPUShadingLanguageRI/wsl-tests.yaml: Added.
- 12:16 PM Changeset in webkit [221744] by
-
- 2 edits in trunk/LayoutTests
Marked imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html as slow.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 12:01 PM Changeset in webkit [221743] by
-
- 42 edits in trunk/Source
Modernize Geolocation code
https://bugs.webkit.org/show_bug.cgi?id=176496
Reviewed by Andy Estes.
Source/WebCore:
No change in behavior. Just more references instead of pointers.
- Modules/geolocation/Geolocation.cpp:
(WebCore::createPositionError):
(WebCore::Geolocation::resetAllGeolocationPermission):
(WebCore::Geolocation::stop):
(WebCore::Geolocation::requestPermission):
(WebCore::Geolocation::setError):
(WebCore::Geolocation::startUpdating):
(WebCore::Geolocation::stopUpdating):
- Modules/geolocation/Geolocation.h:
- Modules/geolocation/GeolocationClient.h:
- Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::addObserver):
(WebCore::GeolocationController::removeObserver):
(WebCore::GeolocationController::requestPermission):
(WebCore::GeolocationController::cancelPermissionRequest):
(WebCore::GeolocationController::positionChanged):
(WebCore::GeolocationController::errorOccurred):
(WebCore::GeolocationController::activityStateDidChange):
(WebCore::provideGeolocationTo):
- Modules/geolocation/GeolocationController.h:
Source/WebKit:
Making the GeolocationPermissionRequestManager take a reference instead of a pointer
spilled into making the other supplement constructors do the same.
- NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.cpp:
(WebKit::LegacyCustomProtocolManager::LegacyCustomProtocolManager):
(WebKit::LegacyCustomProtocolManager::startLoading):
(WebKit::LegacyCustomProtocolManager::stopLoading):
- NetworkProcess/CustomProtocols/LegacyCustomProtocolManager.h:
- NetworkProcess/NetworkProcess.h:
(WebKit::NetworkProcess::addSupplement):
- Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::AuthenticationManager):
(WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
- Shared/Authentication/AuthenticationManager.h:
- UIProcess/API/APIUIClient.h:
(API::UIClient::decidePolicyForGeolocationPermissionRequest):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
- WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::WebCookieManager):
(WebKit::WebCookieManager::getHostnamesWithCookies):
(WebKit::WebCookieManager::deleteCookie):
(WebKit::WebCookieManager::deleteAllCookiesModifiedSince):
(WebKit::WebCookieManager::getAllCookies):
(WebKit::WebCookieManager::getCookies):
(WebKit::WebCookieManager::setCookie):
(WebKit::WebCookieManager::setCookies):
(WebKit::WebCookieManager::notifyCookiesDidChange):
(WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
- WebProcess/Cookies/WebCookieManager.h:
- WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
(WebKit::GeolocationPermissionRequestManager::GeolocationPermissionRequestManager):
(WebKit::GeolocationPermissionRequestManager::startRequestForGeolocation):
(WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
- WebProcess/Geolocation/GeolocationPermissionRequestManager.h:
- WebProcess/Geolocation/WebGeolocationManager.cpp:
(WebKit::WebGeolocationManager::WebGeolocationManager):
(WebKit::WebGeolocationManager::registerWebPage):
(WebKit::WebGeolocationManager::unregisterWebPage):
(WebKit::WebGeolocationManager::setEnableHighAccuracyForPage):
(WebKit::WebGeolocationManager::didChangePosition):
(WebKit::WebGeolocationManager::didFailToDeterminePosition):
(WebKit::WebGeolocationManager::resetPermissions):
- WebProcess/Geolocation/WebGeolocationManager.h:
- WebProcess/MediaCache/WebMediaKeyStorageManager.h:
(WebKit::WebMediaKeyStorageManager::WebMediaKeyStorageManager):
- WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::WebNotificationManager):
(WebKit::WebNotificationManager::show):
(WebKit::WebNotificationManager::cancel):
(WebKit::WebNotificationManager::clearNotifications):
(WebKit::WebNotificationManager::didDestroyNotification):
- WebProcess/Notifications/WebNotificationManager.h:
- WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
(WebKit::WebGeolocationClient::requestPermission):
(WebKit::WebGeolocationClient::cancelPermissionRequest):
- WebProcess/WebCoreSupport/WebGeolocationClient.h:
(WebKit::WebGeolocationClient::WebGeolocationClient):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_cpuLimit):
- WebProcess/WebProcess.h:
(WebKit::WebProcess::addSupplement):
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::UserMediaCaptureManager):
- WebProcess/cocoa/UserMediaCaptureManager.h:
Source/WebKitLegacy/mac:
- WebCoreSupport/WebGeolocationClient.h:
- WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::requestPermission):
(-[WebGeolocationPolicyListener initWithGeolocation:]):
(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:]):
(-[WebGeolocationProviderInitializationListener initWithGeolocation:]):
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _geolocationDidFailWithMessage:]):
Source/WebKitLegacy/win:
- WebCoreSupport/WebGeolocationClient.cpp:
(WebGeolocationClient::requestPermission):
- WebCoreSupport/WebGeolocationClient.h:
(WebGeolocationClient::setEnableHighAccuracy): Deleted.
(WebGeolocationClient::cancelPermissionRequest): Deleted.
- WebGeolocationPolicyListener.h:
- WebView.cpp:
(WebView::initWithFrame):
(WebView::geolocationDidFailWithError):
- 11:52 AM WebKitGTK/2.18.x edited by
- (diff)
- 11:22 AM Changeset in webkit [221742] by
-
- 2 edits in trunk/Source/WebCore
[ARM] Building FELightningNEON.cpp fails due to missing {Point,Spot}LightSource declarations
https://bugs.webkit.org/show_bug.cgi?id=176531
Reviewed by Žan Doberšek.
The m_lightSource member is a Ref<LightSource>, and its get() method returns
a reference, therefore the casts have to be done to the corresponding reference
types.
- platform/graphics/cpu/arm/filters/FELightingNEON.h:
(WebCore::FELighting::platformApplyNeon): Adjust casts and member accesses accordingly.
- 10:56 AM Changeset in webkit [221741] by
-
- 2 edits in trunk/Tools
bisect-builds started failing with invalid json
https://bugs.webkit.org/show_bug.cgi?id=176478
Once we hit 1000 items in our dynamoDB, we ran into an upper limit on the AWS API Gateway looping mechanism.
This prevented us from doing a body mapping template to reformat the json. This fix is to simply return the raw json,
and adjust the json parsing in our code. The AWS rest API has been fixed, and updated to v2.
This change is for the script which operates against the endpoint.
Reviewed by Aakash Jain.
- Scripts/bisect-builds:
(get_sorted_revisions):
- 10:53 AM Changeset in webkit [221740] by
-
- 4 edits in trunk/Tools
[WSL] Rationalize how protocol inheritance deals with type parameters
https://bugs.webkit.org/show_bug.cgi?id=176334
Reviewed by Mark Lam.
This adds a bunch of tests for structs, protocols, and functions interacting in interesting
ways. The most complex of these tests triggers the case where the protocol contains a function
with one type parameter and the real function has more than one. This should give a WTypeError,
and now it does.
- WebGPUShadingLanguageRI/ProtocolDecl.js:
(ProtocolDecl.prototype.hasHeir): Fix the handling of a mismatch of number of type parameters by actually passing the type parameters and then correctly handling the error.
- WebGPUShadingLanguageRI/Test.js: Add a bunch of tests for this case and a lot of other protocol cases.
(TEST_protocolMonoSigPolyDef):
(TEST_protocolPolySigPolyDef):
(TEST_protocolDoublePolySigDoublePolyDef):
(TEST_protocolDoublePolySigDoublePolyDefExplicit):
(TEST_protocolMonoPolySigDoublePolyDefExplicit):
- WebGPUShadingLanguageRI/TypeVariable.js:
(TypeVariable.prototype.get origin): This wasn't implemented before, which made error reporting harder.
- 10:20 AM Changeset in webkit [221739] by
-
- 2 edits in tags/Safari-605.1.5/Source/WebCore/PAL
Cherry-pick r221738. rdar://problem/34296289
- 10:03 AM Changeset in webkit [221738] by
-
- 2 edits in trunk/Source/WebCore/PAL
[Mac] Stop importing NSFunctionBar_Private.h in NSTouchBarSPI.h on the macOS 10.13+ SDK
https://bugs.webkit.org/show_bug.cgi?id=176521
<rdar://problem/34296289>
Reviewed by Andy Estes.
We don't need to import NSFunctionBar_Private.h when building against the macOS 10.13 SDK, or later. Guard this
header import with an SDK version check.
- pal/spi/cocoa/NSTouchBarSPI.h:
- 9:43 AM Changeset in webkit [221737] by
-
- 2 edits in trunk/Tools
[Win] Dashboard test is failing.
https://bugs.webkit.org/show_bug.cgi?id=176527
Reviewed by Brent Fulgham.
Skip test on Windows since WebKitTestRunner is required, but not built on Windows.
- BuildSlaveSupport/build.webkit.org-config/master.cfg:
(TestFactory.init):
- 9:40 AM Changeset in webkit [221736] by
-
- 2 edits in trunk/LayoutTests
Marked svg/animations/smil-leak-elements.svg as flaky on macOS WK1.
https://bugs.webkit.org/show_bug.cgi?id=174180
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 9:20 AM Changeset in webkit [221735] by
-
- 2 edits in trunk/PerformanceTests
Optimize the call to browserPrefix() in MotionMark
https://bugs.webkit.org/show_bug.cgi?id=176489
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2017-09-07
Reviewed by Jon Lee.
This function is expensive and it does not change for the browser. No need
to recalculate it every time it is called; just cache the returned value.
- MotionMark/resources/extensions.js:
(Utilities.browserPrefix):
- 9:00 AM Changeset in webkit [221734] by
-
- 2 edits3 adds in trunk
[WPE][CMake] Add "dist" and "distcheck" targets
https://bugs.webkit.org/show_bug.cgi?id=176448
Reviewed by Carlos Garcia Campos.
Add "dist" and "distcheck" CMake targets, which create release tarballs.
These are available only when configuring with -DDEVELOPER_MODE=TRUE.
.:
- Source/PlatformWPE.cmake: Added.
- Source/cmake/FindXz.cmake: Added.
Tools:
- wpe/manifest.txt.in: Added.
- 8:55 AM Changeset in webkit [221733] by
-
- 8 edits in trunk
[Win] Enable DatatransferItems in DRT.
https://bugs.webkit.org/show_bug.cgi?id=176424
Reviewed by Brent Fulgham.
Source/WebKitLegacy/win:
- Interfaces/IWebPreferencesPrivate.idl:
- WebPreferenceKeysPrivate.h:
- WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::QueryInterface):
(WebPreferences::isSecureContextAttributeEnabled):
(WebPreferences::dataTransferItemsEnabled):
(WebPreferences::setDataTransferItemsEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Tools:
- DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
- 8:42 AM Changeset in webkit [221732] by
-
- 3 edits3 deletes in trunk
Unreviewed, rolling out r221716.
This change caused assertion failures on macOS Debug WK2.
Reverted changeset:
"Fetch's Response.statusText is unexpectedly the full http
status line for HTTP/2 responses"
https://bugs.webkit.org/show_bug.cgi?id=176479
http://trac.webkit.org/changeset/221716
- 8:39 AM Changeset in webkit [221731] by
-
- 2 edits in trunk/LayoutTests
Update test expectations for failing tests on Windows.
Unreviewed test gardening.
- platform/win/TestExpectations:
- 8:30 AM Changeset in webkit [221730] by
-
- 1 copy in tags/Safari-605.1.5
Tag Safari-605.1.5.
- 7:53 AM Changeset in webkit [221729] by
-
- 7 edits in trunk/Source
Versioning.
- 5:57 AM Changeset in webkit [221728] by
-
- 2 edits in trunk/Source/WebCore
[EME] CDMClearKey: implement remaining methods of CDMPrivate derivative
https://bugs.webkit.org/show_bug.cgi?id=176495
Reviewed by Xabier Rodriguez-Calvar.
Implement the remaining CDMPrivateClearKey methods, following the
ClearKey specification:
- server certificates are not supported, but sessions are;
- 'keyids' init data in JSON format is acceptable;
- JSON responses are acceptable;
- session IDs must use the 32-bit integer format.
No new tests -- covered by imported W3C tests that utilize ClearKey.
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::parseJSONObject):
(WebCore::CDMPrivateClearKey::loadAndInitialize):
(WebCore::CDMPrivateClearKey::supportsServerCertificates const):
(WebCore::CDMPrivateClearKey::supportsSessions const):
(WebCore::CDMPrivateClearKey::supportsInitData const):
(WebCore::CDMPrivateClearKey::sanitizeResponse const):
(WebCore::CDMPrivateClearKey::sanitizeSessionId const):
- 5:14 AM Changeset in webkit [221727] by
-
- 9 edits3 adds in trunk
[GTK] Bump libxml2 version to 1.9.5
https://bugs.webkit.org/show_bug.cgi?id=176502
Reviewed by Carlos Alberto Lopez Perez.
Tools:
It has been released very recently, but it fixes the issues that prevented us from upgrading to 1.9.4.
- gtk/jhbuild.modules:
LayoutTests:
Rebaselines several tests where only the line number changed in error messages.
- platform/gtk/fast/dom/adopt-attribute-crash-expected.txt:
- platform/gtk/fast/parser/xml-colon-entity-expected.txt: Added.
- platform/gtk/fast/parser/xml-declaration-missing-ending-mark-expected.txt: Added.
- platform/gtk/fast/xsl/xslt-extra-content-at-end-expected.txt:
- platform/gtk/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
- platform/gtk/svg/custom/bug78807-expected.txt: Added.
- platform/gtk/svg/custom/missing-xlink-expected.txt:
- platform/gtk/svg/custom/path-bad-data-expected.txt:
- platform/gtk/svg/custom/use-font-face-crash-expected.txt:
- 3:43 AM WebDriverStatus created by
- 3:12 AM WebKitGTK/2.18.x edited by
- (diff)
- 2:17 AM Changeset in webkit [221726] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Marking some service-worker related tests as crashing.
- platform/gtk/TestExpectations:
- 2:04 AM Changeset in webkit [221725] by
-
- 996 edits1 add in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline tests after r221724.
- 1:52 AM Changeset in webkit [221724] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Bring back line height rounding when computing font metrics
https://bugs.webkit.org/show_bug.cgi?id=176497
Reviewed by Žan Doberšek.
In r221670 we changed the way we get the metrics to avoid rounding that was causing a negative line gap to be
computed. Since the font metrics value is indeed a float value, we also removed the rounding when setting the
line height. However, this caused some test failures because now we report non integer line heights.
- platform/graphics/freetype/SimpleFontDataFreeType.cpp:
(WebCore::Font::platformInit):
- 1:40 AM WebKitGTK/2.16.x edited by
- (diff)
- 1:40 AM WebKitGTK/2.18.x edited by
- (diff)
- 1:36 AM WebKitGTK/2.16.x edited by
- (diff)
- 1:36 AM WebKitGTK/2.18.x edited by
- (diff)
- 1:21 AM WebKitGTK/2.16.x edited by
- (diff)
- 1:20 AM WebKitGTK/2.18.x edited by
- (diff)
- 1:14 AM Changeset in webkit [221723] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] Remove "malloc" and "free" from JSC/API
https://bugs.webkit.org/show_bug.cgi?id=176331
Reviewed by Keith Miller.
Remove "malloc" and "free" manual calls in JSC/API.
- API/JSValue.mm:
(createStructHandlerMap):
- API/JSWrapperMap.mm:
(parsePropertyAttributes):
(makeSetterName):
(copyPrototypeProperties):
Use RetainPtr<NSString> to keep NSString. We avoid repeated "char*" to "NSString" conversion.
- API/ObjcRuntimeExtras.h:
(adoptSystem):
Add adoptSystem to automate calling system free().
(protocolImplementsProtocol):
(forEachProtocolImplementingProtocol):
(forEachMethodInClass):
(forEachMethodInProtocol):
(forEachPropertyInProtocol):
(StringRange::StringRange):
(StringRange::operator const char* const):
(StringRange::get const):
Use CString for backend.
(StructBuffer::StructBuffer):
(StructBuffer::~StructBuffer):
(StringRange::~StringRange): Deleted.
Use fastAlignedMalloc/astAlignedFree to get aligned memory.
- 12:35 AM Changeset in webkit [221722] by
-
- 7 edits in tags/Safari-605.1.4.0.1/Source
Versioning.
- 12:32 AM Changeset in webkit [221721] by
-
- 1 copy in tags/Safari-605.1.4.0.1
New Tag.
- 12:32 AM Changeset in webkit [221720] by
-
- 27 edits in trunk/LayoutTests
Unreviewed GTK+ gardening. Rebaseline more tests after Freetype version bump in r221670.
- platform/gtk/editing/execCommand/print-expected.png:
- platform/gtk/editing/execCommand/print-expected.txt:
- platform/gtk/fast/forms/large-toggle-elements-expected.png:
- platform/gtk/fast/forms/large-toggle-elements-expected.txt:
- platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.png:
- platform/gtk/fast/forms/number/number-size-spinbutton-nocover-expected.txt:
- platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.png:
- platform/gtk/fast/frames/scrolling-iframe-out-of-viewport-expected.txt:
- platform/gtk/fonts/complex-text-shadows-expected.png:
- platform/gtk/fonts/complex-text-shadows-expected.txt:
- platform/gtk/fonts/custom-font-missing-glyphs-expected.png:
- platform/gtk/fonts/custom-font-missing-glyphs-expected.txt:
- platform/gtk/fonts/font-face-with-complex-text-expected.png:
- platform/gtk/fonts/font-face-with-complex-text-expected.txt:
- platform/gtk/fonts/font-with-no-valid-encoding-expected.png:
- platform/gtk/fonts/font-with-no-valid-encoding-expected.txt:
- platform/gtk/fonts/fontconfig-aliasing-settings-expected.png:
- platform/gtk/fonts/fontconfig-aliasing-settings-expected.txt:
- platform/gtk/fonts/non-bmp-characters-expected.png:
- platform/gtk/fonts/non-bmp-characters-expected.txt:
- platform/gtk/fonts/xsettings_antialias_settings-expected.png:
- platform/gtk/fonts/xsettings_antialias_settings-expected.txt:
- platform/gtk/fonts/zero-pixel-sized-fonts-expected.png:
- platform/gtk/fonts/zero-pixel-sized-fonts-expected.txt:
- platform/gtk/transitions/svg-text-shadow-transition-expected.png:
- platform/gtk/transitions/svg-text-shadow-transition-expected.txt: