[webkit-changes] [225208] trunk/Source/WebDriver
Title: [225208] trunk/Source/WebDriver Revision 225208 Author carlo...@webkit.org Date 2017-11-27 23:55:36 -0800 (Mon, 27 Nov 2017) Log Message WebDriver: Implement get active element command https://bugs.webkit.org/show_bug.cgi?id=180001 Reviewed by Brian Burg. 12.6 Get Active Element https://w3c.github.io/webdriver/webdriver-spec.html#get-active-element Fixes imported/w3c/webdriver/tests/element_retrieval/get_active_element.py. * Session.cpp: (WebDriver::Session::getActiveElement): * Session.h: * WebDriverService.cpp: (WebDriver::WebDriverService::getActiveElement): * WebDriverService.h: Modified Paths trunk/Source/WebDriver/ChangeLog trunk/Source/WebDriver/Session.cpp trunk/Source/WebDriver/Session.h trunk/Source/WebDriver/WebDriverService.cpp trunk/Source/WebDriver/WebDriverService.h Diff Modified: trunk/Source/WebDriver/ChangeLog (225207 => 225208) --- trunk/Source/WebDriver/ChangeLog 2017-11-28 02:10:12 UTC (rev 225207) +++ trunk/Source/WebDriver/ChangeLog 2017-11-28 07:55:36 UTC (rev 225208) @@ -1,3 +1,22 @@ +2017-11-27 Carlos Garcia Campos + +WebDriver: Implement get active element command +https://bugs.webkit.org/show_bug.cgi?id=180001 + +Reviewed by Brian Burg. + +12.6 Get Active Element +https://w3c.github.io/webdriver/webdriver-spec.html#get-active-element + +Fixes imported/w3c/webdriver/tests/element_retrieval/get_active_element.py. + +* Session.cpp: +(WebDriver::Session::getActiveElement): +* Session.h: +* WebDriverService.cpp: +(WebDriver::WebDriverService::getActiveElement): +* WebDriverService.h: + 2017-11-21 Carlos Garcia Campos WebDriver: do not try to parse http body if method is not POST Modified: trunk/Source/WebDriver/Session.cpp (225207 => 225208) --- trunk/Source/WebDriver/Session.cpp 2017-11-28 02:10:12 UTC (rev 225207) +++ trunk/Source/WebDriver/Session.cpp 2017-11-28 07:55:36 UTC (rev 225208) @@ -961,6 +961,47 @@ }); } +void Session::getActiveElement(Function&& completionHandler) +{ +if (!m_toplevelBrowsingContext) { +completionHandler(CommandResult::fail(CommandResult::ErrorCode::NoSuchWindow)); +return; +} + +handleUserPrompts([this, completionHandler = WTFMove(completionHandler)](CommandResult&& result) mutable { +if (result.isError()) { +completionHandler(WTFMove(result)); +return; +} +RefPtr parameters = InspectorObject::create(); +parameters->setString(ASCIILiteral("browsingContextHandle"), m_toplevelBrowsingContext.value()); +parameters->setString(ASCIILiteral("function"), ASCIILiteral("function() { return document.activeElement; }")); +parameters->setArray(ASCIILiteral("arguments"), InspectorArray::create()); +m_host->sendCommandToBackend(ASCIILiteral("evaluateJavaScriptFunction"), WTFMove(parameters), [this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)](SessionHost::CommandResponse&& response) { +if (response.isError || !response.responseObject) { +completionHandler(CommandResult::fail(WTFMove(response.responseObject))); +return; +} +String valueString; +if (!response.responseObject->getString(ASCIILiteral("result"), valueString)) { +completionHandler(CommandResult::fail(CommandResult::ErrorCode::UnknownError)); +return; +} +RefPtr resultValue; +if (!InspectorValue::parseJSON(valueString, resultValue)) { +completionHandler(CommandResult::fail(CommandResult::ErrorCode::UnknownError)); +return; +} +RefPtr elementObject = createElement(WTFMove(resultValue)); +if (!elementObject) { +completionHandler(CommandResult::fail(CommandResult::ErrorCode::UnknownError)); +return; +} +completionHandler(CommandResult::success(WTFMove(elementObject))); +}); +}); +} + void Session::isElementSelected(const String& elementID, Function&& completionHandler) { if (!m_toplevelBrowsingContext) { Modified: trunk/Source/WebDriver/Session.h (225207 => 225208) --- trunk/Source/WebDriver/Session.h 2017-11-28 02:10:12 UTC (rev 225207) +++ trunk/Source/WebDriver/Session.h 2017-11-28 07:55:36 UTC (rev 225208) @@ -89,6 +89,7 @@ void getWindowRect(Function&&); void setWindowRect(std::optional x, std::optional y, std::optional width, std::optional height, Function&&); void findElements(const String& strategy, const String& selector, FindElementsMode, const String& rootElementID, Function&&); +void getActiveElement(Function&&); void isElementSelected(const String& elementID, Function&&); void getElementText(const String& elementID, Function&&); void getElementTagName(const String& elementID, Function&
[webkit-changes] [225207] trunk/Source/WebCore
Title: [225207] trunk/Source/WebCore Revision 225207 Author timothy_hor...@apple.com Date 2017-11-27 18:10:12 -0800 (Mon, 27 Nov 2017) Log Message Web Content process crashes when dragging a link in recovery mode https://bugs.webkit.org/show_bug.cgi?id=180058 Reviewed by Alexey Proskuryakov. * platform/mac/DragImageMac.mm: (WebCore::LinkImageLayout::LinkImageLayout): LinkPresentation isn't available in the base system. Make it optional, and fall back to the full URL like we do on platforms where it doesn't exist at all. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/mac/DragImageMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (225206 => 225207) --- trunk/Source/WebCore/ChangeLog 2017-11-28 01:21:39 UTC (rev 225206) +++ trunk/Source/WebCore/ChangeLog 2017-11-28 02:10:12 UTC (rev 225207) @@ -1,3 +1,17 @@ +2017-11-27 Tim Horton + +Web Content process crashes when dragging a link in recovery mode +https://bugs.webkit.org/show_bug.cgi?id=180058 + + +Reviewed by Alexey Proskuryakov. + +* platform/mac/DragImageMac.mm: +(WebCore::LinkImageLayout::LinkImageLayout): +LinkPresentation isn't available in the base system. Make it optional, +and fall back to the full URL like we do on platforms where it doesn't +exist at all. + 2017-11-27 Chris Dumez Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h Modified: trunk/Source/WebCore/platform/mac/DragImageMac.mm (225206 => 225207) --- trunk/Source/WebCore/platform/mac/DragImageMac.mm 2017-11-28 01:21:39 UTC (rev 225206) +++ trunk/Source/WebCore/platform/mac/DragImageMac.mm 2017-11-28 02:10:12 UTC (rev 225207) @@ -45,7 +45,7 @@ #import #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300 -SOFT_LINK_PRIVATE_FRAMEWORK(LinkPresentation) +SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL(LinkPresentation) #endif namespace WebCore { @@ -198,11 +198,10 @@ NSURL *cocoaURL = url; NSString *absoluteURLString = [cocoaURL absoluteString]; +NSString *domain = absoluteURLString; #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101300 -LinkPresentationLibrary(); -NSString *domain = [cocoaURL _lp_simplifiedDisplayString]; -#else -NSString *domain = absoluteURLString; +if (LinkPresentationLibrary()) +domain = [cocoaURL _lp_simplifiedDisplayString]; #endif if ([title isEqualToString:absoluteURLString]) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225206] trunk/Tools
Title: [225206] trunk/Tools Revision 225206 Author aakash_j...@apple.com Date 2017-11-27 17:21:39 -0800 (Mon, 27 Nov 2017) Log Message Do not run webkitpy tests on multiple EWSes https://bugs.webkit.org/show_bug.cgi?id=179834 Reviewed by Alexey Proskuryakov. Do not run webkitpy tests in every EWS. We now have a dedicated webkitpy test EWS. * Scripts/webkitpy/tool/steps/runtests.py: (RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run when --non-interactive option is not passed. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py Diff Modified: trunk/Tools/ChangeLog (225205 => 225206) --- trunk/Tools/ChangeLog 2017-11-28 00:46:47 UTC (rev 225205) +++ trunk/Tools/ChangeLog 2017-11-28 01:21:39 UTC (rev 225206) @@ -1,3 +1,17 @@ +2017-11-27 Aakash Jain + +Do not run webkitpy tests on multiple EWSes +https://bugs.webkit.org/show_bug.cgi?id=179834 + +Reviewed by Alexey Proskuryakov. + +Do not run webkitpy tests in every EWS. We now have +a dedicated webkitpy test EWS. + +* Scripts/webkitpy/tool/steps/runtests.py: +(RunTests.run): Do not run webkitpy tests in EWSes. These tests will still run +when --non-interactive option is not passed. + 2017-11-27 Jonathan Bedard webkitpy: Better name-version mapping (Part 1) Modified: trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py (225205 => 225206) --- trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py 2017-11-28 00:46:47 UTC (rev 225205) +++ trunk/Tools/Scripts/webkitpy/tool/steps/runtests.py 2017-11-28 01:21:39 UTC (rev 225206) @@ -81,23 +81,12 @@ if not self._options.test: return -python_unittests_command = self._tool.deprecated_port().run_python_unittests_command() -if python_unittests_command: -_log.info("Running Python unit tests") -if self._options.non_interactive: -filesystem = self._tool.filesystem -python_unittest_results_directory = self._tool.port_factory.get().python_unittest_results_directory() -filesystem.maybe_make_directory(python_unittest_results_directory) - -python_unittests_command.append('--json') -output = self._tool.executive.run_command(python_unittests_command, cwd=self._tool.scm().checkout_root, error_handler=Executive.ignore_error, return_stderr=False) -filesystem.write_text_file(filesystem.join(python_unittest_results_directory, "results.json"), output) -else: +if not self._options.non_interactive: +python_unittests_command = self._tool.deprecated_port().run_python_unittests_command() +if python_unittests_command: +_log.info("Running Python unit tests") self._tool.executive.run_and_throw_if_fail(python_unittests_command, cwd=self._tool.scm().checkout_root) -if not self._options.non_interactive: -# FIXME: We should teach the commit-queue and the EWS how to run these tests. - perl_unittests_command = self._tool.deprecated_port().run_perl_unittests_command() if perl_unittests_command: _log.info("Running Perl unit tests") ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225205] trunk/Source
Title: [225205] trunk/Source Revision 225205 Author cdu...@apple.com Date 2017-11-27 16:46:47 -0800 (Mon, 27 Nov 2017) Log Message Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h https://bugs.webkit.org/show_bug.cgi?id=180060 Reviewed by Alex Christensen. Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h so that it can be reused. Source/WebCore: * platform/network/cf/SocketStreamHandleImplCFNet.cpp: (WebCore::callOnMainThreadAndWait): Deleted. Source/WTF: * wtf/MainThread.cpp: (WTF::callOnMainThreadAndWait): * wtf/MainThread.h: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/MainThread.cpp trunk/Source/WTF/wtf/MainThread.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp Diff Modified: trunk/Source/WTF/ChangeLog (225204 => 225205) --- trunk/Source/WTF/ChangeLog 2017-11-28 00:22:52 UTC (rev 225204) +++ trunk/Source/WTF/ChangeLog 2017-11-28 00:46:47 UTC (rev 225205) @@ -1,3 +1,16 @@ +2017-11-27 Chris Dumez + +Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h +https://bugs.webkit.org/show_bug.cgi?id=180060 + +Reviewed by Alex Christensen. + +Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h so that it can be reused. + +* wtf/MainThread.cpp: +(WTF::callOnMainThreadAndWait): +* wtf/MainThread.h: + 2017-11-27 Simon Fraser Use TextStream's indent tracking, rather than passing indent to all the externalRepresentation() functions Modified: trunk/Source/WTF/wtf/MainThread.cpp (225204 => 225205) --- trunk/Source/WTF/wtf/MainThread.cpp 2017-11-28 00:22:52 UTC (rev 225204) +++ trunk/Source/WTF/wtf/MainThread.cpp 2017-11-28 00:46:47 UTC (rev 225205) @@ -35,6 +35,7 @@ #include "StdLibExtras.h" #include "Threading.h" #include +#include #include #include #include @@ -211,4 +212,30 @@ return **isGCThread; } +void callOnMainThreadAndWait(WTF::Function&& function) +{ +if (isMainThread()) { +function(); +return; +} + +Lock mutex; +Condition conditionVariable; + +bool isFinished = false; + +callOnMainThread([&, function = WTFMove(function)] { +function(); + +std::lock_guard lock(mutex); +isFinished = true; +conditionVariable.notifyOne(); +}); + +std::unique_lock lock(mutex); +conditionVariable.wait(lock, [&] { +return isFinished; +}); +} + } // namespace WTF Modified: trunk/Source/WTF/wtf/MainThread.h (225204 => 225205) --- trunk/Source/WTF/wtf/MainThread.h 2017-11-28 00:22:52 UTC (rev 225204) +++ trunk/Source/WTF/wtf/MainThread.h 2017-11-28 00:46:47 UTC (rev 225205) @@ -44,6 +44,7 @@ WTF_EXPORT_PRIVATE void initializeMainThread(); WTF_EXPORT_PRIVATE void callOnMainThread(Function&&); +WTF_EXPORT_PRIVATE void callOnMainThreadAndWait(Function&&); #if PLATFORM(COCOA) WTF_EXPORT_PRIVATE void callOnWebThreadOrDispatchAsyncOnMainThread(void (^block)()); @@ -99,6 +100,7 @@ using WTF::GCThreadType; using WTF::callOnMainThread; +using WTF::callOnMainThreadAndWait; using WTF::canAccessThreadLocalDataForThread; using WTF::isMainThread; using WTF::isMainThreadOrGCThread; Modified: trunk/Source/WebCore/ChangeLog (225204 => 225205) --- trunk/Source/WebCore/ChangeLog 2017-11-28 00:22:52 UTC (rev 225204) +++ trunk/Source/WebCore/ChangeLog 2017-11-28 00:46:47 UTC (rev 225205) @@ -1,3 +1,15 @@ +2017-11-27 Chris Dumez + +Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h +https://bugs.webkit.org/show_bug.cgi?id=180060 + +Reviewed by Alex Christensen. + +Move callOnMainThreadAndWait() from SocketStreamHandleImplCFNet.cpp to MainThread.h so that it can be reused. + +* platform/network/cf/SocketStreamHandleImplCFNet.cpp: +(WebCore::callOnMainThreadAndWait): Deleted. + 2017-11-27 Matt Lewis Unreviewed, rolling out r225201. Modified: trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp (225204 => 225205) --- trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp 2017-11-28 00:22:52 UTC (rev 225204) +++ trunk/Source/WebCore/platform/network/cf/SocketStreamHandleImplCFNet.cpp 2017-11-28 00:46:47 UTC (rev 225205) @@ -151,32 +151,6 @@ return CFSTR("WebSocket proxy PAC file execution"); } -static void callOnMainThreadAndWait(WTF::Function&& function) -{ -if (isMainThread()) { -function(); -return; -} - -Lock mutex; -Condition conditionVariable; - -bool isFinished = false; - -callOnMainThread([&, function = WTFMove(function)] { -function(); - -std::lock_guard lock(mutex); -isFinished = true; -conditionVariable.notifyOne(); -}); - -std::unique_lock lock(mutex); -conditionVariable.wait(lock, [
[webkit-changes] [225204] trunk
Title: [225204] trunk Revision 225204 Author jlew...@apple.com Date 2017-11-27 16:22:52 -0800 (Mon, 27 Nov 2017) Log Message Unreviewed, rolling out r225201. This caused multiple tests to timeout consistently. Reverted changeset: "Pressing the space bar while watching a fullscreen video doesn't play or pause" https://bugs.webkit.org/show_bug.cgi?id=180033 https://trac.webkit.org/changeset/225201 Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Removed Paths trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html Diff Modified: trunk/LayoutTests/ChangeLog (225203 => 225204) --- trunk/LayoutTests/ChangeLog 2017-11-28 00:22:14 UTC (rev 225203) +++ trunk/LayoutTests/ChangeLog 2017-11-28 00:22:52 UTC (rev 225204) @@ -1,3 +1,16 @@ +2017-11-27 Matt Lewis + +Unreviewed, rolling out r225201. + +This caused multiple tests to timeout consistently. + +Reverted changeset: + +"Pressing the space bar while watching a fullscreen video +doesn't play or pause" +https://bugs.webkit.org/show_bug.cgi?id=180033 +https://trac.webkit.org/changeset/225201 + 2017-11-27 Antoine Quint Pressing the space bar while watching a fullscreen video doesn't play or pause Deleted: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (225203 => 225204) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-28 00:22:14 UTC (rev 225203) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-28 00:22:52 UTC (rev 225204) @@ -1,26 +0,0 @@ -Testing media is paused and resumed when pressing the space bar in fullscreen. - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - - -Obtained a 'play' event. - -Entering fullscreen. - -Obtained a 'webkitfullscreenchange' event. -PASS media.webkitDisplayingFullscreen is true -PASS media.paused is false - -Pressing the space bar. - -Obtained a 'pause' event. - -Pressing the space bar. - -Obtained a 'play' event. - -PASS successfullyParsed is true - -TEST COMPLETE - Deleted: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (225203 => 225204) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-28 00:22:14 UTC (rev 225203) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-28 00:22:52 UTC (rev 225204) @@ -1,77 +0,0 @@ - - - - - - -window.jsTestIsAsync = true; - -description("Testing media is paused and resumed when pressing the space bar in fullscreen."); - -const media = document.querySelector("video"); -const button = document.body.appendChild(document.createElement("button")); -button.textContent = "Enter Fullscreen"; - -media.addEventListener("webkitfullscreenchange", () => { -debug(""); -debug("Obtained a 'webkitfullscreenchange' event."); -shouldBeTrue("media.webkitDisplayingFullscreen"); -shouldBeFalse("media.paused"); - -// Test pressing the space bar while the media is playing. -pressSpace(); -}); - -let playCount = 0; -media.addEventListener("play", () => { -playCount++; - -debug(""); -debug("Obtained a 'play' event."); - -// Starting point. -if (playCount == 1) -enterFullscreen(); -else { -debug(""); -button.remove(); -media.remove(); -finishJSTest(); -} -}); - -media.addEventListener("pause", () => { -debug(""); -debug("Obtained a 'pause' event."); - -// Test pressing the space bar while the media is paused. -pressSpace(); -}); - - -function enterFullscreen() { -debug(""); -debug("Entering fullscreen."); -button.addEventListener("click", () => { -try { -media.webkitEnterFullscreen(); -} catch(e) { -debug("Toggling fullscreen failed"); -finishJSTest(); -} -}); - -pressOnElement(button); -} - -function pressSpace() -{ -debug(""); -debug("Pressing the space bar."); -eventSender.keyDown(" "); -} - - -
[webkit-changes] [225203] trunk/Source/WebCore
Title: [225203] trunk/Source/WebCore Revision 225203 Author cdu...@apple.com Date 2017-11-27 16:22:14 -0800 (Mon, 27 Nov 2017) Log Message NavigatorBase::serviceWorker() should return a reference instead of a raw pointer https://bugs.webkit.org/show_bug.cgi?id=180059 Reviewed by Geoffrey Garen. NavigatorBase::serviceWorker() should return a reference instead of a raw pointer as it can never return null. * bindings/js/JSNavigatorCustom.cpp: (WebCore::JSNavigator::visitAdditionalChildren): * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::serviceWorkerContainer): * page/NavigatorBase.cpp: (WebCore::NavigatorBase::serviceWorker): * page/NavigatorBase.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp trunk/Source/WebCore/dom/ScriptExecutionContext.cpp trunk/Source/WebCore/page/NavigatorBase.cpp trunk/Source/WebCore/page/NavigatorBase.h Diff Modified: trunk/Source/WebCore/ChangeLog (225202 => 225203) --- trunk/Source/WebCore/ChangeLog 2017-11-28 00:14:07 UTC (rev 225202) +++ trunk/Source/WebCore/ChangeLog 2017-11-28 00:22:14 UTC (rev 225203) @@ -1,3 +1,21 @@ +2017-11-27 Chris Dumez + +NavigatorBase::serviceWorker() should return a reference instead of a raw pointer +https://bugs.webkit.org/show_bug.cgi?id=180059 + +Reviewed by Geoffrey Garen. + +NavigatorBase::serviceWorker() should return a reference instead of a raw pointer +as it can never return null. + +* bindings/js/JSNavigatorCustom.cpp: +(WebCore::JSNavigator::visitAdditionalChildren): +* dom/ScriptExecutionContext.cpp: +(WebCore::ScriptExecutionContext::serviceWorkerContainer): +* page/NavigatorBase.cpp: +(WebCore::NavigatorBase::serviceWorker): +* page/NavigatorBase.h: + 2017-11-27 Antoine Quint Pressing the space bar while watching a fullscreen video doesn't play or pause Modified: trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp (225202 => 225203) --- trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp 2017-11-28 00:14:07 UTC (rev 225202) +++ trunk/Source/WebCore/bindings/js/JSNavigatorCustom.cpp 2017-11-28 00:22:14 UTC (rev 225203) @@ -31,7 +31,7 @@ void JSNavigator::visitAdditionalChildren(SlotVisitor& visitor) { #if ENABLE(SERVICE_WORKER) -visitor.addOpaqueRoot(wrapped().serviceWorker()); +visitor.addOpaqueRoot(&wrapped().serviceWorker()); #else UNUSED_PARAM(visitor); #endif Modified: trunk/Source/WebCore/dom/ScriptExecutionContext.cpp (225202 => 225203) --- trunk/Source/WebCore/dom/ScriptExecutionContext.cpp 2017-11-28 00:14:07 UTC (rev 225202) +++ trunk/Source/WebCore/dom/ScriptExecutionContext.cpp 2017-11-28 00:22:14 UTC (rev 225203) @@ -569,7 +569,7 @@ } else navigator = downcast(*this).optionalNavigator(); -return navigator ? navigator->serviceWorker() : nullptr; +return navigator ? &navigator->serviceWorker() : nullptr; } #endif Modified: trunk/Source/WebCore/page/NavigatorBase.cpp (225202 => 225203) --- trunk/Source/WebCore/page/NavigatorBase.cpp 2017-11-28 00:14:07 UTC (rev 225202) +++ trunk/Source/WebCore/page/NavigatorBase.cpp 2017-11-28 00:22:14 UTC (rev 225203) @@ -149,9 +149,9 @@ } #if ENABLE(SERVICE_WORKER) -ServiceWorkerContainer* NavigatorBase::serviceWorker() +ServiceWorkerContainer& NavigatorBase::serviceWorker() { -return &m_serviceWorkerContainer; +return m_serviceWorkerContainer; } #endif Modified: trunk/Source/WebCore/page/NavigatorBase.h (225202 => 225203) --- trunk/Source/WebCore/page/NavigatorBase.h 2017-11-28 00:14:07 UTC (rev 225202) +++ trunk/Source/WebCore/page/NavigatorBase.h 2017-11-28 00:22:14 UTC (rev 225203) @@ -60,7 +60,7 @@ #if ENABLE(SERVICE_WORKER) public: -ServiceWorkerContainer* serviceWorker(); +ServiceWorkerContainer& serviceWorker(); private: UniqueRef m_serviceWorkerContainer; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225202] trunk
Title: [225202] trunk Revision 225202 Author sbar...@apple.com Date 2017-11-27 16:14:07 -0800 (Mon, 27 Nov 2017) Log Message Spread can escape when CreateRest does not https://bugs.webkit.org/show_bug.cgi?id=180057 Reviewed by JF Bastien. JSTests: * stress/spread-escapes-but-create-rest-does-not.js: Added. (assert): (getProperties): (theFunc): (let.obj.valueOf): Source/_javascript_Core: We previously did not handle Spread(PhantomCreateRest) only because I did not think it was possible to generate this IR. I was wrong. We can generate such IR when we have a PutStack(Spread) but nothing escapes the CreateRest. This IR is rare to generate since we normally don't PutStack(Spread) because the SetLocal almost always gets eliminated because of how our bytecode generates op_spread. However, there exists a test case showing it is possible. Supporting this IR pattern in FTLLower is trivial. This patch implements it and rewrites the Validation rule for Spread. * dfg/DFGOperations.cpp: * dfg/DFGOperations.h: * dfg/DFGValidate.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileSpread): * runtime/JSFixedArray.h: (JSC::JSFixedArray::tryCreate): Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGOperations.cpp trunk/Source/_javascript_Core/dfg/DFGOperations.h trunk/Source/_javascript_Core/dfg/DFGValidate.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp trunk/Source/_javascript_Core/runtime/JSFixedArray.h Added Paths trunk/JSTests/stress/spread-escapes-but-create-rest-does-not.js Diff Modified: trunk/JSTests/ChangeLog (225201 => 225202) --- trunk/JSTests/ChangeLog 2017-11-27 23:51:21 UTC (rev 225201) +++ trunk/JSTests/ChangeLog 2017-11-28 00:14:07 UTC (rev 225202) @@ -1,3 +1,17 @@ +2017-11-27 Saam Barati + +Spread can escape when CreateRest does not +https://bugs.webkit.org/show_bug.cgi?id=180057 + + +Reviewed by JF Bastien. + +* stress/spread-escapes-but-create-rest-does-not.js: Added. +(assert): +(getProperties): +(theFunc): +(let.obj.valueOf): + 2017-11-21 Yusuke Suzuki [DFG] Add NormalizeMapKey DFG IR Added: trunk/JSTests/stress/spread-escapes-but-create-rest-does-not.js (0 => 225202) --- trunk/JSTests/stress/spread-escapes-but-create-rest-does-not.js (rev 0) +++ trunk/JSTests/stress/spread-escapes-but-create-rest-does-not.js 2017-11-28 00:14:07 UTC (rev 225202) @@ -0,0 +1,35 @@ +function assert(b) { +if (!b) +throw new Error; +} +noInline(assert); + +function getProperties(obj) { +let properties = []; +for (let name of Object.getOwnPropertyNames(obj)) { +properties.push(name); +} +return properties; +} + +function theFunc(obj, index, ...args) { +let functions = getProperties(obj); +let func = functions[index % functions.length]; +obj[func](...args); +} + +let o = {}; +let obj = { +valueOf: function (x, y) { +assert(x === 42); +assert(y === o); +try { +} catch (e) {} +} +}; + +for (let i = 0; i < 1e5; ++i) { +for (let _i = 0; _i < 100; _i++) { +} +theFunc(obj, 897989, 42, o); +} Modified: trunk/Source/_javascript_Core/ChangeLog (225201 => 225202) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-27 23:51:21 UTC (rev 225201) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-28 00:14:07 UTC (rev 225202) @@ -1,3 +1,28 @@ +2017-11-27 Saam Barati + +Spread can escape when CreateRest does not +https://bugs.webkit.org/show_bug.cgi?id=180057 + + +Reviewed by JF Bastien. + +We previously did not handle Spread(PhantomCreateRest) only because I did not +think it was possible to generate this IR. I was wrong. We can generate +such IR when we have a PutStack(Spread) but nothing escapes the CreateRest. +This IR is rare to generate since we normally don't PutStack(Spread) because +the SetLocal almost always gets eliminated because of how our bytecode generates +op_spread. However, there exists a test case showing it is possible. Supporting +this IR pattern in FTLLower is trivial. This patch implements it and rewrites +the Validation rule for Spread. + +* dfg/DFGOperations.cpp: +* dfg/DFGOperations.h: +* dfg/DFGValidate.cpp: +* ftl/FTLLowerDFGToB3.cpp: +(JSC::FTL::DFG::LowerDFGToB3::compileSpread): +* runtime/JSFixedArray.h: +(JSC::JSFixedArray::tryCreate): + 2017-11-27 Don Olmstead [CMake][Win] Conditionally select DLL CRT or static CRT Modified: trunk/Source/_javascript_Core/dfg/DFGOperations.cpp (225201 => 225202) --- trunk/Source/_javascript_Core/dfg/DFGOperations.cpp 2017-11-27 23:51:21 UTC (rev 225201) +++ trunk/Source/_javascript_Core/dfg/DFGOperations.cpp 2017-11-28 00:14:07 UTC (rev 225202) @@ -2384,6 +2384,19 @@
[webkit-changes] [225201] trunk
Title: [225201] trunk Revision 225201 Author commit-qu...@webkit.org Date 2017-11-27 15:51:21 -0800 (Mon, 27 Nov 2017) Log Message Pressing the space bar while watching a fullscreen video doesn't play or pause https://bugs.webkit.org/show_bug.cgi?id=180033 Patch by Antoine Quint on 2017-11-27 Reviewed by Eric Carlson. Source/WebCore: We register a "keydown" event to track when the space bar is pressed, and if the media is playing in fullscreen, we toggle playback. This does not interfere with full keyboard access since activating one of the media controls using the keyboard will not let the events we register for be dispatched this far along the event dispatch phase. Test: media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html * Modules/modern-media-controls/media/media-controller.js: (MediaController): (MediaController.prototype.togglePlayback): Add a catch() statement since calling play() could sometime lead to some extraneous unhandled promise console logging that pollutes test output. (MediaController.prototype.handleEvent): LayoutTests: Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen pauses the media and resumes it when pressing the space bar again. * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added. * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added. * platform/ios-simulator/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Added Paths trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html Diff Modified: trunk/LayoutTests/ChangeLog (225200 => 225201) --- trunk/LayoutTests/ChangeLog 2017-11-27 23:30:46 UTC (rev 225200) +++ trunk/LayoutTests/ChangeLog 2017-11-27 23:51:21 UTC (rev 225201) @@ -1,3 +1,18 @@ +2017-11-27 Antoine Quint + +Pressing the space bar while watching a fullscreen video doesn't play or pause +https://bugs.webkit.org/show_bug.cgi?id=180033 + + +Reviewed by Eric Carlson. + +Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen +pauses the media and resumes it when pressing the space bar again. + +* media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added. +* media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added. +* platform/ios-simulator/TestExpectations: + 2017-11-27 Matt Lewis Unreviewed, rolling out r225173. Added: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (0 => 225201) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-27 23:51:21 UTC (rev 225201) @@ -0,0 +1,26 @@ +Testing media is paused and resumed when pressing the space bar in fullscreen. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + + +Obtained a 'play' event. + +Entering fullscreen. + +Obtained a 'webkitfullscreenchange' event. +PASS media.webkitDisplayingFullscreen is true +PASS media.paused is false + +Pressing the space bar. + +Obtained a 'pause' event. + +Pressing the space bar. + +Obtained a 'play' event. + +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (0 => 225201) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-27 23:51:21 UTC (rev 225201) @@ -0,0 +1,77 @@ + + + + + + +window.jsTestIsAsync = true; + +description("Testing media is paused and resumed when pressing the space bar in fullscreen."); + +const media = document.querySelector("video"); +const button = document.body.appendChild(document.createElement("button")); +button.textContent = "Enter Fullscreen"; + +media.addEventListener("webkitfullscreenchange", () => { +debug(""); +debug("Obtained a 'webkitfullscreenchange' event."); +shouldBeTrue("media.webkitDisplayingFullscreen"); +shouldBeFalse("media.paused"); + +// Test pressing the space bar while the media
[webkit-changes] [225200] trunk
Title: [225200] trunk Revision 225200 Author jlew...@apple.com Date 2017-11-27 15:30:46 -0800 (Mon, 27 Nov 2017) Log Message Unreviewed, rolling out r225173. This caused multiple tests to timeout consistently. Reverted changeset: "Pressing the space bar while watching a fullscreen video doesn't play or pause" https://bugs.webkit.org/show_bug.cgi?id=180033 https://trac.webkit.org/changeset/225173 Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Removed Paths trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html Diff Modified: trunk/LayoutTests/ChangeLog (225199 => 225200) --- trunk/LayoutTests/ChangeLog 2017-11-27 23:21:28 UTC (rev 225199) +++ trunk/LayoutTests/ChangeLog 2017-11-27 23:30:46 UTC (rev 225200) @@ -1,3 +1,16 @@ +2017-11-27 Matt Lewis + +Unreviewed, rolling out r225173. + +This caused multiple tests to timeout consistently. + +Reverted changeset: + +"Pressing the space bar while watching a fullscreen video +doesn't play or pause" +https://bugs.webkit.org/show_bug.cgi?id=180033 +https://trac.webkit.org/changeset/225173 + 2017-11-27 Ryan Haddad Mark imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html as flaky. Deleted: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (225199 => 225200) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-27 23:21:28 UTC (rev 225199) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-27 23:30:46 UTC (rev 225200) @@ -1,26 +0,0 @@ -Testing media is paused and resumed when pressing the space bar in fullscreen. - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - - -Obtained a 'play' event. - -Entering fullscreen. - -Obtained a 'webkitfullscreenchange' event. -PASS media.webkitDisplayingFullscreen is true -PASS media.paused is false - -Pressing the space bar. - -Obtained a 'pause' event. - -Pressing the space bar. - -Obtained a 'play' event. - -PASS successfullyParsed is true - -TEST COMPLETE - Deleted: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (225199 => 225200) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-27 23:21:28 UTC (rev 225199) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-27 23:30:46 UTC (rev 225200) @@ -1,77 +0,0 @@ - - - - - - -window.jsTestIsAsync = true; - -description("Testing media is paused and resumed when pressing the space bar in fullscreen."); - -const media = document.querySelector("video"); -const button = document.body.appendChild(document.createElement("button")); -button.textContent = "Enter Fullscreen"; - -media.addEventListener("webkitfullscreenchange", () => { -debug(""); -debug("Obtained a 'webkitfullscreenchange' event."); -shouldBeTrue("media.webkitDisplayingFullscreen"); -shouldBeFalse("media.paused"); - -// Test pressing the space bar while the media is playing. -pressSpace(); -}); - -let playCount = 0; -media.addEventListener("play", () => { -playCount++; - -debug(""); -debug("Obtained a 'play' event."); - -// Starting point. -if (playCount == 1) -enterFullscreen(); -else { -debug(""); -button.remove(); -media.remove(); -finishJSTest(); -} -}); - -media.addEventListener("pause", () => { -debug(""); -debug("Obtained a 'pause' event."); - -// Test pressing the space bar while the media is paused. -pressSpace(); -}); - - -function enterFullscreen() { -debug(""); -debug("Entering fullscreen."); -button.addEventListener("click", () => { -try { -media.webkitEnterFullscreen(); -} catch(e) { -debug("Toggling fullscreen failed"); -finishJSTest(); -} -}); - -pressOnElement(button); -} - -function pressSpace() -{ -debug(""); -debug("Pressing the space bar."); -eventSender.keyDown(" "); -} - - -
[webkit-changes] [225199] trunk/Tools
Title: [225199] trunk/Tools Revision 225199 Author jbed...@apple.com Date 2017-11-27 15:21:28 -0800 (Mon, 27 Nov 2017) Log Message webkitpy: Better name-version mapping (Part 1) https://bugs.webkit.org/show_bug.cgi?id=179621 Reviewed by David Kilzer. Mapping version numbers to version names should occur in a central location. This has a few advantages. First, it makes iterating through versions easier. Second, it allows for apple_additions to define an additional set of name mappings. Lastly, it will allow, in a future patch, for us to track version instead of version name, only mapping version to version name when required. * Scripts/webkitpy/common/system/platforminfo.py: (PlatformInfo.__init__): (PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions mapping version to name. (PlatformInfo._determine_linux_version): Deleted. (PlatformInfo._determine_mac_version): Deleted. (PlatformInfo._determine_win_version): Deleted. * Scripts/webkitpy/common/system/platforminfo_unittest.py: (TestPlatformInfo.test_os_name_and_wrappers): (TestPlatformInfo.test_os_version): (TestPlatformInfo.test_display_name): (TestPlatformInfo.test_total_bytes_memory): * Scripts/webkitpy/common/version.py: (Version.contained_in): Add partial version mapping. * Scripts/webkitpy/common/version_name_map.py: Added. (VersionNameMap): Holds a mapping of version name to version object. (VersionNameMap.map): Don't re-create VersionNameMap every time. (VersionNameMap.__init__): Initialize mapping, use platform to define the default system platform. (VersionNameMap._automap_to_major_version): Some operating systems, such as iOS, have a naming scheme based on their major version and os name. Automatically generate such mappings. (VersionNameMap.to_name): Given a version object, platform name and table, find the closest matching version name. (VersionNameMap.strip_name_formatting): Remove spaces and extract the major version, if a version string is included in the name. (VersionNameMap.from_name): Return an os name and version given a version name. * Scripts/webkitpy/common/version_name_map_unittest.py: Added. (VersionMapTestCase): (VersionMapTestCase.test_default_system_platform): (VersionMapTestCase.test_mac_version_by_name): (VersionMapTestCase.test_ios_version_by_name): (VersionMapTestCase.test_mac_name_by_version): (VersionMapTestCase.test_ios_name_by_version): * Scripts/webkitpy/common/version_unittest.py: (VersionTestCase.test_contained_in): * Scripts/webkitpy/port/ios_device.py: (IOSDevicePort.ios_version): Map os_version name to version number. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/common/system/platforminfo.py trunk/Tools/Scripts/webkitpy/common/system/platforminfo_unittest.py trunk/Tools/Scripts/webkitpy/common/version.py trunk/Tools/Scripts/webkitpy/common/version_unittest.py trunk/Tools/Scripts/webkitpy/port/ios_device.py Added Paths trunk/Tools/Scripts/webkitpy/common/version_name_map.py trunk/Tools/Scripts/webkitpy/common/version_name_map_unittest.py Diff Modified: trunk/Tools/ChangeLog (225198 => 225199) --- trunk/Tools/ChangeLog 2017-11-27 23:13:54 UTC (rev 225198) +++ trunk/Tools/ChangeLog 2017-11-27 23:21:28 UTC (rev 225199) @@ -1,3 +1,56 @@ +2017-11-27 Jonathan Bedard + +webkitpy: Better name-version mapping (Part 1) +https://bugs.webkit.org/show_bug.cgi?id=179621 + + +Reviewed by David Kilzer. + +Mapping version numbers to version names should occur in a central location. +This has a few advantages. First, it makes iterating through versions easier. +Second, it allows for apple_additions to define an additional set of name +mappings. Lastly, it will allow, in a future patch, for us to track version +instead of version name, only mapping version to version name when required. + +* Scripts/webkitpy/common/system/platforminfo.py: +(PlatformInfo.__init__): +(PlatformInfo._determine_os_name): Use VersionNameMap instead of custom functions +mapping version to name. +(PlatformInfo._determine_linux_version): Deleted. +(PlatformInfo._determine_mac_version): Deleted. +(PlatformInfo._determine_win_version): Deleted. +* Scripts/webkitpy/common/system/platforminfo_unittest.py: +(TestPlatformInfo.test_os_name_and_wrappers): +(TestPlatformInfo.test_os_version): +(TestPlatformInfo.test_display_name): +(TestPlatformInfo.test_total_bytes_memory): +* Scripts/webkitpy/common/version.py: +(Version.contained_in): Add partial version mapping. +* Scripts/webkitpy/common/version_name_map.py: Added. +(VersionNameMap): Holds a mapping of version name to version object. +(VersionNameMap.map): Don't re-create VersionNameMap every time. +(VersionNameMap.__init__): Initialize mapping, use platform to +define the default system platform. +(VersionNam
[webkit-changes] [225198] trunk/Source
Title: [225198] trunk/Source Revision 225198 Author cdu...@apple.com Date 2017-11-27 15:13:54 -0800 (Mon, 27 Nov 2017) Log Message ASSERTION FAILED: addResult.isNewEntry WebCore::SWServerRegistration::addClientUsingRegistration(WebCore::ServiceWorkerClientIdentifier const&) + 141 https://bugs.webkit.org/show_bug.cgi?id=180049 Reviewed by Brady Eidson. Source/WebCore: SWServer::serviceWorkerStoppedControllingClient() was failing to remove the client from the SWServerRegistration in some cases. This is because we relied on the Service Worker Identifier to get the SWServerRegistration, via the corresponding SWServerServiceWorker object. However, It is possible for the SWServerServiceWorker to have been destroyed already. In serviceWorkerStartedControllingClient / serviceWorkerStoppedControllingClient, we now pass the registration identifier, so that we are able to look up the registration directly, without going through the service worker object. No new tests, already covered by imported/w3c/web-platform-tests/service-workers/service-worker/claim-affect-other-registration.https.html. * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::setActiveServiceWorker): * workers/service/ServiceWorker.h: * workers/service/ServiceWorkerContainer.cpp: (WebCore::ServiceWorkerContainer::addRegistration): (WebCore::ServiceWorkerContainer::removeRegistration): * workers/service/ServiceWorkerData.cpp: (WebCore::ServiceWorkerData::isolatedCopy const): * workers/service/ServiceWorkerData.h: (WebCore::ServiceWorkerData::encode const): (WebCore::ServiceWorkerData::decode): * workers/service/server/SWClientConnection.h: * workers/service/server/SWServer.cpp: (WebCore::SWServer::addRegistration): (WebCore::SWServer::removeRegistration): (WebCore::SWServer::clearAll): (WebCore::SWServer::Connection::addServiceWorkerRegistrationInServer): (WebCore::SWServer::Connection::removeServiceWorkerRegistrationInServer): (WebCore::SWServer::Connection::serviceWorkerStartedControllingClient): (WebCore::SWServer::Connection::serviceWorkerStoppedControllingClient): (WebCore::SWServer::addClientServiceWorkerRegistration): (WebCore::SWServer::removeClientServiceWorkerRegistration): (WebCore::SWServer::serviceWorkerStartedControllingClient): (WebCore::SWServer::serviceWorkerStoppedControllingClient): (WebCore::SWServer::installContextData): * workers/service/server/SWServer.h: * workers/service/server/SWServerWorker.cpp: (WebCore::SWServerWorker::SWServerWorker): * workers/service/server/SWServerWorker.h: Source/WebKit: * StorageProcess/ServiceWorker/WebSWServerConnection.messages.in: * WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::addServiceWorkerRegistrationInServer): (WebKit::WebSWClientConnection::removeServiceWorkerRegistrationInServer): (WebKit::WebSWClientConnection::serviceWorkerStartedControllingClient): (WebKit::WebSWClientConnection::serviceWorkerStoppedControllingClient): * WebProcess/Storage/WebSWClientConnection.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/ScriptExecutionContext.cpp trunk/Source/WebCore/workers/service/ServiceWorker.h trunk/Source/WebCore/workers/service/ServiceWorkerContainer.cpp trunk/Source/WebCore/workers/service/ServiceWorkerData.cpp trunk/Source/WebCore/workers/service/ServiceWorkerData.h trunk/Source/WebCore/workers/service/server/SWClientConnection.h trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebCore/workers/service/server/SWServerWorker.cpp trunk/Source/WebCore/workers/service/server/SWServerWorker.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.messages.in trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h Diff Modified: trunk/Source/WebCore/ChangeLog (225197 => 225198) --- trunk/Source/WebCore/ChangeLog 2017-11-27 23:05:40 UTC (rev 225197) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 23:13:54 UTC (rev 225198) @@ -1,3 +1,51 @@ +2017-11-27 Chris Dumez + +ASSERTION FAILED: addResult.isNewEntry WebCore::SWServerRegistration::addClientUsingRegistration(WebCore::ServiceWorkerClientIdentifier const&) + 141 +https://bugs.webkit.org/show_bug.cgi?id=180049 + +Reviewed by Brady Eidson. + +SWServer::serviceWorkerStoppedControllingClient() was failing to remove the client from the +SWServerRegistration in some cases. This is because we relied on the Service Worker Identifier +to get the SWServerRegistration, via the corresponding SWServerServiceWorker object. However, +It is possible for the SWServerServiceWorker to have been destroyed already. + +In serviceWorkerStartedControllingClient / serviceWorkerStoppedControllingClient, we now +pass the registration identifier, so that we are able to look up the registration directly, +w
[webkit-changes] [225197] trunk/LayoutTests
Title: [225197] trunk/LayoutTests Revision 225197 Author ryanhad...@apple.com Date 2017-11-27 15:05:40 -0800 (Mon, 27 Nov 2017) Log Message Mark imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html as flaky. https://bugs.webkit.org/show_bug.cgi?id=179137 Unreviewed test gardening. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225196 => 225197) --- trunk/LayoutTests/ChangeLog 2017-11-27 23:04:32 UTC (rev 225196) +++ trunk/LayoutTests/ChangeLog 2017-11-27 23:05:40 UTC (rev 225197) @@ -1,3 +1,12 @@ +2017-11-27 Ryan Haddad + +Mark imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html as flaky. +https://bugs.webkit.org/show_bug.cgi?id=179137 + +Unreviewed test gardening. + +* TestExpectations: + 2017-11-27 Dean Jackson Implement OffscreenCanvas.getContext("webgl") Modified: trunk/LayoutTests/TestExpectations (225196 => 225197) --- trunk/LayoutTests/TestExpectations 2017-11-27 23:04:32 UTC (rev 225196) +++ trunk/LayoutTests/TestExpectations 2017-11-27 23:05:40 UTC (rev 225197) @@ -179,6 +179,7 @@ imported/w3c/web-platform-tests/service-workers/service-worker/client-navigate.https.html [ Skip ] http/tests/workers/service/service-worker-cache-api.https.html [ Pass Failure ] +webkit.org/b/179137 imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html [ Pass Failure ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.html [ Pass Failure ] webkit.org/b/179248 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html [ Pass Failure ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225196] trunk/Source/WebCore
Title: [225196] trunk/Source/WebCore Revision 225196 Author timothy_hor...@apple.com Date 2017-11-27 15:04:32 -0800 (Mon, 27 Nov 2017) Log Message REGRESSION (r225142): Crashes when command clicking or force touching links https://bugs.webkit.org/show_bug.cgi?id=180055 Reviewed by Wenson Hsieh. No new tests; affects an existing API test. * editing/mac/DictionaryLookup.mm: (WebCore::tokenRange): The 'options' out argument from tokenRangeForString is autoreleased. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/mac/DictionaryLookup.mm Diff Modified: trunk/Source/WebCore/ChangeLog (225195 => 225196) --- trunk/Source/WebCore/ChangeLog 2017-11-27 22:29:33 UTC (rev 225195) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 23:04:32 UTC (rev 225196) @@ -1,3 +1,17 @@ +2017-11-27 Tim Horton + +REGRESSION (r225142): Crashes when command clicking or force touching links +https://bugs.webkit.org/show_bug.cgi?id=180055 + + +Reviewed by Wenson Hsieh. + +No new tests; affects an existing API test. + +* editing/mac/DictionaryLookup.mm: +(WebCore::tokenRange): +The 'options' out argument from tokenRangeForString is autoreleased. + 2017-11-27 Dean Jackson Implement OffscreenCanvas.getContext("webgl") Modified: trunk/Source/WebCore/editing/mac/DictionaryLookup.mm (225195 => 225196) --- trunk/Source/WebCore/editing/mac/DictionaryLookup.mm 2017-11-27 22:29:33 UTC (rev 225195) +++ trunk/Source/WebCore/editing/mac/DictionaryLookup.mm 2017-11-27 23:04:32 UTC (rev 225196) @@ -62,9 +62,9 @@ if (!options) return [classLULookupDefinitionModule tokenRangeForString:string range:range options:nullptr]; -NSDictionary *retainedOptions = nil; -auto result = [classLULookupDefinitionModule tokenRangeForString:string range:range options:&retainedOptions]; -*options = adoptNS(retainedOptions); +NSDictionary *outOptions = nil; +auto result = [classLULookupDefinitionModule tokenRangeForString:string range:range options:&outOptions]; +*options = outOptions; return result; END_BLOCK_OBJC_EXCEPTIONS; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225195] trunk/Source/WebKit
Title: [225195] trunk/Source/WebKit Revision 225195 Author commit-qu...@webkit.org Date 2017-11-27 14:29:33 -0800 (Mon, 27 Nov 2017) Log Message downcast to WebKit::FullscreenClient can sometimes fail. https://bugs.webkit.org/show_bug.cgi?id=179849 Patch by Jeremy Jones on 2017-11-27 Reviewed by Darin Adler. There are cases during teardown where fullscreenClient() has been cleared back to an API::FullscreenClient. Because those cases, WKWebView should test before downcasting to WebKit::FullscreenClient. This is causing a crash when fullscreen delegate is cleared after a page is closed. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _setFullscreenDelegate:]): (-[WKWebView _fullscreenDelegate]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm Diff Modified: trunk/Source/WebKit/ChangeLog (225194 => 225195) --- trunk/Source/WebKit/ChangeLog 2017-11-27 22:18:54 UTC (rev 225194) +++ trunk/Source/WebKit/ChangeLog 2017-11-27 22:29:33 UTC (rev 225195) @@ -1,3 +1,19 @@ +2017-11-27 Jeremy Jones + +downcast to WebKit::FullscreenClient can sometimes fail. +https://bugs.webkit.org/show_bug.cgi?id=179849 + +Reviewed by Darin Adler. + +There are cases during teardown where fullscreenClient() has been cleared back to an API::FullscreenClient. +Because those cases, WKWebView should test before downcasting to WebKit::FullscreenClient. + +This is causing a crash when fullscreen delegate is cleared after a page is closed. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _setFullscreenDelegate:]): +(-[WKWebView _fullscreenDelegate]): + 2017-11-27 Chris Dumez Give Document a strongly typed identifier instead of a uint64_t Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (225194 => 225195) --- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-11-27 22:18:54 UTC (rev 225194) +++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm 2017-11-27 22:29:33 UTC (rev 225195) @@ -4764,7 +4764,8 @@ - (void)_setFullscreenDelegate:(id<_WKFullscreenDelegate>)delegate { #if ENABLE(FULLSCREEN_API) -downcast(_page->fullscreenClient()).setDelegate(delegate); +if (is(_page->fullscreenClient())) +downcast(_page->fullscreenClient()).setDelegate(delegate); #endif } @@ -4771,10 +4772,10 @@ - (id<_WKFullscreenDelegate>)_fullscreenDelegate { #if ENABLE(FULLSCREEN_API) -return downcast(_page->fullscreenClient()).delegate().autorelease(); -#else -return nullptr; +if (is(_page->fullscreenClient())) +return downcast(_page->fullscreenClient()).delegate().autorelease(); #endif +return nil; } - (BOOL)_isInFullscreen ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225194] trunk/Source/WebCore/html/OffscreenCanvas.h
Title: [225194] trunk/Source/WebCore/html/OffscreenCanvas.h Revision 225194 Author d...@apple.com Date 2017-11-27 14:18:54 -0800 (Mon, 27 Nov 2017) Log Message Attempt to fix Windows build. * html/OffscreenCanvas.h: Modified Paths trunk/Source/WebCore/html/OffscreenCanvas.h Diff Modified: trunk/Source/WebCore/html/OffscreenCanvas.h (225193 => 225194) --- trunk/Source/WebCore/html/OffscreenCanvas.h 2017-11-27 22:12:46 UTC (rev 225193) +++ trunk/Source/WebCore/html/OffscreenCanvas.h 2017-11-27 22:18:54 UTC (rev 225194) @@ -26,6 +26,7 @@ #pragma once #include "CanvasBase.h" +#include "CanvasRenderingContext.h" #include "EventTarget.h" #include "ExceptionOr.h" #include "IntSize.h" @@ -37,7 +38,6 @@ namespace WebCore { -class CanvasRenderingContext; class ImageBitmap; class WebGLRenderingContext; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225193] trunk
Title: [225193] trunk Revision 225193 Author d...@apple.com Date 2017-11-27 14:12:46 -0800 (Mon, 27 Nov 2017) Log Message Implement OffscreenCanvas.getContext("webgl") https://bugs.webkit.org/show_bug.cgi?id=180050 Reviewed by Sam Weinig. Source/WebCore: Implement enough of getContext("webgl") to actually return an active WebGLRenderingContext, even though it isn't actually hooked up to draw. Introduce a new type, WebGLCanvas, which is a variant of HTMLCanvasElement and OffscreenCanvas, so that it can be exposed by the 'canvas' attribute on WebGLRenderingContext. At the moment we still assume that all uses of WebGLRenderingContext come from HTMLCanvasElement, so add a bunch of logic to detect that case. Updated the existing (proposed) WPT. * html/OffscreenCanvas.cpp: (WebCore::OffscreenCanvas::getContext): Implement enough of getContext to return a WebGLRenderingContext. * html/OffscreenCanvas.h: Use the new OffscreenRenderingContext type, even though it's just a WebGLRenderingContext at the moment. * html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::canvas): Now returns a WebGLCanvas. (WebCore::WebGLRenderingContextBase::htmlCanvas): Helper to get the HTMLCanvasElement if it exists. (WebCore::WebGLRenderingContextBase::offscreenCanvas): Ditto for OffscreenCanvas. (WebCore::WebGLRenderingContextBase::checkForContextLossHandling): Guard for htmlCanvas(). (WebCore::WebGLRenderingContextBase::registerWithWebGLStateTracker): (WebCore::WebGLRenderingContextBase::setupFlags): (WebCore::WebGLRenderingContextBase::addActivityStateChangeObserverIfNecessary): (WebCore::WebGLRenderingContextBase::removeActivityStateChangeObserver): (WebCore::WebGLRenderingContextBase::markContextChanged): (WebCore::WebGLRenderingContextBase::markContextChangedAndNotifyCanvasObserver): (WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas): (WebCore::WebGLRenderingContextBase::reshape): (WebCore::WebGLRenderingContextBase::compileShader): (WebCore::WebGLRenderingContextBase::isContextLostOrPending): (WebCore::WebGLRenderingContextBase::readPixels): (WebCore::WebGLRenderingContextBase::loseContextImpl): (WebCore::WebGLRenderingContextBase::printToConsole): (WebCore::WebGLRenderingContextBase::dispatchContextLostEvent): (WebCore::WebGLRenderingContextBase::maybeRestoreContext): (WebCore::WebGLRenderingContextBase::dispatchContextChangedEvent): (WebCore::WebGLRenderingContextBase::clampedCanvasSize): * html/canvas/WebGLRenderingContextBase.h: Define WebGLCanvas. * html/canvas/WebGLRenderingContextBase.idl: * inspector/InspectorInstrumentation.h: Handle the variant options, although leave OffscreenCanvas unimplemented for the moment. (WebCore::InspectorInstrumentation::didEnableExtension): (WebCore::InspectorInstrumentation::didCreateProgram): (WebCore::InspectorInstrumentation::willDeleteProgram): (WebCore::InspectorInstrumentation::isShaderProgramDisabled): * inspector/agents/InspectorCanvasAgent.cpp: (WebCore::InspectorCanvasAgent::didEnableExtension): (WebCore::InspectorCanvasAgent::didCreateProgram): LayoutTests: Update expected results. * http/wpt/offscreen-canvas/getContext-webgl.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/wpt/offscreen-canvas/getContext-webgl.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/OffscreenCanvas.cpp trunk/Source/WebCore/html/OffscreenCanvas.h trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.idl trunk/Source/WebCore/inspector/InspectorInstrumentation.h trunk/Source/WebCore/inspector/agents/InspectorCanvasAgent.cpp Diff Modified: trunk/LayoutTests/ChangeLog (225192 => 225193) --- trunk/LayoutTests/ChangeLog 2017-11-27 21:21:43 UTC (rev 225192) +++ trunk/LayoutTests/ChangeLog 2017-11-27 22:12:46 UTC (rev 225193) @@ -1,3 +1,15 @@ +2017-11-27 Dean Jackson + +Implement OffscreenCanvas.getContext("webgl") +https://bugs.webkit.org/show_bug.cgi?id=180050 + + +Reviewed by Sam Weinig. + +Update expected results. + +* http/wpt/offscreen-canvas/getContext-webgl.html: + 2017-11-27 Matt Lewis Fixed incorrectly marked test expectations. Modified: trunk/LayoutTests/http/wpt/offscreen-canvas/getContext-webgl.html (225192 => 225193) --- trunk/LayoutTests/http/wpt/offscreen-canvas/getContext-webgl.html 2017-11-27 21:21:43 UTC (rev 225192) +++ trunk/LayoutTests/http/wpt/offscreen-canvas/getContext-webgl.html 2017-11-27 22:12:46 UTC (rev 225193) @@ -8,7 +8,8 @@ test(function() { let offscreenCanvas = new OffscreenCanvas(100, 100); let gl = offscreenCanvas.getContext("webgl"); -assert_equals(gl, null); +assert_true(gl instanceof WebGLRenderingContext); +assert_equals(gl.canvas, offscreenCanvas); }, "Test getContext('webgl')."); Modified: trunk/Source/WebCore/ChangeLog (225192 => 22519
[webkit-changes] [225192] trunk/Source/WebCore
Title: [225192] trunk/Source/WebCore Revision 225192 Author mcatanz...@igalia.com Date 2017-11-27 13:21:43 -0800 (Mon, 27 Nov 2017) Log Message Unreviewed, fix an improper #include * platform/network/soup/NetworkStorageSessionSoup.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (225191 => 225192) --- trunk/Source/WebCore/ChangeLog 2017-11-27 21:16:50 UTC (rev 225191) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 21:21:43 UTC (rev 225192) @@ -1,3 +1,9 @@ +2017-11-27 Michael Catanzaro + +Unreviewed, fix an improper #include + +* platform/network/soup/NetworkStorageSessionSoup.cpp: + 2017-11-27 Alex Christensen imported/w3c/web-platform-tests/url/failure.html crashes on debug builds Modified: trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp (225191 => 225192) --- trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp 2017-11-27 21:16:50 UTC (rev 225191) +++ trunk/Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp 2017-11-27 21:21:43 UTC (rev 225192) @@ -32,9 +32,9 @@ #if USE(SOUP) #include "Cookie.h" +#include "GUniquePtrSoup.h" #include "ResourceHandle.h" #include "SoupNetworkSession.h" -#include #include #include #include ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225190] trunk/LayoutTests
Title: [225190] trunk/LayoutTests Revision 225190 Author jlew...@apple.com Date 2017-11-27 13:05:27 -0800 (Mon, 27 Nov 2017) Log Message Fixed incorrectly marked test expectations. Unreviewed test gardening. * platform/ios-wk2/TestExpectations: * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-wk2/TestExpectations trunk/LayoutTests/platform/mac-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225189 => 225190) --- trunk/LayoutTests/ChangeLog 2017-11-27 20:49:36 UTC (rev 225189) +++ trunk/LayoutTests/ChangeLog 2017-11-27 21:05:27 UTC (rev 225190) @@ -1,3 +1,12 @@ +2017-11-27 Matt Lewis + +Fixed incorrectly marked test expectations. + +Unreviewed test gardening. + +* platform/ios-wk2/TestExpectations: +* platform/mac-wk2/TestExpectations: + 2017-11-27 Alex Christensen Run imported/w3c/web-platform-tests/url/failure.html on debug builds after r225186. Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (225189 => 225190) --- trunk/LayoutTests/platform/ios-wk2/TestExpectations 2017-11-27 20:49:36 UTC (rev 225189) +++ trunk/LayoutTests/platform/ios-wk2/TestExpectations 2017-11-27 21:05:27 UTC (rev 225190) @@ -1342,5 +1342,5 @@ webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ] -webkit.org/b/179176 [ Release ] svg/graphics/SVGImage.cpp [ Pass Failure ] +webkit.org/b/179176 [ Release ] svg/wicd/test-rightsizing-a.xhtml [ Pass Failure ] Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (225189 => 225190) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2017-11-27 20:49:36 UTC (rev 225189) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2017-11-27 21:05:27 UTC (rev 225190) @@ -831,6 +831,6 @@ webkit.org/b/165620 [ ElCapitan Sierra ] http/tests/cache/disk-cache/disk-cache-request-headers.html [ Pass Failure ] -webkit.org/b/179176 [ Release ] svg/graphics/SVGImage.cpp [ Pass Failure ] +webkit.org/b/179176 [ Release ] svg/wicd/test-rightsizing-a.xhtml [ Pass Failure ] webkit.org/b/179773 imported/w3c/web-platform-tests/fetch/api/abort/serviceworker-intercepted.https.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225189] trunk/LayoutTests
Title: [225189] trunk/LayoutTests Revision 225189 Author achristen...@apple.com Date 2017-11-27 12:49:36 -0800 (Mon, 27 Nov 2017) Log Message Run imported/w3c/web-platform-tests/url/failure.html on debug builds after r225186. * TestExpectations: It's still flaky, but it doesn't assert any more. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225188 => 225189) --- trunk/LayoutTests/ChangeLog 2017-11-27 20:40:51 UTC (rev 225188) +++ trunk/LayoutTests/ChangeLog 2017-11-27 20:49:36 UTC (rev 225189) @@ -1,3 +1,10 @@ +2017-11-27 Alex Christensen + +Run imported/w3c/web-platform-tests/url/failure.html on debug builds after r225186. + +* TestExpectations: +It's still flaky, but it doesn't assert any more. + 2017-11-27 Chris Dumez Unreviewed, rebaseline http/tests/workers/service/service-worker-cache-api.https.html Modified: trunk/LayoutTests/TestExpectations (225188 => 225189) --- trunk/LayoutTests/TestExpectations 2017-11-27 20:40:51 UTC (rev 225188) +++ trunk/LayoutTests/TestExpectations 2017-11-27 20:49:36 UTC (rev 225189) @@ -753,8 +753,7 @@ [ Debug ] fullscreen/full-screen-iframe-legacy.html [ Pass Crash ] webkit.org/b/151488 [ Debug ] imported/blink/editing/selection/deleteFromDocument-undo-crash.html [ Skip ] -webkit.org/b/172337 [ Debug ] imported/w3c/web-platform-tests/url/failure.html [ Skip ] -webkit.org/b/172337 [ Release ] imported/w3c/web-platform-tests/url/failure.html [ Pass Failure ] +webkit.org/b/172337 imported/w3c/web-platform-tests/url/failure.html [ Pass Failure ] webkit.org/b/139634 [ Debug ] fast/selectors/matches-backtracking.html [ Slow ] webkit.org/b/139634 [ Debug ] fast/selectors/nth-child-of-register-requirement.html [ Slow ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225188] trunk/Source/JavaScriptCore
Title: [225188] trunk/Source/_javascript_Core Revision 225188 Author sbar...@apple.com Date 2017-11-27 12:40:51 -0800 (Mon, 27 Nov 2017) Log Message Having a bad time watchpoint firing during compilation revealed a racy assertion https://bugs.webkit.org/show_bug.cgi?id=180048 Reviewed by Mark Lam. While a DFG compilation is watching the having a bad time watchpoint, it was asserting that the rest parameter structure has indexing type ArrayWithContiguous. However, if the having a bad time watchpoint fires during the compilation, this particular structure will no longer have ArrayWithContiguous indexing type. This patch fixes this racy assertion to be aware that the watchpoint may fire during compilation. * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCreateRest): (JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225187 => 225188) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-27 20:39:18 UTC (rev 225187) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-27 20:40:51 UTC (rev 225188) @@ -1,3 +1,22 @@ +2017-11-27 Saam Barati + +Having a bad time watchpoint firing during compilation revealed a racy assertion +https://bugs.webkit.org/show_bug.cgi?id=180048 + + +Reviewed by Mark Lam. + +While a DFG compilation is watching the having a bad time watchpoint, it was +asserting that the rest parameter structure has indexing type ArrayWithContiguous. +However, if the having a bad time watchpoint fires during the compilation, +this particular structure will no longer have ArrayWithContiguous indexing type. +This patch fixes this racy assertion to be aware that the watchpoint may fire +during compilation. + +* dfg/DFGSpeculativeJIT.cpp: +(JSC::DFG::SpeculativeJIT::compileCreateRest): +(JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread): + 2017-11-27 Tim Horton One too many zeroes in macOS version number in FeatureDefines Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (225187 => 225188) --- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2017-11-27 20:39:18 UTC (rev 225187) +++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2017-11-27 20:40:51 UTC (rev 225188) @@ -7246,7 +7246,7 @@ GPRReg arrayResultGPR = arrayResult.gpr(); bool shouldAllowForArrayStorageStructureForLargeArrays = false; -ASSERT(m_jit.graph().globalObjectFor(node->origin.semantic)->restParameterStructure()->indexingType() == ArrayWithContiguous); +ASSERT(m_jit.graph().globalObjectFor(node->origin.semantic)->restParameterStructure()->indexingType() == ArrayWithContiguous || m_jit.graph().globalObjectFor(node->origin.semantic)->isHavingABadTime()); compileAllocateNewArrayWithSize(m_jit.graph().globalObjectFor(node->origin.semantic), arrayResultGPR, arrayLengthGPR, ArrayWithContiguous, shouldAllowForArrayStorageStructureForLargeArrays); GPRTemporary argumentsStart(this); @@ -7446,7 +7446,7 @@ bool shouldAllowForArrayStorageStructureForLargeArrays = false; -ASSERT(m_jit.graph().globalObjectFor(node->origin.semantic)->restParameterStructure()->indexingType() == ArrayWithContiguous); +ASSERT(m_jit.graph().globalObjectFor(node->origin.semantic)->restParameterStructure()->indexingType() == ArrayWithContiguous || m_jit.graph().globalObjectFor(node->origin.semantic)->isHavingABadTime()); compileAllocateNewArrayWithSize(m_jit.graph().globalObjectFor(node->origin.semantic), resultGPR, lengthGPR, ArrayWithContiguous, shouldAllowForArrayStorageStructureForLargeArrays); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225187] trunk/LayoutTests
Title: [225187] trunk/LayoutTests Revision 225187 Author cdu...@apple.com Date 2017-11-27 12:39:18 -0800 (Mon, 27 Nov 2017) Log Message Unreviewed, rebaseline http/tests/workers/service/service-worker-cache-api.https.html This test is currently marked as flaky. * http/tests/workers/service/service-worker-cache-api.https-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/workers/service/service-worker-cache-api.https-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (225186 => 225187) --- trunk/LayoutTests/ChangeLog 2017-11-27 20:23:13 UTC (rev 225186) +++ trunk/LayoutTests/ChangeLog 2017-11-27 20:39:18 UTC (rev 225187) @@ -1,5 +1,13 @@ 2017-11-27 Chris Dumez +Unreviewed, rebaseline http/tests/workers/service/service-worker-cache-api.https.html + +This test is currently marked as flaky. + +* http/tests/workers/service/service-worker-cache-api.https-expected.txt: + +2017-11-27 Chris Dumez + Unreviewed, unskip service worker tests that are no longer flaky. * TestExpectations: Modified: trunk/LayoutTests/http/tests/workers/service/service-worker-cache-api.https-expected.txt (225186 => 225187) --- trunk/LayoutTests/http/tests/workers/service/service-worker-cache-api.https-expected.txt 2017-11-27 20:23:13 UTC (rev 225186) +++ trunk/LayoutTests/http/tests/workers/service/service-worker-cache-api.https-expected.txt 2017-11-27 20:39:18 UTC (rev 225187) @@ -1,7 +1,7 @@ Registering service worker Service worker registered -Status is cache is ready +Status is Not Found Fetching -Response buffer byte length is 12940 -Status is matched cache for https://127.0.0.1:8443/resources/square100.png +Response buffer byte length is 338 +Status is Not Found ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225186] trunk/Source/WebCore
Title: [225186] trunk/Source/WebCore Revision 225186 Author achristen...@apple.com Date 2017-11-27 12:23:13 -0800 (Mon, 27 Nov 2017) Log Message imported/w3c/web-platform-tests/url/failure.html crashes on debug builds https://bugs.webkit.org/show_bug.cgi?id=172337 Reviewed by Chris Dumez. There were two problems: 1. Invalid URLs can contain non-ASCII characters in its UTF8 representation. We should not put these URLs into content extension finite state machines. They won't load anyways. 2. If we don't have any content extensions installed, we still call String.utf8 unnecessarily. Let's not. * contentextensions/ContentExtensionsBackend.cpp: (WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (225185 => 225186) --- trunk/Source/WebCore/ChangeLog 2017-11-27 20:02:09 UTC (rev 225185) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 20:23:13 UTC (rev 225186) @@ -1,3 +1,18 @@ +2017-11-27 Alex Christensen + +imported/w3c/web-platform-tests/url/failure.html crashes on debug builds +https://bugs.webkit.org/show_bug.cgi?id=172337 + +Reviewed by Chris Dumez. + +There were two problems: +1. Invalid URLs can contain non-ASCII characters in its UTF8 representation. +We should not put these URLs into content extension finite state machines. They won't load anyways. +2. If we don't have any content extensions installed, we still call String.utf8 unnecessarily. Let's not. + +* contentextensions/ContentExtensionsBackend.cpp: +(WebCore::ContentExtensions::ContentExtensionsBackend::actionsForResourceLoad const): + 2017-11-27 Simon Fraser Use TextStream's indent tracking, rather than passing indent to all the externalRepresentation() functions Modified: trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp (225185 => 225186) --- trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp 2017-11-27 20:02:09 UTC (rev 225185) +++ trunk/Source/WebCore/contentextensions/ContentExtensionsBackend.cpp 2017-11-27 20:23:13 UTC (rev 225186) @@ -76,12 +76,14 @@ #if CONTENT_EXTENSIONS_PERFORMANCE_REPORTING double addedTimeStart = monotonicallyIncreasingTime(); #endif -if (resourceLoadInfo.resourceURL.protocolIsData()) +if (m_contentExtensions.isEmpty() +|| !resourceLoadInfo.resourceURL.isValid() +|| resourceLoadInfo.resourceURL.protocolIsData()) return { }; const String& urlString = resourceLoadInfo.resourceURL.string(); ASSERT_WITH_MESSAGE(urlString.isAllASCII(), "A decoded URL should only contain ASCII characters. The matching algorithm assumes the input is ASCII."); -const CString& urlCString = urlString.utf8(); +const auto urlCString = urlString.utf8(); Vector finalActions; Vector stylesheetIdentifiers; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225185] trunk/Source
Title: [225185] trunk/Source Revision 225185 Author simon.fra...@apple.com Date 2017-11-27 12:02:09 -0800 (Mon, 27 Nov 2017) Log Message Use TextStream's indent tracking, rather than passing indent to all the externalRepresentation() functions https://bugs.webkit.org/show_bug.cgi?id=180027 Reviewed by Jon Lee. Remove all the indent arguments, and make use of TextStream::IndentScope to control output indentation. Source/WebCore: Add an indent stream manipulator so you can say ts << indent << "text" to write the indent. * platform/graphics/filters/FEBlend.cpp: (WebCore::FEBlend::externalRepresentation const): * platform/graphics/filters/FEBlend.h: * platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::externalRepresentation const): * platform/graphics/filters/FEColorMatrix.h: * platform/graphics/filters/FEComponentTransfer.cpp: (WebCore::FEComponentTransfer::externalRepresentation const): * platform/graphics/filters/FEComponentTransfer.h: * platform/graphics/filters/FEComposite.cpp: (WebCore::FEComposite::externalRepresentation const): * platform/graphics/filters/FEComposite.h: * platform/graphics/filters/FEConvolveMatrix.cpp: (WebCore::FEConvolveMatrix::externalRepresentation const): * platform/graphics/filters/FEConvolveMatrix.h: * platform/graphics/filters/FEDiffuseLighting.cpp: (WebCore::FEDiffuseLighting::externalRepresentation const): * platform/graphics/filters/FEDiffuseLighting.h: * platform/graphics/filters/FEDisplacementMap.cpp: (WebCore::FEDisplacementMap::externalRepresentation const): * platform/graphics/filters/FEDisplacementMap.h: * platform/graphics/filters/FEDropShadow.cpp: (WebCore::FEDropShadow::externalRepresentation const): * platform/graphics/filters/FEDropShadow.h: * platform/graphics/filters/FEFlood.cpp: (WebCore::FEFlood::externalRepresentation const): * platform/graphics/filters/FEFlood.h: * platform/graphics/filters/FEGaussianBlur.cpp: (WebCore::FEGaussianBlur::externalRepresentation const): * platform/graphics/filters/FEGaussianBlur.h: * platform/graphics/filters/FEMerge.cpp: (WebCore::FEMerge::externalRepresentation const): * platform/graphics/filters/FEMerge.h: * platform/graphics/filters/FEMorphology.cpp: (WebCore::FEMorphology::externalRepresentation const): * platform/graphics/filters/FEMorphology.h: * platform/graphics/filters/FEOffset.cpp: (WebCore::FEOffset::externalRepresentation const): * platform/graphics/filters/FEOffset.h: * platform/graphics/filters/FESpecularLighting.cpp: (WebCore::FESpecularLighting::externalRepresentation const): * platform/graphics/filters/FESpecularLighting.h: * platform/graphics/filters/FETile.cpp: (WebCore::FETile::externalRepresentation const): * platform/graphics/filters/FETile.h: * platform/graphics/filters/FETurbulence.cpp: (WebCore::FETurbulence::externalRepresentation const): * platform/graphics/filters/FETurbulence.h: * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::externalRepresentation const): * platform/graphics/filters/FilterEffect.h: * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::externalRepresentation const): * platform/graphics/filters/SourceAlpha.h: * platform/graphics/filters/SourceGraphic.cpp: (WebCore::SourceGraphic::externalRepresentation const): * platform/graphics/filters/SourceGraphic.h: * rendering/RenderTreeAsText.cpp: (WebCore::write): (WebCore::writeLayer): (WebCore::writeLayerRenderers): (WebCore::writeLayers): (WebCore::externalRepresentation): * rendering/RenderTreeAsText.h: * rendering/svg/SVGRenderTreeAsText.cpp: (WebCore::writeSVGInlineTextBox): (WebCore::writeSVGInlineTextBoxes): (WebCore::writeStandardPrefix): (WebCore::writeChildren): (WebCore::writeSVGResourceContainer): (WebCore::writeSVGContainer): (WebCore::write): (WebCore::writeSVGText): (WebCore::writeSVGInlineText): (WebCore::writeSVGImage): (WebCore::writeSVGGradientStop): (WebCore::writeResources): * rendering/svg/SVGRenderTreeAsText.h: * svg/graphics/filters/SVGFEImage.cpp: (WebCore::FEImage::externalRepresentation const): * svg/graphics/filters/SVGFEImage.h: Source/WTF: Add an indent stream manipulator so you can say ts << indent << "text" to write the indent. * wtf/text/TextStream.h: (WTF::TextStream::IndentScope::IndentScope): (WTF::TextStream::IndentScope::~IndentScope): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/text/TextStream.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/filters/FEBlend.cpp trunk/Source/WebCore/platform/graphics/filters/FEBlend.h trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.h trunk/Source/WebCore/platform/graphics/filters/FEComponentTransfer.cpp trunk/Source/WebCore/platform/graphics/filters/FEComponentTransfer.h trunk/Source/WebCore/platform/graphics/filters/FEComposite.cpp trunk/Source/WebCore/platform/graphics/filters/FEComposite.h trunk/Source/WebCore/platform/graphics/filters/FEConvolveMatrix.cpp trunk/Source/WebC
[webkit-changes] [225184] trunk/Source
Title: [225184] trunk/Source Revision 225184 Author cdu...@apple.com Date 2017-11-27 11:51:13 -0800 (Mon, 27 Nov 2017) Log Message Give Document a strongly typed identifier instead of a uint64_t https://bugs.webkit.org/show_bug.cgi?id=180041 Reviewed by Youenn Fablet. Give Document a strongly typed identifier instead of a uint64_t, for clarity. Source/WebCore: * WebCore.xcodeproj/project.pbxproj: * dom/Document.cpp: (WebCore::m_identifier): * dom/Document.h: (WebCore::Document::identifier const): * dom/DocumentIdentifier.h: Copied from Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h. * workers/service/ServiceWorkerClientIdentifier.h: (WebCore::ServiceWorkerClientIdentifier::toString const): (WebCore::ServiceWorkerClientIdentifier::encode const): (WebCore::ServiceWorkerClientIdentifier::decode): * workers/service/server/SWClientConnection.cpp: (WebCore::SWClientConnection::postMessageToServiceWorkerClient): (WebCore::SWClientConnection::notifyClientsOfControllerChange): * workers/service/server/SWClientConnection.h: * workers/service/server/SWServer.cpp: (WebCore::SWServer::Connection::serviceWorkerStartedControllingClient): (WebCore::SWServer::Connection::serviceWorkerStoppedControllingClient): (WebCore::SWServer::serviceWorkerStartedControllingClient): (WebCore::SWServer::serviceWorkerStoppedControllingClient): * workers/service/server/SWServer.h: * workers/service/server/SWServerRegistration.cpp: (WebCore::SWServerRegistration::addClientUsingRegistration): (WebCore::SWServerRegistration::removeClientUsingRegistration): * workers/service/server/SWServerRegistration.h: Source/WebKit: * Platform/IPC/ArgumentCoders.h: * Scripts/webkit/messages.py: (forward_declarations_and_headers): * StorageProcess/ServiceWorker/WebSWServerConnection.cpp: (WebKit::WebSWServerConnection::notifyClientsOfControllerChange): (WebKit::WebSWServerConnection::postMessageToServiceWorkerGlobalScope): (WebKit::WebSWServerConnection::postMessageToServiceWorkerClient): * StorageProcess/ServiceWorker/WebSWServerConnection.h: * StorageProcess/ServiceWorker/WebSWServerConnection.messages.in: * StorageProcess/StorageProcess.cpp: (WebKit::StorageProcess::postMessageToServiceWorkerClient): * WebProcess/Storage/WebSWClientConnection.cpp: (WebKit::WebSWClientConnection::postMessageToServiceWorkerGlobalScope): (WebKit::WebSWClientConnection::serviceWorkerStartedControllingClient): (WebKit::WebSWClientConnection::serviceWorkerStoppedControllingClient): (WebKit::WebSWClientConnection::postMessageToServiceWorkerClient): * WebProcess/Storage/WebSWClientConnection.h: * WebProcess/Storage/WebSWClientConnection.messages.in: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/dom/Document.cpp trunk/Source/WebCore/dom/Document.h trunk/Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h trunk/Source/WebCore/workers/service/server/SWClientConnection.cpp trunk/Source/WebCore/workers/service/server/SWClientConnection.h trunk/Source/WebCore/workers/service/server/SWServer.cpp trunk/Source/WebCore/workers/service/server/SWServer.h trunk/Source/WebCore/workers/service/server/SWServerRegistration.cpp trunk/Source/WebCore/workers/service/server/SWServerRegistration.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/IPC/ArgumentCoders.h trunk/Source/WebKit/Scripts/webkit/messages.py trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.cpp trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.h trunk/Source/WebKit/StorageProcess/ServiceWorker/WebSWServerConnection.messages.in trunk/Source/WebKit/StorageProcess/StorageProcess.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.cpp trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.h trunk/Source/WebKit/WebProcess/Storage/WebSWClientConnection.messages.in Added Paths trunk/Source/WebCore/dom/DocumentIdentifier.h Diff Modified: trunk/Source/WebCore/ChangeLog (225183 => 225184) --- trunk/Source/WebCore/ChangeLog 2017-11-27 19:40:45 UTC (rev 225183) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 19:51:13 UTC (rev 225184) @@ -1,3 +1,37 @@ +2017-11-27 Chris Dumez + +Give Document a strongly typed identifier instead of a uint64_t +https://bugs.webkit.org/show_bug.cgi?id=180041 + +Reviewed by Youenn Fablet. + +Give Document a strongly typed identifier instead of a uint64_t, for clarity. + +* WebCore.xcodeproj/project.pbxproj: +* dom/Document.cpp: +(WebCore::m_identifier): +* dom/Document.h: +(WebCore::Document::identifier const): +* dom/DocumentIdentifier.h: Copied from Source/WebCore/workers/service/ServiceWorkerClientIdentifier.h. +* workers/service/ServiceWorkerClientIdentifier.h: +(WebCore::ServiceWorkerClientIdentifier::toString const): +(WebCore::ServiceWorkerClientIdentifier::encode const): +(WebCore::ServiceWorkerCli
[webkit-changes] [225183] trunk/Source/WebCore
Title: [225183] trunk/Source/WebCore Revision 225183 Author simon.fra...@apple.com Date 2017-11-27 11:40:45 -0800 (Mon, 27 Nov 2017) Log Message Optimize FEDisplacementMap https://bugs.webkit.org/show_bug.cgi?id=180023 Reviewed by Sam Weinig. Make FEDisplacementMap about 3x faster by operating on whole pixels rather than individual channels. There's no per-channel logic once the srcX and srcY are computed. Other sundry cleanup. * platform/graphics/ColorUtilities.h: (WebCore::byteOffsetOfPixel): Will use this in more places in future. * platform/graphics/filters/FEDisplacementMap.cpp: (WebCore::FEDisplacementMap::platformApplySoftware): * platform/graphics/filters/FEDisplacementMap.h: (WebCore::FEDisplacementMap::xChannelIndex const): (WebCore::FEDisplacementMap::yChannelIndex const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/ColorUtilities.h trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h Diff Modified: trunk/Source/WebCore/ChangeLog (225182 => 225183) --- trunk/Source/WebCore/ChangeLog 2017-11-27 19:36:05 UTC (rev 225182) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 19:40:45 UTC (rev 225183) @@ -1,3 +1,23 @@ +2017-11-27 Simon Fraser + +Optimize FEDisplacementMap +https://bugs.webkit.org/show_bug.cgi?id=180023 + +Reviewed by Sam Weinig. + +Make FEDisplacementMap about 3x faster by operating on whole pixels rather than +individual channels. There's no per-channel logic once the srcX and srcY are computed. + +Other sundry cleanup. + +* platform/graphics/ColorUtilities.h: +(WebCore::byteOffsetOfPixel): Will use this in more places in future. +* platform/graphics/filters/FEDisplacementMap.cpp: +(WebCore::FEDisplacementMap::platformApplySoftware): +* platform/graphics/filters/FEDisplacementMap.h: +(WebCore::FEDisplacementMap::xChannelIndex const): +(WebCore::FEDisplacementMap::yChannelIndex const): + 2017-11-27 Tim Horton One too many zeroes in macOS version number in FeatureDefines Modified: trunk/Source/WebCore/platform/graphics/ColorUtilities.h (225182 => 225183) --- trunk/Source/WebCore/platform/graphics/ColorUtilities.h 2017-11-27 19:36:05 UTC (rev 225182) +++ trunk/Source/WebCore/platform/graphics/ColorUtilities.h 2017-11-27 19:40:45 UTC (rev 225183) @@ -141,5 +141,11 @@ return std::max(0, std::min(static_cast(lroundf(255.0f * f)), 255)); } +inline unsigned byteOffsetOfPixel(unsigned x, unsigned y, unsigned rowBytes) +{ +const unsigned bytesPerPixel = 4; +return x * bytesPerPixel + y * rowBytes; +} + } // namespace WebCore Modified: trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp (225182 => 225183) --- trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp 2017-11-27 19:36:05 UTC (rev 225182) +++ trunk/Source/WebCore/platform/graphics/filters/FEDisplacementMap.cpp 2017-11-27 19:40:45 UTC (rev 225183) @@ -24,12 +24,12 @@ #include "config.h" #include "FEDisplacementMap.h" +#include "ColorUtilities.h" #include "Filter.h" #include "GraphicsContext.h" +#include #include -#include - namespace WebCore { FEDisplacementMap::FEDisplacementMap(Filter& filter, ChannelSelectorType xChannelSelector, ChannelSelectorType yChannelSelector, float scale) @@ -99,15 +99,16 @@ return; IntRect effectADrawingRect = requestedRegionOfInputImageData(in->absolutePaintRect()); -auto srcPixelArrayA = in->premultipliedResult(effectADrawingRect); +auto inputImage = in->premultipliedResult(effectADrawingRect); IntRect effectBDrawingRect = requestedRegionOfInputImageData(in2->absolutePaintRect()); -auto srcPixelArrayB = in2->unmultipliedResult(effectBDrawingRect); +// The calculations using the pixel values from ‘in2’ are performed using non-premultiplied color values. +auto displacementImage = in2->unmultipliedResult(effectBDrawingRect); -if (!srcPixelArrayA || !srcPixelArrayB) +if (!inputImage || !displacementImage) return; -ASSERT(srcPixelArrayA->length() == srcPixelArrayB->length()); +ASSERT(inputImage->length() == displacementImage->length()); Filter& filter = this->filter(); IntSize paintSize = absolutePaintRect().size(); @@ -117,21 +118,28 @@ float scaleForColorY = scaleY / 255.0; float scaledOffsetX = 0.5 - scaleX * 0.5; float scaledOffsetY = 0.5 - scaleY * 0.5; -int stride = paintSize.width() * 4; + +int displacementChannelX = xChannelIndex(); +int displacementChannelY = yChannelIndex(); + +int rowBytes = paintSize.width() * 4; + for (int y = 0; y < paintSize.height(); ++y) { -int line = y * stride; +int lineStartOffset = y * rowBytes; + for (int x = 0; x < paintSize.width(); ++x) { -int dstIndex = line + x * 4; -
[webkit-changes] [225182] trunk
Title: [225182] trunk Revision 225182 Author commit-qu...@webkit.org Date 2017-11-27 11:36:05 -0800 (Mon, 27 Nov 2017) Log Message [GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings https://bugs.webkit.org/show_bug.cgi?id=18005 Patch by Yacine Bandou on 2017-11-27 Reviewed by Michael Catanzaro. Source/WebKit: EncryptedMedia is an experimental _javascript_ API for playing encrypted media in HTML. This property will only work as intended if the EncryptedMedia feature is enabled at build time with the ENABLE_ENCRYPTED_MEDIA flag. * UIProcess/API/glib/WebKitSettings.cpp: (webKitSettingsSetProperty): (webKitSettingsGetProperty): (webkit_settings_class_init): (webkit_settings_get_enable_encrypted_media): (webkit_settings_set_enable_encrypted_media): * UIProcess/API/gtk/WebKitSettings.h: * UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: * UIProcess/API/wpe/WebKitSettings.h: Tools: * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp: (testWebKitSettings): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp trunk/Source/WebKit/UIProcess/API/gtk/WebKitSettings.h trunk/Source/WebKit/UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt trunk/Source/WebKit/UIProcess/API/wpe/WebKitSettings.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (225181 => 225182) --- trunk/Source/WebKit/ChangeLog 2017-11-27 18:33:00 UTC (rev 225181) +++ trunk/Source/WebKit/ChangeLog 2017-11-27 19:36:05 UTC (rev 225182) @@ -1,3 +1,24 @@ +2017-11-27 Yacine Bandou + +[GTK][WPE] Add "enable-encrypted-media" property to WebKitWebSettings +https://bugs.webkit.org/show_bug.cgi?id=18005 + +Reviewed by Michael Catanzaro. + +EncryptedMedia is an experimental _javascript_ API for playing encrypted media in HTML. +This property will only work as intended if the EncryptedMedia feature is enabled at build time +with the ENABLE_ENCRYPTED_MEDIA flag. + +* UIProcess/API/glib/WebKitSettings.cpp: +(webKitSettingsSetProperty): +(webKitSettingsGetProperty): +(webkit_settings_class_init): +(webkit_settings_get_enable_encrypted_media): +(webkit_settings_set_enable_encrypted_media): +* UIProcess/API/gtk/WebKitSettings.h: +* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt: +* UIProcess/API/wpe/WebKitSettings.h: + 2017-11-27 Tim Horton One too many zeroes in macOS version number in FeatureDefines Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp (225181 => 225182) --- trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp 2017-11-27 18:33:00 UTC (rev 225181) +++ trunk/Source/WebKit/UIProcess/API/glib/WebKitSettings.cpp 2017-11-27 19:36:05 UTC (rev 225182) @@ -152,6 +152,7 @@ PROP_ENABLE_MEDIA_STREAM, PROP_ENABLE_SPATIAL_NAVIGATION, PROP_ENABLE_MEDIASOURCE, +PROP_ENABLE_ENCRYPTED_MEDIA, PROP_ALLOW_FILE_ACCESS_FROM_FILE_URLS, PROP_ALLOW_UNIVERSAL_ACCESS_FROM_FILE_URLS, #if PLATFORM(GTK) @@ -348,6 +349,9 @@ case PROP_ENABLE_MEDIASOURCE: webkit_settings_set_enable_mediasource(settings, g_value_get_boolean(value)); break; +case PROP_ENABLE_ENCRYPTED_MEDIA: +webkit_settings_set_enable_encrypted_media(settings, g_value_get_boolean(value)); +break; case PROP_ALLOW_FILE_ACCESS_FROM_FILE_URLS: webkit_settings_set_allow_file_access_from_file_urls(settings, g_value_get_boolean(value)); break; @@ -516,6 +520,9 @@ case PROP_ENABLE_MEDIASOURCE: g_value_set_boolean(value, webkit_settings_get_enable_mediasource(settings)); break; +case PROP_ENABLE_ENCRYPTED_MEDIA: +g_value_set_boolean(value, webkit_settings_get_enable_encrypted_media(settings)); +break; case PROP_ALLOW_FILE_ACCESS_FROM_FILE_URLS: g_value_set_boolean(value, webkit_settings_get_allow_file_access_from_file_urls(settings)); break; @@ -1283,6 +1290,27 @@ FALSE, readWriteConstructParamFlags)); + + /** + * WebKitSettings:enable-encrypted-media: + * + * Enable or disable support for Encrypted Media API on pages. + * EncryptedMedia is an experimental _javascript_ API for playing encrypted media in HTML. + * This property will only work as intended if the EncryptedMedia feature is enabled at build time + * with the ENABLE_ENCRYPTED_MEDIA flag. + * + * See https://www.w3.org/TR/encrypted-media/ + * + * Since: 2.20 + */ +g_object_class_install_property(gObjectClass, +PROP_ENABLE_ENCRYPTED_MEDIA, +g_param_spec_boolean("enable-encrypted-media", +_("Enable EncryptedMedia"), +_("Whether EncryptedMedia should be enabled."), +FALSE, +readWriteConstructParamFlags)); + /** * WebKitSet
[webkit-changes] [225181] trunk/LayoutTests
Title: [225181] trunk/LayoutTests Revision 225181 Author cdu...@apple.com Date 2017-11-27 10:33:00 -0800 (Mon, 27 Nov 2017) Log Message Unreviewed, unskip service worker tests that are no longer flaky. * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (225180 => 225181) --- trunk/LayoutTests/ChangeLog 2017-11-27 18:24:56 UTC (rev 225180) +++ trunk/LayoutTests/ChangeLog 2017-11-27 18:33:00 UTC (rev 225181) @@ -1,3 +1,9 @@ +2017-11-27 Chris Dumez + +Unreviewed, unskip service worker tests that are no longer flaky. + +* TestExpectations: + 2017-11-27 Antoine Quint Pressing the space bar while watching a fullscreen video doesn't play or pause Modified: trunk/LayoutTests/TestExpectations (225180 => 225181) --- trunk/LayoutTests/TestExpectations 2017-11-27 18:24:56 UTC (rev 225180) +++ trunk/LayoutTests/TestExpectations 2017-11-27 18:33:00 UTC (rev 225181) @@ -178,11 +178,7 @@ imported/w3c/web-platform-tests/service-workers/service-worker/websocket-in-service-worker.https.html [ Skip ] imported/w3c/web-platform-tests/service-workers/service-worker/client-navigate.https.html [ Skip ] -http/tests/workers/service/basic-install-event-waitUntil-multiple-promises.html [ Pass Timeout ] -http/tests/workers/service/basic-install-event-waitUntil-reject.html [ Pass Timeout ] -http/tests/workers/service/basic-install-event-waitUntil-resolve.html [ Pass Timeout ] http/tests/workers/service/service-worker-cache-api.https.html [ Pass Failure ] -webkit.org/b/179137 imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html [ Pass Failure ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event.https.html [ Pass Failure ] webkit.org/b/179248 imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-within-sw.https.html [ Pass Failure ] imported/w3c/web-platform-tests/service-workers/service-worker/fetch-event-respond-with-response-body-with-invalid-chunk.https.html [ Pass Failure ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225180] trunk/Source/bmalloc
Title: [225180] trunk/Source/bmalloc Revision 225180 Author fpi...@apple.com Date 2017-11-27 10:24:56 -0800 (Mon, 27 Nov 2017) Log Message Don't crash in forEachEntry when DebugHeap is enabled. Unreviewed, fixing crashes on leaks bots by removing an assertion. * bmalloc/IsoTLS.cpp: (bmalloc::IsoTLS::forEachEntry): * test/testbmalloc.cpp: Make this test work with DebugHeap so I can catch this kind of problem in the future. Modified Paths trunk/Source/bmalloc/ChangeLog trunk/Source/bmalloc/bmalloc/IsoTLS.cpp trunk/Source/bmalloc/test/testbmalloc.cpp Diff Modified: trunk/Source/bmalloc/ChangeLog (225179 => 225180) --- trunk/Source/bmalloc/ChangeLog 2017-11-27 17:59:07 UTC (rev 225179) +++ trunk/Source/bmalloc/ChangeLog 2017-11-27 18:24:56 UTC (rev 225180) @@ -1,3 +1,13 @@ +2017-11-27 Filip Pizlo + +Don't crash in forEachEntry when DebugHeap is enabled. + +Unreviewed, fixing crashes on leaks bots by removing an assertion. + +* bmalloc/IsoTLS.cpp: +(bmalloc::IsoTLS::forEachEntry): +* test/testbmalloc.cpp: Make this test work with DebugHeap so I can catch this kind of problem in the future. + 2017-11-16 Filip Pizlo Isolated Heaps caused an increase in reported leaks on the bots Modified: trunk/Source/bmalloc/bmalloc/IsoTLS.cpp (225179 => 225180) --- trunk/Source/bmalloc/bmalloc/IsoTLS.cpp 2017-11-27 17:59:07 UTC (rev 225179) +++ trunk/Source/bmalloc/bmalloc/IsoTLS.cpp 2017-11-27 18:24:56 UTC (rev 225180) @@ -167,7 +167,8 @@ template void IsoTLS::forEachEntry(const Func& func) { -RELEASE_BASSERT(m_lastEntry); +if (!m_lastEntry) +return; PerProcess::get()->head()->walkUpToInclusive( m_lastEntry, [&] (IsoTLSEntry* entry) { Modified: trunk/Source/bmalloc/test/testbmalloc.cpp (225179 => 225180) --- trunk/Source/bmalloc/test/testbmalloc.cpp 2017-11-27 17:59:07 UTC (rev 225179) +++ trunk/Source/bmalloc/test/testbmalloc.cpp 2017-11-27 18:24:56 UTC (rev 225180) @@ -24,6 +24,7 @@ */ #include +#include #include #include #include @@ -72,6 +73,10 @@ static void assertEmptyPointerSet(const std::set& pointers) { +if (PerProcess::get()->isDebugHeapEnabled()) { +printf("skipping checks because DebugHeap.\n"); +return; +} if (pointers.empty()) return; printf("Pointer set not empty!\n"); @@ -85,6 +90,10 @@ template static void assertHasObjects(IsoHeap& heap, std::set pointers) { +if (PerProcess::get()->isDebugHeapEnabled()) { +printf("skipping checks because DebugHeap.\n"); +return; +} auto& impl = heap.impl(); std::lock_guard locker(impl.lock); impl.forEachLiveObject( @@ -97,6 +106,10 @@ template static void assertHasOnlyObjects(IsoHeap& heap, std::set pointers) { +if (PerProcess::get()->isDebugHeapEnabled()) { +printf("skipping checks because DebugHeap.\n"); +return; +} auto& impl = heap.impl(); std::lock_guard locker(impl.lock); impl.forEachLiveObject( @@ -110,13 +123,16 @@ static void assertClean(IsoHeap& heap) { scavengeThisThread(); -auto& impl = heap.impl(); -{ -std::lock_guard locker(impl.lock); -CHECK(!impl.numLiveObjects()); +if (!PerProcess::get()->isDebugHeapEnabled()) { +auto& impl = heap.impl(); +{ +std::lock_guard locker(impl.lock); +CHECK(!impl.numLiveObjects()); +} } heap.scavenge(); -{ +if (!PerProcess::get()->isDebugHeapEnabled()) { +auto& impl = heap.impl(); std::lock_guard locker(impl.lock); CHECK(!impl.numCommittedPages()); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225178] trunk/Tools
Title: [225178] trunk/Tools Revision 225178 Author pvol...@apple.com Date 2017-11-27 09:43:16 -0800 (Mon, 27 Nov 2017) Log Message [Win] The number of webkit-patch iterations on EWS should be configurable. https://bugs.webkit.org/show_bug.cgi?id=178517 Reviewed by Darin Adler. Add a new RESET_AFTER_ITERATION argument to the EWS shell script. * EWSTools/start-queue-win.sh: Modified Paths trunk/Tools/ChangeLog trunk/Tools/EWSTools/start-queue-win.sh Diff Modified: trunk/Tools/ChangeLog (225177 => 225178) --- trunk/Tools/ChangeLog 2017-11-27 17:19:20 UTC (rev 225177) +++ trunk/Tools/ChangeLog 2017-11-27 17:43:16 UTC (rev 225178) @@ -1,5 +1,16 @@ 2017-11-27 Per Arne Vollan +[Win] The number of webkit-patch iterations on EWS should be configurable. +https://bugs.webkit.org/show_bug.cgi?id=178517 + +Reviewed by Darin Adler. + +Add a new RESET_AFTER_ITERATION argument to the EWS shell script. + +* EWSTools/start-queue-win.sh: + +2017-11-27 Per Arne Vollan + [Win] Switch to VS2017 on EWS bots. https://bugs.webkit.org/show_bug.cgi?id=178516 Modified: trunk/Tools/EWSTools/start-queue-win.sh (225177 => 225178) --- trunk/Tools/EWSTools/start-queue-win.sh 2017-11-27 17:19:20 UTC (rev 225177) +++ trunk/Tools/EWSTools/start-queue-win.sh 2017-11-27 17:43:16 UTC (rev 225178) @@ -1,7 +1,14 @@ #!/bin/sh + +if [[ $# -lt 4 ]]; then +echo "Usage: start-queue-win.sh WEBKIT_BUGZILLA_USERNAME WEBKIT_BUGZILLA_PASSWORD BOT_ID RESET_AFTER_ITERATION" +exit 1 +fi + export WEBKIT_BUGZILLA_USERNAME=$1 export WEBKIT_BUGZILLA_PASSWORD=$2 export BOT_ID=$3 +export RESET_AFTER_ITERATION=$4 function error_handler() { @@ -52,7 +59,7 @@ echo "TASK: test-webkitpy" ~/WebKit/Tools/Scripts/test-webkitpy echo "TASK: webkit-patch win-ews" -~/WebKit/Tools/Scripts/webkit-patch win-ews --bot-id=$BOT_ID --no-confirm --exit-after-iteration 10 +~/WebKit/Tools/Scripts/webkit-patch win-ews --bot-id=$BOT_ID --no-confirm --exit-after-iteration $RESET_AFTER_ITERATION echo "TASK: reboot" shutdown /r } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225177] trunk/Tools
Title: [225177] trunk/Tools Revision 225177 Author pvol...@apple.com Date 2017-11-27 09:19:20 -0800 (Mon, 27 Nov 2017) Log Message [Win] Switch to VS2017 on EWS bots. https://bugs.webkit.org/show_bug.cgi?id=178516 Reviewed by Darin Adler. * EWSTools/start-queue-win.sh: Modified Paths trunk/Tools/ChangeLog trunk/Tools/EWSTools/start-queue-win.sh Diff Modified: trunk/Tools/ChangeLog (225176 => 225177) --- trunk/Tools/ChangeLog 2017-11-27 17:08:48 UTC (rev 225176) +++ trunk/Tools/ChangeLog 2017-11-27 17:19:20 UTC (rev 225177) @@ -1,3 +1,12 @@ +2017-11-27 Per Arne Vollan + +[Win] Switch to VS2017 on EWS bots. +https://bugs.webkit.org/show_bug.cgi?id=178516 + +Reviewed by Darin Adler. + +* EWSTools/start-queue-win.sh: + 2017-11-27 Carlos Garcia Campos [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed Modified: trunk/Tools/EWSTools/start-queue-win.sh (225176 => 225177) --- trunk/Tools/EWSTools/start-queue-win.sh 2017-11-27 17:08:48 UTC (rev 225176) +++ trunk/Tools/EWSTools/start-queue-win.sh 2017-11-27 17:19:20 UTC (rev 225177) @@ -19,7 +19,7 @@ PROGRAMFILES_X86="$PROGRAMFILES (x86)" fi -"$PROGRAMFILES_X86/Microsoft Visual Studio 14.0/VC/vcvarsall.bat" +"$PROGRAMFILES_X86/Microsoft Visual Studio/2017/Community/VC/Auxiliary/Build/vcvars32.bat" date echo "TASK: cleaning up old log files." @@ -29,7 +29,6 @@ find ~/win-ews-logs -mtime +7 -exec rm -f {} \; echo "TASK: Starting up" cd ~/WebKit -export VSINSTALLDIR="$PROGRAMFILES_X86\Microsoft Visual Studio 14.0" echo "TASK: Cleaning WebKitBuild" rm -rf WebKitBuild date ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225176] trunk/Source/WebKit
Title: [225176] trunk/Source/WebKit Revision 225176 Author zandober...@gmail.com Date 2017-11-27 09:08:48 -0800 (Mon, 27 Nov 2017) Log Message [CoordGraphics] Prettify ID value handling in UpdateAtlas and UpdateAtlas::Client https://bugs.webkit.org/show_bug.cgi?id=180038 Reviewed by Carlos Garcia Campos. In the UpdateAtlas class, provide an ID type that aliases to uint32_t. The m_id member variable (ex-m_ID) uses this type, and it's also now used in the Client interface. While poking around, the header is modified to use '#pragma once', and m_id is moved to the more logical first position among member variables. The static ID variable is modified to use the new type, and renamed to s_nextID. Comment alongside the namespace scope closure is fixed to use the appropriate name. createUpdateAtlas() and removeUpdateAtlas() methods in the CompositingCoordinator class are modified to use the UpdateAtlas::ID type, and the former has the second parameter changed from RefPtr<> to Ref<>. * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: (WebKit::CompositingCoordinator::createUpdateAtlas): (WebKit::CompositingCoordinator::removeUpdateAtlas): * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: (WebKit::UpdateAtlas::UpdateAtlas): (WebKit::UpdateAtlas::~UpdateAtlas): (WebKit::UpdateAtlas::getCoordinatedBuffer): * WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h Diff Modified: trunk/Source/WebKit/ChangeLog (225175 => 225176) --- trunk/Source/WebKit/ChangeLog 2017-11-27 17:06:23 UTC (rev 225175) +++ trunk/Source/WebKit/ChangeLog 2017-11-27 17:08:48 UTC (rev 225176) @@ -1,5 +1,39 @@ 2017-11-27 Zan Dobersek +[CoordGraphics] Prettify ID value handling in UpdateAtlas and UpdateAtlas::Client +https://bugs.webkit.org/show_bug.cgi?id=180038 + +Reviewed by Carlos Garcia Campos. + +In the UpdateAtlas class, provide an ID type that aliases to uint32_t. +The m_id member variable (ex-m_ID) uses this type, and it's also now +used in the Client interface. + +While poking around, the header is modified to use '#pragma once', +and m_id is moved to the more logical first position among member +variables. + +The static ID variable is modified to use the new type, and renamed +to s_nextID. Comment alongside the namespace scope closure is fixed +to use the appropriate name. + +createUpdateAtlas() and removeUpdateAtlas() methods in the +CompositingCoordinator class are modified to use the UpdateAtlas::ID +type, and the former has the second parameter changed from RefPtr<> +to Ref<>. + +* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: +(WebKit::CompositingCoordinator::createUpdateAtlas): +(WebKit::CompositingCoordinator::removeUpdateAtlas): +* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: +* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp: +(WebKit::UpdateAtlas::UpdateAtlas): +(WebKit::UpdateAtlas::~UpdateAtlas): +(WebKit::UpdateAtlas::getCoordinatedBuffer): +* WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h: + +2017-11-27 Zan Dobersek + [CoordGraphics] CompositingCoordinator: clean up Client vtable, GraphicsLayerClient overrides https://bugs.webkit.org/show_bug.cgi?id=180037 Modified: trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp (225175 => 225176) --- trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp 2017-11-27 17:06:23 UTC (rev 225175) +++ trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp 2017-11-27 17:08:48 UTC (rev 225176) @@ -284,16 +284,16 @@ return std::unique_ptr(layer); } -void CompositingCoordinator::createUpdateAtlas(uint32_t atlasID, RefPtr&& buffer) +void CompositingCoordinator::createUpdateAtlas(UpdateAtlas::ID id, Ref&& buffer) { -m_state.updateAtlasesToCreate.append(std::make_pair(atlasID, WTFMove(buffer))); +m_state.updateAtlasesToCreate.append(std::make_pair(id, WTFMove(buffer))); } -void CompositingCoordinator::removeUpdateAtlas(uint32_t atlasID) +void CompositingCoordinator::removeUpdateAtlas(UpdateAtlas::ID id) { if (m_isPurging) return; -m_atlasesToRemove.append(atlasID); +m_atlasesToRemove.append(id); } FloatRect CompositingCoordinator::visibleContentsRect() const Modified: trunk/Source/WebKit/WebProcess/WebPage
[webkit-changes] [225174] trunk/Source/WebCore
Title: [225174] trunk/Source/WebCore Revision 225174 Author zandober...@gmail.com Date 2017-11-27 09:05:47 -0800 (Mon, 27 Nov 2017) Log Message [CoordGraphics] CoordinatedGraphicsLayer doesn't need to inherit from TextureMapperPlatformLayer::Client https://bugs.webkit.org/show_bug.cgi?id=180036 Reviewed by Carlos Garcia Campos. There's no reason CoordinatedGraphicsLayer should inherit from TextureMapperPlatformLayer::Client. CoordinatedGraphicsLayer objects are not used anywhere through that type, and all the overridden methods are empty anyway. The TextureMapperPlatformLayer::Client class (along with TextureMapperPlatformLayer) is nowadays only used in the direct TextureMapper implementation of GraphicsLayer. No new tests -- no change in behavior. * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: (WebCore::CoordinatedGraphicsLayer::platformLayerWillBeDestroyed): Deleted. (WebCore::CoordinatedGraphicsLayer::setPlatformLayerNeedsDisplay): Deleted. * platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h Diff Modified: trunk/Source/WebCore/ChangeLog (225173 => 225174) --- trunk/Source/WebCore/ChangeLog 2017-11-27 16:54:00 UTC (rev 225173) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 17:05:47 UTC (rev 225174) @@ -1,3 +1,24 @@ +2017-11-27 Zan Dobersek + +[CoordGraphics] CoordinatedGraphicsLayer doesn't need to inherit from TextureMapperPlatformLayer::Client +https://bugs.webkit.org/show_bug.cgi?id=180036 + +Reviewed by Carlos Garcia Campos. + +There's no reason CoordinatedGraphicsLayer should inherit from +TextureMapperPlatformLayer::Client. CoordinatedGraphicsLayer objects are +not used anywhere through that type, and all the overridden methods are +empty anyway. The TextureMapperPlatformLayer::Client class (along with +TextureMapperPlatformLayer) is nowadays only used in the direct +TextureMapper implementation of GraphicsLayer. + +No new tests -- no change in behavior. + +* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp: +(WebCore::CoordinatedGraphicsLayer::platformLayerWillBeDestroyed): Deleted. +(WebCore::CoordinatedGraphicsLayer::setPlatformLayerNeedsDisplay): Deleted. +* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h: + 2017-11-27 Antoine Quint Pressing the space bar while watching a fullscreen video doesn't play or pause Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp (225173 => 225174) --- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp 2017-11-27 16:54:00 UTC (rev 225173) +++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp 2017-11-27 17:05:47 UTC (rev 225174) @@ -1209,16 +1209,6 @@ client().notifyAnimationStarted(this, "", m_lastAnimationStartTime); } -#if USE(COORDINATED_GRAPHICS_THREADED) -void CoordinatedGraphicsLayer::platformLayerWillBeDestroyed() -{ -} - -void CoordinatedGraphicsLayer::setPlatformLayerNeedsDisplay() -{ -} -#endif - } // namespace WebCore #endif // USE(COORDINATED_GRAPHICS) Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h (225173 => 225174) --- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h 2017-11-27 16:54:00 UTC (rev 225173) +++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h 2017-11-27 17:05:47 UTC (rev 225174) @@ -31,7 +31,6 @@ #include "Image.h" #include "IntSize.h" #include "TextureMapperAnimation.h" -#include "TextureMapperPlatformLayer.h" #include "TiledBackingStore.h" #include "TiledBackingStoreClient.h" #include "TransformationMatrix.h" @@ -55,9 +54,6 @@ class CoordinatedGraphicsLayer : public GraphicsLayer , public TiledBackingStoreClient -#if USE(COORDINATED_GRAPHICS_THREADED) -, public TextureMapperPlatformLayer::Client -#endif , public CoordinatedImageBacking::Host { public: explicit CoordinatedGraphicsLayer(Type, GraphicsLayerClient&); @@ -147,10 +143,6 @@ void syncPlatformLayer(); void updatePlatformLayer(); -#if USE(COORDINATED_GRAPHICS_THREADED) -void platformLayerWillBeDestroyed() override; -void setPlatformLayerNeedsDisplay() override; -#endif void setDebugBorder(const Color&, float width) override; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225175] trunk/Source/WebKit
Title: [225175] trunk/Source/WebKit Revision 225175 Author zandober...@gmail.com Date 2017-11-27 09:06:23 -0800 (Mon, 27 Nov 2017) Log Message [CoordGraphics] CompositingCoordinator: clean up Client vtable, GraphicsLayerClient overrides https://bugs.webkit.org/show_bug.cgi?id=180037 Reviewed by Carlos Garcia Campos. Remove the CompositingCoordinator::Client::paintLayerContents() method since the only implementation in CoordinatedLayerTreeHost was empty. Subsequently, the CompositingCoordinator::paintContents() override of the GraphicsLayerClient method can also be removed. The notifyAnimationStarted() override is empty, just like the base method, so it's removed as well. * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: (WebKit::CompositingCoordinator::deviceScaleFactor const): Bring method up to the notifyFlushRequired() code, since both are overrides of the GraphicsLayerClient-inherited methods. (WebKit::CompositingCoordinator::pageScaleFactor const): Ditto. (WebKit::CompositingCoordinator::notifyAnimationStarted): Deleted. (WebKit::CompositingCoordinator::paintContents): Deleted. * WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: (WebKit::CoordinatedLayerTreeHost::paintLayerContents): Deleted. * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h Diff Modified: trunk/Source/WebKit/ChangeLog (225174 => 225175) --- trunk/Source/WebKit/ChangeLog 2017-11-27 17:05:47 UTC (rev 225174) +++ trunk/Source/WebKit/ChangeLog 2017-11-27 17:06:23 UTC (rev 225175) @@ -1,3 +1,29 @@ +2017-11-27 Zan Dobersek + +[CoordGraphics] CompositingCoordinator: clean up Client vtable, GraphicsLayerClient overrides +https://bugs.webkit.org/show_bug.cgi?id=180037 + +Reviewed by Carlos Garcia Campos. + +Remove the CompositingCoordinator::Client::paintLayerContents() method since +the only implementation in CoordinatedLayerTreeHost was empty. + +Subsequently, the CompositingCoordinator::paintContents() override of the +GraphicsLayerClient method can also be removed. The notifyAnimationStarted() +override is empty, just like the base method, so it's removed as well. + +* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp: +(WebKit::CompositingCoordinator::deviceScaleFactor const): Bring method up +to the notifyFlushRequired() code, since both are overrides of the +GraphicsLayerClient-inherited methods. +(WebKit::CompositingCoordinator::pageScaleFactor const): Ditto. +(WebKit::CompositingCoordinator::notifyAnimationStarted): Deleted. +(WebKit::CompositingCoordinator::paintContents): Deleted. +* WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h: +* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp: +(WebKit::CoordinatedLayerTreeHost::paintLayerContents): Deleted. +* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h: + 2017-11-27 Carlos Garcia Campos REGRESSION(r223073): disk cache directory is no longer copied in ProcessPoolConfiguration::copy() Modified: trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp (225174 => 225175) --- trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp 2017-11-27 17:05:47 UTC (rev 225174) +++ trunk/Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp 2017-11-27 17:06:23 UTC (rev 225175) @@ -257,10 +257,6 @@ imageBacking->update(); } -void CompositingCoordinator::notifyAnimationStarted(const GraphicsLayer*, const String&, double /* time */) -{ -} - void CompositingCoordinator::notifyFlushRequired(const GraphicsLayer*) { if (!m_isDestructing && !isFlushingLayerChanges()) @@ -267,11 +263,16 @@ m_client.notifyFlushRequired(); } -void CompositingCoordinator::paintContents(const GraphicsLayer* graphicsLayer, GraphicsContext& graphicsContext, GraphicsLayerPaintingPhase, const FloatRect& clipRect, GraphicsLayerPaintBehavior) +float CompositingCoordinator::deviceScaleFactor() const { -m_client.paintLayerContents(graphicsLayer, graphicsContext, enclosingIntRect(clipRect)); +return m_page->deviceScaleFactor(); } +float CompositingCoordinator::pageScaleFactor() const +{ +return m_page->pageScaleFactor(); +} + std::unique_ptr CompositingCoordinator::createGraphicsLayer(GraphicsLayer::Type layerType, GraphicsLayerClient& client) {
[webkit-changes] [225173] trunk
Title: [225173] trunk Revision 225173 Author grao...@webkit.org Date 2017-11-27 08:54:00 -0800 (Mon, 27 Nov 2017) Log Message Pressing the space bar while watching a fullscreen video doesn't play or pause https://bugs.webkit.org/show_bug.cgi?id=180033 Reviewed by Eric Carlson. Source/WebCore: We register a "keydown" event to track when the space bar is pressed, and if the media is playing in fullscreen, we toggle playback. This does not interfere with full keyboard access since activating one of the media controls using the keyboard will not let the events we register for be dispatched this far along the event dispatch phase. Test: media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html * Modules/modern-media-controls/media/media-controller.js: (MediaController): (MediaController.prototype.togglePlayback): Add a catch() statement since calling play() could sometime lead to some extraneous unhandled promise console logging that pollutes test output. (MediaController.prototype.handleEvent): LayoutTests: Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen pauses the media and resumes it when pressing the space bar again. * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added. * media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added. * platform/ios-simulator/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js Added Paths trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html Diff Modified: trunk/LayoutTests/ChangeLog (225172 => 225173) --- trunk/LayoutTests/ChangeLog 2017-11-27 16:37:13 UTC (rev 225172) +++ trunk/LayoutTests/ChangeLog 2017-11-27 16:54:00 UTC (rev 225173) @@ -1,3 +1,18 @@ +2017-11-27 Antoine Quint + +Pressing the space bar while watching a fullscreen video doesn't play or pause +https://bugs.webkit.org/show_bug.cgi?id=180033 + + +Reviewed by Eric Carlson. + +Adding a new macOS-only test that checks that pressing the space bar while playing fullscreen +pauses the media and resumes it when pressing the space bar again. + +* media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt: Added. +* media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html: Added. +* platform/ios-simulator/TestExpectations: + 2017-11-27 Ms2ger [GTK][WPE] Enable http/wpt/resource-timing/rt-initiatorType-media.html. Added: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (0 => 225173) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback-expected.txt 2017-11-27 16:54:00 UTC (rev 225173) @@ -0,0 +1,26 @@ +Testing media is paused and resumed when pressing the space bar in fullscreen. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + + +Obtained a 'play' event. + +Entering fullscreen. + +Obtained a 'webkitfullscreenchange' event. +PASS media.webkitDisplayingFullscreen is true +PASS media.paused is false + +Pressing the space bar. + +Obtained a 'pause' event. + +Pressing the space bar. + +Obtained a 'play' event. + +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (0 => 225173) --- trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html (rev 0) +++ trunk/LayoutTests/media/modern-media-controls/media-controller/media-controller-space-bar-toggle-playback.html 2017-11-27 16:54:00 UTC (rev 225173) @@ -0,0 +1,77 @@ + + + + + + +window.jsTestIsAsync = true; + +description("Testing media is paused and resumed when pressing the space bar in fullscreen."); + +const media = document.querySelector("video"); +const button = document.body.appendChild(document.createElement("button")); +button.textContent = "Enter Fullscreen"; + +media.addEventListener("webkitfullscreenchange", () => { +debug(""); +debug("Obtained a 'webkitfullscreenchange' event."); +shouldBeTrue("media.webkitDisplayingFullscreen"); +shouldBeFalse("media.paused"); + +// Test pressing the space bar while the media is play
[webkit-changes] [225172] trunk/Source/WebCore
Title: [225172] trunk/Source/WebCore Revision 225172 Author simon.fra...@apple.com Date 2017-11-27 08:37:13 -0800 (Mon, 27 Nov 2017) Log Message Optimize FEMorphology https://bugs.webkit.org/show_bug.cgi?id=180020 Reviewed by Sam Weinig. Use const PaintingData&. Compute all components at once. Avoid Vector<> capacity changes during the pixel loop. Tweak the parallel jobs scaling. Templatize the the inner loop functions that compute min or max based on the filter type to avoid conditionals in tight loops. This is about a 4x speedup before the parallel jobs tweaking. With fixed parallelism, a 200x200 filter went from 15ms to about 1ms with these changes. * platform/graphics/ColorUtilities.h: (WebCore::ColorComponents::fromRGBA): (WebCore::ColorComponents::toRGBA const): (WebCore::perComponentMax): (WebCore::perComponentMin): * platform/graphics/filters/FEColorMatrix.cpp: (WebCore::FEColorMatrix::platformApplySoftware): Remove some old perf logging code. TimingScope now does something similar. * platform/graphics/filters/FEMorphology.cpp: (WebCore::pixelArrayIndex): (WebCore::minOrMax): (WebCore::columnExtremum): (WebCore::kernelExtremum): (WebCore::FEMorphology::platformApplyGeneric): (WebCore::FEMorphology::platformApplyWorker): (WebCore::FEMorphology::platformApply): (WebCore::FEMorphology::platformApplySoftware): (WebCore::shouldSupersedeExtremum): Deleted. * platform/graphics/filters/FEMorphology.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/ColorUtilities.h trunk/Source/WebCore/platform/graphics/filters/FEColorMatrix.cpp trunk/Source/WebCore/platform/graphics/filters/FEMorphology.cpp trunk/Source/WebCore/platform/graphics/filters/FEMorphology.h Diff Modified: trunk/Source/WebCore/ChangeLog (225171 => 225172) --- trunk/Source/WebCore/ChangeLog 2017-11-27 16:30:58 UTC (rev 225171) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 16:37:13 UTC (rev 225172) @@ -1,3 +1,40 @@ +2017-11-27 Simon Fraser + +Optimize FEMorphology +https://bugs.webkit.org/show_bug.cgi?id=180020 + +Reviewed by Sam Weinig. + +Use const PaintingData&. +Compute all components at once. +Avoid Vector<> capacity changes during the pixel loop. +Tweak the parallel jobs scaling. +Templatize the the inner loop functions that compute min or max based +on the filter type to avoid conditionals in tight loops. + +This is about a 4x speedup before the parallel jobs tweaking. With fixed parallelism, +a 200x200 filter went from 15ms to about 1ms with these changes. + +* platform/graphics/ColorUtilities.h: +(WebCore::ColorComponents::fromRGBA): +(WebCore::ColorComponents::toRGBA const): +(WebCore::perComponentMax): +(WebCore::perComponentMin): +* platform/graphics/filters/FEColorMatrix.cpp: +(WebCore::FEColorMatrix::platformApplySoftware): Remove some old perf logging code. +TimingScope now does something similar. +* platform/graphics/filters/FEMorphology.cpp: +(WebCore::pixelArrayIndex): +(WebCore::minOrMax): +(WebCore::columnExtremum): +(WebCore::kernelExtremum): +(WebCore::FEMorphology::platformApplyGeneric): +(WebCore::FEMorphology::platformApplyWorker): +(WebCore::FEMorphology::platformApply): +(WebCore::FEMorphology::platformApplySoftware): +(WebCore::shouldSupersedeExtremum): Deleted. +* platform/graphics/filters/FEMorphology.h: + 2017-11-27 Yacine Bandou [EME][GStreamer] Change the ClearKey's SystemID value Modified: trunk/Source/WebCore/platform/graphics/ColorUtilities.h (225171 => 225172) --- trunk/Source/WebCore/platform/graphics/ColorUtilities.h 2017-11-27 16:30:58 UTC (rev 225171) +++ trunk/Source/WebCore/platform/graphics/ColorUtilities.h 2017-11-27 16:37:13 UTC (rev 225172) @@ -93,7 +93,12 @@ struct ColorComponents { ColorComponents(const FloatComponents&); - + +static ColorComponents fromRGBA(unsigned pixel) +{ +return ColorComponents((pixel >> 24) & 0xFF, (pixel >> 16) & 0xFF, (pixel >> 8) & 0xFF, pixel & 0xFF); +} + ColorComponents(uint8_t a = 0, uint8_t b = 0, uint8_t c = 0, uint8_t d = 0) { components[0] = a; @@ -101,9 +106,35 @@ components[2] = c; components[3] = d; } + +unsigned toRGBA() const +{ +return components[0] << 24 | components[1] << 16 | components[2] << 8 | components[3]; +} + uint8_t components[4] { }; }; +inline ColorComponents perComponentMax(const ColorComponents& a, const ColorComponents& b) +{ +return { +std::max(a.components[0], b.components[0]), +std::max(a.components[1], b.components[1]), +std::max(a.components[2], b.components[2]), +std::max(a.components[3], b.components[3]) +}; +} + +inline ColorComponents perComponentMin(const ColorComp
[webkit-changes] [225171] trunk/Source/WebKit
Title: [225171] trunk/Source/WebKit Revision 225171 Author carlo...@webkit.org Date 2017-11-27 08:30:58 -0800 (Mon, 27 Nov 2017) Log Message REGRESSION(r223073): disk cache directory is no longer copied in ProcessPoolConfiguration::copy() https://bugs.webkit.org/show_bug.cgi?id=180031 Reviewed by Youenn Fablet. This has caused GTK/WPE test /webkit2/WebKitWebsiteData/configuration to fail, and the wrong directory is used by the network process. I think it was removed by mistake in r223073. * UIProcess/API/APIProcessPoolConfiguration.cpp: (API::ProcessPoolConfiguration::copy): Copy m_diskCacheDirectory too. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (225170 => 225171) --- trunk/Source/WebKit/ChangeLog 2017-11-27 16:22:54 UTC (rev 225170) +++ trunk/Source/WebKit/ChangeLog 2017-11-27 16:30:58 UTC (rev 225171) @@ -1,3 +1,16 @@ +2017-11-27 Carlos Garcia Campos + +REGRESSION(r223073): disk cache directory is no longer copied in ProcessPoolConfiguration::copy() +https://bugs.webkit.org/show_bug.cgi?id=180031 + +Reviewed by Youenn Fablet. + +This has caused GTK/WPE test /webkit2/WebKitWebsiteData/configuration to fail, and the wrong directory is used +by the network process. I think it was removed by mistake in r223073. + +* UIProcess/API/APIProcessPoolConfiguration.cpp: +(API::ProcessPoolConfiguration::copy): Copy m_diskCacheDirectory too. + 2017-11-27 Adrian Perez de Castro [WPE][GTK] Improve contents of pkg-config .pc files Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp (225170 => 225171) --- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2017-11-27 16:22:54 UTC (rev 225170) +++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2017-11-27 16:30:58 UTC (rev 225171) @@ -99,6 +99,7 @@ copy->m_shouldHaveLegacyDataStore = this->m_shouldHaveLegacyDataStore; copy->m_maximumProcessCount = this->m_maximumProcessCount; copy->m_cacheModel = this->m_cacheModel; +copy->m_diskCacheDirectory = this->m_diskCacheDirectory; copy->m_diskCacheSpeculativeValidationEnabled = this->m_diskCacheSpeculativeValidationEnabled; copy->m_diskCacheSizeOverride = this->m_diskCacheSizeOverride; copy->m_applicationCacheDirectory = this->m_applicationCacheDirectory; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225170] trunk/Source/JavaScriptCore
Title: [225170] trunk/Source/_javascript_Core Revision 225170 Author rmoris...@apple.com Date 2017-11-27 08:22:54 -0800 (Mon, 27 Nov 2017) Log Message Update DFGSafeToExecute to be aware that ArrayPush is now a varargs node https://bugs.webkit.org/show_bug.cgi?id=179821 Reviewed by Saam Barati. * dfg/DFGSafeToExecute.h: (JSC::DFG::safeToExecute): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (225169 => 225170) --- trunk/Source/_javascript_Core/ChangeLog 2017-11-27 16:02:24 UTC (rev 225169) +++ trunk/Source/_javascript_Core/ChangeLog 2017-11-27 16:22:54 UTC (rev 225170) @@ -1,3 +1,13 @@ +2017-11-27 Robin Morisset + +Update DFGSafeToExecute to be aware that ArrayPush is now a varargs node +https://bugs.webkit.org/show_bug.cgi?id=179821 + +Reviewed by Saam Barati. + +* dfg/DFGSafeToExecute.h: +(JSC::DFG::safeToExecute): + 2017-11-21 Yusuke Suzuki [DFG] Add NormalizeMapKey DFG IR Modified: trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h (225169 => 225170) --- trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h 2017-11-27 16:02:24 UTC (rev 225169) +++ trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h 2017-11-27 16:22:54 UTC (rev 225170) @@ -465,12 +465,14 @@ case GetIndexedPropertyStorage: case GetArrayLength: case GetVectorLength: -case ArrayPush: case ArrayPop: case StringCharAt: case StringCharCodeAt: return node->arrayMode().alreadyChecked(graph, node, state.forNode(node->child1())); - + +case ArrayPush: +return node->arrayMode().alreadyChecked(graph, node, state.forNode(graph.varArgChild(node, 1))); + case GetTypedArrayByteOffset: return !(state.forNode(node->child1()).m_type & ~(SpecTypedArrayView)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225169] trunk/LayoutTests
Title: [225169] trunk/LayoutTests Revision 225169 Author ms2...@igalia.com Date 2017-11-27 08:02:24 -0800 (Mon, 27 Nov 2017) Log Message [GTK][WPE] Enable http/wpt/resource-timing/rt-initiatorType-media.html. https://bugs.webkit.org/show_bug.cgi?id=180034 Unreviewed test gardening. If this test fails, it will fail with random numbers in the failure message. The current platform-neutral expectation file contains one pair of these random numbers, ensuring that this test will never be interpreted as passing -- not while the bug exists, and not when it is fixed. This change updates the expectation file to contain only passes and enables the test for WPE and GTK, as the bug does not seem to exist there. * http/wpt/resource-timing/rt-initiatorType-media-expected.txt: * platform/gtk/TestExpectations: * platform/wpe/TestExpectations: * platform/wpe/http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Removed. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/wpt/resource-timing/rt-initiatorType-media-expected.txt trunk/LayoutTests/platform/gtk/TestExpectations trunk/LayoutTests/platform/wpe/TestExpectations Removed Paths trunk/LayoutTests/platform/wpe/http/wpt/ Diff Modified: trunk/LayoutTests/ChangeLog (225168 => 225169) --- trunk/LayoutTests/ChangeLog 2017-11-27 15:34:49 UTC (rev 225168) +++ trunk/LayoutTests/ChangeLog 2017-11-27 16:02:24 UTC (rev 225169) @@ -1,3 +1,25 @@ +2017-11-27 Ms2ger + +[GTK][WPE] Enable http/wpt/resource-timing/rt-initiatorType-media.html. +https://bugs.webkit.org/show_bug.cgi?id=180034 + +Unreviewed test gardening. + +If this test fails, it will fail with random numbers in the failure +message. The current platform-neutral expectation file contains one +pair of these random numbers, ensuring that this test will never be +interpreted as passing -- not while the bug exists, and not when it +is fixed. + +This change updates the expectation file to contain only passes and +enables the test for WPE and GTK, as the bug does not seem to exist +there. + +* http/wpt/resource-timing/rt-initiatorType-media-expected.txt: +* platform/gtk/TestExpectations: +* platform/wpe/TestExpectations: +* platform/wpe/http/wpt/resource-timing/rt-initiatorType-media-expected.txt: Removed. + 2017-11-27 Carlos Garcia Campos [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed Modified: trunk/LayoutTests/http/wpt/resource-timing/rt-initiatorType-media-expected.txt (225168 => 225169) --- trunk/LayoutTests/http/wpt/resource-timing/rt-initiatorType-media-expected.txt 2017-11-27 15:34:49 UTC (rev 225168) +++ trunk/LayoutTests/http/wpt/resource-timing/rt-initiatorType-media-expected.txt 2017-11-27 16:02:24 UTC (rev 225169) @@ -3,6 +3,6 @@ PASS Type: video - PASS Timing: video - -FAIL Type: audio - assert_equals: name should be the url expected "http://localhost:8800/WebKit/resource-timing/resources/data.json?audio&0.5660213883579809" but got "http://localhost:8800/WebKit/resource-timing/resources/data.json?video&0.7924746989228406" +PASS Type: audio - PASS Timing: audio - Modified: trunk/LayoutTests/platform/gtk/TestExpectations (225168 => 225169) --- trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-27 15:34:49 UTC (rev 225168) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-27 16:02:24 UTC (rev 225169) @@ -3441,6 +3441,8 @@ webkit.org/b/155132 http/tests/security/contentSecurityPolicy/video-with-https-url-allowed-by-csp-media-src-star.html [ Pass ] +webkit.org/b/168357 http/wpt/resource-timing/rt-initiatorType-media.html [ Pass ] + webkit.org/b/172056 fast/text/multiglyph-characters.html [ Pass ] webkit.org/b/172337 imported/w3c/web-platform-tests/url/failure.html [ Pass ] Modified: trunk/LayoutTests/platform/wpe/TestExpectations (225168 => 225169) --- trunk/LayoutTests/platform/wpe/TestExpectations 2017-11-27 15:34:49 UTC (rev 225168) +++ trunk/LayoutTests/platform/wpe/TestExpectations 2017-11-27 16:02:24 UTC (rev 225169) @@ -895,6 +895,7 @@ webkit.org/b/168543 http/wpt/resource-timing/rt-nextHopProtocol.html [ Failure ] webkit.org/b/168543 http/wpt/resource-timing/rt-nextHopProtocol.worker.html [ Failure ] webkit.org/b/177871 http/wpt/resource-timing/rt-shared-resource-in-workers.html [ Failure ] +webkit.org/b/168357 http/wpt/resource-timing/rt-initiatorType-media.html [ Pass ] Bug(WPE) contentfiltering/ [ Skip ] Bug(WPE) http/wpt/beacon/contentextensions/ [ Skip ] ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225168] trunk
Title: [225168] trunk Revision 225168 Author ape...@igalia.com Date 2017-11-27 07:34:49 -0800 (Mon, 27 Nov 2017) Log Message [CMake] Values of CMAKE_BUILD_TYPE from toolchain file are ignored https://bugs.webkit.org/show_bug.cgi?id=179971 Reviewed by Carlos Alberto Lopez Perez. * CMakeLists.txt: Call project() first, as it loads the toolchain file, so that's done before checking CMAKE_BUILD_TYPE. Modified Paths trunk/CMakeLists.txt trunk/ChangeLog Diff Modified: trunk/CMakeLists.txt (225167 => 225168) --- trunk/CMakeLists.txt 2017-11-27 14:16:53 UTC (rev 225167) +++ trunk/CMakeLists.txt 2017-11-27 15:34:49 UTC (rev 225168) @@ -1,8 +1,17 @@ # - # Determine CMake version and build type. # - +# +# NOTE: cmake_minimum_required() and project() *MUST* be the two fist commands +# used, see https://cmake.org/cmake/help/v3.3/command/project.html -- the +# latter in particular handles loading a bunch of shared CMake definitions +# and loading the cross-compilation settings from CMAKE_TOOLCHAIN_FILE. +# + cmake_minimum_required(VERSION 3.3) +project(WebKit) + if (NOT CMAKE_BUILD_TYPE) message(WARNING "No CMAKE_BUILD_TYPE value specified, defaulting to RelWithDebInfo.") set(CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "Choose the type of build." FORCE) @@ -10,8 +19,6 @@ message(STATUS "The CMake build type is: ${CMAKE_BUILD_TYPE}") endif () -project(WebKit) - set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/Source/cmake") set(ENABLE_WEBCORE ON) Modified: trunk/ChangeLog (225167 => 225168) --- trunk/ChangeLog 2017-11-27 14:16:53 UTC (rev 225167) +++ trunk/ChangeLog 2017-11-27 15:34:49 UTC (rev 225168) @@ -1,3 +1,13 @@ +2017-11-27 Adrian Perez de Castro + +[CMake] Values of CMAKE_BUILD_TYPE from toolchain file are ignored +https://bugs.webkit.org/show_bug.cgi?id=179971 + +Reviewed by Carlos Alberto Lopez Perez. + +* CMakeLists.txt: Call project() first, as it loads the toolchain +file, so that's done before checking CMAKE_BUILD_TYPE. + 2017-11-22 Michael Catanzaro Sanity-check feature defaults in WebKitFeatures.cmake ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225167] trunk/Source/WebKit
Title: [225167] trunk/Source/WebKit Revision 225167 Author ape...@igalia.com Date 2017-11-27 06:16:53 -0800 (Mon, 27 Nov 2017) Log Message [WPE][GTK] Improve contents of pkg-config .pc files https://bugs.webkit.org/show_bug.cgi?id=180032 Reviewed by Carlos Garcia Campos. * gtk/webkit2gtk-web-extension.pc.in: Add URL, edit Name and Description. * gtk/webkit2gtk.pc.in: Add URL, edit Name. * wpe/wpe-webkit.pc.in: Add URL, edit Name and Description. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/gtk/webkit2gtk-web-extension.pc.in trunk/Source/WebKit/gtk/webkit2gtk.pc.in trunk/Source/WebKit/wpe/wpe-webkit.pc.in Diff Modified: trunk/Source/WebKit/ChangeLog (225166 => 225167) --- trunk/Source/WebKit/ChangeLog 2017-11-27 13:20:53 UTC (rev 225166) +++ trunk/Source/WebKit/ChangeLog 2017-11-27 14:16:53 UTC (rev 225167) @@ -1,3 +1,14 @@ +2017-11-27 Adrian Perez de Castro + +[WPE][GTK] Improve contents of pkg-config .pc files +https://bugs.webkit.org/show_bug.cgi?id=180032 + +Reviewed by Carlos Garcia Campos. + +* gtk/webkit2gtk-web-extension.pc.in: Add URL, edit Name and Description. +* gtk/webkit2gtk.pc.in: Add URL, edit Name. +* wpe/wpe-webkit.pc.in: Add URL, edit Name and Description. + 2017-11-23 Darin Adler Fix dictionary leak in lookup, convert FindOptions to OptionSet, tweak code style nearby Modified: trunk/Source/WebKit/gtk/webkit2gtk-web-extension.pc.in (225166 => 225167) --- trunk/Source/WebKit/gtk/webkit2gtk-web-extension.pc.in 2017-11-27 13:20:53 UTC (rev 225166) +++ trunk/Source/WebKit/gtk/webkit2gtk-web-extension.pc.in 2017-11-27 14:16:53 UTC (rev 225167) @@ -3,8 +3,9 @@ libdir=@LIB_INSTALL_DIR@ includedir=${prefix}/include -Name: WebKit2WebExtension -Description: WebKit web process extensions +Name: WebKitGTK+ Web process extensions +Description: Web content engine for GTK+ - Web process extensions +URL: https://webkitgtk.org Version: @PROJECT_VERSION@ Requires: glib-2.0 gtk+-3.0 libsoup-2.4 _javascript_coregtk-@WEBKITGTK_API_VERSION@ Libs: -L${libdir} -lwebkit2gtk-@WEBKITGTK_API_VERSION@ Modified: trunk/Source/WebKit/gtk/webkit2gtk.pc.in (225166 => 225167) --- trunk/Source/WebKit/gtk/webkit2gtk.pc.in 2017-11-27 13:20:53 UTC (rev 225166) +++ trunk/Source/WebKit/gtk/webkit2gtk.pc.in 2017-11-27 14:16:53 UTC (rev 225167) @@ -3,8 +3,9 @@ libdir=@LIB_INSTALL_DIR@ includedir=${prefix}/include -Name: WebKit2 +Name: WebKitGTK+ Description: Web content engine for GTK+ +URL: https://webkitgtk.org Version: @PROJECT_VERSION@ Requires: glib-2.0 gtk+-3.0 libsoup-2.4 _javascript_coregtk-@WEBKITGTK_API_VERSION@ Libs: -L${libdir} -lwebkit2gtk-@WEBKITGTK_API_VERSION@ Modified: trunk/Source/WebKit/wpe/wpe-webkit.pc.in (225166 => 225167) --- trunk/Source/WebKit/wpe/wpe-webkit.pc.in 2017-11-27 13:20:53 UTC (rev 225166) +++ trunk/Source/WebKit/wpe/wpe-webkit.pc.in 2017-11-27 14:16:53 UTC (rev 225167) @@ -3,8 +3,9 @@ libdir=@LIB_INSTALL_DIR@ includedir=${prefix}/include -Name: WebKit2 -Description: WPE-flavored Web engine +Name: WPE WebKit +Description: Embeddable Web content engine +URL: https://wpewebkit.org Version: @PROJECT_VERSION@ Requires: glib-2.0 libsoup-2.4 Libs: -L${libdir} -lWPEWebKit ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225166] trunk
Title: [225166] trunk Revision 225166 Author carlo...@webkit.org Date 2017-11-27 05:20:53 -0800 (Mon, 27 Nov 2017) Log Message [SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed https://bugs.webkit.org/show_bug.cgi?id=176806 Reviewed by Carlos Alberto Lopez Perez. Tools: This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2. * gtk/jhbuild.modules: * gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed. LayoutTests: * platform/gtk/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/gtk/TestExpectations trunk/Tools/ChangeLog trunk/Tools/gtk/jhbuild.modules Removed Paths trunk/Tools/gtk/patches/gdate-suppress-string-format-literal-warning.patch Diff Modified: trunk/LayoutTests/ChangeLog (225165 => 225166) --- trunk/LayoutTests/ChangeLog 2017-11-27 11:02:31 UTC (rev 225165) +++ trunk/LayoutTests/ChangeLog 2017-11-27 13:20:53 UTC (rev 225166) @@ -1,3 +1,12 @@ +2017-11-27 Carlos Garcia Campos + +[SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed +https://bugs.webkit.org/show_bug.cgi?id=176806 + +Reviewed by Carlos Alberto Lopez Perez. + +* platform/gtk/TestExpectations: + 2017-11-27 Javier Fernandez [css-grid] Display issues with child with max-width Modified: trunk/LayoutTests/platform/gtk/TestExpectations (225165 => 225166) --- trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-27 11:02:31 UTC (rev 225165) +++ trunk/LayoutTests/platform/gtk/TestExpectations 2017-11-27 13:20:53 UTC (rev 225166) @@ -1313,9 +1313,6 @@ webkit.org/b/176805 media/media-higher-prio-audio-stream.html [ Crash ] -webkit.org/b/176806 media/track/track-text-track-cue-list.html [ Crash Pass ] -webkit.org/b/176806 media/track/track-id.html [ Crash Pass ] - webkit.org/b/176856 fast/mediastream/apply-constraints-video.html [ Crash ] # See also webkit.org/b/141699 Modified: trunk/Tools/ChangeLog (225165 => 225166) --- trunk/Tools/ChangeLog 2017-11-27 11:02:31 UTC (rev 225165) +++ trunk/Tools/ChangeLog 2017-11-27 13:20:53 UTC (rev 225166) @@ -1,3 +1,15 @@ +2017-11-27 Carlos Garcia Campos + +[SOUP] Layout test media/track/track-text-track-cue-list.html crash with g_source_set_ready_time: assertion 'source->ref_count > 0' failed +https://bugs.webkit.org/show_bug.cgi?id=176806 + +Reviewed by Carlos Alberto Lopez Perez. + +This was caused by a GLib bug that has already been fixed. Upgrade glib to 2.54.2. + +* gtk/jhbuild.modules: +* gtk/patches/gdate-suppress-string-format-literal-warning.patch: Removed. + 2017-11-24 Darin Adler * TestWebKitAPI/Tests/WTF/OptionSet.cpp: Modified: trunk/Tools/gtk/jhbuild.modules (225165 => 225166) --- trunk/Tools/gtk/jhbuild.modules 2017-11-27 11:02:31 UTC (rev 225165) +++ trunk/Tools/gtk/jhbuild.modules 2017-11-27 13:20:53 UTC (rev 225166) @@ -213,11 +213,9 @@ -+ repo="ftp.gnome.org" -hash="sha256:948c26b817f2d77e2a6cdd5082c60a51bf5dea854890286a1d5d4ccde5ce586f"> - - +hash="sha256:bb89e5c5aad33169a8c7f28b45671c7899c12f74caf707737f784d7102758e6c"/> Deleted: trunk/Tools/gtk/patches/gdate-suppress-string-format-literal-warning.patch (225165 => 225166) --- trunk/Tools/gtk/patches/gdate-suppress-string-format-literal-warning.patch 2017-11-27 11:02:31 UTC (rev 225165) +++ trunk/Tools/gtk/patches/gdate-suppress-string-format-literal-warning.patch 2017-11-27 13:20:53 UTC (rev 225166) @@ -1,29 +0,0 @@ -From 3a7efd598d39366c2c9de0def2fdfb35e5e9f2a1 Mon Sep 17 00:00:00 2001 -From: coypu -Date: Mon, 8 Feb 2016 00:06:06 +0200 -Subject: [PATCH 1/1] gdate: Suppress string format literal warning - -Newer versions of GCC emit an error here, but we know it's safe. -https://bugzilla.gnome.org/761550 - glib/gdate.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/glib/gdate.c b/glib/gdate.c -index 4aece02..cdc735c 100644 a/glib/gdate.c -+++ b/glib/gdate.c -@@ -2494,7 +2494,10 @@ g_date_strftime (gchar *s, -* recognize whether strftime actually failed or just returned "". -*/ - tmpbuf[0] = '\1'; -+ #pragma GCC diagnostic push -+ #pragma GCC diagnostic ignored "-Wformat-nonliteral" - tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm); -+ #pragma GCC diagnostic pop - - if (tmplen == 0 && tmpbuf[0] != '\0') - { --- -2.7.0 - ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225165] trunk/Source/WebInspectorUI
Title: [225165] trunk/Source/WebInspectorUI Revision 225165 Author nvasil...@apple.com Date 2017-11-27 03:02:31 -0800 (Mon, 27 Nov 2017) Log Message Web Inspector: Styles Redesign: selector's field shadow is clipped at the bottom https://bugs.webkit.org/show_bug.cgi?id=179961 Reviewed by Matt Baker. * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css: (.spreadsheet-css-declaration .selector): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (225164 => 225165) --- trunk/Source/WebInspectorUI/ChangeLog 2017-11-27 09:41:15 UTC (rev 225164) +++ trunk/Source/WebInspectorUI/ChangeLog 2017-11-27 11:02:31 UTC (rev 225165) @@ -1,3 +1,13 @@ +2017-11-27 Nikita Vasilyev + +Web Inspector: Styles Redesign: selector's field shadow is clipped at the bottom +https://bugs.webkit.org/show_bug.cgi?id=179961 + +Reviewed by Matt Baker. + +* UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css: +(.spreadsheet-css-declaration .selector): + 2017-11-21 Tomas Popela Unreviewed compile warning fix Modified: trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css (225164 => 225165) --- trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css 2017-11-27 09:41:15 UTC (rev 225164) +++ trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css 2017-11-27 11:02:31 UTC (rev 225165) @@ -82,6 +82,7 @@ .spreadsheet-css-declaration .selector { position: relative; +z-index: 1; } .spreadsheet-css-declaration .selector.style-attribute { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225164] trunk/Source/WebCore
Title: [225164] trunk/Source/WebCore Revision 225164 Author commit-qu...@webkit.org Date 2017-11-27 01:41:15 -0800 (Mon, 27 Nov 2017) Log Message [EME][GStreamer] Change the ClearKey's SystemID value https://bugs.webkit.org/show_bug.cgi?id=180007 Patch by Yacine Bandou on 2017-11-27 Reviewed by Xabier Rodriguez-Calvar. Use 1077efec-c0b2-4d02-ace3-3c1e52e2fb4b instead of 58147ec8-0423-4659-92e6-f52c5ce8c3cc, as is specified in W3C. https://www.w3.org/TR/eme-initdata-cenc/#common-system-definition * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h Diff Modified: trunk/Source/WebCore/ChangeLog (225163 => 225164) --- trunk/Source/WebCore/ChangeLog 2017-11-27 09:29:07 UTC (rev 225163) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 09:41:15 UTC (rev 225164) @@ -1,3 +1,16 @@ +2017-11-27 Yacine Bandou + +[EME][GStreamer] Change the ClearKey's SystemID value +https://bugs.webkit.org/show_bug.cgi?id=180007 + +Reviewed by Xabier Rodriguez-Calvar. + +Use 1077efec-c0b2-4d02-ace3-3c1e52e2fb4b instead of +58147ec8-0423-4659-92e6-f52c5ce8c3cc, as is specified in W3C. +https://www.w3.org/TR/eme-initdata-cenc/#common-system-definition + +* platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h: + 2017-11-27 Javier Fernandez [css-grid] Display issues with child with max-width Modified: trunk/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h (225163 => 225164) --- trunk/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h 2017-11-27 09:29:07 UTC (rev 225163) +++ trunk/Source/WebCore/platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h 2017-11-27 09:41:15 UTC (rev 225164) @@ -26,7 +26,7 @@ #include #include -#define WEBCORE_GSTREAMER_EME_UTILITIES_CLEARKEY_UUID "58147ec8-0423-4659-92e6-f52c5ce8c3cc" +#define WEBCORE_GSTREAMER_EME_UTILITIES_CLEARKEY_UUID "1077efec-c0b2-4d02-ace3-3c1e52e2fb4b" namespace WebCore { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225163] trunk
Title: [225163] trunk Revision 225163 Author jfernan...@igalia.com Date 2017-11-27 01:29:07 -0800 (Mon, 27 Nov 2017) Log Message [css-grid] Display issues with child with max-width https://bugs.webkit.org/show_bug.cgi?id=178973 Reviewed by Darin Adler. Source/WebCore: We have an utility function to compute the grid item's margins when the item still needs to layout. We used the function RenderStyle::hasMarings to decide whether such margin computation worths. However, we need that function to operate on a specific axis, hence I added a new function adding such logic. Additionally, we must treat any 'auto' margin as 0px during the tracks sizing algorithm, as the CSS Grid spec states: - https://drafts.csswg.org/css-grid/#auto-margins Test: fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html * rendering/GridLayoutFunctions.cpp: (WebCore::GridLayoutFunctions::childHasMargin): New funciton with axis dependent logic. (WebCore::GridLayoutFunctions::computeMarginLogicalSizeForChild): Ignore auto margins. (WebCore::GridLayoutFunctions::marginLogicalSizeForChild): Ignore auto margins. LayoutTests: Regression test for the bug. * fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html: Added. * fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/GridLayoutFunctions.cpp Added Paths trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html Diff Modified: trunk/LayoutTests/ChangeLog (225162 => 225163) --- trunk/LayoutTests/ChangeLog 2017-11-27 08:53:00 UTC (rev 225162) +++ trunk/LayoutTests/ChangeLog 2017-11-27 09:29:07 UTC (rev 225163) @@ -1,3 +1,15 @@ +2017-11-27 Javier Fernandez + +[css-grid] Display issues with child with max-width +https://bugs.webkit.org/show_bug.cgi?id=178973 + +Reviewed by Darin Adler. + +Regression test for the bug. + +* fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html: Added. +* fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html: Added. + 2017-11-25 Frederic Wang Import MathML WPT tests Added: trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html (0 => 225163) --- trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html (rev 0) +++ trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing-expected.html 2017-11-27 09:29:07 UTC (rev 225163) @@ -0,0 +1,26 @@ + + +body { overflow: hidden; } +.grid { + display: grid; + grid-template-columns: 1fr 1fr 1fr; +} +.margin { margin-top: 10px; } +.center { justify-self: center; } +.i1 { background: magenta; } +.i2 { background: cyan; } +.i3 { background: yellow; } +.i4 { background: lime; } + + + +In a few questions, you’ll get an expert-designed investment portfolio to fit your financial needs. + + +Open and fund your account with $10,000 or more and we’ll put your money to work. + + +We’ll take it from here, monitoring your portfolio daily to help keep it on track. + + Learn More + Added: trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html (0 => 225163) --- trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html (rev 0) +++ trunk/LayoutTests/fast/css-grid-layout/auto-margins-ignored-during-track-sizing.html 2017-11-27 09:29:07 UTC (rev 225163) @@ -0,0 +1,29 @@ + + +body { overflow: hidden; } +.grid { + display: grid; + grid-template-columns: 1fr 1fr 1fr; +} +.margin-center { + margin-top: 10px; + margin-left: auto; + margin-right: auto; +} +.i1 { background: magenta; } +.i2 { background: cyan; } +.i3 { background: yellow; } +.i4 { background: lime; } + + + +In a few questions, you’ll get an expert-designed investment portfolio to fit your financial needs. + + +Open and fund your account with $10,000 or more and we’ll put your money to work. + + +We’ll take it from here, monitoring your portfolio daily to help keep it on track. + + Learn More + Modified: trunk/Source/WebCore/ChangeLog (225162 => 225163) --- trunk/Source/WebCore/ChangeLog 2017-11-27 08:53:00 UTC (rev 225162) +++ trunk/Source/WebCore/ChangeLog 2017-11-27 09:29:07 UTC (rev 225163) @@ -1,3 +1,28 @@ +2017-11-27 Javier Fernandez + +[css-grid] Display issues with child with max-width +https://bugs.webkit.org/show_bug.cgi?id=178973 + +Reviewed by Darin Adler. + +We have an utility function to compute the grid item's margins +when the item still needs to layout. We used the function +RenderStyle::hasMarings to decide whether such margin computation +w
[webkit-changes] [225159] branches/safari-604-branch
Title: [225159] branches/safari-604-branch Revision 225159 Author jmarc...@apple.com Date 2017-11-27 00:21:54 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224405. rdar://problem/35339758 Modified Paths branches/safari-604-branch/LayoutTests/ChangeLog branches/safari-604-branch/Source/WebCore/ChangeLog branches/safari-604-branch/Source/WebCore/dom/MutationObserverInterestGroup.cpp branches/safari-604-branch/Source/WebCore/dom/MutationObserverInterestGroup.h branches/safari-604-branch/Source/WebCore/dom/Node.cpp branches/safari-604-branch/Source/WebCore/dom/Node.h Added Paths branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html Diff Modified: branches/safari-604-branch/LayoutTests/ChangeLog (225158 => 225159) --- branches/safari-604-branch/LayoutTests/ChangeLog 2017-11-27 08:21:49 UTC (rev 225158) +++ branches/safari-604-branch/LayoutTests/ChangeLog 2017-11-27 08:21:54 UTC (rev 225159) @@ -1,3 +1,20 @@ +2017-11-03 Jason Marcell + +Cherry-pick r224405. rdar://problem/35339758 + +2017-11-03 Ryosuke Niwa + +Crash inside ChildListMutationAccumulator::enqueueMutationRecord() +https://bugs.webkit.org/show_bug.cgi?id=179234 + + +Reviewed by Darin Adler. + +Added a regression test. + +* fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt: Added. +* fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html: Added. + 2017-11-22 Jason Marcell Cherry-pick r224398. rdar://problem/35329715 Added: branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt (0 => 225159) --- branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt (rev 0) +++ branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash-expected.txt 2017-11-27 08:21:54 UTC (rev 225159) @@ -0,0 +1,10 @@ +This tests disconnecting a MutationObserver while a mutation record is enqueued. WebKit should not crash. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS WebKit did not crash +PASS successfullyParsed is true + +TEST COMPLETE + Added: branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html (0 => 225159) --- branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html (rev 0) +++ branches/safari-604-branch/LayoutTests/fast/dom/MutationObserver/disconnect-observer-while-mutation-records-are-enqueued-crash.html 2017-11-27 08:21:54 UTC (rev 225159) @@ -0,0 +1,45 @@ + + + + + +description('This tests disconnecting a MutationObserver while a mutation record is enqueued. WebKit should not crash.'); + +if (!window.GCController) +testFailed('This test requires GCController'); +else { +jsTestIsAsync = true; + +var observer = new MutationObserver(function() {}); + +var div = document.createElement('div'); +document.body.appendChild(div); + +observer.observe(div, {childList: true}); + +var script = document.createElement('script'); +script.textContent = 'disconnectObserver()'; + +var child = document.createElement('div'); +child.appendChild(script); +div.appendChild(child); + +function disconnectObserver() { +observer.disconnect(); +observer = null; +GCController.collect(); +observer = new MutationObserver(function() {}); +} + +window._onload_ = () => { +testPassed('WebKit did not crash'); +finishJSTest(); +} +} + +var successfullyParsed = true; + + + + Modified: branches/safari-604-branch/Source/WebCore/ChangeLog (225158 => 225159) --- branches/safari-604-branch/Source/WebCore/ChangeLog 2017-11-27 08:21:49 UTC (rev 225158) +++ branches/safari-604-branch/Source/WebCore/ChangeLog 2017-11-27 08:21:54 UTC (rev 225159) @@ -1,3 +1,42 @@ +2017-11-03 Jason Marcell + +Cherry-pick r224405. rdar://problem/35339758 + +2017-11-03 Ryosuke Niwa + +Crash inside ChildListMutationAccumulator::enqueueMutationRecord() +https://bugs.webkit.org/show_bug.cgi?id=179234 + + +Reviewed by Darin Adler. + +Fixed the crash by keeping MutationObserver referenced by MutationObserverInterestGroup alive. + +Also added hasCallback() virtual function on MutationObserver to check whether the callback is
[webkit-changes] [225156] branches/safari-604-branch
Title: [225156] branches/safari-604-branch Revision 225156 Author jmarc...@apple.com Date 2017-11-27 00:21:43 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224349. rdar://problem/35329732 Modified Paths branches/safari-604-branch/JSTests/ChangeLog branches/safari-604-branch/Source/_javascript_Core/ChangeLog branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h Added Paths branches/safari-604-branch/JSTests/stress/arith-clz32-effects.js Diff Modified: branches/safari-604-branch/JSTests/ChangeLog (225155 => 225156) --- branches/safari-604-branch/JSTests/ChangeLog 2017-11-27 08:21:39 UTC (rev 225155) +++ branches/safari-604-branch/JSTests/ChangeLog 2017-11-27 08:21:43 UTC (rev 225156) @@ -1,5 +1,20 @@ 2017-11-22 Jason Marcell +Cherry-pick r224349. rdar://problem/35329732 + +2017-11-02 Filip Pizlo + +AI does not correctly model the clobber case of ArithClz32 +https://bugs.webkit.org/show_bug.cgi?id=179188 + +Reviewed by Michael Saboff. + +* stress/arith-clz32-effects.js: Added. +(foo): +(valueOf): + +2017-11-22 Jason Marcell + Cherry-pick r224302. rdar://problem/35323829 2017-11-01 Michael Saboff Added: branches/safari-604-branch/JSTests/stress/arith-clz32-effects.js (0 => 225156) --- branches/safari-604-branch/JSTests/stress/arith-clz32-effects.js (rev 0) +++ branches/safari-604-branch/JSTests/stress/arith-clz32-effects.js 2017-11-27 08:21:43 UTC (rev 225156) @@ -0,0 +1,30 @@ +function foo(o, v) +{ +var result = o.f; +Math.clz32(v); +return result + o.f; +} + +noInline(foo); + +var o = {f: 42}; +o.g = 43; // Bust the transition watchpoint of {f}. + +for (var i = 0; i < 1; ++i) { +var result = foo({f: 42}, "42"); +if (result != 84) +throw "Error: bad result in loop: " + result; +} + +var o = {f: 43}; +var result = foo(o, { +valueOf: function() +{ +delete o.f; +o.__defineGetter__("f", function() { return 44; }); +} +}); + +if (result != 87) +throw "Error: bad result at end: " + result; + Modified: branches/safari-604-branch/Source/_javascript_Core/ChangeLog (225155 => 225156) --- branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:39 UTC (rev 225155) +++ branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:43 UTC (rev 225156) @@ -1,5 +1,21 @@ 2017-11-22 Jason Marcell +Cherry-pick r224349. rdar://problem/35329732 + +2017-11-02 Filip Pizlo + +AI does not correctly model the clobber case of ArithClz32 +https://bugs.webkit.org/show_bug.cgi?id=179188 + +Reviewed by Michael Saboff. + +The non-Int32 case clobbers the world because it may call valueOf. + +* dfg/DFGAbstractInterpreterInlines.h: +(JSC::DFG::AbstractInterpreter::executeEffects): + +2017-11-22 Jason Marcell + Cherry-pick r224302. rdar://problem/35323829 2017-11-01 Michael Saboff Modified: branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (225155 => 225156) --- branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2017-11-27 08:21:39 UTC (rev 225155) +++ branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2017-11-27 08:21:43 UTC (rev 225156) @@ -561,6 +561,14 @@ setConstant(node, jsNumber(clz32(value))); break; } +switch (node->child1().useKind()) { +case Int32Use: +case KnownInt32Use: +break; +default: +clobberWorld(node->origin.semantic, clobberLimit); +break; +} forNode(node).setType(SpecInt32Only); break; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225155] branches/safari-604-branch
Title: [225155] branches/safari-604-branch Revision 225155 Author jmarc...@apple.com Date 2017-11-27 00:21:39 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224302. rdar://problem/35323829 Modified Paths branches/safari-604-branch/JSTests/ChangeLog branches/safari-604-branch/Source/_javascript_Core/ChangeLog branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp branches/safari-604-branch/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp Added Paths branches/safari-604-branch/JSTests/stress/regress-179140.js Diff Modified: branches/safari-604-branch/JSTests/ChangeLog (225154 => 225155) --- branches/safari-604-branch/JSTests/ChangeLog 2017-11-27 07:51:16 UTC (rev 225154) +++ branches/safari-604-branch/JSTests/ChangeLog 2017-11-27 08:21:39 UTC (rev 225155) @@ -1,3 +1,20 @@ +2017-11-22 Jason Marcell + +Cherry-pick r224302. rdar://problem/35323829 + +2017-11-01 Michael Saboff + +Integer overflow in code generated by LoadVarargs processing in DFG and FTL. +https://bugs.webkit.org/show_bug.cgi?id=179140 + +Reviewed by Saam Barati. + +New regression test. + +* stress/regress-179140.js: Added. +(testWithoutFTL): +(testWithFTL): + 2017-10-21 Jason Marcell Cherry-pick r223731. rdar://problem/35100279 Added: branches/safari-604-branch/JSTests/stress/regress-179140.js (0 => 225155) --- branches/safari-604-branch/JSTests/stress/regress-179140.js (rev 0) +++ branches/safari-604-branch/JSTests/stress/regress-179140.js 2017-11-27 08:21:39 UTC (rev 225155) @@ -0,0 +1,38 @@ +// Regression test for bug 179140. + +function testWithoutFTL() +{ +g=() => 0 +f=(a) => g.apply(0,a) + +noFTL(f); + +for(i=1e6;i--;) +f([]) + +try { +f({length:1e10}) +} catch(e) { +if (!(e instanceof RangeError)) +throw "Expected RangeError due to stack overflow"; +} +} + +function testWithFTL() +{ +g=() => 0 +f=(a) => g.apply(0,a) + +for(i=1e6;i--;) +f([]) + +try { +f({length:1e10}) +} catch(e) { +if (!(e instanceof RangeError)) +throw "Expected RangeError due to stack overflow"; +} +} + +testWithoutFTL(); +testWithFTL(); Modified: branches/safari-604-branch/Source/_javascript_Core/ChangeLog (225154 => 225155) --- branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 07:51:16 UTC (rev 225154) +++ branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:39 UTC (rev 225155) @@ -1,3 +1,23 @@ +2017-11-22 Jason Marcell + +Cherry-pick r224302. rdar://problem/35323829 + +2017-11-01 Michael Saboff + +Integer overflow in code generated by LoadVarargs processing in DFG and FTL. +https://bugs.webkit.org/show_bug.cgi?id=179140 + +Reviewed by Saam Barati. + +Added overflow checks to computation of arg count plus this. + +* dfg/DFGSpeculativeJIT32_64.cpp: +(JSC::DFG::SpeculativeJIT::compile): +* dfg/DFGSpeculativeJIT64.cpp: +(JSC::DFG::SpeculativeJIT::compile): +* ftl/FTLLowerDFGToB3.cpp: +(JSC::FTL::DFG::LowerDFGToB3::compileLoadVarargs): + 2017-10-21 Jason Marcell Cherry-pick r223731. rdar://problem/35100279 Modified: branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp (225154 => 225155) --- branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2017-11-27 07:51:16 UTC (rev 225154) +++ branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp 2017-11-27 08:21:39 UTC (rev 225155) @@ -4992,9 +4992,16 @@ JITCompiler::selectScratchGPR(GPRInfo::returnValueGPR, argumentsTagGPR, argumentsPayloadGPR); m_jit.add32(TrustedImm32(1), GPRInfo::returnValueGPR, argCountIncludingThisGPR); + speculationCheck( VarargsOverflow, JSValueSource(), Edge(), m_jit.branch32( MacroAssembler::Above, +GPRInfo::returnValueGPR, +argCountIncludingThisGPR)); + +speculationCheck( +VarargsOverflow, JSValueSource(), Edge(), m_jit.branch32( +MacroAssembler::Above, argCountIncludingThisGPR, TrustedImm32(data->limit))); Modified: branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp (225154 => 225155) --- branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2017-11-27 07:51:16 UTC (rev 225154) +++ branches/safari-604-branch/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp 2017-11-27 08:21:39 UTC (rev 225155) @@ -5416,9 +5416,16 @@ JITCompiler::selectScratchGPR(GPRInfo::returnValueGPR, argume
[webkit-changes] [225161] branches/safari-604-branch/Source/JavaScriptCore
Title: [225161] branches/safari-604-branch/Source/_javascript_Core Revision 225161 Author jmarc...@apple.com Date 2017-11-27 00:21:59 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224426. rdar://problem/35364697 Modified Paths branches/safari-604-branch/Source/_javascript_Core/ChangeLog branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h Diff Modified: branches/safari-604-branch/Source/_javascript_Core/ChangeLog (225160 => 225161) --- branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:56 UTC (rev 225160) +++ branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:59 UTC (rev 225161) @@ -1,3 +1,20 @@ +2017-11-22 Jason Marcell + +Cherry-pick r224426. rdar://problem/35364697 + +2017-11-03 Michael Saboff + +The Abstract Interpreter needs to change similar to clobberize() in r224366 +https://bugs.webkit.org/show_bug.cgi?id=179267 + +Reviewed by Saam Barati. + +Add clobberWorld() to HasGenericProperty, HasStructureProperty & GetPropertyEnumerator +cases in the abstract interpreter to match what was done for r224366. + +* dfg/DFGAbstractInterpreterInlines.h: +(JSC::DFG::AbstractInterpreter::executeEffects): + 2017-11-05 Jason Marcell Cherry-pick r224416. rdar://problem/35339833 Modified: branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h (225160 => 225161) --- branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2017-11-27 08:21:56 UTC (rev 225160) +++ branches/safari-604-branch/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h 2017-11-27 08:21:59 UTC (rev 225161) @@ -2864,10 +2864,12 @@ } case HasGenericProperty: { forNode(node).setType(SpecBoolean); +clobberWorld(node->origin.semantic, clobberLimit); break; } case HasStructureProperty: { forNode(node).setType(SpecBoolean); +clobberWorld(node->origin.semantic, clobberLimit); break; } case HasIndexedProperty: { @@ -2894,6 +2896,7 @@ } case GetPropertyEnumerator: { forNode(node).setType(m_graph, SpecCell); +clobberWorld(node->origin.semantic, clobberLimit); break; } case GetEnumeratorStructurePname: { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225157] branches/safari-604-branch
Title: [225157] branches/safari-604-branch Revision 225157 Author jmarc...@apple.com Date 2017-11-27 00:21:46 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224366. rdar://problem/35329723 Modified Paths branches/safari-604-branch/JSTests/ChangeLog branches/safari-604-branch/Source/_javascript_Core/ChangeLog branches/safari-604-branch/Source/_javascript_Core/dfg/DFGClobberize.h Added Paths branches/safari-604-branch/JSTests/stress/for-in-side-effects.js Diff Modified: branches/safari-604-branch/JSTests/ChangeLog (225156 => 225157) --- branches/safari-604-branch/JSTests/ChangeLog 2017-11-27 08:21:43 UTC (rev 225156) +++ branches/safari-604-branch/JSTests/ChangeLog 2017-11-27 08:21:46 UTC (rev 225157) @@ -1,5 +1,26 @@ 2017-11-22 Jason Marcell +Cherry-pick r224366. rdar://problem/35329723 + +2017-11-02 Michael Saboff + +DFG needs to handle code motion of code in for..in loop bodies +https://bugs.webkit.org/show_bug.cgi?id=179212 + +Reviewed by Keith Miller. + +New regression test. + +* stress/for-in-side-effects.js: Added. +(getPrototypeOf): +(reset): +(testWithoutFTL.f): +(testWithoutFTL): +(testWithFTL.f): +(testWithFTL): + +2017-11-22 Jason Marcell + Cherry-pick r224349. rdar://problem/35329732 2017-11-02 Filip Pizlo Added: branches/safari-604-branch/JSTests/stress/for-in-side-effects.js (0 => 225157) --- branches/safari-604-branch/JSTests/stress/for-in-side-effects.js (rev 0) +++ branches/safari-604-branch/JSTests/stress/for-in-side-effects.js 2017-11-27 08:21:46 UTC (rev 225157) @@ -0,0 +1,79 @@ +// Regression test for bug 179212 + +var p = { "a": {} }; + +var flag = 0; +var data = "" +var copy = []; + +var z = new Proxy({}, { +getPrototypeOf: function() { +if (flag == 2) { +data[0] = { "x": "I changed" }; +} + +if (flag == 1) { +flag = 2; +} + +return {"a": 1, "b": 2} +} +}); + +p.__proto__ = z; + +function reset() +{ +flag = 0; +data = "" 2.2, 3.3]; +copy = []; +} + +function runTest(func) +{ +reset(); + +for (var i = 0; i < 0x1; i++) +func(); + +flag = 1; +func(); + +if (copy[0].x != "I changed") +throw "Expected updated value for copy[0]"; +} + +function testWithoutFTL() +{ +function f() +{ +data[0] = 2.2; +for(var d in p) { +copy[0] = data[0]; +copy[1] = data[1]; +copy[2] = data[2]; +} +} + +noFTL(f); + +runTest(f); +} + +function testWithFTL() +{ +function f() +{ +data[0] = 2.2; +for(var d in p) { +copy[0] = data[0]; +copy[1] = data[1]; +copy[2] = data[2]; +} +} + +runTest(f); +} + +testWithoutFTL(); +testWithFTL(); Property changes on: branches/safari-604-branch/JSTests/stress/for-in-side-effects.js ___ Added: svn:executable +* \ No newline at end of property Modified: branches/safari-604-branch/Source/_javascript_Core/ChangeLog (225156 => 225157) --- branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:43 UTC (rev 225156) +++ branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:46 UTC (rev 225157) @@ -1,5 +1,22 @@ 2017-11-22 Jason Marcell +Cherry-pick r224366. rdar://problem/35329723 + +2017-11-02 Michael Saboff + +DFG needs to handle code motion of code in for..in loop bodies +https://bugs.webkit.org/show_bug.cgi?id=179212 + +Reviewed by Keith Miller. + +The processing of the DFG nodes HasGenericProperty, HasStructureProperty & GetPropertyEnumerator +make calls with side effects. Updated clobberize() for those nodes to take that into account. + +* dfg/DFGClobberize.h: +(JSC::DFG::clobberize): + +2017-11-22 Jason Marcell + Cherry-pick r224349. rdar://problem/35329732 2017-11-02 Filip Pizlo Modified: branches/safari-604-branch/Source/_javascript_Core/dfg/DFGClobberize.h (225156 => 225157) --- branches/safari-604-branch/Source/_javascript_Core/dfg/DFGClobberize.h 2017-11-27 08:21:43 UTC (rev 225156) +++ branches/safari-604-branch/Source/_javascript_Core/dfg/DFGClobberize.h 2017-11-27 08:21:46 UTC (rev 225157) @@ -262,8 +262,13 @@ case HasGenericProperty: case HasStructureProperty: -case GetEnumerableLength: case GetPropertyEnumerator: { +read(World); +write(Heap); +return; +} + +case GetEnumerableLength: { read(Heap); write(SideState); return; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org
[webkit-changes] [225160] branches/safari-604-branch/Source/JavaScriptCore
Title: [225160] branches/safari-604-branch/Source/_javascript_Core Revision 225160 Author jmarc...@apple.com Date 2017-11-27 00:21:56 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224416. rdar://problem/35339833 Modified Paths branches/safari-604-branch/Source/_javascript_Core/ChangeLog branches/safari-604-branch/Source/_javascript_Core/runtime/JSObject.cpp branches/safari-604-branch/Source/_javascript_Core/runtime/Lookup.h Diff Modified: branches/safari-604-branch/Source/_javascript_Core/ChangeLog (225159 => 225160) --- branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:54 UTC (rev 225159) +++ branches/safari-604-branch/Source/_javascript_Core/ChangeLog 2017-11-27 08:21:56 UTC (rev 225160) @@ -1,3 +1,25 @@ +2017-11-05 Jason Marcell + +Cherry-pick r224416. rdar://problem/35339833 + +2017-11-03 Keith Miller + +PutProperytSlot should inform the IC about the property before effects. +https://bugs.webkit.org/show_bug.cgi?id=179262 + +Reviewed by Mark Lam. + +This patch fixes an issue where we choose to cache setters based on +incorrect information. If we did so we might end up OSR exiting +more than we would otherwise need to. The new model is that the +PutPropertySlot should inform the IC of what the property looked +like before any potential side effects might have occurred. + +* runtime/JSObject.cpp: +(JSC::JSObject::putInlineSlow): +* runtime/Lookup.h: +(JSC::putEntry): + 2017-11-22 Jason Marcell Cherry-pick r224366. rdar://problem/35329723 Modified: branches/safari-604-branch/Source/_javascript_Core/runtime/JSObject.cpp (225159 => 225160) --- branches/safari-604-branch/Source/_javascript_Core/runtime/JSObject.cpp 2017-11-27 08:21:54 UTC (rev 225159) +++ branches/safari-604-branch/Source/_javascript_Core/runtime/JSObject.cpp 2017-11-27 08:21:56 UTC (rev 225160) @@ -771,17 +771,23 @@ JSValue gs = obj->getDirect(offset); if (gs.isGetterSetter()) { -bool result = callSetter(exec, slot.thisValue(), gs, value, slot.isStrictMode() ? StrictMode : NotStrictMode); +// We need to make sure that we decide to cache this property before we potentially execute aribitrary JS. if (!structure()->isDictionary()) slot.setCacheableSetter(obj, offset); + +bool result = callSetter(exec, slot.thisValue(), gs, value, slot.isStrictMode() ? StrictMode : NotStrictMode); +RETURN_IF_EXCEPTION(scope, false); return result; } if (gs.isCustomGetterSetter()) { -bool result = callCustomSetter(exec, gs, attributes & CustomAccessor, obj, slot.thisValue(), value); +// We need to make sure that we decide to cache this property before we potentially execute aribitrary JS. if (attributes & CustomAccessor) slot.setCustomAccessor(obj, jsCast(gs.asCell())->setter()); else slot.setCustomValue(obj, jsCast(gs.asCell())->setter()); + +bool result = callCustomSetter(exec, gs, attributes & CustomAccessor, obj, slot.thisValue(), value); +RETURN_IF_EXCEPTION(scope, false); return result; } ASSERT(!(attributes & Accessor)); Modified: branches/safari-604-branch/Source/_javascript_Core/runtime/Lookup.h (225159 => 225160) --- branches/safari-604-branch/Source/_javascript_Core/runtime/Lookup.h 2017-11-27 08:21:54 UTC (rev 225159) +++ branches/safari-604-branch/Source/_javascript_Core/runtime/Lookup.h 2017-11-27 08:21:56 UTC (rev 225160) @@ -284,11 +284,14 @@ ASSERT_WITH_MESSAGE(!(entry->attributes() & DOMJITAttribute), "DOMJITAttribute supports readonly attributes currently."); bool isAccessor = entry->attributes() & CustomAccessor; JSValue updateThisValue = entry->attributes() & CustomAccessor ? slot.thisValue() : JSValue(base); -bool result = callCustomSetter(exec, entry->propertyPutter(), isAccessor, updateThisValue, value); +// We need to make sure that we decide to cache this property before we potentially execute aribitrary JS. if (isAccessor) slot.setCustomAccessor(base, entry->propertyPutter()); else slot.setCustomValue(base, entry->propertyPutter()); + +bool result = callCustomSetter(exec, entry->propertyPutter(), isAccessor, updateThisValue, value); +RETURN_IF_EXCEPTION(scope, false); return result; } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [225158] branches/safari-604-branch
Title: [225158] branches/safari-604-branch Revision 225158 Author jmarc...@apple.com Date 2017-11-27 00:21:49 -0800 (Mon, 27 Nov 2017) Log Message Cherry-pick r224398. rdar://problem/35329715 Modified Paths branches/safari-604-branch/LayoutTests/ChangeLog branches/safari-604-branch/Source/WebCore/ChangeLog branches/safari-604-branch/Source/WebCore/html/HTMLFormElement.cpp Added Paths branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form-expected.txt branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form.html Diff Modified: branches/safari-604-branch/LayoutTests/ChangeLog (225157 => 225158) --- branches/safari-604-branch/LayoutTests/ChangeLog 2017-11-27 08:21:46 UTC (rev 225157) +++ branches/safari-604-branch/LayoutTests/ChangeLog 2017-11-27 08:21:49 UTC (rev 225158) @@ -1,3 +1,21 @@ +2017-11-22 Jason Marcell + +Cherry-pick r224398. rdar://problem/35329715 + +2017-11-03 Daniel Bates + +Invalidate node list when associated form control element is removed +https://bugs.webkit.org/show_bug.cgi?id=179232 + + +Reviewed by Ryosuke Niwa. + +Add a test to ensure the node list returned by HTMLFormElement.elements stays synchronized +with the document. + +* fast/forms/node-list-remove-button-from-form-expected.txt: Added. +* fast/forms/node-list-remove-button-from-form.html: Added. + 2017-10-29 Jason Marcell Cherry-pick r224139. rdar://problem/35143359 Added: branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form-expected.txt (0 => 225158) --- branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form-expected.txt (rev 0) +++ branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form-expected.txt 2017-11-27 08:21:49 UTC (rev 225158) @@ -0,0 +1,15 @@ +Tests that removing a from the document removes it from HTMLFormElement.elements. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +Before removal of button: +PASS document.getElementById('aForm').elements is non-null. +PASS document.getElementById('aForm')['aButton'] is document.getElementById('aButton') + +After removal of button: +PASS document.getElementById('aForm')['aButton'] is undefined. +PASS successfullyParsed is true + +TEST COMPLETE + Added: branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form.html (0 => 225158) --- branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form.html (rev 0) +++ branches/safari-604-branch/LayoutTests/fast/forms/node-list-remove-button-from-form.html 2017-11-27 08:21:49 UTC (rev 225158) @@ -0,0 +1,28 @@ + + + + + + + + ++