Timeline
Jan 17, 2018:
- 11:30 PM Changeset in webkit [227134] by
-
- 2 edits in trunk/PerformanceTests
Temporarily skip Speedometer until we fix the metrics.
- Skipped:
- 11:24 PM Changeset in webkit [227133] by
-
- 3 edits1 move in trunk/Websites/perf.webkit.org
Rename config.json to config.json.sample
https://bugs.webkit.org/show_bug.cgi?id=181785
Reviewed by Wenson Hsieh.
- .gitignore: Added config.json.
- ReadMe.md: Updated the instruction.
- config.json.sample: Renamed from config.json.
- 11:24 PM Changeset in webkit [227132] by
-
- 4 edits6 adds in branches/safari-605-branch
Cherry-pick r227121. rdar://problem/36609529
- 11:24 PM Changeset in webkit [227131] by
-
- 4 edits in branches/safari-605-branch
Cherry-pick r227104. rdar://problem/36609536
- 11:24 PM Changeset in webkit [227130] by
-
- 6 edits in branches/safari-605-branch/Source/JavaScriptCore
Cherry-pick r227096. rdar://problem/36609546
- 11:24 PM Changeset in webkit [227129] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r227094. rdar://problem/36600688
- 11:24 PM Changeset in webkit [227128] by
-
- 5 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r226934. rdar://problem/36567980
- 10:51 PM Changeset in webkit [227127] by
-
- 5 edits in trunk
WebDriver: ignore the driver in selenium test names when getting expectations
https://bugs.webkit.org/show_bug.cgi?id=181738
Reviewed by Carlos Alberto Lopez Perez.
Tools:
In selenium tests, the driver is added as a parameter to every test which results in tests names like
foo[DriverName] or foo[DriverName-param2] in case of tests using more parameters. We don't want to include the
driver name in the test expectations file, so we need to remove it when querying the expectations.
- Scripts/webkitpy/webdriver_tests/pytest_runner.py:
(TestExpectationsMarker.init): Save the param to ignore.
(TestExpectationsMarker._item_name): Return the name of the test without the para to ignore.
(TestExpectationsMarker.pytest_collection_modifyitems): Use _item_name().
(run): Pass param to ignore to TestExpectationsMarker().
- Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
(WebDriverSeleniumExecutor.init): Save the driver name.
(WebDriverSeleniumExecutor.run): Pass the driver name as param to ignore.
WebDriverTests:
Add some expectations for selenium tests.
- TestExpectations.json:
- 10:50 PM Changeset in webkit [227126] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Show unit tests unexpectedly passing in the bots
https://bugs.webkit.org/show_bug.cgi?id=181726
Reviewed by Michael Catanzaro.
Now that we have the info, let's show it also in the bots.
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunGLibAPITests.commandComplete):
- 10:45 PM Changeset in webkit [227125] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Unreviewed build fixes in TestGroupResultsViewer.
- public/v3/components/test-group-results-viewer.js:
(TestGroupResultsViewer.prototype.render): _renderCurrentMetricsLazily was never called.
(TestGroupResultsViewer.prototype._buildRowForMetric): Don't try to render null or NaN.
- 10:17 PM Changeset in webkit [227124] by
-
- 15 edits2 copies1 move5 adds1 delete in branches/safari-605-branch
Cherry-pick r227103. rdar://problem/36598105
- 10:17 PM Changeset in webkit [227123] by
-
- 15 edits1 move1 add7 deletes in branches/safari-605-branch
Cherry-pick r227093. rdar://problem/36598105
- 10:06 PM Changeset in webkit [227122] by
-
- 6 edits in trunk/Websites/perf.webkit.org
Fix perf dashboard tests for node v8
https://bugs.webkit.org/show_bug.cgi?id=181782
Reviewed by Wenson Hsieh.
Fixed the various tests for node.js v8, which is the latest LTS version.
- server-tests/api-manifest-tests.js: Replaced the missing Triggerable.acceptsTest by Triggerable.acceptedTests
after r226836.
- server-tests/api-measurement-set-tests.js: Added "Z" to the end timestamps to force UTF timezone now that Date
in node.js parses using the local timezone by default.
- server-tests/resources/test-server.js:
(TestServer.prototype._restoreDataDirectory): Fixed the bug that this function was erroneously using the async
function to rename a directory per new warnings. This code was racy, and it used to cause a test error occasionally.
- server-tests/tools-os-build-fetcher-tests.js: Fixed the assertions to make it work in the latest node.js.
- unit-tests/measurement-set-tests.js:
(waitForMeasurementSet): Wait for setTimeout to cycle through all microtasks instead of just two microtask cycles.
- 9:55 PM Changeset in webkit [227121] by
-
- 4 edits6 adds in trunk
WebVTT served via HLS never results in cues
https://bugs.webkit.org/show_bug.cgi?id=181773
Reviewed by Eric Carlson.
Source/WebCore:
Test: http/tests/media/hls/hls-webvtt-tracks.html
Three independant errors conspired to keep in-band WebVTT samples from parsing:
- The definition of ISOWebVTTCue::boxTypeName() was incorrect.
- ISOWebVTTCue::parse() didn't call it's superclass's parse() method (leading to an incorrect size and offset).
- Use String::fromUTF8() rather than String.adopt(StringVector&&).
- platform/graphics/iso/ISOVTTCue.cpp:
(WebCore::ISOWebVTTCue::parse):
- platform/graphics/iso/ISOVTTCue.h:
(WebCore::ISOWebVTTCue::boxTypeName):
LayoutTests:
- http/tests/media/hls/hls-webvtt-tracks-expected.txt: Added.
- http/tests/media/hls/hls-webvtt-tracks.html: Added.
- http/tests/media/resources/hls/subtitles/fileSequence0.webvtt: Added.
- http/tests/media/resources/hls/subtitles/prog_index.m3u8: Added.
- http/tests/media/resources/hls/test-webvtt.m3u8: Added.
- 9:48 PM Changeset in webkit [227120] by
-
- 3 edits2 adds in branches/safari-605-branch
Cherry-pick r227087. rdar://problem/36597993
- 9:48 PM Changeset in webkit [227119] by
-
- 5 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r227078. rdar://problem/36597996
- 9:47 PM Changeset in webkit [227118] by
-
- 15 edits2 copies1 move5 adds1 delete in branches/safari-605-branch
Cherry-pick r227076. rdar://problem/36598105
- 9:47 PM Changeset in webkit [227117] by
-
- 12 edits2 adds in branches/safari-605-branch
Cherry-pick r227075. rdar://problem/36598185
- 9:47 PM Changeset in webkit [227116] by
-
- 3 edits5 adds in branches/safari-605-branch
Cherry-pick r227074. rdar://problem/36598123
- 9:47 PM Changeset in webkit [227115] by
-
- 3 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r227073. rdar://problem/36598265
- 9:47 PM Changeset in webkit [227114] by
-
- 2 edits in branches/safari-605-branch/Source/WTF
Cherry-pick r227071. rdar://problem/36598125
- 9:47 PM Changeset in webkit [227113] by
-
- 6 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r227070. rdar://problem/36598339
- 9:47 PM Changeset in webkit [227112] by
-
- 3 edits1 add in branches/safari-605-branch
Cherry-pick r227053. rdar://problem/36587231
- 9:47 PM Changeset in webkit [227111] by
-
- 3 edits in branches/safari-605-branch/Source/JavaScriptCore
Cherry-pick r227047. rdar://problem/36587246
- 9:47 PM Changeset in webkit [227110] by
-
- 62 edits1 move2 deletes in branches/safari-605-branch
Cherry-pick r226940. rdar://problem/36598019
- 9:47 PM Changeset in webkit [227109] by
-
- 16 edits in branches/safari-605-branch
Cherry-pick r226752. rdar://problem/36601128
- 9:03 PM Changeset in webkit [227108] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: clicking on a path component that has no siblings should select it
https://bugs.webkit.org/show_bug.cgi?id=181772
Reviewed by Joseph Pecoraro.
- UserInterface/Views/HierarchicalPathComponent.js:
(WI.HierarchicalPathComponent.prototype._updateSelectElement):
(WI.HierarchicalPathComponent.prototype._selectElementMouseDown):
- 8:17 PM Changeset in webkit [227107] by
-
- 31 edits11 adds in trunk
[DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky
https://bugs.webkit.org/show_bug.cgi?id=181535
Reviewed by Saam Barati.
JSTests:
- stress/inserted-recovery-with-set-last-index.js: Added.
(shouldBe):
(foo):
- stress/materialize-regexp-at-osr-exit.js: Added.
(shouldBe):
(test):
- stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added.
(shouldBe):
(test):
- stress/materialize-regexp-cyclic-regexp.js: Added.
(shouldBe):
(test):
(i.switch):
- stress/materialize-regexp-cyclic.js: Added.
(shouldBe):
(test):
(i.switch):
- stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added.
(bar):
(foo):
(test):
- stress/materialize-regexp-referenced-from-phantom-regexp.js: Added.
(bar):
(foo):
(test):
- stress/materialize-regexp.js: Added.
(shouldBe):
(test):
- stress/phantom-regexp-regexp-exec.js: Added.
(shouldBe):
(test):
- stress/phantom-regexp-string-match.js: Added.
(shouldBe):
(test):
- stress/regexp-last-index-sinking.js: Added.
(shouldBe):
(test):
Source/JavaScriptCore:
When executing the code like
string.match(/regexp/)
,/regexp/
object is created every time we execute this code.
However, user rarely cares about this/regexp/
object. Typically, it is soon discarded even if it haslastIndex
information. So we should not create RegExpObject for this typical case.
This patch introduces PhantomNewRegexp. We convert NewRegexp node to PhantomNewRegexp in Object Allocation Sinking (OAS)
phase. We should do this analysis in OAS phase since we track modifications tolastIndex
in the OAS phase. Even if
lastIndex
is modified, it may not be read by users. So we have a chance to drop this NewRegexp beacause we carefully model
SetRegExpObjectLastIndex and GetRegExpObjectLastIndex in OAS phase.
This patch is a first attempt to drop NewRegexp. So we start optimizing it with the simple step: we first drop RegExp with
non-global and non-sticky one. We can later extend this optimization for RegExp with global flag. But this is not included
in this patch.
We convert RegExpExec to RegExpExecNonGlobalOrSticky if we find that the given RegExpObject's RegExp is not global/sticky
flagged. Since we do not need to touchlastIndex
property in this case, RegExpExecNonGlobalOrSticky just takes RegExp
instead of RegExpObject. This offers the chance to make NewRegExp unused.
We also convert RegExpMatchFast to RegExpExecNonGlobalOrSticky if its RegExpObject's RegExp is non-global and non-sticky,
since they are the same behavior.
The above optimization completely removes NewRegexp in SixSpeed's regexp-u.{es5,es6}. The resulted execution time is
somewhat pure execution time of our Yarr implementation.
baseline patched
regex-u.es5 34.8557+-0.5963 6.1507+-0.5526 definitely 5.6670x faster
regex-u.es6 89.1919+-3.3851 32.0917+-0.4260 definitely 2.7793x faster
This patch does not change Octane/RegExp so much since it heavily uses String.prototype.replace, which is not handled in
this patch right now. We should support StringReplace node in subsequent patches.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGClobbersExitState.cpp:
(JSC::DFG::clobbersExitState):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
- dfg/DFGMayExit.cpp:
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky):
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToPhantomNewRegexp):
(JSC::DFG::Node::convertToSetRegExpObjectLastIndex):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::isPhantomAllocation):
(JSC::DFG::Node::hasIgnoreLastIndexIsWritable):
(JSC::DFG::Node::ignoreLastIndexIsWritable):
- dfg/DFGNodeType.h:
- dfg/DFGObjectAllocationSinkingPhase.cpp:
- dfg/DFGOperations.cpp:
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGPromotedHeapLocation.cpp:
(WTF::printInternal):
- dfg/DFGPromotedHeapLocation.h:
(JSC::DFG::PromotedLocationDescriptor::neededForMaterialization const):
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileNewRegexp):
(JSC::DFG::SpeculativeJIT::compileSetRegExpObjectLastIndex):
(JSC::DFG::SpeculativeJIT::compileRegExpExecNonGlobalOrSticky):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- dfg/DFGValidate.cpp:
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileRegExpExecNonGlobalOrSticky):
(JSC::FTL::DFG::LowerDFGToB3::compileNewRegexp):
(JSC::FTL::DFG::LowerDFGToB3::compileSetRegExpObjectLastIndex):
- ftl/FTLOperations.cpp:
(JSC::FTL::operationPopulateObjectInOSR):
(JSC::FTL::operationMaterializeObjectInOSR):
- jit/JITOperations.h:
- runtime/RegExpObject.h:
(JSC::RegExpObject::create):
- 7:15 PM Changeset in webkit [227106] by
-
- 3 edits in trunk/Source/JavaScriptCore
[FTL] Remove unused helper functions to convert node to PutHint
https://bugs.webkit.org/show_bug.cgi?id=181775
Reviewed by Saam Barati.
We are using PromotedHeapLocation::createHint. So they are not necessary.
- dfg/DFGNode.cpp:
(JSC::DFG::Node::convertToPutHint): Deleted.
(JSC::DFG::Node::convertToPutStructureHint): Deleted.
(JSC::DFG::Node::convertToPutByOffsetHint): Deleted.
(JSC::DFG::Node::convertToPutClosureVarHint): Deleted.
- dfg/DFGNode.h:
- 6:45 PM Changeset in webkit [227105] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, suppress warnings on GCC
Since
length
andp
are always positive or zero,
static_cast<unsigned>() does what we want.
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::parseInt):
- 5:58 PM Changeset in webkit [227104] by
-
- 4 edits in trunk
Disable Atomics when SharedArrayBuffer isn’t enabled
https://bugs.webkit.org/show_bug.cgi?id=181572
<rdar://problem/36553206>
Reviewed by Michael Saboff.
JSTests:
- stress/isLockFree.js:
Source/JavaScriptCore:
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::createAtomicsProperty): Deleted.
- 5:58 PM Changeset in webkit [227103] by
-
- 15 edits2 copies1 move5 adds1 delete in trunk
Resource Load Statistics: Block cookies for prevalent resources without user interaction
https://bugs.webkit.org/show_bug.cgi?id=177394
<rdar://problem/34613960>
Reviewed by Alex Christensen.
Source/WebCore:
Tests: http/tests/resourceLoadStatistics/add-blocking-to-redirect.html
http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html
http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html
http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html
- platform/network/NetworkStorageSession.h:
Now exports NetworkStorageSession::nsCookieStorage().
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
Fixes the FIXME.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Declaration of _initWithIdentifier() on NSHTTPCookieStorage.
Source/WebKit:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
Now has m_hasBeenSetToUseStatelessCookieStorage to handle
cookie blocking.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::statelessCookieStorage):
Returns singleton empty, deny-all cookie storage for cookie blocking.
The ugly pragma instructions for clang are because the NSString
parameter for _initWithIdentifier was not marked nullable pre-Sierra.
(WebKit::NetworkDataTaskCocoa::applyCookieBlockingPolicy):
Instead of just decision making, this now applies the policy.
(WebKit::NetworkDataTaskCocoa::applyCookiePartitioningPolicy):
New method.
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
Now blocks cookies for domains where cookies will be purged anyway.
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
Now blocks cookies for domains where cookies will be purged anyway.
(WebKit::shouldChangePartition): Deleted.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
Now downgrades for blocked cookies instead of partitioned cookies.
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
Now downgrades for blocked cookies instead of partitioned cookies.
LayoutTests:
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-expected.txt: Added.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect.html: Added.
- http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt: Added.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html: Added.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt: Added.
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html: Added.
- http/tests/resourceLoadStatistics/remove-partitioning-from-redirect-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-partitioning-from-redirect.html: Removed.
Test case reworked and is now remove-partitioning-in-redirect.html.
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt: Added.
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html: Added.
- platform/ios/TestExpectations:
New tests marked as [ Pass ] for iOS.
- platform/mac-wk2/TestExpectations:
New tests marked as [ Pass ] for High Sierra+.
- platform/wk2/TestExpectations:
New tests skipped for WK2 in general.
- 5:47 PM Changeset in webkit [227102] by
-
- 2 edits in trunk/Source/WebCore
Remove linked-on test for Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=181770
Reviewed by Eric Carlson.
Source/WebCore:
Remove a very old linked-on-or-after test.
- platform/graphics/ca/GraphicsLayerCA.cpp:
- 5:31 PM Changeset in webkit [227101] by
-
- 4 edits in trunk/Source/WebCore
Unreviewed, rolling out r227098.
This broke the build.
Reverted changeset:
"Remove linked-on test for Snow Leopard"
https://bugs.webkit.org/show_bug.cgi?id=181770
https://trac.webkit.org/changeset/227098
- 4:59 PM Changeset in webkit [227100] by
-
- 7 edits in trunk/Source
Versioning.
- 4:52 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 4:52 PM Changeset in webkit [227099] by
-
- 1 copy in tags/Safari-606.1.2
Tag Safari-606.1.2.
- 4:40 PM Changeset in webkit [227098] by
-
- 4 edits in trunk/Source/WebCore
Remove linked-on test for Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=181770
Reviewed by Eric Carlson.
Source/WebCore:
Remove a very old linked-on-or-after test.
- platform/graphics/ca/GraphicsLayerCA.cpp:
Source/WebCore/PAL:
No need for _CFExecutableLinkedOnOrAfter any more.
- pal/spi/cf/CFUtilitiesSPI.h:
- 4:39 PM Changeset in webkit [227097] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK+ gardening
- platform/gtk/TestExpectations:
- 4:34 PM Changeset in webkit [227096] by
-
- 6 edits in trunk/Source/JavaScriptCore
Support MultiGetByOffset in the DFG
https://bugs.webkit.org/show_bug.cgi?id=181466
Reviewed by Keith Miller.
This seems to benefit Speedometer in my local testing. It seems like this
might be around a 0.5% improvement.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):
- dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
- dfg/DFGGraph.h:
(JSC::DFG::Graph::supportsMultiGetByOffset):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- 4:26 PM Changeset in webkit [227095] by
-
- 4 edits in trunk/Source
[Curl] Use ResourceRequest::encodeWithPlatformData()
https://bugs.webkit.org/show_bug.cgi?id=181768
Patch by Stephan Szabo <stephan.szabo@sony.com> on 2018-01-17
Reviewed by Alex Christensen.
Source/WebCore:
No new tests, assertion hit in downstream port, should be covered by
existing tests.
- platform/network/curl/ResourceRequest.h:
(WebCore::ResourceRequest::encodeWithPlatformData const):
(WebCore::ResourceRequest::decodeWithPlatformData):
Source/WebKit:
- Shared/curl/WebCoreArgumentCodersCurl.cpp:
(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):
- 4:04 PM Changeset in webkit [227094] by
-
- 2 edits in trunk/Source/WebCore
Use existing RGB colorspace instead of creating a new one
https://bugs.webkit.org/show_bug.cgi?id=181765
<rdar://problem/36595753>
Reviewed by Dean Jackson.
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): Use sRGBColorSpaceRef instead
of creating a new static colorspace.
- 3:49 PM Changeset in webkit [227093] by
-
- 15 edits1 move1 add7 deletes in trunk
Unreviewed, rolling out r227076.
This breaks internal builds
Reverted changeset:
"Resource Load Statistics: Block cookies for prevalent
resources without user interaction"
https://bugs.webkit.org/show_bug.cgi?id=177394
https://trac.webkit.org/changeset/227076
- 3:19 PM Changeset in webkit [227092] by
-
- 7 edits in trunk/Source/WebCore
input and textarea elements should reveal selection in setSelection when focused
https://bugs.webkit.org/show_bug.cgi?id=181715
<rdar://problem/36570546>
Reviewed by Zalan Bujtas.
Made input and textarea elements reveal selection in FrameSelection::setSelection instead of by directly
invoking FrameSelection::revealSelection in their respective updateFocusAppearance to unify code paths.
Also added options to reveal selection up to the main frame to SetSelectionOption to be used in iOS.
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::moveWithoutValidationTo): Takes SelectionRevealMode as an argument and converts
sets appropriate selection options.
(WebCore::FrameSelection::setSelection): Reconstruct SelectionRevealMode out of selection option sets.
(WebCore::FrameSelection::updateAndRevealSelection):
- editing/FrameSelection.h:
(WebCore::FrameSelection): Added RevealSelectionUpToMainFrame as a SelectionRevealMode and replaced
m_shouldRevealSelection by m_selectionRevealMode.
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateFocusAppearance): Pass SelectionRevealMode to HTMLTextFormControlElement's
select and restoreCachedSelection instead of directly invoking FrameSelection::revealSelection.
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::updateFocusAppearance): Ditto.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::select):
(WebCore::HTMLTextFormControlElement::setSelectionRange):
(WebCore::HTMLTextFormControlElement::restoreCachedSelection):
- html/HTMLTextFormControlElement.h:
- 3:19 PM Changeset in webkit [227091] by
-
- 2 edits in trunk/Tools
Fix broken unittest after r227048
https://bugs.webkit.org/show_bug.cgi?id=181760
Reviewed by Aakash Jain.
- 3:18 PM Changeset in webkit [227090] by
-
- 11 edits in trunk
WEBKIT_FRAMEWORK should not modify file-global include directories
https://bugs.webkit.org/show_bug.cgi?id=181656
Reviewed by Konstantin Tokarev.
.:
Only modify the system include directories of the target passed to WEBKIT_FRAMEWORK.
- Source/cmake/WebKitMacros.cmake:
Source/WebCore:
- CMakeLists.txt:
- PlatformWPE.cmake:
Source/WebKit:
- PlatformGTK.cmake:
- PlatformWPE.cmake:
Tools:
- TestWebKitAPI/PlatformWPE.cmake:
- TestWebKitAPI/glib/CMakeLists.txt:
- 3:16 PM Changeset in webkit [227089] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Try even harder not to static link WTF into libwebkit2gtk
https://bugs.webkit.org/show_bug.cgi?id=181751
Reviewed by Alex Christensen.
We don't want two copies of WTF. It should only be in libjavascriptcoregtk.
- PlatformGTK.cmake:
- 2:49 PM Changeset in webkit [227088] by
-
- 2 edits in trunk/LayoutTests
Marked http/wpt/resource-timing/rt-resources-per-worker.html as flaky on High Sierra.
https://bugs.webkit.org/show_bug.cgi?id=180260
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:37 PM Changeset in webkit [227087] by
-
- 3 edits2 adds in trunk
Multicol: RenderMultiColumnFlow should not inherit the flow state
https://bugs.webkit.org/show_bug.cgi?id=181762
<rdar://problem/35448565>
Reviewed by Simon Fraser.
Source/WebCore:
Do not compute the inherited flow state flag for RenderMultiColumnFlow.
It is (by definition) always inside a fragmented flow.
Test: fast/multicol/crash-when-out-of-flow-positioned-becomes-in-flow.html
- rendering/RenderObject.cpp:
(WebCore::RenderObject::computedFragmentedFlowState):
LayoutTests:
- fast/multicol/crash-when-out-of-flow-positioned-becomes-in-flow-expected.txt: Added.
- fast/multicol/crash-when-out-of-flow-positioned-becomes-in-flow.html: Added.
- 2:34 PM Changeset in webkit [227086] by
-
- 2 edits in trunk/Source/WebCore
Deprecate Application Cache
https://bugs.webkit.org/show_bug.cgi?id=181764
Reviewed by Geoffrey Garen.
- features.json:
- 2:25 PM Changeset in webkit [227085] by
-
- 2 edits in trunk/LayoutTests
[iOS] Re-enable LayoutTests in the storage/indexeddb directory
https://bugs.webkit.org/show_bug.cgi?id=180958
Unreviewed test gardening.
- platform/ios/TestExpectations:
- 2:16 PM Changeset in webkit [227084] by
-
- 2 edits in trunk/Source/WebCore
[iOS simulator] API test WKAttachmentTests.InjectedBundleReplaceURLWhenPastingImage is failing
https://bugs.webkit.org/show_bug.cgi?id=181758
Reviewed by Tim Horton.
This test is failing because Editor::clientReplacementURLForResource expects a MIME type, but on iOS, the type
paramter passed into WebContentReader::readImage is a UTI; subsequently, the bundle editing delegate receives
a MIME type that's actually a UTI, which is incorrect. To address this, ensure that a MIME type is passed to
bundle SPI by converting the type in WebContentReader::readImage to a MIME type.
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::WebContentReader::readImage):
- 2:01 PM Changeset in webkit [227083] by
-
- 2 edits in trunk/Tools
Mark Alicia as committer in contributors.json
- 1:53 PM Changeset in webkit [227082] by
-
- 5 edits2 adds in trunk
REGRESSION (r226385?): Crash in com.apple.WebCore: WebCore::MediaQueryEvaluator::evaluate const + 32
https://bugs.webkit.org/show_bug.cgi?id=181742
<rdar://problem/36334726>
Reviewed by David Kilzer.
Source/WebCore:
Test: fast/media/mediaqueryevaluator-crash.html
- css/MediaQueryEvaluator.cpp:
(WebCore::MediaQueryEvaluator::MediaQueryEvaluator):
Use WeakPtr<Document> instead of a plain Frame pointer.
(WebCore::MediaQueryEvaluator::evaluate const):
Get the frame via document.
- css/MediaQueryEvaluator.h:
- dom/Document.cpp:
(WebCore::Document::prepareForDestruction):
Take care to clear style resolver.
LayoutTests:
- fast/media/mediaqueryevaluator-crash-expected.txt: Added.
- fast/media/mediaqueryevaluator-crash.html: Added.
- 1:37 PM Changeset in webkit [227081] by
-
- 2 edits in trunk/LayoutTests
Marked inspector/worker/worker-recover-if-inspector-close.html as flaky on macOS
https://bugs.webkit.org/show_bug.cgi?id=181100
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 1:27 PM Changeset in webkit [227080] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r226902): fast/events/ios/rotation/layout-viewport-during-rotation.html and fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html are timing out
<rdar://problem/36589755>
The first argument to a load event listener is an event, which meant that passing scriptCompleteCallback
didn't work as expected.
- fast/events/ios/rotation/layout-viewport-during-rotation.html:
- fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html:
- 1:06 PM Changeset in webkit [227079] by
-
- 23 edits in trunk
Source/WebCore:
Put fetch request keepAlive behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=181592
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-17
Reviewed by Chris Dumez.
No change of behavior.
- Modules/fetch/FetchRequest.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::fetchAPIKeepAliveEnabled const):
(WebCore::RuntimeEnabledFeatures::setFetchAPIKeepAliveEnabled):
Source/WebKit:
Put fetch request keepAlive behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=181592
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-17
Reviewed by Chris Dumez.
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetFetchAPIKeepAliveEnabled):
(WKPreferencesGetFetchAPIKeepAliveEnabled):
- UIProcess/API/C/WKPreferencesRefPrivate.h:
Source/WebKitLegacy/mac:
Put fetch Request.keepalive behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=181592
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-17
Reviewed by Chris Dumez.
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences fetchAPIKeepAliveEnabled]):
(-[WebPreferences setFetchAPIKeepAliveEnabled:]):
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Source/WebKitLegacy/win:
Put fetch Request.keepalive behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=181592
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-17
Reviewed by Chris Dumez.
- WebPreferences.cpp:
(WebPreferences::fetchAPIKeepAliveEnabled):
(WebPreferences::setFetchAPIKeepAliveEnabled):
- WebPreferences.h:
- WebView.cpp:
(WebView::notifyPreferencesChanged):
Tools:
Put fetch Request.keepalive behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=181592
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-17
Reviewed by Chris Dumez.
- DumpRenderTree/mac/DumpRenderTree.mm:
(enableExperimentalFeatures):
- DumpRenderTree/win/DumpRenderTree.cpp:
(enableExperimentalFeatures):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
- 12:25 PM Changeset in webkit [227078] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Add back localized strings for Styles sidebar panels
https://bugs.webkit.org/show_bug.cgi?id=181748
<rdar://problem/36583184>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-17
Reviewed by Brian Burg.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
(WI.ComputedStyleDetailsSidebarPanel):
- UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
(WI.RulesStyleDetailsSidebarPanel):
- UserInterface/Views/VisualStyleDetailsSidebarPanel.js:
(WI.VisualStyleDetailsSidebarPanel):
Add back localized strings for panel titles lost in r225547.
- 11:35 AM Changeset in webkit [227077] by
-
- 2 edits in trunk/Source/WebCore
[Win] Use switch when converting from ResourceRequestCachePolicy to platform cache policy.
https://bugs.webkit.org/show_bug.cgi?id=181686
Reviewed by Alex Christensen.
No new tests, covered by existing tests.
A switch will make the function easier on the eyes. Also, use the function in places where the ResourceRequestCachePolicy
is just casted to a platform cache policy.
- platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::toPlatformRequestCachePolicy):
- 11:16 AM Changeset in webkit [227076] by
-
- 15 edits2 copies1 move5 adds1 delete in trunk
Resource Load Statistics: Block cookies for prevalent resources without user interaction
https://bugs.webkit.org/show_bug.cgi?id=177394
<rdar://problem/34613960>
Reviewed by Alex Christensen.
Source/WebCore:
Tests: http/tests/resourceLoadStatistics/add-blocking-to-redirect.html
http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html
http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html
http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html
- platform/network/NetworkStorageSession.h:
Now exports NetworkStorageSession::nsCookieStorage().
- platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
Fixes the FIXME.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Declaration of _initWithIdentifier() on NSHTTPCookieStorage.
Source/WebKit:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
Now has m_hasBeenSetToUseStatelessCookieStorage to handle
cookie blocking.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::statelessCookieStorage):
Returns singleton empty, deny-all cookie storage for cookie blocking.
(WebKit::NetworkDataTaskCocoa::applyCookieBlockingPolicy):
Instead of just decision making, this now applies the policy.
(WebKit::NetworkDataTaskCocoa::applyCookiePartitioningPolicy):
New method.
(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
Now blocks cookies for domains where cookies will be purged anyway.
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
Now blocks cookies for domains where cookies will be purged anyway.
(WebKit::shouldChangePartition): Deleted.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:]):
Now downgrades for blocked cookies instead of partitioned cookies.
(-[WKNetworkSessionDelegate URLSession:task:_schemeUpgraded:completionHandler:]):
Now downgrades for blocked cookies instead of partitioned cookies.
LayoutTests:
- http/tests/resourceLoadStatistics/add-blocking-to-redirect-expected.txt: Added.
- http/tests/resourceLoadStatistics/add-blocking-to-redirect.html: Added.
- http/tests/resourceLoadStatistics/add-partitioning-to-redirect.html:
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context-expected.txt: Added.
- http/tests/resourceLoadStatistics/non-prevalent-resources-can-access-cookies-in-a-third-party-context.html: Added.
- http/tests/resourceLoadStatistics/partitioned-and-unpartitioned-cookie-with-partitioning-timeout.html:
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect-expected.txt: Added.
- http/tests/resourceLoadStatistics/remove-blocking-in-redirect.html: Added.
- http/tests/resourceLoadStatistics/remove-partitioning-from-redirect-expected.txt: Removed.
- http/tests/resourceLoadStatistics/remove-partitioning-from-redirect.html: Removed.
Test case reworked and is now remove-partitioning-in-redirect.html.
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect-expected.txt: Added.
- http/tests/resourceLoadStatistics/remove-partitioning-in-redirect.html: Added.
- platform/ios/TestExpectations:
New tests marked as [ Pass ] for iOS.
- platform/mac-wk2/TestExpectations:
New tests marked as [ Pass ] for High Sierra+.
- platform/wk2/TestExpectations:
New tests skipped for WK2 in general.
- 11:09 AM Changeset in webkit [227075] by
-
- 12 edits2 adds in trunk
REGRESSION (r222795): Cardiogram never signs in
https://bugs.webkit.org/show_bug.cgi?id=181693
<rdar://problem/36286293>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Exempt Cardiogram from the XHR header restrictions in r222795.
Following r222795 only Dashboard widgets are allowed to set arbitrary XHR headers.
However Cardiogram also depends on such functionality.
Test: fast/xmlhttprequest/set-dangerous-headers-from-file-when-setting-enabled.html
- page/Settings.yaml:
- platform/RuntimeApplicationChecks.h:
- platform/cocoa/RuntimeApplicationChecksCocoa.mm:
(WebCore::IOSApplication::isCardiogram):
- xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setRequestHeader):
Source/WebKit:
Exempt Cardiogram from the XHR header restrictions in r222795.
Following r222795 only Dashboard widgets are allowed to set arbitrary XHR headers.
However Cardiogram also depends on such functionality.
- Shared/WebPreferences.yaml:
- UIProcess/API/Cocoa/WKWebView.mm:
(shouldAllowSettingAnyXHRHeaderFromFileURLs):
(-[WKWebView _initializeWithConfiguration:]):
- UIProcess/Cocoa/VersionChecks.h:
Source/WTF:
Add macro define for future iOS.
- wtf/spi/darwin/dyldSPI.h:
LayoutTests:
Adds a test to ensure that a file URL can set forbidden XHR headers when the setting
allowSettingAnyXHRHeaderFromFileURLs is enabled.
- fast/xmlhttprequest/set-dangerous-headers-from-file-when-setting-enabled-expected.txt: Added.
- fast/xmlhttprequest/set-dangerous-headers-from-file-when-setting-enabled.html: Added.
- 11:01 AM Changeset in webkit [227074] by
-
- 3 edits5 adds in trunk
ASSERTION FAILED: !m_completionHandler in PingHandle::~PingHandle()
https://bugs.webkit.org/show_bug.cgi?id=181746
<rdar://problem/36586248>
Reviewed by Chris Dumez.
Source/WebCore:
Call PingHandle::pingLoadComplete() with an error when NSURLConnection queries
whether the ping is able to respond to an authentication request. (Pings do not
respond to authenticate requests.) It will call the completion handler, nullify
the completion handler, and deallocate the PingHandle. Nullifying the completion
handler is necessary to avoid the assertion failure in ~PingHandle().
Test: http/tests/misc/before-unload-load-image.html
- platform/network/PingHandle.h:
LayoutTests:
Adds a test to ensure that loading a protected image from a beforeunload handler
does not cause an assertion failure.
- http/tests/misc/before-unload-load-image-expected.txt: Added.
- http/tests/misc/before-unload-load-image.html: Added.
- http/tests/misc/resources/before-unload-in-subframe-child.html: Added.
- http/tests/misc/resources/protected/protected-image.php: Added.
- 10:57 AM Changeset in webkit [227073] by
-
- 3 edits in trunk/Source/WebCore
WebCoreResourceHandleAsOperationQueueDelegate/ResourceHandleCFURLConnectionDelegateWithOperationQueue may
be deleted in main thread callback
https://bugs.webkit.org/show_bug.cgi?id=181747
<rdar://problem/36588120>
Reviewed by Alex Christensen.
Retain the delegate (e.g. WebCoreResourceHandleAsOperationQueueDelegate) before scheduling
a main thread callback and blocking on a semaphore for its reply because the main thread
callback can do anything, including deleting the delegate, before the non-main thread
has a chance to execute. For instance, a PingHandle will delete itself (and hence delete
its resource handle delegate) in most of the code paths invoked by the delegate.
- platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp:
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willSendRequest):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::didReceiveResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::willCacheResponse):
(WebCore::ResourceHandleCFURLConnectionDelegateWithOperationQueue::canRespondToProtectionSpace):
- platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willSendRequest:redirectResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:canAuthenticateAgainstProtectionSpace:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
(-[WebCoreResourceHandleAsOperationQueueDelegate connection:willCacheResponse:]):
- 10:41 AM Changeset in webkit [227072] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Super long URL string causes bad wrapping in Resources detail sidebar
https://bugs.webkit.org/show_bug.cgi?id=181617
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-17
Reviewed by Brian Burg.
- UserInterface/Views/DetailsSection.css:
(.details-section > .content > .group > .row.simple > .value):
Set the break to all characters.
- 10:26 AM Changeset in webkit [227071] by
-
- 2 edits in trunk/Source/WTF
[Win] Compile error: 'wtf/text/icu/TextBreakIteratorICU.h' not found.
https://bugs.webkit.org/show_bug.cgi?id=181744
<rdar://problem/36582562>
Reviewed by Alex Christensen.
Add WTF folders to forwarding headers directories.
- wtf/PlatformWin.cmake:
- 10:07 AM Changeset in webkit [227070] by
-
- 6 edits in trunk/Source/WebCore
'fetch' event may be sent to a service worker before its state is set to 'activated'
https://bugs.webkit.org/show_bug.cgi?id=181698
<rdar://problem/36554856>
Reviewed by Youenn Fablet.
'fetch' event may be sent to a service worker before its state is set to 'activated'.
When the registration's active worker needs to intercept a load, and its state is 'activating',
we queue the request to send the fetch event in SWServerWorker::m_whenActivatedHandlers.
Once the SWServerWorker::setState() is called with 'activated' state, we then call the
handlers in m_whenActivatedHandlers to make send the fetch event now that the worker is
activated. The issue is that even though the worker is activated and its state was set to
'activated' on Storage process side, we had not yet notified the ServiceWorker process
of the service worker's new state yet.
To address the issue, we now make sure that SWServerWorker::m_whenActivatedHandlers are
called *after* we've sent the IPC to the ServiceWorker process to update the worker's
state to 'activated'. Also, we now call ServiceWorkerFetch::dispatchFetchEvent()
asynchronously in a postTask() as the service worker's state is also updated asynchronously
in a postTask. This is as per specification [1], which says to "queue a task" to fire
the fetch event.
[1] https://w3c.github.io/ServiceWorker/#on-fetch-request-algorithm (step 18)
No new tests, covered by imported/w3c/web-platform-tests/service-workers/service-worker/fetch-waits-for-activate.https.html
which hits the new assertion without the fix.
- workers/service/context/ServiceWorkerFetch.cpp:
(WebCore::ServiceWorkerFetch::dispatchFetchEvent):
Add assertions to make sure that we dispatch the fetch event on the right worker and
that the worker is in 'activated' state.
- workers/service/context/ServiceWorkerThread.cpp:
(WebCore::ServiceWorkerThread::postFetchTask):
Queue a task to fire the fetch event as per:
We need to match the specification exactly here or things will happen in the wrong
order. In particular, things like "update registration state" and "update worker state"
might happen *after* firing the fetch event, even though the IPC for "update registration/worker
state" was sent before the "fire fetch event" one, because the code for updating a registration/
worker state already queues a task, as per the specification.
- workers/service/server/SWServerRegistration.cpp:
(WebCore::SWServerRegistration::updateWorkerState):
- workers/service/server/SWServerRegistration.h:
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::setState):
Move code to send the IPC to the Service Worker process whenever the service worker's state
needs to be updated from SWServerRegistration::updateWorkerState() to SWServerWorker::setState().
This way, we can make sure the IPC is sent *before* we call the m_whenActivatedHandlers handlers,
as they may also send IPC to the Service Worker process, and we need to make sure this IPC happens
after so that the service worker is in the right state.
- 9:36 AM Changeset in webkit [227069] by
-
- 2 edits in trunk/Source/WebCore
Page.cpp only sees forward declaration of ApplicationStateChangeListener when ENABLE(VIDEO) is off
https://bugs.webkit.org/show_bug.cgi?id=181713
Patch by Stephan Szabo <stephan.szabo@sony.com> on 2018-01-17
Reviewed by Darin Adler.
No new tests (build fix).
- page/Page.cpp: Add include for ApplicationStateChangeListener
- 9:07 AM Changeset in webkit [227068] by
-
- 25 edits in trunk
Add injected bundle SPI to replace subresource URLs when dropping or pasting rich content
https://bugs.webkit.org/show_bug.cgi?id=181637
<rdar://problem/36508471>
Reviewed by Tim Horton.
Source/WebCore:
Before carrying out blob URL conversion for pasted or dropped rich content, let the editor client replace
subresource URLs in WebKit2 by calling out to new injected bundle SPI. See comments below for more detail.
Tests: WKAttachmentTests.InjectedBundleReplaceURLsWhenPastingAttributedString
WKAttachmentTests.InjectedBundleReplaceURLWhenPastingImage
- editing/Editor.cpp:
(WebCore::Editor::clientReplacementURLForResource):
- editing/Editor.h:
Add a new helper to call out to the editor client for a URL string to replace a given ArchiveResource. In
WebKit2, this calls out to the injected bundle's newreplacementURLForResource
SPI hook.
- editing/cocoa/WebContentReaderCocoa.mm:
(WebCore::shouldReplaceSubresourceURL):
(WebCore::replaceRichContentWithAttachments):
(WebCore::replaceSubresourceURLsWithURLsFromClient):
Add a new static helper to replace subresource URLs in the given DocumentFragment with URLs supplied by the
editor client. Additionally builds a list of ArchiveResources that have not been replaced, for use at call sites
so that we don't unnecessarily create more Blobs for ArchiveResources that have already been replaced.
(WebCore::createFragmentAndAddResources):
(WebCore::sanitizeMarkupWithArchive):
Tweak web content reading codepaths to first replace subresource URLs with editor-client-supplied URLs.
(WebCore::WebContentReader::readImage):
(WebCore::shouldConvertToBlob): Deleted.
Rename this helper to shouldReplaceSubresourceURL, blob URL replacement is no longer the only scenario in which
we replace resource URLs, but in both cases, we still want to ignorehttp:
-family anddata:
URLs.
- loader/EmptyClients.cpp:
- page/EditorClient.h:
Source/WebKit:
Add new injected bundle SPI, replacementURLForResource, which clients may use to provide a replacement URL to
represent an archive resource, given the resource's data and MIME type.
- WebProcess/InjectedBundle/API/APIInjectedBundleEditorClient.h:
(API::InjectedBundle::EditorClient::replacementURLForResource):
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInEditingDelegate.h:
- WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
Add replacementURLForResource, and also bump the current injected bundle editor client version to 2.
- WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
(-[WKWebProcessPlugInBrowserContextController _setEditingDelegate:]):
- WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:
(WebKit::InjectedBundlePageEditorClient::replacementURLForResource):
- WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::replacementURLForResource):
- WebProcess/WebCoreSupport/WebEditorClient.h:
Source/WebKitLegacy/mac:
Add a stub implementation of replacementURLForResource. See WebCore and WebKit ChangeLogs for more detail.
- WebCoreSupport/WebEditorClient.h:
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::replacementURLForResource):
Source/WebKitLegacy/win:
Add a stub implementation of replacementURLForResource. See WebCore and WebKit ChangeLogs for more detail.
- WebCoreSupport/WebEditorClient.cpp:
(WebEditorClient::replacementURLForResource):
- WebCoreSupport/WebEditorClient.h:
Tools:
Add 2 new API tests to exercise injected bundle SPI for supplying replacement URLs when pasting an image, and an
attributed string containing multiple NSTextAttachments. See WebKit and WebCore ChangeLogs for more detail.
- TestWebKitAPI/Tests/WebKitCocoa/BundleEditingDelegatePlugIn.mm:
(-[BundleEditingDelegatePlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[BundleEditingDelegatePlugIn _webProcessPlugInBrowserContextController:replacementURLForResource:mimeType:]):
Implement the new Objective-C bundle SPI to look up the incoming MIME type in the dictionary supplied via the
"MIMETypeToReplacementURLMap" bundle initialization parameter, and return it.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(webViewForTestingAttachments):
(-[TestWKWebView tagsInBody]):
(-[TestWKWebView expectElementTagsInOrder:]):
(-[TestWKWebView expectElementTag:toComeBefore:]):
Add a test helper to check that the given list of element tags appears in the document body. Also, reimplement
the existing -expectElementTag:toComeBefore: as a special case of -expectElementTagsInOrder:.
(TestWebKitAPI::TEST):
- WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::InjectedBundlePage):
- 9:00 AM Changeset in webkit [227067] by
-
- 4 edits in trunk
[EME][GStreamer] Add the full-sample encryption support in the GStreamer ClearKey decryptor
https://bugs.webkit.org/show_bug.cgi?id=180080
Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-17
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Currently the GStreamer clearKey decryptor doesn't support the full-sample encryption,
where the buffer is entirely encrypted, it supports only the sub-sample encryption.
Test: media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse.html
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
(webKitMediaClearKeyDecryptorDecrypt):
LayoutTests:
- platform/wpe/TestExpectations:
This patch fixes the crash of the test clearKey-cenc-audio-playback-mse.
- 6:30 AM Changeset in webkit [227066] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed follow-up to r227051.
- platform/graphics/cairo/CairoOperations.h: Fix declaration of the
fillRoundedRect() function by removing the bool parameter that's not
used at all in the definition. This went unspotted due to the unified
source build including the implementation file before fillRoundedRect()
usage in GrapihcsContextCairo.cpp, leaving the declaration undefined
and instead using the definition directly.
- 5:57 AM WebKitGTK/2.18.x edited by
- (diff)
- 5:06 AM Changeset in webkit [227065] by
-
- 10 edits in trunk/Source
[Cairo] Don't mirror global alpha and image interpolation quality state values in PlatformContextCairo
https://bugs.webkit.org/show_bug.cgi?id=181725
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Don't duplicate global alpha and image interpolation quality state
values on the PlatformContextCairo. Instead, retrieve them from
the managing GraphicsContextState when necessary.
For Cairo operations, the FillSource and StrokeSource containers now
store the global alpha value, using it during the operation executions.
For drawNativeImage(), the global alpha and interpolation quality values
are passed through arguments.
In PlatformContextCairo, the two values are no longer stored on the
internally-managed stack, and the getter-setter pairs for the two values
are removed. In drawSurfaceToContext(), the two values are now expected
to be passed through the method arguments.
No new tests -- no change in behavior.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::prepareForFilling):
(WebCore::Cairo::prepareForStroking):
(WebCore::Cairo::drawPathShadow):
(WebCore::Cairo::fillCurrentCairoPath):
(WebCore::Cairo::FillSource::FillSource):
(WebCore::Cairo::StrokeSource::StrokeSource):
(WebCore::Cairo::strokeRect):
(WebCore::Cairo::strokePath):
(WebCore::Cairo::drawGlyphs):
(WebCore::Cairo::drawNativeImage):
(WebCore::Cairo::State::setGlobalAlpha): Deleted.
(WebCore::Cairo::State::setImageInterpolationQuality): Deleted.
- platform/graphics/cairo/CairoOperations.h:
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::setPlatformAlpha):
(WebCore::GraphicsContext::setPlatformImageInterpolationQuality):
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::save):
(WebCore::PlatformContextCairo::drawSurfaceToContext):
(WebCore::PlatformContextCairo::State::State): Deleted.
(WebCore::PlatformContextCairo::setImageInterpolationQuality): Deleted.
(WebCore::PlatformContextCairo::imageInterpolationQuality const): Deleted.
(WebCore::PlatformContextCairo::globalAlpha const): Deleted.
(WebCore::PlatformContextCairo::setGlobalAlpha): Deleted.
- platform/graphics/cairo/PlatformContextCairo.h:
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):
Source/WebKit:
- Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit::ShareableBitmap::paint):
Adjust the PlatformContextCairo::drawSurfaceToContext() invocation.
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::convertCairoSurfaceToShareableBitmap): Ditto.
- 3:23 AM Changeset in webkit [227064] by
-
- 10 edits1 add in trunk
WebDriver: add support for test expectations
https://bugs.webkit.org/show_bug.cgi?id=180420
Reviewed by Carlos Alberto Lopez Perez.
Tools:
Add support for parsing test expectations from a JSON file and mark tests on collection accordingly.
- Scripts/run-webdriver-tests: Get the retval from process_results().
- Scripts/webkitpy/thirdparty/init.py:
(AutoinstallImportHook._install_pytest): Install also py because pytest needs it.
- Scripts/webkitpy/webdriver_tests/pytest_runner.py:
(TestExpectationsMarker): Plugin to mark tests based on given expectations.
(TestExpectationsMarker.init): Initialize expectations.
(TestExpectationsMarker.pytest_collection_modifyitems): Mark tests if needed,
(run): Create and use TestExpectationsMarker plugin.
- Scripts/webkitpy/webdriver_tests/webdriver_selenium_executor.py:
(WebDriverSeleniumExecutor.run): Pass expectations to pytest_runner.
- Scripts/webkitpy/webdriver_tests/webdriver_test_runner.py:
(WebDriverTestRunner.init): Create a TestExpectations and pass it to the runners.
(WebDriverTestRunner.run): Do not count results here.
(WebDriverTestRunner.process_results): Rename print_results() as process_results() since it now returns the
amount of failures. Printing the test summary while processing results will be made optional in a follow up
patch.
(WebDriverTestRunner.process_results.report): Return the amount of failures.
- Scripts/webkitpy/webdriver_tests/webdriver_test_runner_selenium.py:
(WebDriverTestRunnerSelenium.init): Initialize _expectations.
(WebDriverTestRunnerSelenium.collect_tests): Do not include skipped tests.
(WebDriverTestRunnerSelenium.run): Stop returning the tests count.
- Scripts/webkitpy/webdriver_tests/webdriver_test_runner_w3c.py:
(WebDriverTestRunnerW3C.init): Initialize _expectations.
(WebDriverTestRunnerW3C.collect_tests): Do not include skipped tests.
(WebDriverTestRunnerW3C._scan_directory): Ditto.
(WebDriverTestRunnerW3C.run): Stop returning the tests count.
- Scripts/webkitpy/webdriver_tests/webdriver_w3c_executor.py:
(WebDriverW3CExecutor.run): Pass expectations to pytest_runner.
WebDriverTests:
Add initial test expectations. For now I'm only adding the W3C test expectations, selenium ones will be added in
a follow up patch.
- TestExpectations.json: Added.
- 3:21 AM Changeset in webkit [227063] by
-
- 2 edits in trunk/Tools
Unreviewed WPE gardening. Mark some known unit test failures.
- TestWebKitAPI/glib/TestExpectations.json:
- 3:16 AM Changeset in webkit [227062] by
-
- 3 edits in trunk/Tools
[GTK][WPE] Use the same subtest names in GTK and WPE unit tests
https://bugs.webkit.org/show_bug.cgi?id=181724
Reviewed by Philippe Normand.
We currently use /webkit2/foo/bar for GTK and /wpe/foo/bar for WPE. Many of the tests are common, so there's no
reason to use different names. This way we can refer to the same test names for both and we can share the
expectations in the TestExpectations.json file.
- TestWebKitAPI/glib/TestExpectations.json:
- TestWebKitAPI/glib/WebKitGLib/TestMain.h: Use /webkit/foo/bar in GTK and WPE.
- 3:10 AM Changeset in webkit [227061] by
-
- 4 edits in trunk/Source/WebCore
REGRESSION(r226973/r226974): Four multimedia tests failing
https://bugs.webkit.org/show_bug.cgi?id=181696
Reviewed by Carlos Garcia Campos.
This patch reverts some of the changes of the above revisions so as to fix layout test failures.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Properly
prepare stalled event when an error was detected.
(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): Revert to previous version.
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::didLoadingProgress const):
Emit progress event also when streaming but not when an error was
detected.
(WebCore::MediaPlayerPrivateGStreamer::totalBytes const): use isLiveStream like everywhere else.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init): Revert to keep-alive FALSE by default.
- 3:07 AM Changeset in webkit [227060] by
-
- 2 edits in trunk/Tools
Unreviewed. Increase the slow timeout of GTK and WPE unit tests.
We are using now a lower default timeout, so multiplying by 5 is no longer enough for some of the WTF
tests. Multiply by 10 so that we get the same slow timeout as before, 50.
- glib/api_test_runner.py:
(TestRunner._run_test_glib):
(TestRunner._run_google_test):
- 2:37 AM Changeset in webkit [227059] by
-
- 1 copy in releases/WebKitGTK/webkit-2.19.6
WebKitGTK+ 2.19.6
- 2:36 AM Changeset in webkit [227058] by
-
- 4 edits in trunk
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.19.6 release.
.:
- Source/cmake/OptionsGTK.cmake: Bump version numbers.
Source/WebKit:
- gtk/NEWS: Add release notes for 2.19.6.
- 2:06 AM Changeset in webkit [227057] by
-
- 4 edits2 adds in trunk
[GTK] Duplicated symbols in libjavascriptcoregtk and libwebkit2gtk can cause crashes in production builds
https://bugs.webkit.org/show_bug.cgi?id=179914
Reviewed by Žan Doberšek.
Source/WebKit:
Add symbols detected by check-for-global-bss-symbols-in-webkigtk-libs to the version script.
- webkitglib-symbols.map:
Tools:
Add two scripts to be run by dist-check step when releasing. One is to detect symbols duplicated in
libjavascriptcoregtk and libwebkit2gtk that should be included to the version script. The other one is to ensure
all symbols listed in the script are present in the library.
- Scripts/check-for-global-bss-symbols-in-webkigtk-libs: Added.
(bss_symbols):
- Scripts/check-for-invalid-symbols-in-version-script: Added.
(script_symbols):
- Scripts/make-dist:
(Distcheck.build):
(Distcheck):
(Distcheck.check_symbols):
(Distcheck.check):
- 2:04 AM Changeset in webkit [227056] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Propagate the parameters when restarting glib api tests after a crash
https://bugs.webkit.org/show_bug.cgi?id=181722
Reviewed by Žan Doberšek.
I forgot to pass the parameters to run() when restarting.
- glib/glib_test_runner.py:
(GLibTestRunner.run):
- 1:35 AM Changeset in webkit [227055] by
-
- 4 edits in trunk/Source/WebCore
[Cairo] Move prepareForFilling(), prepareForStroking() code to CairoOperations
https://bugs.webkit.org/show_bug.cgi?id=181721
Reviewed by Carlos Garcia Campos.
Move the prepareForFilling() and prepareForStroking() code off of the
PlatformContextCairo class and into static functions inside the
CairoOperations implementation files. The original methods weren't
called from any place other than the Cairo operations, and they only
operated with the cairo_t object that's stored in and retrievable from
the PlatformContextCairo object.
No new tests -- no change in behavior.
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::reduceSourceByAlpha):
(WebCore::Cairo::prepareCairoContextSource):
(WebCore::Cairo::clipForPatternFilling):
(WebCore::Cairo::prepareForFilling):
(WebCore::Cairo::prepareForStroking):
(WebCore::Cairo::drawPathShadow):
(WebCore::Cairo::fillCurrentCairoPath):
(WebCore::Cairo::strokeRect):
(WebCore::Cairo::strokePath):
(WebCore::Cairo::drawGlyphs):
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::reduceSourceByAlpha): Deleted.
(WebCore::prepareCairoContextSource): Deleted.
(WebCore::PlatformContextCairo::prepareForFilling): Deleted.
(WebCore::PlatformContextCairo::prepareForStroking): Deleted.
(WebCore::PlatformContextCairo::clipForPatternFilling): Deleted.
- platform/graphics/cairo/PlatformContextCairo.h:
- 1:34 AM Changeset in webkit [227054] by
-
- 4 edits28 copies3 adds2 deletes in trunk/LayoutTests
Update web platform tests for Visual Viewport API
https://bugs.webkit.org/show_bug.cgi?id=181689
Patch by Ali Juma <ajuma@chromium.org> on 2018-01-17
Reviewed by Alex Christensen.
Rename the test directory from 'viewport' to 'visual-viewport', and update
viewport-resize-event-on-load-overflowing-page.html.
This corresponds to the following upstream commits:
1) https://github.com/w3c/web-platform-tests/commit/f878fee4df619e55c7fbfce1a2ff5e5d4d83a03b
2) https://github.com/w3c/web-platform-tests/commit/03a684d63e62d85cffed38bc942f468692d7d54f
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/viewport/w3c-import.log: Removed.
- web-platform-tests/visual-viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc-expected.txt.
- web-platform-tests/visual-viewport/viewport-no-resize-event-on-overflow-recalc.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-no-resize-event-on-overflow-recalc.html.
- web-platform-tests/visual-viewport/viewport-read-size-causes-layout-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-read-size-causes-layout-expected.txt.
- web-platform-tests/visual-viewport/viewport-read-size-causes-layout.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-read-size-causes-layout.html.
- web-platform-tests/visual-viewport/viewport-read-size-in-iframe-causes-layout-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout-expected.txt.
- web-platform-tests/visual-viewport/viewport-read-size-in-iframe-causes-layout.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-read-size-in-iframe-causes-layout.html.
- web-platform-tests/visual-viewport/viewport-resize-event-on-load-overflowing-page-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page-expected.txt.
- web-platform-tests/visual-viewport/viewport-resize-event-on-load-overflowing-page.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-resize-event-on-load-overflowing-page.html.
- web-platform-tests/visual-viewport/viewport-scrollbars-cause-resize-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-scrollbars-cause-resize-expected.txt.
- web-platform-tests/visual-viewport/viewport-scrollbars-cause-resize.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-scrollbars-cause-resize.html.
- web-platform-tests/visual-viewport/viewport-type-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-type-expected.txt.
- web-platform-tests/visual-viewport/viewport-type.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-type.html.
- web-platform-tests/visual-viewport/viewport-unscaled-scale-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scale-expected.txt.
- web-platform-tests/visual-viewport/viewport-unscaled-scale-iframe-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scale-iframe-expected.txt.
- web-platform-tests/visual-viewport/viewport-unscaled-scale-iframe.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scale-iframe.html.
- web-platform-tests/visual-viewport/viewport-unscaled-scale.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scale.html.
- web-platform-tests/visual-viewport/viewport-unscaled-scroll-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-expected.txt.
- web-platform-tests/visual-viewport/viewport-unscaled-scroll-iframe-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt.
- web-platform-tests/visual-viewport/viewport-unscaled-scroll-iframe.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe.html.
- web-platform-tests/visual-viewport/viewport-unscaled-scroll.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll.html.
- web-platform-tests/visual-viewport/viewport-unscaled-size-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt.
- web-platform-tests/visual-viewport/viewport-unscaled-size-iframe-expected.txt: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt.
- web-platform-tests/visual-viewport/viewport-unscaled-size-iframe.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe.html.
- web-platform-tests/visual-viewport/viewport-unscaled-size.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size.html.
- web-platform-tests/visual-viewport/viewport_support.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/viewport/viewport_support.js.
- web-platform-tests/visual-viewport/w3c-import.log: Added.
LayoutTests:
- TestExpectations: Updated test path.
- platform/ios/imported/w3c/web-platform-tests/visual-viewport/viewport-unscaled-scroll-iframe-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-scroll-iframe-expected.txt.
- platform/ios/imported/w3c/web-platform-tests/visual-viewport/viewport-unscaled-size-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-expected.txt.
Updated expectation since tests in a directory named 'viewport' but not 'visual-viewport' get a flexible viewport on iOS.
- platform/ios/imported/w3c/web-platform-tests/visual-viewport/viewport-unscaled-size-iframe-expected.txt: Renamed from LayoutTests/platform/ios/imported/w3c/web-platform-tests/viewport/viewport-unscaled-size-iframe-expected.txt.
- 1:24 AM Changeset in webkit [227053] by
-
- 3 edits1 add in trunk
DFG::Node::convertToConstant needs to clear the varargs flags
https://bugs.webkit.org/show_bug.cgi?id=181697
<rdar://problem/36497332>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js: Added.
(doIndexOf):
(bar):
(i.bar):
Source/JavaScriptCore:
- dfg/DFGNode.h:
(JSC::DFG::Node::convertToConstant):
- 1:22 AM Changeset in webkit [227052] by
-
- 2 edits in trunk/Source/WebKit
Clear Caches volatile storage as a memory optimization.
https://bugs.webkit.org/show_bug.cgi?id=181643
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-17
Reviewed by Chris Dumez.
clearMemoryRepresentation clears m_caches which exposes data potentially stored in m_volatileStorage.
Clearing m_volatileStorage allows releasing some memory.
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::clearMemoryRepresentation):
- 1:20 AM Changeset in webkit [227051] by
-
- 13 edits in trunk/Source
[Cairo] Use one-time ShadowBlur objects when performing shadowing
https://bugs.webkit.org/show_bug.cgi?id=181720
Reviewed by Carlos Garcia Campos.
Source/WebCore:
Don't maintain a ShadowBlur object in the PlatformContextCairo class.
Instead, use temporary ShadowBlur objects whenever shadowing is needed,
providing all the shadow state information to it and drawing shadow into
the given GraphicsContext object.
ShadowBlur constructors are cleaned up. The 'shadows ignored' argument
can now also be provided to the variant that accepts explicit shadow
attributes, but the argument is false by default.
In CairoOperations, the ShadowBlurUsage functionality is rolled into the
new ShadowState class. ShadowState parameter is now used for operations
that might need to perform shadow painting. Call sites are modified
accordingly.
Cairo::State::setShadowValues() and Cairo::State::clearShadow() are
removed, since the ShadowBlur object that was modified through those is
being removed from the PlatformContextCairo class. We still have to flip
the Y-axis of the shadow offset in GraphicsContext::setPlatformShadow()
when shadows are ignoring transformations.
No new tests -- no change in behavior.
- platform/graphics/ShadowBlur.cpp:
(WebCore::ShadowBlur::ShadowBlur):
- platform/graphics/ShadowBlur.h:
- platform/graphics/cairo/CairoOperations.cpp:
(WebCore::Cairo::drawPathShadow):
(WebCore::Cairo::drawGlyphsShadow):
(WebCore::Cairo::ShadowState::ShadowState):
(WebCore::Cairo::ShadowState::isVisible const):
(WebCore::Cairo::ShadowState::isRequired const):
(WebCore::Cairo::fillRect):
(WebCore::Cairo::fillRoundedRect):
(WebCore::Cairo::fillRectWithRoundedHole):
(WebCore::Cairo::fillPath):
(WebCore::Cairo::strokeRect):
(WebCore::Cairo::strokePath):
(WebCore::Cairo::drawGlyphs):
(WebCore::Cairo::drawNativeImage):
(WebCore::Cairo::State::setShadowValues): Deleted.
(WebCore::Cairo::State::clearShadow): Deleted.
(WebCore::Cairo::ShadowBlurUsage::ShadowBlurUsage): Deleted.
(WebCore::Cairo::ShadowBlurUsage::required const): Deleted.
- platform/graphics/cairo/CairoOperations.h:
- platform/graphics/cairo/FontCairo.cpp:
(WebCore::FontCascade::drawGlyphs):
- platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContext::restorePlatformState):
(WebCore::GraphicsContext::drawNativeImage):
(WebCore::GraphicsContext::fillPath):
(WebCore::GraphicsContext::strokePath):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clearPlatformShadow):
(WebCore::GraphicsContext::strokeRect):
(WebCore::GraphicsContext::platformFillRoundedRect):
(WebCore::GraphicsContext::fillRectWithRoundedHole):
- platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::drawSurfaceToContext):
- platform/graphics/cairo/PlatformContextCairo.h:
(WebCore::PlatformContextCairo::shadowBlur): Deleted.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::paintCurrentFrame):
Source/WebKit:
- Shared/cairo/ShareableBitmapCairo.cpp:
(WebKit::ShareableBitmap::paint):
Adjust the PlatformContextCairo::drawSurfaceToContext() invocation.
- WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp:
(WebKit::convertCairoSurfaceToShareableBitmap): Ditto.
- 12:59 AM Changeset in webkit [227050] by
-
- 8 edits in trunk
CanvasImageData: createImageData() parameter should not be nullable
https://bugs.webkit.org/show_bug.cgi?id=181670
Reviewed by Sam Weinig.
Source/WebCore:
createImageData() method on the CanvasImageData interface should not
treat the ImageData parameter as nullable, but should instead reject any
null values with a TypeError, as demanded by the specification.
No new tests -- current tests covering createImageData(null) are updated
to properly cover new behavior of throwing a TypeError exception.
- html/canvas/CanvasImageData.idl:
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::createImageData const):
- html/canvas/CanvasRenderingContext2DBase.h:
LayoutTests:
Update createImageData(null) tests that should now throw a TypeError.
- canvas/philip/tests/2d.imageData.create1.zero.html:
- fast/canvas/canvas-createImageData-expected.txt:
- fast/canvas/canvas-createImageData.html:
Jan 16, 2018:
- 11:14 PM Changeset in webkit [227049] by
-
- 13 edits in trunk
[CMake] Remove WebCoreDerivedSources library target
https://bugs.webkit.org/show_bug.cgi?id=181664
Patch by Fujii Hironori <Fujii Hironori> on 2018-01-16
Reviewed by Carlos Garcia Campos.
Source/WebCore:
After unified source build has been introduced, CMake Visual
Studio build suffers complicated unnecessary recompilation issues
because Visual Studio invokes scripts twice in both WebCore and
WebCoreDerivedSources projects (Bug 181117).
WebCoreDerivedSources library has been introduced in r198766 to
avoid command line length limit of CMake Ninja build on macOS.
Fortunately, unified source build has reduced the number of source
files to compile, WebCore doesn't need to be split anymore.
No new tests (No behavior change)
- CMakeLists.txt: Replaced WebCore_DERIVED_SOURCES with WebCore_SOURCES. Removed WebCoreDerivedSources library target.
Do not compile each JavaScript Builtins.cpp files because the unified source WebCoreJSBuiltins.cpp is already included.
- PlatformGTK.cmake: Replaced WebCore_DERIVED_SOURCES with WebCore_SOURCES.
- PlatformWin.cmake: Ditto.
Source/WebKit:
- CMakeLists.txt: Do not link WebCoreDerivedSources.
- PlatformGTK.cmake: Appended WebCore after WebCorePlatformGTK in WebKit_LIBRARIES.
- PlatformWin.cmake: Ditto.
Source/WebKitLegacy:
- PlatformWin.cmake: Do not link WebCoreDerivedSources.
Tools:
- TestWebKitAPI/PlatformWPE.cmake: Do not link WebCoreDerivedSources.
- TestWebKitAPI/PlatformWin.cmake: Ditto.
- 11:04 PM Changeset in webkit [227048] by
-
- 3 edits in trunk/Tools
Move Debug Test262, Release Test262 and Performance queues to Sierra
https://bugs.webkit.org/show_bug.cgi?id=181692
Unreviewed
- 9:40 PM Changeset in webkit [227047] by
-
- 3 edits in trunk/Source/JavaScriptCore
Allow dangerous disabling of poison
https://bugs.webkit.org/show_bug.cgi?id=181685
<rdar://problem/36546265>
Reviewed by Keith Miller.
Some tools such as leak detectors and such like to look at real
pointers, and poisoned ones confuse them. Add a JSC option to
disable poisoning, but log to the console when this is done.
- runtime/JSCPoison.cpp:
(JSC::initializePoison):
- runtime/Options.h:
- 9:38 PM Changeset in webkit [227046] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r226880. rdar://problem/36569616
- 9:05 PM Changeset in webkit [227045] by
-
- 3 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r227010. rdar://problem/36567991
- 9:05 PM Changeset in webkit [227044] by
-
- 2 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226995. rdar://problem/36568070
- 9:05 PM Changeset in webkit [227043] by
-
- 7 edits2 adds in branches/safari-605-branch
Cherry-pick r226916. rdar://problem/36568057
- 9:05 PM Changeset in webkit [227042] by
-
- 3 edits2 adds in branches/safari-605-branch
Cherry-pick r227009. rdar://problem/36567976
- 9:05 PM Changeset in webkit [227041] by
-
- 4 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r227006. rdar://problem/36567998
- 9:04 PM Changeset in webkit [227040] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r227000. rdar://problem/36567987
- 9:04 PM Changeset in webkit [227039] by
-
- 2 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226996. rdar://problem/36568089
- 9:04 PM Changeset in webkit [227038] by
-
- 2 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226994. rdar://problem/36568074
- 9:04 PM Changeset in webkit [227037] by
-
- 13 edits in branches/safari-605-branch
Cherry-pick r226993. rdar://problem/36567965
- 9:04 PM Changeset in webkit [227036] by
-
- 2 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226992. rdar://problem/36568053
- 9:04 PM Changeset in webkit [227035] by
-
- 15 edits1 add in branches/safari-605-branch/Source
Cherry-pick r226990. rdar://problem/36568066
- 9:04 PM Changeset in webkit [227034] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r226982. rdar://problem/36567983
- 9:04 PM Changeset in webkit [227033] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r226951. rdar://problem/36568098
- 9:04 PM Changeset in webkit [227032] by
-
- 2 edits in branches/safari-605-branch/Source/WebKit
Cherry-pick r226946. rdar://problem/36568013
- 9:04 PM Changeset in webkit [227031] by
-
- 2 edits in branches/safari-605-branch/Source/JavaScriptCore
Cherry-pick r226942. rdar://problem/36567945
- 9:04 PM Changeset in webkit [227030] by
-
- 10 edits4 adds in branches/safari-605-branch
Cherry-pick r226930. rdar://problem/36567972
- 9:04 PM Changeset in webkit [227029] by
-
- 4 edits in branches/safari-605-branch
Cherry-pick r226929. rdar://problem/36567962
- 9:04 PM Changeset in webkit [227028] by
-
- 17 edits in branches/safari-605-branch/Source/JavaScriptCore
Cherry-pick r226928. rdar://problem/36567945
- 9:04 PM Changeset in webkit [227027] by
-
- 28 edits1 copy in branches/safari-605-branch/Source
Cherry-pick r226920. rdar://problem/36567951
- 9:04 PM Changeset in webkit [227026] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r226919. rdar://problem/36567968
- 9:04 PM Changeset in webkit [227025] by
-
- 3 edits2 adds in branches/safari-605-branch
Cherry-pick r226908. rdar://problem/36568060
- 9:04 PM Changeset in webkit [227024] by
-
- 14 edits1 add in branches/safari-605-branch
Cherry-pick r226907. rdar://problem/36567949
- 9:04 PM Changeset in webkit [227023] by
-
- 12 edits in branches/safari-605-branch
Cherry-pick r226906. rdar://problem/36568006
- 9:03 PM Changeset in webkit [227022] by
-
- 19 edits5 adds in branches/safari-605-branch
Cherry-pick r226904. rdar://problem/36568017
- 9:03 PM Changeset in webkit [227021] by
-
- 3 edits in branches/safari-605-branch/LayoutTests
Cherry-pick r226902. rdar://problem/36567966
- 9:03 PM Changeset in webkit [227020] by
-
- 2 edits in branches/safari-605-branch/Source/WebCore
Cherry-pick r226898. rdar://problem/36568103
- 9:03 PM Changeset in webkit [227019] by
-
- 3 edits in branches/safari-605-branch/Source/JavaScriptCore
Cherry-pick r226895. rdar://problem/36568085
- 9:03 PM Changeset in webkit [227018] by
-
- 3 edits1 add in branches/safari-605-branch
Cherry-pick r226881. rdar://problem/36567948
- 9:03 PM Changeset in webkit [227017] by
-
- 6 edits4 adds in branches/safari-605-branch
Cherry-pick r226842. rdar://problem/36568025
- 9:03 PM Changeset in webkit [227016] by
-
- 3 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226821. rdar://problem/36568038
- 9:03 PM Changeset in webkit [227015] by
-
- 5 edits1 add in branches/safari-605-branch
Cherry-pick r226806. rdar://problem/36567946
- 9:03 PM Changeset in webkit [227014] by
-
- 9 edits in branches/safari-605-branch/Source
Cherry-pick r226790. rdar://problem/36568094
- 9:03 PM Changeset in webkit [227013] by
-
- 3 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226765. rdar://problem/36568045
- 9:03 PM Changeset in webkit [227012] by
-
- 2 edits in branches/safari-605-branch/Source/WebInspectorUI
Cherry-pick r226674. rdar://problem/36568078
- 5:34 PM Changeset in webkit [227011] by
-
- 5 edits2 adds in trunk
Can't scroll iframe after toggling it to display:none and back
https://bugs.webkit.org/show_bug.cgi?id=181708
rdar://problem/13234778
Reviewed by Tim Horton.
Source/WebCore:
Nothing updated the FrameView's set of scrollable areas when a subframe came back from display:none.
Mirror the existing virtual removeChild() by making addChild() virtual, and using it to mark
the FrameView's scrollable area set as dirty.
Test: tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe.html
- page/FrameView.cpp:
(WebCore::FrameView::addChild):
- page/FrameView.h:
- platform/ScrollView.h:
LayoutTests:
- tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe-expected.txt: Added.
- tiled-drawing/scrolling/non-fast-region/non-fast-scrollable-region-hide-show-iframe.html: Added.
- 4:49 PM Changeset in webkit [227010] by
-
- 3 edits in trunk/Source/WebCore
SWServerWorker::m_contextConnectionIdentifier may get out of date
https://bugs.webkit.org/show_bug.cgi?id=181687
<rdar://problem/36548111>
Reviewed by Brady Eidson.
SWServerWorker::m_contextConnectionIdentifier may get out of date. This happens when the
context process crashes and is relaunched.
No new tests, added assertion in terminateWorkerInternal() that hits without this fix.
- workers/service/server/SWServer.cpp:
(WebCore::SWServer::runServiceWorker):
(WebCore::SWServer::terminateWorkerInternal):
(WebCore::SWServer::unregisterServiceWorkerClient):
- workers/service/server/SWServerWorker.h:
(WebCore::SWServerWorker::setContextConnectionIdentifier):
- 4:04 PM Changeset in webkit [227009] by
-
- 3 edits2 adds in trunk
Reset MediaSourcePrivateAVFObjC's m_sourceBufferWithSelectedVideo when the underlying SourceBufferPrivate is removed.
https://bugs.webkit.org/show_bug.cgi?id=181707
<rdar://problem/34809474>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-source-remove-unload-crash.html
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
LayoutTests:
- media/media-source/media-source-remove-unload-crash-expected.txt: Added.
- media/media-source/media-source-remove-unload-crash.html: Added.
- 3:17 PM Changeset in webkit [227008] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Canvas tab: typing a "space" in the QuickConsole shouldn't trigger a recording
https://bugs.webkit.org/show_bug.cgi?id=181706
<rdar://problem/36558221>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/CanvasOverviewContentView.js:
(WI.CanvasOverviewContentView):
(WI.CanvasOverviewContentView.prototype._handleSpace):
- 3:08 PM Changeset in webkit [227007] by
-
- 20 edits17 copies in trunk
[WebAuthN] Implement dummy WebAuthN IDLs
https://bugs.webkit.org/show_bug.cgi?id=181627
<rdar://problem/36459864>
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
- web-platform-tests/credential-management/credentialscontainer-create-basics.https-expected.txt:
Source/WebCore:
This patch implements dummy WebAuthN IDLs and connect them with Credential Management as well.
All implementations in this patch are subject to change when real implementations land. The
purpose here on the other hand is to have IDLs, bindings and implementations connected. This
patch should handle all IDLs that we need.
No tests.
- CMakeLists.txt:
- DerivedSources.make:
- Modules/credentialmanagement/CredentialCreationOptions.h:
- Modules/credentialmanagement/CredentialCreationOptions.idl:
- Modules/credentialmanagement/CredentialRequestOptions.h:
- Modules/credentialmanagement/CredentialRequestOptions.idl:
- Modules/webauthn/AuthenticatorAssertionResponse.cpp: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp.
(WebCore::AuthenticatorAssertionResponse::AuthenticatorAssertionResponse):
(WebCore::AuthenticatorAssertionResponse::~AuthenticatorAssertionResponse):
(WebCore::AuthenticatorAssertionResponse::authenticatorData):
(WebCore::AuthenticatorAssertionResponse::signature):
(WebCore::AuthenticatorAssertionResponse::userHandle):
- Modules/webauthn/AuthenticatorAssertionResponse.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h.
- Modules/webauthn/AuthenticatorAssertionResponse.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Modules/webauthn/AuthenticatorAttestationResponse.cpp: Copied from Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h.
(WebCore::AuthenticatorAttestationResponse::AuthenticatorAttestationResponse):
(WebCore::AuthenticatorAttestationResponse::~AuthenticatorAttestationResponse):
(WebCore::AuthenticatorAttestationResponse::attestationObject):
- Modules/webauthn/AuthenticatorAttestationResponse.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h.
- Modules/webauthn/AuthenticatorAttestationResponse.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Modules/webauthn/AuthenticatorResponse.cpp: Copied from Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h.
(WebCore::AuthenticatorResponse::AuthenticatorResponse):
(WebCore::AuthenticatorResponse::~AuthenticatorResponse):
(WebCore::AuthenticatorResponse::clientDataJSON):
- Modules/webauthn/AuthenticatorResponse.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h.
- Modules/webauthn/AuthenticatorResponse.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::PublicKeyCredential::rawId):
(WebCore::PublicKeyCredential::response):
(WebCore::PublicKeyCredential::getClientExtensionResults):
(WebCore::PublicKeyCredential::isUserVerifyingPlatformAuthenticatorAvailable):
- Modules/webauthn/PublicKeyCredential.h:
- Modules/webauthn/PublicKeyCredential.idl:
- Modules/webauthn/PublicKeyCredentialCreationOptions.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h.
- Modules/webauthn/PublicKeyCredentialCreationOptions.idl: Added.
- Modules/webauthn/PublicKeyCredentialDescriptor.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h.
- Modules/webauthn/PublicKeyCredentialDescriptor.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Modules/webauthn/PublicKeyCredentialRequestOptions.h: Copied from Source/WebCore/Modules/credentialmanagement/CredentialCreationOptions.h.
- Modules/webauthn/PublicKeyCredentialRequestOptions.idl: Copied from Source/WebCore/Modules/credentialmanagement/CredentialRequestOptions.h.
- Modules/webauthn/PublicKeyCredentialType.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Modules/webauthn/PublicKeyCredentialType.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
LayoutTests:
Modify some tests to reflect the update.
- http/wpt/credential-management/credentialscontainer-create-basics.https-expected.txt:
- http/wpt/credential-management/credentialscontainer-create-basics.https.html:
- http/wpt/credential-management/credentialscontainer-get-basics.https-expected.txt:
- http/wpt/credential-management/credentialscontainer-get-basics.https.html:
- 3:06 PM Changeset in webkit [227006] by
-
- 4 edits in trunk/Source/WebCore
AX: Do not trigger layout in updateBackingStore() unless it is safe to do so
https://bugs.webkit.org/show_bug.cgi?id=181703
<rdar://problem/36365706>
Reviewed by Ryosuke Niwa.
Document::isSafeToUpdateStyleOrLayout() can tell whether it is safe to run layout.
Unable to create test with WebInspector involved.
- accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::updateBackingStore):
- dom/Document.cpp:
(WebCore::Document::isSafeToUpdateStyleOrLayout const):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::updateLayout):
(WebCore::isSafeToUpdateStyleOrLayout): Deleted.
- dom/Document.h:
- 2:52 PM Changeset in webkit [227005] by
-
- 4 edits2 deletes in trunk
Unreviewed, rolling out r226962.
The LayoutTest added with this change is a flaky timeout.
Reverted changeset:
"Support for preconnect Link headers"
https://bugs.webkit.org/show_bug.cgi?id=181657
https://trac.webkit.org/changeset/226962
- 2:35 PM Changeset in webkit [227004] by
-
- 7 edits6 deletes in trunk
Unreviewed, rolling out r226937.
Tests added with this change are failing due to a missing
exception check.
Reverted changeset:
"[JSC] NumberPrototype::extractRadixFromArgs incorrectly cast
double to int32_t"
https://bugs.webkit.org/show_bug.cgi?id=181182
https://trac.webkit.org/changeset/226937
- 2:26 PM Changeset in webkit [227003] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: Make Console's Execution Context picker stand out when it is non-default
https://bugs.webkit.org/show_bug.cgi?id=181628
<rdar://problem/36492044>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-16
Reviewed by Matt Baker.
- UserInterface/Views/HierarchicalPathComponent.css:
(.hierarchical-path-component > .selector-arrows):
- UserInterface/Views/HierarchicalPathComponent.js:
(WI.HierarchicalPathComponent.prototype.set selectorArrows):
Switch to SVG element so we can style the arrows.
- UserInterface/Views/QuickConsole.css:
(.quick-console > .navigation-bar > .hierarchical-path .execution-context):
(.quick-console > .navigation-bar > .hierarchical-path .execution-context .separator):
(.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context):
(.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows):
Styles for the execution context picker. We hide the unused separator
and instead use margin so that the selected background and border don't
have an extra 7px on the right/end side.
- UserInterface/Views/QuickConsole.js:
(WI.QuickConsole.prototype._activeExecutionContextChanged):
Toggle the non-default class name on the path.
- 2:04 PM Changeset in webkit [227002] by
-
- 2 edits in branches/safari-605-branch/Source/WTF
Cherry-pick r226983. rdar://problem/36480409
- 1:58 PM Changeset in webkit [227001] by
-
- 12 edits in trunk/Source/WebKit
Merge sync and async code paths for getting context menus
https://bugs.webkit.org/show_bug.cgi?id=181423
Reviewed by Joseph Pecoraro.
What a mess. We had a code path for asynchronous context menu generation and a different one for synchronous context menu generation.
This makes it so there is just one. At the API level we see if there is an asynchronous delegate to call, then synchronous.
There is a subtle theoretical change in behaviour because m_page.contextMenuClient().showContextMenu is now called for the asynchronous
case and it wasn't before, but the one C API client that uses this has nullptr as it's WKPageShowContextMenuCallback, so we won't break anything!
- UIProcess/API/APIContextMenuClient.h:
(API::ContextMenuClient::getContextMenuFromProposedMenu):
(API::ContextMenuClient::getContextMenuFromProposedMenuAsync): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageContextMenuClient):
- UIProcess/API/glib/WebKitContextMenuClient.cpp:
- UIProcess/WebContextMenuProxy.h:
- UIProcess/gtk/WebContextMenuProxyGtk.cpp:
(WebKit::WebContextMenuProxyGtk::show):
(WebKit::WebContextMenuProxyGtk::showContextMenuWithItems):
- UIProcess/gtk/WebContextMenuProxyGtk.h:
- UIProcess/mac/WebContextMenuProxyMac.h:
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::showContextMenuWithItems):
(WebKit::WebContextMenuProxyMac::showContextMenu):
- UIProcess/wpe/WebContextMenuProxyWPE.h:
- 1:52 PM Changeset in webkit [227000] by
-
- 2 edits in trunk/Source/WebCore
Text looks bad on some CSS spec pages
https://bugs.webkit.org/show_bug.cgi?id=181700
rdar://problem/36552107
Reviewed by Tim Horton.
When making new tiles in a TileController, we failed to set their "supports antialiased layer text"
setting, so tile caches could end up with a mixture of layers that do and do not support
antialiased layer text.
No tests because the tiled drawing tests don't dump out tiles inside of tile caches.
- platform/graphics/ca/TileController.cpp:
(WebCore::TileController::createTileLayer):
- 1:14 PM Changeset in webkit [226999] by
-
- 7 edits in branches/safari-605-branch/Source
Versioning.
- 1:10 PM Changeset in webkit [226998] by
-
- 2 edits in tags/Safari-605.1.23/Source/WTF
Cherry-pick r226983. rdar://problem/36480409
- 1:07 PM Changeset in webkit [226997] by
-
- 1 copy in tags/Safari-605.1.23
Tag Safari-605.1.23.
- 12:54 PM Changeset in webkit [226996] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles: pressing down key should select first item from completion list when focusing on empty value
https://bugs.webkit.org/show_bug.cgi?id=181633
<rdar://problem/36501797>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SpreadsheetTextField.js:
(WI.SpreadsheetTextField.prototype._updateCompletions):
- 12:31 PM Changeset in webkit [226995] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: Long value causes bad wrapping
https://bugs.webkit.org/show_bug.cgi?id=181618
<rdar://problem/36485175>
Reviewed by Joseph Pecoraro.
Wrap long values only when editing.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .value.editing):
- 12:23 PM Changeset in webkit [226994] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: clicking on the white space after the property sometimes places a blank property at the wrong index
https://bugs.webkit.org/show_bug.cgi?id=179585
<rdar://problem/35490780>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
(WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved):
Layout call is needed to update data-property-index attributes on the property views.
- 12:21 PM Changeset in webkit [226993] by
-
- 13 edits in trunk
REGRESSION(r221292): svg/animations/animateTransform-pattern-transform.html crashes with security assertion
https://bugs.webkit.org/show_bug.cgi?id=179986
Reviewed by Simon Fraser.
Source/WebCore:
This patch reverts all or parts of the following changes-sets
<http://trac.webkit.org/changeset/221292>
<http://trac.webkit.org/changeset/197967>
<http://trac.webkit.org/changeset/196670>
A JS statement like this:
var item = text.x.animVal.getItem(0);
Creates the following C++ objects:
SVGAnimatedListPropertyTearOff<SVGLengthListValues> for 'text.x'
SVGListPropertyTearOff<SVGLengthListValues> for 'text.x.animVal'
SVGPropertyTearOff<SVGLengthValue> for 'text.x.animVal.getItem(0)'
If 'item' changes, the attribute 'x' of the element '<text>' will change
as well. But this binding works only in one direction. If the attribute
'x' of the element '<text>' changes, e.g.:
text.setAttribute('x', '10,20,30');
This will detach 'item' from the element <text> and any further changes
in 'item' won't affect the attribute 'x' of element <text>.
The one direction binding can only work if this chain of tear-off objects
is kept connected. This is implemented by RefCounted back pointers from
SVGPropertyTearOff and SVGListPropertyTearOff to SVGAnimatedListPropertyTearOff.
The security crashes and the memory leaks are happening because of the
raw forward pointers:
-- SVGAnimatedListPropertyTearOff maintains raw pointers of type
SVGListPropertyTearOff for m_baseVal and m_animVal
-- The m_wrappers and m_animatedWrappers of SVGAnimatedListPropertyTearOff
are vectors of raw pointer Vector<SVGLength*>
To control the life cycle of the raw pointers, SVGListPropertyTearOff and
SVGPropertyTearOff call SVGAnimatedListPropertyTearOff::propertyWillBeDeleted()
to notify it they are going to be deleted. In propertyWillBeDeleted(), we
clear the pointers so they are not used after being freed. This mechanism
has been error-prone and we've never got it 100% right.
The solution we need to adopt with SVG tear-off objects is the following:
-- All the forward pointers should be weak pointers.
-- All the back pointers should be ref pointers.
This solution may not look intuitive but it solves the bugs and keeps the
one direction binding. The forward weak pointers allows the tear-off
objects to go aways if no reference from JS exists. The back ref pointers
maintains the chain of objects and guarantees the correct binding.
- svg/SVGPathSegList.h:
- svg/SVGTransformList.h:
- svg/properties/SVGAnimatedListPropertyTearOff.h:
(WebCore::SVGAnimatedListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedListPropertyTearOff::animVal):
- svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
- svg/properties/SVGAnimatedProperty.h:
(WebCore::SVGAnimatedProperty::isAnimatedListTearOff const):
(WebCore::SVGAnimatedProperty::propertyWillBeDeleted): Deleted.
- svg/properties/SVGAnimatedPropertyTearOff.h:
- svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
- svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::initializeValuesAndWrappers):
(WebCore::SVGListProperty::getItemValuesAndWrappers):
(WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
(WebCore::SVGListProperty::replaceItemValuesAndWrappers):
(WebCore::SVGListProperty::removeItemValuesAndWrappers):
(WebCore::SVGListProperty::appendItemValuesAndWrappers):
(WebCore::SVGListProperty::createWeakPtr const):
- svg/properties/SVGListPropertyTearOff.h:
(WebCore::SVGListPropertyTearOff::removeItemFromList):
(WebCore::SVGListPropertyTearOff::~SVGListPropertyTearOff): Deleted.
- svg/properties/SVGPropertyTearOff.h:
(WebCore::SVGPropertyTearOff::createWeakPtr const):
(WebCore::SVGPropertyTearOff::~SVGPropertyTearOff):
LayoutTests:
- svg/dom/SVGAnimatedListPropertyTearOff-leak.html:
- 12:20 PM Changeset in webkit [226992] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Network Tab - Export HAR Context Menu not working
https://bugs.webkit.org/show_bug.cgi?id=181694
<rdar://problem/36479197>
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2018-01-16
Reviewed by Brian Burg.
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
Ensurethis
works in the handler.
- 11:47 AM Changeset in webkit [226991] by
-
- 4 edits in trunk/Source/WebKit
Don't link WebKit target directly to JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=181688
Reviewed by Alex Christensen.
It's safer if we only link to the next lower-layered lib in the stack, so let's just link
directly to WebCore instead.
And WPE doesn't need to specify it twice.
- CMakeLists.txt:
- PlatformMac.cmake:
- PlatformWPE.cmake:
- 11:46 AM Changeset in webkit [226990] by
-
- 15 edits1 add in trunk/Source
AVSampleBufferDisplayLayer should be flushed when application activates
https://bugs.webkit.org/show_bug.cgi?id=181623
<rdar://problem/36487738>
Reviewed by Darin Adler.
Source/WebCore:
No new tests, I wasn't able to reproduce it in a test.
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::addApplicationStateChangeListener): New.
(WebCore::Document::removeApplicationStateChangeListener): Ditto.
(WebCore::Document::forEachApplicationStateChangeListener): Ditto.
- dom/Document.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::registerWithDocument): Register for application state changes.
(WebCore::HTMLMediaElement::unregisterWithDocument): Unregister.
(WebCore::HTMLMediaElement::applicationWillResignActive): Pass through to the player.
(WebCore::HTMLMediaElement::applicationDidBecomeActive): Ditto.
- html/HTMLMediaElement.h:
- page/ApplicationStateChangeListener.h: Added.
(WebCore::ApplicationStateChangeListener::applicationWillResignActive):
(WebCore::ApplicationStateChangeListener::applicationDidBecomeActive):
- page/Page.cpp:
(WebCore::Page::forEachDocument):
(WebCore::Page::applicationWillResignActive):
(WebCore::Page::applicationDidEnterBackground):
(WebCore::Page::applicationWillEnterForeground):
(WebCore::Page::applicationDidBecomeActive):
- page/Page.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::applicationWillResignActive):
(WebCore::MediaPlayer::applicationDidBecomeActive):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::applicationWillResignActive):
(WebCore::MediaPlayerPrivateInterface::applicationDidBecomeActive):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC): Switch
to release logging.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueCorrectedVideoSample): Split out of enqueueVideoSample.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample): Move code that updates
the display later to enqueueCorrectedVideoSample. Rearrange logic to the image painter sample
buffer has the correct timestamp.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerErrorDidChange): Switch to release logging.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::layerStatusDidChange): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::applicationDidBecomeActive): f the display
layer is in the "failed" state, flush the renderer and update the display mode.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::ensureLayers): Switch to release logging.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::cancelLoad): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::prepareToPlay): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateDisplayMode): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::play): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pause): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setVolume): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateReadyState) Ditto.:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::logChannel const): Ditto.
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateSampleTimes): Deleted.
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::applicationWillResignActive): Call page.
(WebKit::WebPage::applicationDidEnterBackground): Ditto, let it call libWebRTCProvider.
(WebKit::WebPage::applicationWillEnterForeground): Call page.
(WebKit::WebPage::applicationDidBecomeActive): Ditto, let it call libWebRTCProvider.
- 11:41 AM Changeset in webkit [226989] by
-
- 4 edits in trunk/Source/WebCore
PAL should link to JavaScriptCore rather than WTF
https://bugs.webkit.org/show_bug.cgi?id=181683
Reviewed by Konstantin Tokarev.
Source/WebCore:
Do not link directly to JavaScriptCore. Get it via PAL.
- CMakeLists.txt:
Source/WebCore/PAL:
Currently we are accidentally linking WTF into both libjavascriptcoregtk and libwebkit2gtk,
which could in theory cause problems similar to bug #179914. There are only two possible
solutions:
- Ensure WTF always built as a shared library if JavaScriptCore is built as a shared library
- Change PAL to link to JavaScriptCore instead of WTF
The problem here is caused by layer hopping. It can never be a problem if each library only
links to the next lowest-layered library.
The downside is this allows PAL to use JavaScriptCore symbols, which is not super desirable.
I came up with a hack yesterday for PAL to link to WTF usually, but link to JavaScriptCore
instead if ${JavaScriptCore_LIBRARY_TYPE} MATCHES "SHARED" AND ${WTF_LIBRARY_TYPE} MATCHES
"STATIC". But that is getting too complex and introduces more possibility for platform-
dependent build failures. Better to just accept that PAL will depend on JavaScriptCore.
Note: I'm not brave enough to update the XCode build. We can use that to enforce that no
JavaScriptCore symbols actually get used, I guess....
- pal/CMakeLists.txt:
- 11:26 AM Changeset in webkit [226988] by
-
- 2 edits in tags/Safari-606.1.1.1/Source/WebCore
Cherry-pick r226915. rdar://problem/36480797
- 11:26 AM Changeset in webkit [226987] by
-
- 6 edits2 adds in tags/Safari-606.1.1.1
Cherry-pick r226796. rdar://problem/35947650
- 11:26 AM Changeset in webkit [226986] by
-
- 6 edits in tags/Safari-606.1.1.1
Cherry-pick r226787. rdar://problem/36324813
- 11:25 AM Changeset in webkit [226985] by
-
- 13 edits in tags/Safari-606.1.1.1
Cherry-pick r226779. rdar://problem/36299316
- 11:12 AM Changeset in webkit [226984] by
-
- 16 edits1 copy1 add in trunk
Add pop-up policy support in website policies.
https://bugs.webkit.org/show_bug.cgi?id=181544.
rdar://problem/30521400.
Patch by Zach Li <zachli@apple.com> on 2018-01-16
Reviewed by Alex Christensen.
Source/WebCore:
- loader/DocumentLoader.h:
Introduce pop-up policy getter and setter. Initialize
the policy as Default.
(WebCore::DocumentLoader::popUpPolicy const):
(WebCore::DocumentLoader::setPopUpPolicy):
- page/DOMWindow.cpp:
(WebCore::DOMWindow::allowPopUp):
Pop-up policy specified on a per-page basis holds
precedence over the global policy. If no pop-up policy
is specified during navigation, global policy is used.
Source/WebKit:
- Shared/WebsitePoliciesData.cpp: Encode and decode
pop-up policy.
(WebKit::WebsitePoliciesData::encode const):
(WebKit::WebsitePoliciesData::decode):
(WebKit::WebsitePoliciesData::applyToDocumentLoader):
Apply the pop-up policy from website policies to the
document loader.
- Shared/WebsitePoliciesData.h:
- Shared/WebsitePopUpPolicy.h:
Added for declaring enum WebsitePopUpPolicy.
- UIProcess/API/APIWforebsitePolicies.cpp:
Include pop-up policy in website policies.
(API::WebsitePolicies::WebsitePolicies):
(API::WebsitePolicies::data):
- UIProcess/API/APIWebsitePolicies.h:
- UIProcess/API/C/WKWebsitePolicies.cpp:
Added C API to get and set pop-up policy on
website policies.
(WKWebsitePoliciesGetPopUpPolicy):
(WKWebsitePoliciesSetPopUpPolicy):
- UIProcess/API/C/WKWebsitePolicies.h:
- UIProcess/API/Cocoa/_WKWebsitePolicies.h:
Added Obj-C API to get and set pop-up policy
on website policies.
- UIProcess/API/Cocoa/_WKWebsitePolicies.mm:
(-[_WKWebsitePolicies setPopUpPolicy:]):
(-[_WKWebsitePolicies popUpPolicy]):
- WebKit.xcodeproj/project.pbxproj:
Added WebsitePopUpPolicy.h.
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
Added pop-up-check.html.
- TestWebKitAPI/Tests/WebKit/pop-up-check.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
(-[PopUpPoliciesDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[PopUpPoliciesDelegate _webView:decidePolicyForNavigationAction:decisionHandler:]):
(-[PopUpPoliciesDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
- 11:09 AM Changeset in webkit [226983] by
-
- 2 edits in trunk/Source/WTF
[Win] JSC compile error in runtime/DateConversion.cpp.
https://bugs.webkit.org/show_bug.cgi?id=181690
<rdar://problem/36480409>
Reviewed by Brent Fulgham.
Add 'text/win' folder to list of forwarding headers directories.
- wtf/PlatformWin.cmake:
- 11:04 AM Changeset in webkit [226982] by
-
- 2 edits in trunk/Source/WebCore
Crash playing audio-only HLS stream via hls.js (MSE)
https://bugs.webkit.org/show_bug.cgi?id=181691
<rdar://problem/32967295>
Reviewed by Eric Carlson.
Add a weak-link check to the block called by -[AVSampleBufferDisplayLayer requestMediaDataWhenReadyOnQueue:usingBlock:].
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::SourceBufferPrivateAVFObjC::notifyClientWhenReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::setVideoLayer):
- 10:59 AM Changeset in webkit [226981] by
-
- 15 edits in trunk/Source/WebCore
Rename applyHorizontalScale/applyVerticalScale in SVG filters, and related cleanup
https://bugs.webkit.org/show_bug.cgi?id=181684
Reviewed by Alex Christensen.
Rename the confusing applyHorizontalScale/applyVerticalScale to scaledByFilterResolution(),
and have it take and return a FloatSize. Change callers to do math in terms of FloatSizes.
Add inflate(size) to each of the rect classes.
- platform/graphics/FloatRect.h:
(WebCore::FloatRect::inflate):
- platform/graphics/IntRect.h:
(WebCore::IntRect::inflate):
- platform/graphics/LayoutRect.h:
(WebCore::LayoutRect::inflate):
- platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::platformApplySoftware):
- platform/graphics/filters/FEDropShadow.cpp:
(WebCore::FEDropShadow::determineAbsolutePaintRect):
(WebCore::FEDropShadow::platformApplySoftware):
- platform/graphics/filters/FEGaussianBlur.cpp:
(WebCore::FEGaussianBlur::calculateUnscaledKernelSize):
(WebCore::FEGaussianBlur::calculateKernelSize):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):
(WebCore::FEGaussianBlur::platformApplySoftware):
- platform/graphics/filters/FEGaussianBlur.h:
- platform/graphics/filters/FEMorphology.cpp:
(WebCore::FEMorphology::determineAbsolutePaintRect):
(WebCore::FEMorphology::platformApplySoftware):
- platform/graphics/filters/FEOffset.cpp:
(WebCore::FEOffset::determineAbsolutePaintRect):
(WebCore::FEOffset::platformApplySoftware):
- platform/graphics/filters/Filter.h:
(WebCore::Filter::setSourceImage):
(WebCore::Filter::scaledByFilterResolution const):
(WebCore::Filter::applyHorizontalScale const): Deleted.
(WebCore::Filter::applyVerticalScale const): Deleted.
- platform/graphics/filters/FilterOperations.cpp:
(WebCore::outsetSizeForBlur):
- rendering/FilterEffectRenderer.h:
- svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::scaledByFilterResolution const):
(WebCore::SVGFilter::applyHorizontalScale const): Deleted.
(WebCore::SVGFilter::applyVerticalScale const): Deleted.
- svg/graphics/filters/SVGFilter.h:
- 10:58 AM Changeset in webkit [226980] by
-
- 2 edits in trunk/PerformanceTests
Fix Mac CMake build after r222900
- MallocBench/MallocBench/CMakeLists.txt:
The mbmalloc target doesn't exist if we're not in developer mode, so only use it if we are.
- 10:55 AM Changeset in webkit [226979] by
-
- 7 edits in trunk/Source
[CMake][Mac] Fix the build errors
https://bugs.webkit.org/show_bug.cgi?id=181665
Patch by Fujii Hironori <Fujii Hironori> on 2018-01-16
Reviewed by Alex Christensen.
Source/WebCore:
No new tests (No behavior change)
- CMakeLists.txt: Added Modules/paymentrequest/MerchantValidationEvent.idl to compile.
- PlatformMac.cmake: Added Modules/paymentrequest/MerchantValidationEvent.cpp to compile.
Added workers/service/context and Modules/applicationmanifest as forwarding header paths.
Source/WebKit:
- CMakeLists.txt: Added TouchBarMenuData.cpp and TouchBarMenuItemData.cpp to compile.
- PlatformMac.cmake: Added _WKApplicationManifest.mm, WKInspectorWKWebView.mm and WKInspectorWindow.mm to compile.
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _webPageContentProcessCount]): Call WebProcessPool::serviceWorkerProxy() only if ENABLE(SERVICE_WORKER).
- 10:52 AM Changeset in webkit [226978] by
-
- 7 edits in tags/Safari-606.1.1.1/Source
Versioning.
- 10:46 AM Changeset in webkit [226977] by
-
- 19 edits in trunk
[Attachment Support] Provide the
src
of an attachment to the UI delegate when an attachment is inserted
https://bugs.webkit.org/show_bug.cgi?id=181638
<rdar://problem/36508702>
Reviewed by Dan Bernstein.
Source/WebCore:
Adjust the
didInsertAttachment
codepath to additionally propagate the attachment element'ssrc
.
Additionally, fix an issue with insertion and removal client notifications wherein the client can receive
insertion calls without corresponding removal calls, or vice versa. This is an existing issue, but matters more
now because we actually need to access the attachment element for itssrc
when propagating changes to the
client. See below for details.
Test: WKAttachmentTests.AttachmentUpdatesWhenInsertingRichMarkup
- dom/Document.h:
(WebCore::Document::attachmentElementsByIdentifier const):
- editing/Editor.cpp:
(WebCore::Editor::notifyClientOfAttachmentUpdates):
- page/EditorClient.h:
(WebCore::EditorClient::didInsertAttachment):
- page/Frame.cpp:
(WebCore::Frame::setDocument):
When a Frame's document changes, inform the client that the attachments in the previous document are going away.
For each attachment currently connected to the document, we have either (1) already informed the client that it
was inserted, or (2) the attachment is pending an insertion call to the client. If (1) is the case, then we'll
tell the client that the attachment is removed, which will balance out the earlier insertion call. If (2) is the
case, then we'll remove the previously inserted attachment identifier from the set of attachment identifiers
pending insertion, and the client won't be informed of insertions or removals.
Source/WebKit:
Add a
source
parameter to thedidInsertAttachment
codepath for notifying WebKit2 clients when attachment
elements are inserted into the document.
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didInsertAttachment:withSource:]):
(-[WKWebView _didInsertAttachment:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/Cocoa/PageClientImplCocoa.h:
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::didInsertAttachment):
- UIProcess/PageClient.h:
(WebKit::PageClient::didInsertAttachment):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didInsertAttachment):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::didInsertAttachment):
- WebProcess/WebCoreSupport/WebEditorClient.h:
Tools:
Tweak an existing API test to check that the
src
of an attachment element inserted via script matches the
source
provided to the UI delegate via -[WKUIDelegate _webView:didInsertAttachment:withSource:].
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(-[AttachmentUpdateObserver init]):
(-[AttachmentUpdateObserver sourceForIdentifier:]):
(-[AttachmentUpdateObserver _webView:didInsertAttachment:withSource:]):
(TestWebKitAPI::ObserveAttachmentUpdatesForScope::expectSourceForIdentifier):
(TestWebKitAPI::TEST):
(-[AttachmentUpdateObserver _webView:didInsertAttachment:]): Deleted.
- 10:45 AM Changeset in webkit [226976] by
-
- 5 edits in trunk/Source/WebCore
Use traits for animation timing functions
https://bugs.webkit.org/show_bug.cgi?id=181651
Patch by Antoine Quint <Antoine Quint> on 2018-01-16
Reviewed by Dean Jackson.
Cleaning up Dean's previous patch as suggested by Darin's post-commit review comments. The
downcast function can match const automatically and it's a better style to put the * inside
the downcast call rather than outside.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::createTimingFunctionValue):
- platform/animation/TimingFunction.cpp:
(WebCore::operator<<):
(WebCore::TimingFunction::transformTime const):
- platform/animation/TimingFunction.h:
- platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:
(WebCore::toCAMediaTimingFunction):
- 10:29 AM Changeset in webkit [226975] by
-
- 1 copy in tags/Safari-606.1.1.1
New tag.
- 8:01 AM Changeset in webkit [226974] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Live streaming cleanups
https://bugs.webkit.org/show_bug.cgi?id=181672
Reviewed by Michael Catanzaro.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::handleMessage): Switch to
streaming code path when no content-length was reported by the
http source element.
(WebCore::MediaPlayerPrivateGStreamer::totalBytes const): Return early when streaming.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::responseReceived): Emit headers as
an element message, like souphttpsrc.
- 7:59 AM Changeset in webkit [226973] by
-
- 9 edits in trunk/Source/WebCore
[GStreamer] misc fixes and cleanups
https://bugs.webkit.org/show_bug.cgi?id=181647
Reviewed by Michael Catanzaro.
- platform/graphics/MediaPlayer.cpp:
(WebCore::convertEnumerationToString): New utility function to convert preload enum to string.
- platform/graphics/MediaPlayerEnums.h: Ditto.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::load): Debug tweak
(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay): Ditto
(WebCore::MediaPlayerPrivateGStreamer::play): Ditto
(WebCore::MediaPlayerPrivateGStreamer::paused const): Ditto
(WebCore::MediaPlayerPrivateGStreamer::processBufferingStats): Prevent useless state update.
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::updateStates): Debug tweak.
(WebCore::MediaPlayerPrivateGStreamer::setDownloadBuffering): Ditto.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
Remove useless handlesSyncMessage method.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::setMuted): Prevent useless state update.
(WebCore::MediaPlayerPrivateGStreamerBase::muted const): Debug tweak.
(WebCore::MediaPlayerPrivateGStreamerBase::setStreamVolumeElement): Ditto.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webkit_web_src_init): Enable keepAlive by default like in souphttpsrc.
(webKitWebSrcStart): Debug tweak.
(webKitWebSrcQueryWithParent): Ditto.
(webKitWebSrcNeedData): Ditto.
(CachedResourceStreamingClient::responseReceived): Change appsrc
stream-type when we wan't seek. Also update caps like souphttpsrc
does.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.h: Add forward declaration of MediaPlayer.
- platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:
(WebCore::MediaSourceClientGStreamerMSE::append): Fix compilation warning.
- 7:34 AM Changeset in webkit [226972] by
-
- 2 edits in trunk/Source/bmalloc
mbmalloc should only be built in developer mode
https://bugs.webkit.org/show_bug.cgi?id=181654
Reviewed by Carlos Garcia Campos.
- CMakeLists.txt:
- 7:33 AM Changeset in webkit [226971] by
-
- 2 edits in trunk/Source/JavaScriptCore
Test programs should only be built in developer mode
https://bugs.webkit.org/show_bug.cgi?id=181653
Reviewed by Carlos Garcia Campos.
Build test programs only in developer mode, and fix code style.
- shell/CMakeLists.txt:
- 6:18 AM Changeset in webkit [226970] by
-
- 3 edits in trunk/Tools
Unreviewed. Fix GTK unit tests execution in the bots after r226967.
I forgot to pass the environment to the GLibTestRunner and Xvfb was not used in the bots.
- glib/api_test_runner.py:
(TestRunner._run_test_glib): Pass env to GLibTestRunner.
- glib/glib_test_runner.py:
(GLibTestRunner.run): Use given env.
- 4:10 AM Changeset in webkit [226969] by
-
- 2 edits in trunk/Tools
[GTK][WPE] Stop passing --verbose to run-api-tests from the bots
https://bugs.webkit.org/show_bug.cgi?id=181676
Reviewed by Carlos Alberto Lopez Perez.
The option was removed in r226967.
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunGtkAPITests):
(RunWPEAPITests):
- 3:38 AM Changeset in webkit [226968] by
-
- 2 edits in trunk/Tools
Unreviewed. Temporarily bring back --verbose option of api_test_runner.py.
The bots are still passing that option and the step is failing because it was removed in r226967.
- glib/api_test_runner.py:
(add_options):
- 2:42 AM Changeset in webkit [226967] by
-
- 2 edits1 add in trunk/Tools
[GTK][WPE] Improve the way glib tests are run
https://bugs.webkit.org/show_bug.cgi?id=181674
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2018-01-16
Reviewed by Žan Doberšek.
Stop using gtester external program and use our own tester from python directly. This way we no longer need to
parse the tests output to get the results which is causing problems in WPE bot. We can now differentiate between
tests failing due to an expected assert in the test and unexpected crashes.
This also fixes a bug in previous code where we failed to properly detect tests timing out, because gtester was
not showing the subtest name in stdout in case of timeouts.
I've lowered the default timeout from 10 to 5, since we are now properly handling the timeout for every test
case. I've also removed the verbose option, since it was only used by gtester and we now always show the result
of every test case.
- glib/api_test_runner.py:
(TestRunner._run_test_glib): Use GLibTestRunner.
(TestRunner._run_google_test): Wrote tests timing out to stdout too.
(add_options):
- glib/glib_test_runner.py: Added.
(TestTimeout):
(Message):
(Message.init):
(Message.create):
(Message.create.read_unsigned):
(Message.create.read_double):
(Message.create.read_string):
(GLibTestRunner):
(GLibTestRunner.init):
(GLibTestRunner._process_data):
(GLibTestRunner._process_message):
(GLibTestRunner._read_from_pipe):
(GLibTestRunner._read_from_stderr):
(GLibTestRunner._start_timeout):
(GLibTestRunner._start_timeout._alarm_handler):
(GLibTestRunner._stop_timeout):
(GLibTestRunner._subtest_start):
(GLibTestRunner._subtest_message):
(GLibTestRunner._subtest_stderr):
(GLibTestRunner._subtest_end):
(GLibTestRunner.run):
- 12:16 AM Changeset in webkit [226966] by
-
- 5 edits11 adds in trunk/LayoutTests
[EME] Add layout test for the MSE playback of ClearKey encrypted audio and video
https://bugs.webkit.org/show_bug.cgi?id=181594
Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-16
Reviewed by Xabier Rodriguez-Calvar.
Add new layout tests in order to test the playback of ClearKey encrypted content:
clearKey-cenc-audio-playback-mse : Tests the MSE playback of ClearKey encrypted audio track.
clearKey-cenc-video-playback-mse : Tests the MSE playback of ClearKey encrypted video track.
- media/content/encrypted/segments/AudioClearKeyCenc-seg-0.mp4: Added.
- media/content/encrypted/segments/AudioClearKeyCenc-seg-1.mp4: Added.
- media/content/encrypted/segments/AudioClearKeyCenc-seg-2.mp4: Added.
- media/content/encrypted/segments/AudioClearKeyCenc-seg-3.mp4: Added.
These are a simple encrypted audio fragments used in MSE playback.
They have been fragmented and encrypted with BENTO4. https://www.bento4.com/
Use full-sample encryption because they are not NAL Structured.
- media/content/encrypted/segments/VideoClearKeyCenc-seg-1.mp4: Added.
- media/content/encrypted/segments/VideoClearKeyCenc-seg-2.mp4: Added.
- media/content/encrypted/segments/VideoClearKeyCenc-seg-3.mp4: Added.
These are a simple encrypted video fragments used in MSE playback.
They have been fragmented and encrypted with BENTO4. https://www.bento4.com/
Use sub-sample encryption because they are NAL Structured.
- media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse-expected.txt: Added.
- media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse.html: Added.
- media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse-expected.txt: Added.
- media/encrypted-media/clearKey/clearKey-cenc-video-playback-mse.html: Added.
- media/encrypted-media/medias-enc.js:
- platform/gtk/TestExpectations:
- platform/mac/TestExpectations:
- platform/wpe/TestExpectations:
The test clearKey-cenc-audio-playback-mse crashes because the clearKey decryptor plugin doesn't
support yet the Full-sample encryption, see bug 180080.
- 12:13 AM Changeset in webkit [226965] by
-
- 5 edits in trunk
[WPE] Two clearkey tests failing since r226621
https://bugs.webkit.org/show_bug.cgi?id=181532
Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-16
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
Whith a fake initData, we can have a pssh size nul, thus we should check it.
We saw this issue in the subtest "initData longer than 64Kb characters" in
the clearkey-generate-request-disallowed-input layout test.
- platform/encryptedmedia/clearkey/CDMClearKey.cpp:
(WebCore::extractKeyidsLocationFromCencInitData):
LayoutTests:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-generate-request-disallowed-input-expected.txt:
- platform/wpe/imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-unique-origin-expected.txt:
Since r226621 initDataType "cenc" is supported in clearKey, so we should update the expected result of these tests.
- 12:04 AM Changeset in webkit [226964] by
-
- 7 edits in trunk/LayoutTests
[EME] some fixes in clearKey-encrypted-cenc-event LayoutTest
https://bugs.webkit.org/show_bug.cgi?id=181526
Patch by Yacine Bandou <yacine.bandou_ext@softathome.com> on 2018-01-16
Reviewed by Xabier Rodriguez-Calvar.
Update the TestExpectation files as it was done with clearKey-message-cenc-event
LayoutTest, the test should be pass in all platforms except gtk and mac.
Use const or let instead of var in JS when it's possible.
- TestExpectations:
- media/encrypted-media/clearKey/clearKey-encrypted-cenc-event.html:
- media/media-source/media-source-loader-simple.js:
- platform/gtk/TestExpectations:
- platform/mac/TestExpectations:
- platform/wpe/TestExpectations:
Jan 15, 2018:
- 11:03 PM Changeset in webkit [226963] by
-
- 7 edits in trunk/Source/WebInspectorUI
Web Inspector: TabBar redesign: add context menu to TabBar for toggling available tabs
https://bugs.webkit.org/show_bug.cgi?id=181448
<rdar://problem/36383298>
Reviewed by Devin Rousso.
- UserInterface/Base/Main.js:
(WI.loaded):
(WI.contentLoaded):
Reorder production tab classes and default (open) tabs.
(WI.registerTabClass): Removed.
Not used.
- UserInterface/Base/Object.js:
Remove notification that is no longer used.
- UserInterface/Views/GeneralTabBarItem.js:
(WI.GeneralTabBarItem):
(WI.GeneralTabBarItem.prototype.set title):
(WI.GeneralTabBarItem.prototype._handleContextMenuEvent): Deleted.
Remove per-tab context menu (provided Close Tab and Close Other Tabs).
- UserInterface/Views/NewTabContentView.js:
(WI.NewTabContentView):
- UserInterface/Views/TabBar.js:
(WI.TabBar):
(WI.TabBar.prototype._handleContextMenu):
- UserInterface/Views/TabBrowser.js:
(WI.TabBrowser):
(WI.TabBrowser._handleNewTabContextMenu): Deleted.
No longer needed.
- 10:44 PM Changeset in webkit [226962] by
-
- 4 edits2 adds in trunk
Support for preconnect Link headers
https://bugs.webkit.org/show_bug.cgi?id=181657
Reviewed by Darin Adler.
Source/WebCore:
Move the preconnect functionality into its own function, and
also call this function when Link headers are processed.
Test: http/tests/preconnect/link-header-rel-preconnect-http.php
- loader/LinkLoader.cpp:
(WebCore::LinkLoader::loadLinksFromHeader): Call preconnect.
(WebCore::LinkLoader::preconnect): Preconnect to a host functionality moved here.
(WebCore::LinkLoader::preload): RenamedpreloadIfNeeded
topreload
.
(WebCore::LinkLoader::loadLink): Call preconnect.
- loader/LinkLoader.h:
LayoutTests:
Add test to see Link preconnect headers trigger a connection.
- http/tests/preconnect/link-header-rel-preconnect-http-expected.txt: Added.
- http/tests/preconnect/link-header-rel-preconnect-http.php: Added.
- 6:47 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:46 PM WebKitGTK/Gardening/Calendar edited by
- (diff)
- 6:44 PM Changeset in webkit [226961] by
-
- 3 edits in trunk/LayoutTests
Unreviewed GTK layout test gardening
- TestExpectations:
- platform/gtk/TestExpectations:
- 6:36 PM Changeset in webkit [226960] by
-
- 2 edits in trunk/Websites/browserbench.org
ΩUpdate the default hyperlink for Speedometer to Speedometer 2.0.
Rubber-stamped by Saam Barati.
- index.html:
- 6:20 PM Changeset in webkit [226959] by
-
- 2 edits in trunk/Tools
Unreviewed, add Thibault to contributors.json
It's a bit weird to add someone here before their first contribution, but this affects
Bugzilla autocomplete, and that is serious business.
- Scripts/webkitpy/common/config/contributors.json:
- 3:49 PM Changeset in webkit [226958] by
-
- 14 edits in trunk/Source
Improve use of ExportMacros
https://bugs.webkit.org/show_bug.cgi?id=181652
Reviewed by Konstantin Tokarev.
Source/bmalloc:
Disable BEXPORT on Linux ports.
- bmalloc/BExport.h: Check for BUSE(EXPORT_MACROS).
- bmalloc/BPlatform.h: Add BUSE(EXPORT_MACROS) and define it on macOS and iOS.
Source/JavaScriptCore:
- API/JSBase.h: Update a comment.
- inspector/InspectorBackendDispatcher.h: Use a better, yet equivalent, WTF macro.
- runtime/JSExportMacros.h: Simplify the #defines in this file.
Source/WebCore:
Remove a comment.
- platform/PlatformExportMacros.h:
Source/WebCore/PAL:
Remove a comment.
- pal/ExportMacros.h:
Source/WTF:
- wtf/ExportMacros.h: Simplify the #defines in this file.
- wtf/Platform.h: Remove unneeded define. Remove comment that expects all ports to eventually enable the export macros. WPE will never want these. We don't currently want them for GTK either, though how we link GTK has been in flux recently.
- 2:56 PM Changeset in webkit [226957] by
-
- 3 edits3 adds in trunk
image-rendering should affect scaling of border-image
https://bugs.webkit.org/show_bug.cgi?id=169440
Reviewed by Michael Catanzaro.
Source/WebCore:
Test: fast/borders/border-image-pixelated.html
- rendering/style/NinePieceImage.cpp:
(WebCore::NinePieceImage::paint):
LayoutTests:
- fast/borders/border-image-pixelated-expected.html: Added.
- fast/borders/border-image-pixelated.html: Added.
- fast/borders/resources/border-image-pixelated.png: Added.
- 2:02 PM Changeset in webkit [226956] by
-
- 9 edits in trunk
Remove makePoisonedUnique
https://bugs.webkit.org/show_bug.cgi?id=181630
<rdar://problem/36498623>
Reviewed by Mark Lam.
Source/JavaScriptCore:
I added a conversion from std::unique_ptr, so we can just use
std::make_unique and it'll auto-poison when converted.
- bytecode/CodeBlock.h:
(JSC::CodeBlock::makePoisonedUnique): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::makePoisonedUnique): Deleted.
Source/WTF:
I added a conversion from std::unique_ptr, so we can just use
std::make_unique and it'll auto-poison when converted.
- wtf/PoisonedUniquePtr.h:
(WTF::makePoisonedUnique): Deleted.
Tools:
Update tests.
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):
- 1:24 PM Changeset in webkit [226955] by
-
- 2 edits in trunk/Source/WebCore
2.19.3 ACCELERATED_2D_CANVAS support is broken
https://bugs.webkit.org/show_bug.cgi?id=180799
Reviewed by Michael Catanzaro.
- html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::didDraw):
- 1:21 PM Changeset in webkit [226954] by
-
- 3 edits in trunk/Source/WebCore
[Curl] Enable HTTP/2
https://bugs.webkit.org/show_bug.cgi?id=181551
Patch by Basuke Suzuki <Basuke Suzuki> on 2018-01-15
Reviewed by Michael Catanzaro.
Start supporting HTTP/2 protocol. The first step is just enabling the HTTP/2 on Curl backend.
Next step will be to enable multiplexing feature.
No new tests because we don't have HTTP/2 test backend yet.
- platform/network/curl/CurlContext.cpp:
(WebCore::CurlContext::isHttp2Enabled const):
(WebCore::CurlHandle::enableHttp):
(WebCore::CurlHandle::enableHttpGetRequest):
(WebCore::CurlHandle::enableHttpHeadRequest):
(WebCore::CurlHandle::enableHttpPostRequest):
(WebCore::CurlHandle::enableHttpPutRequest):
(WebCore::CurlHandle::setHttpCustomRequest):
- platform/network/curl/CurlContext.h:
- 12:43 PM Changeset in webkit [226953] by
-
- 5 edits in trunk/Source/WebCore
Use a helper function for checked arithmetic in WebGL validation
https://bugs.webkit.org/show_bug.cgi?id=181620
<rdar://problem/36485879>
Reviewed by Eric Carlson.
Eric recommended using a templated helper function to do
a common arithmetic check in WebGL validation.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::validateIndexArrayConservative):
- html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::validateIndexArrayConservative):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::validateIndexArrayPrecise):
(WebCore::WebGLRenderingContextBase::validateDrawArrays):
(WebCore::WebGLRenderingContextBase::validateSimulatedVertexAttrib0):
(WebCore::WebGLRenderingContextBase::simulateVertexAttrib0):
- html/canvas/WebGLRenderingContextBase.h:
(WebCore::WebGLRenderingContextBase::checkedAddAndMultiply): New helper.
- 11:16 AM Changeset in webkit [226952] by
-
- 6 edits in trunk/Source/WebCore
Use traits for animation timing functions
https://bugs.webkit.org/show_bug.cgi?id=181651
<rdar://problem/36525328>
Reviewed by Antoine Quint.
Use the type traits for TimingFunction classes, so
we can is<> and downcast<>.
- css/CSSComputedStyleDeclaration.cpp:
(WebCore::createTimingFunctionValue):
- platform/animation/TimingFunction.cpp:
(WebCore::TimingFunction::transformTime const):
- platform/animation/TimingFunction.h:
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::animationHasStepsTimingFunction):
(WebCore::animationHasFramesTimingFunction):
- platform/graphics/ca/cocoa/PlatformCAAnimationCocoa.mm:
(WebCore::toCAMediaTimingFunction):
- 9:54 AM Changeset in webkit [226951] by
-
- 2 edits in trunk/Source/WebCore
RealtimeMediaSource should be ThreadSafeRefCounted
https://bugs.webkit.org/show_bug.cgi?id=181649
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-15
Reviewed by Eric Carlson.
Difficult to write a test as this is really racy.
RealtimeIncomingVideoSourceCocoa::OnFrame is taking a reference on a background thread
to send a task to the main thread.
This requires it to be thread safe ref counted.
- platform/mediastream/RealtimeMediaSource.h:
- 9:36 AM Changeset in webkit [226950] by
-
- 3 edits in trunk/Tools
[GTK][JHBuild] Tools/gtk/install-dependencies: Package libxfont does not exist anymore in Arch Linux
https://bugs.webkit.org/show_bug.cgi?id=181476
Reviewed by Michael Catanzaro.
Update to xorg-server 1.19.6 which depends on libxfont2, and change
the lists of packages to install libxfont2-devel (or equivalent).
- gtk/install-dependencies:
- gtk/jhbuild.modules:
- 7:49 AM Changeset in webkit [226949] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening
- platform/gtk/TestExpectations: Skip
media/media-fullscreen-pause-inline.html as advised by Eric
Carlson.
- 7:27 AM Changeset in webkit [226948] by
-
- 5 edits in trunk
Prevent useless MediaPlayer mute state notifications
https://bugs.webkit.org/show_bug.cgi?id=181646
Reviewed by Carlos Garcia Campos.
Source/WebCore:
On GTK port the mute change notification was triggering the test
runner to think the whole page mute state had changed and that
media elements were muted. The simplest solution is to propagate
the notification only if the state actually changed.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::muteChanged): Propagate mute notification
only if the mute state actually changed.
LayoutTests:
Unflag tests depending on muted state and media session
restrictions, most of those are now passing.
- platform/gtk/TestExpectations:
- platform/gtk/media/video-controls-no-scripting-expected.txt:
- 2:50 AM Changeset in webkit [226947] by
-
- 3 edits in trunk/Source/WebCore
[GStreamer] Don't wait for draw condition variable when shutting down.
https://bugs.webkit.org/show_bug.cgi?id=180978
Patch by Sebastian Dröge <sebastian@centricular.com> on 2018-01-15
Reviewed by Carlos Garcia Campos.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
(WebCore::MediaPlayerPrivateGStreamerBase::cancelRepaint):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
By also waiting for the draw condition variable while shutting down,
it is possible that the GStreamer video sink is waiting for the main
thread to actually render the current frame, while at the same time
the main thread is waiting for the GStreamer video sink to shut down,
resulting in a deadlock.
- 1:36 AM Changeset in webkit [226946] by
-
- 2 edits in trunk/Source/WebKit
ASSERTION FAILED: m_ptr under WebKit::CacheStorage::Caches::writeRecord
https://bugs.webkit.org/show_bug.cgi?id=181401
<rdar://problem/36379022>
Patch by Youenn Fablet <youenn@apple.com> on 2018-01-15
Reviewed by Darin Adler.
m_isInitialized is true but m_storage is set to nullptr when calling writeRecord.
The only case seems to be if:
- We are doing persistent storage
- We are traversing the storage to do the initialization. At that point m_storage is set to a correct value.
- clearMemoryRepresentation is called, thus setting m_storage to nullptr and m_isInitialized to false.
We fix this by making clearMemoryRepresentation a no-op if we are initializing the caches.
clearMemoryRepresentation is about cleaning the in-memory information of the caches and the memory representation is empty at init time.
Nullifying m_storage is a memory consumption optimization.
- NetworkProcess/cache/CacheStorageEngineCaches.cpp:
(WebKit::CacheStorage::Caches::clearMemoryRepresentation):
- 12:45 AM Changeset in webkit [226945] by
-
- 5 edits1 delete in trunk
REGRESSION(r226266): [GTK] RELEASE_ASSERT(reservedZoneSize >= minimumReservedZoneSize) in JSC::VM::updateStackLimits
https://bugs.webkit.org/show_bug.cgi?id=181438
<rdar://problem/36376724>
Reviewed by Carlos Garcia Campos.
.:
Build JSC as a shared library.
Stop using -fvisibility=hidden. This is a shame, but it is causing problems that I don't
know how to fix.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/WebKitCompilerFlags.cmake:
Source/JavaScriptCore:
Roll out the functional changes of r226266. We'll keep the minor CMake library type setting
cleanup, but we have to switch back to building JSC only as a shared library, and we have to
get rid of the version script.
- PlatformGTK.cmake:
- javascriptcoregtk-symbols.map: Removed.
- 12:17 AM Changeset in webkit [226944] by
-
- 4 edits3 adds in trunk/Tools
[GTK][WPE] Add support for unit test expectations
https://bugs.webkit.org/show_bug.cgi?id=181589
Reviewed by Michael Catanzaro.
We currently have a way to skip tests by annotating them in the api test runner script. The main problem of this
approach is that we skip tests when they fail in the bots and we never notice if they stop failing, keeping the
tests skipped forever. This is indeed the case of several WebKit2 C API tests. Annotating skipped tests in the
script itself is not a good idea either.
This patch adds a generic TestExpectations class for simple tests based on tests with subtests, like our unit
tests, but also WebDriver tests. It parses a json file with the tests and subtests expectations and provides
convenient methods to query them.
- Scripts/run-gtk-tests:
(GtkTestRunner): Remove all Skipped and Slow tests marked here.
- Scripts/run-wpe-tests:
(WPETestRunner): Ditto.
- Scripts/webkitpy/common/test_expectations.py: Added.
(TestExpectations):
(TestExpectations.init):
(TestExpectations._port_name_for_expected):
(TestExpectations._expected_value):
(TestExpectations.skipped_tests):
(TestExpectations.skipped_subtests):
(TestExpectations._expectation_value):
(TestExpectations.is_slow):
(TestExpectations.get_expectation):
- Scripts/webkitpy/common/test_expectations_unittest.py: Added.
(MockTestExpectations):
(MockTestExpectations.init):
(MockTestExpectations.is_skip):
(ExpectationsTest):
(assert_exp):
(assert_not_exp):
(assert_bad_exp):
(assert_skip):
(test_basic):
(test_skip):
(test_flaky):
(test_build_type):
- TestWebKitAPI/glib/TestExpectations.json: Added.
- glib/api_test_runner.py:
(TestRunner): Remove SkippedTest implementation.
(TestRunner.init): Create a TestExpectations.
(TestRunner._test_cases_to_skip): Use TestExpectations to check skipped tests.
(TestRunner._should_run_test_program): Ditto.
(TestRunner._run_test_glib): Use TestExpectations to check if test suite is slow.
(TestRunner._run_test_glib.parse_line.set_test_result): Register also tests passing.
(TestRunner._run_google_test): Use TestExpectations to check if test cases is slow and register tests passing.
(TestRunner.run_tests): Check if actual result is the expected one and register also unexpected passes.
(TestRunner.run_tests.report): Helper to write report to stdout.
Jan 14, 2018:
- 3:02 PM Changeset in webkit [226943] by
-
- 2 edits in trunk/LayoutTests
[macOS] [WK2] Unskip some consistently-passing tests
https://bugs.webkit.org/show_bug.cgi?id=181226
<rdar://problem/23023848>
Reviewed by Simon Fraser.
According to the flakiness dashboard, these tests consistently pass now.
- platform/mac-wk2/TestExpectations:
- 11:43 AM Changeset in webkit [226942] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed. r226928 broke the CLOOP build. This patch fixes the CLOOP build.
- bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeExitSiteData):
Jan 13, 2018:
- 11:16 PM Changeset in webkit [226941] by
-
- 3 edits in trunk/LayoutTests
Extend testing added in r226842
https://bugs.webkit.org/show_bug.cgi?id=181634
Reviewed by Darin Adler.
I have verified that the behavior is consistent with Chrome and Firefox.
- fast/dom/Window/window-opener-shadowing-expected.txt:
- fast/dom/Window/window-opener-shadowing.html:
- 10:11 PM Changeset in webkit [226940] by
-
- 62 edits1 move2 deletes in trunk
Replace all use of ConstExprPoisoned with Poisoned.
https://bugs.webkit.org/show_bug.cgi?id=181542
<rdar://problem/36442138>
Reviewed by JF Bastien.
Source/JavaScriptCore:
- All JSC poisons are now defined in JSCPoison.h.
- Change all clients to use the new poison values via the POISON() macro.
- The LLInt code has been updated to handle CodeBlock poison. Some of this code uses the t5 temp register, which is not available on the Windows port. Fortunately, we don't currently do poisoning on the Windows port yet. So, it will just work for now.
When poisoning is enabled for the Windows port, this LLInt code will need a
Windows specific implementation to workaround its lack of a t5 register.
- API/JSAPIWrapperObject.h:
- API/JSCallbackFunction.h:
- API/JSCallbackObject.h:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/MacroAssemblerCodeRef.h:
(JSC::MacroAssemblerCodePtr::emptyValue):
(JSC::MacroAssemblerCodePtr::deletedValue):
- b3/B3LowerMacros.cpp:
- b3/testb3.cpp:
(JSC::B3::testInterpreter):
- bytecode/CodeBlock.h:
(JSC::CodeBlock::instructions):
(JSC::CodeBlock::instructions const):
(JSC::CodeBlock::makePoisonedUnique):
- dfg/DFGOSRExitCompilerCommon.h:
(JSC::DFG::adjustFrameAndStackInOSRExitCompilerThunk):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
- jit/JIT.h:
- jit/ThunkGenerators.cpp:
(JSC::virtualThunkFor):
(JSC::nativeForGenerator):
(JSC::boundThisNoArgsFunctionCallGenerator):
- llint/LowLevelInterpreter.asm:
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- parser/UnlinkedSourceCode.h:
- runtime/ArrayPrototype.h:
- runtime/CustomGetterSetter.h:
- runtime/DateInstance.h:
- runtime/InternalFunction.h:
- runtime/JSArrayBuffer.h:
- runtime/JSCPoison.cpp: Copied from Source/JavaScriptCore/runtime/JSCPoisonedPtr.cpp.
(JSC::initializePoison):
- runtime/JSCPoison.h:
(): Deleted.
- runtime/JSCPoisonedPtr.cpp: Removed.
- runtime/JSCPoisonedPtr.h: Removed.
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::makePoisonedUnique):
- runtime/JSScriptFetchParameters.h:
- runtime/JSScriptFetcher.h:
- runtime/NativeExecutable.h:
- runtime/StructureTransitionTable.h:
(JSC::StructureTransitionTable::map const):
(JSC::StructureTransitionTable::weakImpl const):
- runtime/WriteBarrier.h:
(JSC::WriteBarrier::poison):
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
- wasm/js/JSWebAssemblyCodeBlock.h:
- wasm/js/JSWebAssemblyInstance.h:
- wasm/js/JSWebAssemblyMemory.h:
- wasm/js/JSWebAssemblyModule.h:
- wasm/js/JSWebAssemblyTable.h:
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunctionBase.h:
- wasm/js/WebAssemblyModuleRecord.h:
- wasm/js/WebAssemblyToJSCallee.h:
- wasm/js/WebAssemblyWrapperFunction.h:
Source/WTF:
- Removed ConstExprPoisoned and its artifacts.
- Consolidated Poisoned into PoisonedImpl. PoisonedImpl is not more.
- Changed all clients of ConstExprPoisoned to use Poisoned instead.
- Worked around the GCC and Clang compiler bug that confuses an intptr_t& template arg with intptr_t. See use of std::enable_if_t<Other::isPoisoned> in Poisoned.h.
- Removed ENABLE(MIXED_POISON) since we now have a workaround (3) that makes it possible to use the mixed poison code.
- Also fixed broken implementation of comparison operators in Poisoned.
- wtf/Bag.h:
- wtf/DumbPtrTraits.h:
(WTF::DumbPtrTraits::poison):
- wtf/DumbValueTraits.h:
(WTF::DumbValueTraits::poison):
- wtf/Poisoned.h:
(WTF::Poisoned::Poisoned):
(WTF::Poisoned::operator== const):
(WTF::Poisoned::operator!= const):
(WTF::Poisoned::operator< const):
(WTF::Poisoned::operator<= const):
(WTF::Poisoned::operator> const):
(WTF::Poisoned::operator>= const):
(WTF::Poisoned::operator=):
(WTF::Poisoned::swap):
(WTF::swap):
(WTF::PoisonedPtrTraits::poison):
(WTF::PoisonedPtrTraits::swap):
(WTF::PoisonedValueTraits::poison):
(WTF::PoisonedValueTraits::swap):
(WTF::PoisonedImpl::PoisonedImpl): Deleted.
(WTF::PoisonedImpl::assertIsPoisoned const): Deleted.
(WTF::PoisonedImpl::assertIsNotPoisoned const): Deleted.
(WTF::PoisonedImpl::unpoisoned const): Deleted.
(WTF::PoisonedImpl::clear): Deleted.
(WTF::PoisonedImpl::operator* const): Deleted.
(WTF::PoisonedImpl::operator-> const): Deleted.
(WTF::PoisonedImpl::bits const): Deleted.
(WTF::PoisonedImpl::operator! const): Deleted.
(WTF::PoisonedImpl::operator bool const): Deleted.
(WTF::PoisonedImpl::operator== const): Deleted.
(WTF::PoisonedImpl::operator!= const): Deleted.
(WTF::PoisonedImpl::operator< const): Deleted.
(WTF::PoisonedImpl::operator<= const): Deleted.
(WTF::PoisonedImpl::operator> const): Deleted.
(WTF::PoisonedImpl::operator>= const): Deleted.
(WTF::PoisonedImpl::operator=): Deleted.
(WTF::PoisonedImpl::swap): Deleted.
(WTF::PoisonedImpl::exchange): Deleted.
(WTF::PoisonedImpl::poison): Deleted.
(WTF::PoisonedImpl::unpoison): Deleted.
(WTF::constExprPoisonRandom): Deleted.
(WTF::makeConstExprPoison): Deleted.
(WTF::ConstExprPoisonedPtrTraits::exchange): Deleted.
(WTF::ConstExprPoisonedPtrTraits::swap): Deleted.
(WTF::ConstExprPoisonedPtrTraits::unwrap): Deleted.
(WTF::ConstExprPoisonedValueTraits::exchange): Deleted.
(WTF::ConstExprPoisonedValueTraits::swap): Deleted.
(WTF::ConstExprPoisonedValueTraits::unwrap): Deleted.
- wtf/PoisonedUniquePtr.h:
(WTF::PoisonedUniquePtr::PoisonedUniquePtr):
(WTF::PoisonedUniquePtr::operator=):
- wtf/Ref.h:
- wtf/RefCountedArray.h:
(WTF::RefCountedArray::RefCountedArray):
- wtf/RefPtr.h:
- wtf/WTFAssertions.cpp:
Tools:
- Converted tests to using new uintptr_t& poison type.
- Added tests for Poisoned comparison operators.
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/ConstExprPoisoned.cpp: Removed.
- TestWebKitAPI/Tests/WTF/Poisoned.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::initializeTestPoison): Deleted.
- TestWebKitAPI/Tests/WTF/PoisonedRef.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::passWithRef):
- TestWebKitAPI/Tests/WTF/PoisonedRefPtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::f1):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtr.cpp:
(TestWebKitAPI::TEST):
(TestWebKitAPI::poisonedPtrFoo):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForNonTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WTF/PoisonedUniquePtrForTriviallyDestructibleArrays.cpp:
(TestWebKitAPI::TEST):
- 8:06 PM Changeset in webkit [226939] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: Styles Redesign: properties should never be semitransparent or crossed out while editing
https://bugs.webkit.org/show_bug.cgi?id=180793
<rdar://problem/36038813>
Reviewed by Devin Rousso.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(.spreadsheet-style-declaration-editor .value.editing):
(.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
(.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *):
(.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value):
(.spreadsheet-style-declaration-editor .property.not-inherited .content > *):
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype._update):
- 12:38 PM Changeset in webkit [226938] by
-
- 3 edits in trunk/Tools
check-webkit-style: false positive for [whitespace/braces] with os_log format string
<https://webkit.org/b/181606>
Reviewed by Darin Adler.
- Scripts/webkitpy/style/checkers/cpp.py:
(check_spacing): Modify regular expression to ignore
os_log format strings like '%{public}'.
- Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTest.test_spacing_before_braces): Add os_log
format string test.
- 7:16 AM Changeset in webkit [226937] by
-
- 7 edits6 adds in trunk
[JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t
https://bugs.webkit.org/show_bug.cgi?id=181182
Reviewed by Darin Adler.
JSTests:
- bigIntTests.yaml:
- stress/big-int-constructor.js:
- stress/big-int-prototype-to-string-cast-overflow.js: Added.
(assert):
(assertThrowRangeError):
- stress/number-prototype-to-string-cast-overflow.js: Added.
(assert):
(assertThrowRangeError):
Source/JavaScriptCore:
Casting double to integer is undefined behavior when the truncation
results into a value that doesn't fit into integer size, according C++
spec[1]. Thus, we are changing bigIntProtoFuncToString and
numberProtoFuncToString to remove these source of undefined behavior.
[1] - http://en.cppreference.com/w/cpp/language/implicit_conversion
- runtime/BigIntPrototype.cpp:
(JSC::bigIntProtoFuncToString):
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToString):
(JSC::extractRadixFromArgs): Deleted.
(JSC::extractToStringRadixArgument): Added.
- 4:07 AM Changeset in webkit [226936] by
-
- 3 edits2 adds in trunk
MathML Lengths should take zoom level into account
https://bugs.webkit.org/show_bug.cgi?id=180029
Patch by Minsheng Liu <lambda@liu.ms> on 2018-01-13
Reviewed by Frédéric Wang.
Source/WebCore:
The patch applies the effective zoom factor to physical units in toUserUnits().
Test: mathml/presentation/mspace-units-with-zoom.html
- rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::toUserUnits):
LayoutTests:
Add a testcase for MathML lengths where zoom factor is set.
- mathml/presentation/mspace-units-with-zoom-expected.html: Added.
- mathml/presentation/mspace-units-with-zoom.html: Added.