[webkit-changes] [203494] trunk
Title: [203494] trunk Revision 203494 Author commit-qu...@webkit.org Date 2016-07-20 23:51:05 -0700 (Wed, 20 Jul 2016) Log Message [XHR] Cache response JS object in case of arraybuffer and blob response types https://bugs.webkit.org/show_bug.cgi?id=128903 Patch by Youenn Fablet on 2016-07-20 Reviewed by Alex Christensen. Source/WebCore: Covered by existing and modified tests. Making response getter a JS builtin that caches response in @response private slot. Handling invalidation of cached response with @responseCacheIsValid new private method. Handling creation of cached response with @retrieveResponse new private method which reuses most of JSXMLHttpRequest::response previous code. Caching of responses is activated whenever load ended without any error for blob and arraybuffer response types. Caching of response for document is also activated in case the response getter is used but not if responseXML getter is used. * CMakeLists.txt: Adding XMLHttpRequest.js. * DerivedSources.make: Ditto. * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::retrieveResponse): Implements creation of to-be-cached response. (WebCore::JSXMLHttpRequest::response): Deleted. * bindings/js/WebCoreBuiltinNames.h: Adding new private names. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didCacheResponse): Renamed from didCacheResponseJSON as all response types are now cached. (WebCore::XMLHttpRequest::didCacheResponseJSON): Deleted. * xml/XMLHttpRequest.h: * xml/XMLHttpRequest.idl: LayoutTests: * http/tests/xmlhttprequest/onabort-response-getters-expected.txt: * http/tests/xmlhttprequest/onabort-response-getters.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters-expected.txt trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters.html trunk/Source/WebCore/CMakeLists.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/DerivedSources.make trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp trunk/Source/WebCore/bindings/js/WebCoreBuiltinNames.h trunk/Source/WebCore/xml/XMLHttpRequest.cpp trunk/Source/WebCore/xml/XMLHttpRequest.h trunk/Source/WebCore/xml/XMLHttpRequest.idl Added Paths trunk/Source/WebCore/xml/XMLHttpRequest.js Diff Modified: trunk/LayoutTests/ChangeLog (203493 => 203494) --- trunk/LayoutTests/ChangeLog 2016-07-21 06:41:43 UTC (rev 203493) +++ trunk/LayoutTests/ChangeLog 2016-07-21 06:51:05 UTC (rev 203494) @@ -1,3 +1,13 @@ +2016-07-20 Youenn Fablet + +[XHR] Cache response JS object in case of arraybuffer and blob response types +https://bugs.webkit.org/show_bug.cgi?id=128903 + +Reviewed by Alex Christensen. + +* http/tests/xmlhttprequest/onabort-response-getters-expected.txt: +* http/tests/xmlhttprequest/onabort-response-getters.html: + 2016-07-19 Filip Pizlo Switching on symbols should be fast Modified: trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters-expected.txt (203493 => 203494) --- trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters-expected.txt 2016-07-21 06:41:43 UTC (rev 203493) +++ trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters-expected.txt 2016-07-21 06:51:05 UTC (rev 203494) @@ -1,6 +1,12 @@ PASS getting arraybuffer response within abort event callback +PASS getting arraybuffer response within abort event callback (aborting in loadend) PASS getting blob response within abort event callback +PASS getting blob response within abort event callback (aborting in loadend) PASS getting json response within abort event callback +PASS getting json response within abort event callback (aborting in loadend) PASS getting document response within abort event callback +PASS getting document response within abort event callback (aborting in loadend) +PASS getting text response within abort event callback +PASS getting text response within abort event callback (aborting in loadend) Modified: trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters.html (203493 => 203494) --- trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters.html 2016-07-21 06:41:43 UTC (rev 203493) +++ trunk/LayoutTests/http/tests/xmlhttprequest/onabort-response-getters.html 2016-07-21 06:51:05 UTC (rev 203494) @@ -7,6 +7,14 @@+function checkCachedResponse(client) { +assert_true(client.response === client.response); +if (client.responseType == "text") +assert_true(client.responseText === client.response); +if (client.responseType == "document") +assert_true(client.responseXML === client.response); +} + function runTest(name, fileName, mimeType, setupClient, checkResponse) { var test = async_test(name) test.step(function() { @@ -28,6 +36,7 @@
[webkit-changes] [203493] trunk/Source/WebKit2
Title: [203493] trunk/Source/WebKit2 Revision 203493 Author carlo...@webkit.org Date 2016-07-20 23:41:43 -0700 (Wed, 20 Jul 2016) Log Message [GTK][Threaded Compositor] Web Process crash when the page is closed before the web view is realized https://bugs.webkit.org/show_bug.cgi?id=159918 Reviewed by Michael Catanzaro. When the web view is unrealized, we send a sync message to the web process to destroy the native surface handle for compositing, and then we actually destroy the redirected window. But if the page is closed explicitly before the web view is unrealized, the drawing area proxy is destroyed so that when the web view is unrealized we can't notify the web process that keeps trying to render to a now deleted window handle. That produces a BadDrawable X error and the web process crashes. * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::pageClosed): Call webkitWebViewBasePageClosed(). * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBasePageClosed): If the web view is still realized, destroy the native surface handle and the redirected window. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBasePageClosed(). Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h Diff Modified: trunk/Source/WebKit2/ChangeLog (203492 => 203493) --- trunk/Source/WebKit2/ChangeLog 2016-07-21 06:38:32 UTC (rev 203492) +++ trunk/Source/WebKit2/ChangeLog 2016-07-21 06:41:43 UTC (rev 203493) @@ -1,3 +1,23 @@ +2016-07-20 Carlos Garcia Campos + +[GTK][Threaded Compositor] Web Process crash when the page is closed before the web view is realized +https://bugs.webkit.org/show_bug.cgi?id=159918 + +Reviewed by Michael Catanzaro. + +When the web view is unrealized, we send a sync message to the web process to destroy the native surface handle +for compositing, and then we actually destroy the redirected window. But if the page is closed explicitly before +the web view is unrealized, the drawing area proxy is destroyed so that when the web view is unrealized we can't +notify the web process that keeps trying to render to a now deleted window handle. That produces a BadDrawable +X error and the web process crashes. + +* UIProcess/API/gtk/PageClientImpl.cpp: +(WebKit::PageClientImpl::pageClosed): Call webkitWebViewBasePageClosed(). +* UIProcess/API/gtk/WebKitWebViewBase.cpp: +(webkitWebViewBasePageClosed): If the web view is still realized, destroy the native surface handle and the +redirected window. +* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBasePageClosed(). + 2016-07-20 Commit Queue Unreviewed, rolling out r203471. Modified: trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp (203492 => 203493) --- trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp 2016-07-21 06:38:32 UTC (rev 203492) +++ trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp 2016-07-21 06:41:43 UTC (rev 203493) @@ -238,7 +238,7 @@ void PageClientImpl::pageClosed() { -notImplemented(); +webkitWebViewBasePageClosed(WEBKIT_WEB_VIEW_BASE(m_viewWidget)); } void PageClientImpl::preferencesDidChange() Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp (203492 => 203493) --- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2016-07-21 06:38:32 UTC (rev 203492) +++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp 2016-07-21 06:41:43 UTC (rev 203493) @@ -1630,3 +1630,23 @@ UNUSED_PARAM(webkitWebViewBase); #endif } + +void webkitWebViewBasePageClosed(WebKitWebViewBase* webkitWebViewBase) +{ +#if PLATFORM(X11) && USE(TEXTURE_MAPPER) +if (PlatformDisplay::sharedDisplay().type() != PlatformDisplay::Type::X11) +return; + +if (!gtk_widget_get_realized(GTK_WIDGET(webkitWebViewBase))) +return; + +WebKitWebViewBasePrivate* priv = webkitWebViewBase->priv; +DrawingAreaProxyImpl* drawingArea = static_cast(priv->pageProxy->drawingArea()); +ASSERT(drawingArea); +drawingArea->destroyNativeSurfaceHandleForCompositing(); + +#if USE(REDIRECTED_XCOMPOSITE_WINDOW) +priv->redirectedWindow = nullptr; +#endif +#endif // PLATFORM(X11) && USE(TEXTURE_MAPPER) +} Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h (203492 => 203493) --- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2016-07-21 06:38:32 UTC (rev 203492) +++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h 2016-07-21 06:41:43 UTC (rev 203493) @@ -75,6 +75,7 @@ void webkitWebViewBaseEnterAcceleratedCompositingMode(WebKitWebViewBase*); void webkitWebViewBaseExitAcceleratedCompositingMode(WebKitWebViewBase*); void webkitWebViewBaseDidRelaunchWebProcess(WebKit
[webkit-changes] [203491] trunk
Title: [203491] trunk Revision 203491 Author fpi...@apple.com Date 2016-07-20 23:23:10 -0700 (Wed, 20 Jul 2016) Log Message Switching on symbols should be fast https://bugs.webkit.org/show_bug.cgi?id=158892 Reviewed by Keith Miller. Source/_javascript_Core: This does two things: fixes some goofs in our lowering of symbol equality and adds a new phase to B3 to infer switch statements from linear chains of branches. This changes how we compile equality to Symbols to constant-fold the load of the Symbol's UID. This is necessary for making switches on Symbols inferrable. This also gives us the ability to efficiently compile strict equality comparisons of SymbolUse and UntypedUse. This adds a new phase to B3, which finds chains of branches that test for (in)equality on the same value and constants, and turns them into a Switch. This can turn O(n) code into O(log n) code, or even O(1) code if the switch cases are dense. This can make a big difference in JS. Say you write a switch in which the case statements are variable resolutions. The bytecode generator cannot use a bytecode switch in this case, since we're required to evaluate the resolutions in order. But in DFG IR, we will often turn those variable resolutions into constants, since we do that for any immutable singleton. This means that B3 will see a chain of Branches: the else case of one Branch will point to a basic block that does nothing but Branch on equality on the same value as the first Branch. The inference algorithm is quite simple. The basic building block is the ability to summarize a block's switch behavior. For a block that ends in a switch, this is just the collection of switch cases. For a block that ends in a branch, we recognize Branch(Equal(value, const)), Branch(NotEqual(value, const)), and Branch(value). Each of these are summarized as if they were one-case switches. We infer a new switch if both some block and its sole predecessor can be described as switches on the same value, nothing shady is going on (like loops), and the block in question does no work other than this switch. In that case, the block is killed and its cases (which we get from the summary) are added to the predecessor's switch. This algorithm runs to fixpoint. * CMakeLists.txt: * _javascript_Core.xcodeproj/project.pbxproj: * b3/B3Generate.cpp: (JSC::B3::generateToAir): * b3/B3InferSwitches.cpp: Added. (JSC::B3::inferSwitches): * b3/B3InferSwitches.h: Added. * b3/B3Procedure.h: (JSC::B3::Procedure::cfg): * b3/B3ReduceStrength.cpp: * b3/B3Value.cpp: (JSC::B3::Value::performSubstitution): (JSC::B3::Value::isFree): (JSC::B3::Value::dumpMeta): * b3/B3Value.h: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileCheckIdent): (JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq): (JSC::FTL::DFG::LowerDFGToB3::lowSymbol): (JSC::FTL::DFG::LowerDFGToB3::lowSymbolUID): (JSC::FTL::DFG::LowerDFGToB3::lowNonNullObject): LayoutTests: * js/regress/bigswitch-indirect-expected.txt: Added. * js/regress/bigswitch-indirect-symbol-expected.txt: Added. * js/regress/bigswitch-indirect-symbol-or-undefined-expected.txt: Added. * js/regress/bigswitch-indirect-symbol-or-undefined.html: Added. * js/regress/bigswitch-indirect-symbol.html: Added. * js/regress/bigswitch-indirect.html: Added. * js/regress/implicit-bigswitch-indirect-symbol-expected.txt: Added. * js/regress/implicit-bigswitch-indirect-symbol.html: Added. * js/regress/script-tests/bigswitch-indirect-symbol-or-undefined.js: Added. (foo): * js/regress/script-tests/bigswitch-indirect-symbol.js: Added. (foo): * js/regress/script-tests/bigswitch-indirect.js: Added. (foo): * js/regress/script-tests/implicit-bigswitch-indirect-symbol.js: Added. (foo): Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/_javascript_Core/CMakeLists.txt trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/b3/B3Generate.cpp trunk/Source/_javascript_Core/b3/B3IndexMap.h trunk/Source/_javascript_Core/b3/B3ReduceStrength.cpp trunk/Source/_javascript_Core/b3/B3Value.cpp trunk/Source/_javascript_Core/b3/B3Value.h trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp Added Paths trunk/LayoutTests/js/regress/bigswitch-indirect-expected.txt trunk/LayoutTests/js/regress/bigswitch-indirect-symbol-expected.txt trunk/LayoutTests/js/regress/bigswitch-indirect-symbol-or-undefined-expected.txt trunk/LayoutTests/js/regress/bigswitch-indirect-symbol-or-undefined.html trunk/LayoutTests/js/regress/bigswitch-indirect-symbol.html trunk/LayoutTests/js/regress/bigswitch-indirect.html trunk/LayoutTests/js/regress/implicit-bigswitch-indirect-symbol-expected.txt trunk/LayoutTests/js/regress/implicit-bigswitch-indire
[webkit-changes] [203490] trunk/Source/WebCore
Title: [203490] trunk/Source/WebCore Revision 203490 Author commit-qu...@webkit.org Date 2016-07-20 23:12:13 -0700 (Wed, 20 Jul 2016) Log Message Remove crossOriginRequestPolicy from ThreadableLoaderOptions https://bugs.webkit.org/show_bug.cgi?id=159417 Patch by Youenn Fablet on 2016-07-20 Reviewed by Alex Christensen. No observable change. * Modules/fetch/FetchLoader.cpp: (WebCore::FetchLoader::start): DenyCrossOriginRequests -> FetchOptions::Mode::SameOrigin. * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::start): DenyCrossOriginRequests -> FetchOptions::Mode::SameOrigin. * inspector/InspectorNetworkAgent.cpp: (WebCore::InspectorNetworkAgent::loadResource): AllowCrossOriginRequests -> FetchOptions::Mode::NoCors. * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto. (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest): UseAccessControl -> FetchOptions::Mode::Cors. (WebCore::DocumentThreadableLoader::redirectReceived): Ditto. (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto. (WebCore::DocumentThreadableLoader::loadRequest): Use NoCors as option passed to ResourceLoader. This allows desactivating ResourceLoader CORS checks as they are done in DocumentThreadableLoader right now. In the future, these checks should be moved to ResourceLoader and DocumentThreadableLoader should directly pass the fetch mode option. (WebCore::DocumentThreadableLoader::isAllowedRedirect): AllowCrossOriginRequests -> FetchOptions::Mode::NoCors. * loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Removing CrossOriginRequestPolicy. * loader/ThreadableLoader.h: Ditto. * loader/WorkerThreadableLoader.cpp: (WebCore::LoaderTaskOptions::LoaderTaskOptions): Ditto. * page/EventSource.cpp: (WebCore::EventSource::connect): UseAccessControl -> FetchOptions::Mode::Cors. * workers/Worker.cpp: (WebCore::Worker::create): DenyCrossOriginRequests -> FetchOptions::Mode::SameOrigin. * workers/WorkerGlobalScope.cpp: (WebCore::WorkerGlobalScope::importScripts): AllowCrossOriginRequests -> FetchOptions::Mode::NoCors. * workers/WorkerScriptLoader.cpp: (WebCore::WorkerScriptLoader::loadSynchronously): (WebCore::WorkerScriptLoader::loadAsynchronously): * workers/WorkerScriptLoader.h: * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::createRequest): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/fetch/FetchLoader.cpp trunk/Source/WebCore/fileapi/FileReaderLoader.cpp trunk/Source/WebCore/inspector/InspectorNetworkAgent.cpp trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp trunk/Source/WebCore/loader/ThreadableLoader.cpp trunk/Source/WebCore/loader/ThreadableLoader.h trunk/Source/WebCore/loader/WorkerThreadableLoader.cpp trunk/Source/WebCore/page/EventSource.cpp trunk/Source/WebCore/workers/Worker.cpp trunk/Source/WebCore/workers/WorkerGlobalScope.cpp trunk/Source/WebCore/workers/WorkerScriptLoader.cpp trunk/Source/WebCore/workers/WorkerScriptLoader.h trunk/Source/WebCore/xml/XMLHttpRequest.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (203489 => 203490) --- trunk/Source/WebCore/ChangeLog 2016-07-21 06:09:56 UTC (rev 203489) +++ trunk/Source/WebCore/ChangeLog 2016-07-21 06:12:13 UTC (rev 203490) @@ -1,3 +1,46 @@ +2016-07-20 Youenn Fablet + +Remove crossOriginRequestPolicy from ThreadableLoaderOptions +https://bugs.webkit.org/show_bug.cgi?id=159417 + +Reviewed by Alex Christensen. + +No observable change. + +* Modules/fetch/FetchLoader.cpp: +(WebCore::FetchLoader::start): DenyCrossOriginRequests -> FetchOptions::Mode::SameOrigin. +* fileapi/FileReaderLoader.cpp: +(WebCore::FileReaderLoader::start): DenyCrossOriginRequests -> FetchOptions::Mode::SameOrigin. +* inspector/InspectorNetworkAgent.cpp: +(WebCore::InspectorNetworkAgent::loadResource): AllowCrossOriginRequests -> FetchOptions::Mode::NoCors. +* loader/DocumentThreadableLoader.cpp: +(WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto. +(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest): UseAccessControl -> FetchOptions::Mode::Cors. +(WebCore::DocumentThreadableLoader::redirectReceived): Ditto. +(WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto. +(WebCore::DocumentThreadableLoader::loadRequest): Use NoCors as option passed to ResourceLoader. This allows +desactivating ResourceLoader CORS checks as they are done in DocumentThreadableLoader right now. In the future, +these checks should be moved to ResourceLoader and DocumentThreadableLoader should directly pass the fetch mode +option. +(WebCore::DocumentThreadableLoader::isAllowedRedirect): AllowCrossOriginRequests -> FetchOptions::Mode::NoCors. +* loader/ThreadableLoader.cpp: +(WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Removi
[webkit-changes] [203489] trunk/Tools
Title: [203489] trunk/Tools Revision 203489 Author commit-qu...@webkit.org Date 2016-07-20 23:09:56 -0700 (Wed, 20 Jul 2016) Log Message Bots should run built-ins generator tests https://bugs.webkit.org/show_bug.cgi?id=159971 Patch by Youenn Fablet on 2016-07-20 Reviewed by Alexey Proskuryakov. * BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunBuiltinsTests): New step to run built-in generator tests. (TestFactory.__init__): Adding an additional step for bultin generator tests. * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py: Rebasing expectations. * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js: Adding additional step for proper display. Modified Paths trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js trunk/Tools/ChangeLog Diff Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg (203488 => 203489) --- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2016-07-21 05:24:54 UTC (rev 203488) +++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg 2016-07-21 06:09:56 UTC (rev 203489) @@ -560,6 +560,13 @@ command = ["python", "./Tools/Scripts/run-bindings-tests"] +class RunBuiltinsTests(shell.Test): +name = "builtins-generator-tests" +description = ["builtins-generator-tests running"] +descriptionDone = ["builtins-generator-tests"] +command = ["python", "./Tools/Scripts/run-builtins-generator-tests"] + + class RunEflAPITests(shell.Test): name = "API tests" description = ["API tests running"] @@ -847,6 +854,7 @@ self.addStep(RunPythonTests()) self.addStep(RunPerlTests()) self.addStep(RunBindingsTests()) +self.addStep(RunBuiltinsTests()) if self.LayoutTestClass: self.addStep(ArchiveTestResults()) self.addStep(UploadTestResults()) Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py (203488 => 203489) --- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py 2016-07-21 05:24:54 UTC (rev 203488) +++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py 2016-07-21 06:09:56 UTC (rev 203489) @@ -365,8 +365,8 @@ expected_build_steps = { -'Apple Win 7 Debug (Tests)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile', 'download-built-product', 'extract-built-product', 'jscore-test', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'archive-test-results', 'upload', 'MasterShellCommand'], -'Apple Win 7 Release (Tests)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile', 'download-built-product', 'extract-built-product', 'jscore-test', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'archive-test-results', 'upload', 'MasterShellCommand'], +'Apple Win 7 Debug (Tests)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile', 'download-built-product', 'extract-built-product', 'jscore-test', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generation-tests', 'archive-test-results', 'upload', 'MasterShellCommand'], +'Apple Win 7 Release (Tests)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile', 'download-built-product', 'extract-built-product', 'jscore-test', 'layout-test', 'run-api-tests', 'webkitpy-test', 'webkitperl-test', 'bindings-generation-tests', 'builtins-generation-tests', 'archive-test-results', 'upload', 'MasterShellCommand'], 'Apple Win Debug (Build)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile', 'compile-webkit', 'archive-built-product', 'upload', 'trigger'], 'Apple Win Release (Build)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile', 'compile-webkit', 'archive-built-product', 'upload', 'trigger'], @@ -374,15 +374,15 @@ 'Apple Yosemite (Leaks)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'download-built-product', 'extract-built-product', 'layout-test', 'archive-test-results', 'upload', 'MasterShellCommand'], 'Apple Yosemite Debug (Build)' : ['configure build', 'svn', 'kill old processes', 'delete WebKitBuild directory', 'delete stale build files', 'compile-webkit', 'archive-built-product', 'upload', 'trigger'], 'App
[webkit-changes] [203488] trunk/Source/JavaScriptCore
Title: [203488] trunk/Source/_javascript_Core Revision 203488 Author fpi...@apple.com Date 2016-07-20 22:24:54 -0700 (Wed, 20 Jul 2016) Log Message FTL snippet generators should be able to request a different register for output and input https://bugs.webkit.org/show_bug.cgi?id=160010 rdar://problem/27439330 Reviewed by Saam Barati. The BitOr and BitXor snippet generators have problems if the register for the right input is the same as the register for the result. We could fix those generators, but I'm not convinced that the other snippet generators don't have this bug. So, the approach that this patch takes is to teach the FTL to request that B3 to use a different register for the result than for any input to the snippet patchpoint. Air already has the ability to let any instruction do an EarlyDef, which means exactly this. But B3 did not expose this via ValueRep. This patch exposes this in ValueRep as SomeEarlyRegister. That's most of the change. This adds a testb3 test for SomeEarlyRegister and a regression test for this particular problem. The regression test failed on trunk JSC before this. * b3/B3LowerToAir.cpp: (JSC::B3::Air::LowerToAir::lower): * b3/B3PatchpointSpecial.cpp: (JSC::B3::PatchpointSpecial::forEachArg): (JSC::B3::PatchpointSpecial::admitsStack): * b3/B3StackmapSpecial.cpp: (JSC::B3::StackmapSpecial::forEachArgImpl): (JSC::B3::StackmapSpecial::isArgValidForRep): * b3/B3Validate.cpp: * b3/B3ValueRep.cpp: (JSC::B3::ValueRep::addUsedRegistersTo): (JSC::B3::ValueRep::dump): (WTF::printInternal): * b3/B3ValueRep.h: (JSC::B3::ValueRep::ValueRep): (JSC::B3::ValueRep::reg): (JSC::B3::ValueRep::isAny): (JSC::B3::ValueRep::isReg): (JSC::B3::ValueRep::isSomeRegister): Deleted. * b3/testb3.cpp: * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): (JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): (JSC::FTL::DFG::LowerDFGToB3::emitRightShiftSnippet): * tests/stress/ftl-bit-xor-right-result-interference.js: Added. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/b3/B3LowerToAir.cpp trunk/Source/_javascript_Core/b3/B3PatchpointSpecial.cpp trunk/Source/_javascript_Core/b3/B3StackmapSpecial.cpp trunk/Source/_javascript_Core/b3/B3Validate.cpp trunk/Source/_javascript_Core/b3/B3ValueRep.cpp trunk/Source/_javascript_Core/b3/B3ValueRep.h trunk/Source/_javascript_Core/b3/testb3.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp Added Paths trunk/Source/_javascript_Core/tests/stress/ftl-bit-xor-right-result-interference.js Diff Modified: trunk/Source/_javascript_Core/ChangeLog (203487 => 203488) --- trunk/Source/_javascript_Core/ChangeLog 2016-07-21 03:30:48 UTC (rev 203487) +++ trunk/Source/_javascript_Core/ChangeLog 2016-07-21 05:24:54 UTC (rev 203488) @@ -1,3 +1,50 @@ +2016-07-20 Filip Pizlo + +FTL snippet generators should be able to request a different register for output and input +https://bugs.webkit.org/show_bug.cgi?id=160010 +rdar://problem/27439330 + +Reviewed by Saam Barati. + +The BitOr and BitXor snippet generators have problems if the register for the right input is +the same as the register for the result. We could fix those generators, but I'm not convinced +that the other snippet generators don't have this bug. So, the approach that this patch takes +is to teach the FTL to request that B3 to use a different register for the result than for +any input to the snippet patchpoint. + +Air already has the ability to let any instruction do an EarlyDef, which means exactly this. +But B3 did not expose this via ValueRep. This patch exposes this in ValueRep as +SomeEarlyRegister. That's most of the change. + +This adds a testb3 test for SomeEarlyRegister and a regression test for this particular +problem. The regression test failed on trunk JSC before this. + +* b3/B3LowerToAir.cpp: +(JSC::B3::Air::LowerToAir::lower): +* b3/B3PatchpointSpecial.cpp: +(JSC::B3::PatchpointSpecial::forEachArg): +(JSC::B3::PatchpointSpecial::admitsStack): +* b3/B3StackmapSpecial.cpp: +(JSC::B3::StackmapSpecial::forEachArgImpl): +(JSC::B3::StackmapSpecial::isArgValidForRep): +* b3/B3Validate.cpp: +* b3/B3ValueRep.cpp: +(JSC::B3::ValueRep::addUsedRegistersTo): +(JSC::B3::ValueRep::dump): +(WTF::printInternal): +* b3/B3ValueRep.h: +(JSC::B3::ValueRep::ValueRep): +(JSC::B3::ValueRep::reg): +(JSC::B3::ValueRep::isAny): +(JSC::B3::ValueRep::isReg): +(JSC::B3::ValueRep::isSomeRegister): Deleted. +* b3/testb3.cpp: +* ftl/FTLLowerDFGToB3.cpp: +(JSC::FTL::DFG::LowerDFGToB3::emitBinarySnippet): +(JSC::FTL::DFG::LowerDFGToB3::emitBinaryBitOpSnippet): +(JSC::FTL::DFG::LowerDFGToB3::emitRightShi
[webkit-changes] [203487] trunk
Title: [203487] trunk Revision 203487 Author cdu...@apple.com Date 2016-07-20 20:30:48 -0700 (Wed, 20 Jul 2016) Log Message Fix null handling of several Document attributes https://bugs.webkit.org/show_bug.cgi?id=159997 Reviewed by Ryosuke Niwa. Source/WebCore: Fix null handling of the following Document attributes: title, cookie and domain. In WebKit, they were all marked as [TreatNullAs=EmptyString], which does not match the specification: - https://html.spec.whatwg.org/multipage/dom.html#document Details for each attribute: - title: null is now treated as the string "null", thus setting the document title to "null". This matches Firefox and Chrome. - cookie: adds a "null" cookie instead of being a no-op. This matches both Firefox and Chrome. - domain: Calls setDomain(String("null")) instead of setDomain(String()). This throws an exception because "null" is not a suffix of the effective domain name. The behavior is the same in Firefox and Chrome. Previously, we were already throwing an exception since setting the domain to the empty string throws, as per the specification. Test: http/tests//dom/document-attributes-null-handling.html * dom/Document.idl: LayoutTests: Add test coverage. * http/tests/dom/document-attributes-null-handling-expected.txt: Added. * http/tests/dom/document-attributes-null-handling.html: Added. * fast/dom/document-attribute-js-null-expected.txt: * fast/dom/document-attribute-js-null.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/dom/document-attribute-js-null-expected.txt trunk/LayoutTests/fast/dom/document-attribute-js-null.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Document.idl Added Paths trunk/LayoutTests/http/tests/dom/document-attributes-null-handling-expected.txt trunk/LayoutTests/http/tests/dom/document-attributes-null-handling.html Diff Modified: trunk/LayoutTests/ChangeLog (203486 => 203487) --- trunk/LayoutTests/ChangeLog 2016-07-21 03:25:59 UTC (rev 203486) +++ trunk/LayoutTests/ChangeLog 2016-07-21 03:30:48 UTC (rev 203487) @@ -1,3 +1,17 @@ +2016-07-20 Chris Dumez + +Fix null handling of several Document attributes +https://bugs.webkit.org/show_bug.cgi?id=159997 + +Reviewed by Ryosuke Niwa. + +Add test coverage. + +* http/tests/dom/document-attributes-null-handling-expected.txt: Added. +* http/tests/dom/document-attributes-null-handling.html: Added. +* fast/dom/document-attribute-js-null-expected.txt: +* fast/dom/document-attribute-js-null.html: + 2016-07-20 Commit Queue Unreviewed, rolling out r203471. Modified: trunk/LayoutTests/fast/dom/document-attribute-js-null-expected.txt (203486 => 203487) --- trunk/LayoutTests/fast/dom/document-attribute-js-null-expected.txt 2016-07-21 03:25:59 UTC (rev 203486) +++ trunk/LayoutTests/fast/dom/document-attribute-js-null-expected.txt 2016-07-21 03:30:48 UTC (rev 203487) @@ -3,7 +3,7 @@ TEST SUCCEEDED: Got the expected exception (9). [tested Document.xmlVersion] TEST SUCCEEDED: The value was null. [tested Document.selectedStylesheetSet] -TEST SUCCEEDED: The value was the empty string. [tested HTMLDocument.title] +TEST SUCCEEDED: The value was the string 'null'. [tested HTMLDocument.title] TEST SUCCEEDED: The value was the empty string. [tested HTMLDocument.cookie] TEST SUCCEEDED: The value was the empty string. [tested HTMLDocument.bgColor] TEST SUCCEEDED: The value was the empty string. [tested HTMLDocument.fgColor] Modified: trunk/LayoutTests/fast/dom/document-attribute-js-null.html (203486 => 203487) --- trunk/LayoutTests/fast/dom/document-attribute-js-null.html 2016-07-21 03:25:59 UTC (rev 203486) +++ trunk/LayoutTests/fast/dom/document-attribute-js-null.html 2016-07-21 03:30:48 UTC (rev 203487) @@ -72,7 +72,7 @@ typeName: 'HTMLDocument', docToUse: htmlDoc, attributes: [ -{name: 'title', expectedNull: ''}, +{name: 'title', expectedNull: 'null'}, {name: 'cookie', expectedNull: ''}, {name: 'bgColor', expectedNull: ''}, {name: 'fgColor', expectedNull: ''}, Added: trunk/LayoutTests/http/tests/dom/document-attributes-null-handling-expected.txt (0 => 203487) --- trunk/LayoutTests/http/tests/dom/document-attributes-null-handling-expected.txt (rev 0) +++ trunk/LayoutTests/http/tests/dom/document-attributes-null-handling-expected.txt 2016-07-21 03:30:48 UTC (rev 203487) @@ -0,0 +1,25 @@ +Test null handling of several Document attributes + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +* cookie attribute +PASS document.cookie is "" +document.cookie = 'key=value' +PASS document.cookie is "key=value" +document.cookie = null +PASS document.cookie is "key=value; n
[webkit-changes] [203486] trunk/Websites/perf.webkit.org
Title: [203486] trunk/Websites/perf.webkit.org Revision 203486 Author rn...@webkit.org Date 2016-07-20 20:25:59 -0700 (Wed, 20 Jul 2016) Log Message Perf dashboard always re-generate measurement set JSON https://bugs.webkit.org/show_bug.cgi?id=159951 Reviewed by Chris Dumez. The bug was caused by manifest.json reporting the last modified date of a measurement set in floating point, and a measurement set JSON reporting it as an integer. Fixed the bug by always using an integer. * public/api/measurement-set.php: (main): Return 404 when the results is empty. (MeasurementSetFetcher::execute_query): Use "extract(epoch from commit_time)" like ManifestGenerator to improve the generation speed. This is ~10% runtime improvement. (MeasurementSetFetcher::format_map): Updated to reflect the above change. (MeasurementSetFetcher::parse_revisions_array): Ditto. * public/include/manifest.php: (ManifestGenerator::platforms): Fixed the bug by coercing lastModified to integer (instead of float). * server-tests/api-measurement-set-tests.js: Added a test case for returning empty results, and a test case for making sure lastModified dates in manifest.json and measurement sets match. * tools/js/remote.js: (RemoteAPI.prototype.sendHttpRequest): Reject the promise when HTTP status code is not 200. Modified Paths trunk/Websites/perf.webkit.org/ChangeLog trunk/Websites/perf.webkit.org/public/api/measurement-set.php trunk/Websites/perf.webkit.org/public/include/manifest.php trunk/Websites/perf.webkit.org/server-tests/api-measurement-set-tests.js trunk/Websites/perf.webkit.org/tools/js/remote.js Diff Modified: trunk/Websites/perf.webkit.org/ChangeLog (203485 => 203486) --- trunk/Websites/perf.webkit.org/ChangeLog 2016-07-21 02:09:51 UTC (rev 203485) +++ trunk/Websites/perf.webkit.org/ChangeLog 2016-07-21 03:25:59 UTC (rev 203486) @@ -1,3 +1,29 @@ +2016-07-19 Ryosuke Niwa + +Perf dashboard always re-generate measurement set JSON +https://bugs.webkit.org/show_bug.cgi?id=159951 + +Reviewed by Chris Dumez. + +The bug was caused by manifest.json reporting the last modified date of a measurement set in floating point, +and a measurement set JSON reporting it as an integer. Fixed the bug by always using an integer. + +* public/api/measurement-set.php: +(main): Return 404 when the results is empty. +(MeasurementSetFetcher::execute_query): Use "extract(epoch from commit_time)" like ManifestGenerator to improve +the generation speed. This is ~10% runtime improvement. +(MeasurementSetFetcher::format_map): Updated to reflect the above change. +(MeasurementSetFetcher::parse_revisions_array): Ditto. + +* public/include/manifest.php: +(ManifestGenerator::platforms): Fixed the bug by coercing lastModified to integer (instead of float). + +* server-tests/api-measurement-set-tests.js: Added a test case for returning empty results, and a test case for +making sure lastModified dates in manifest.json and measurement sets match. + +* tools/js/remote.js: +(RemoteAPI.prototype.sendHttpRequest): Reject the promise when HTTP status code is not 200. + 2016-07-09 Ryosuke Niwa Perf dashboard can consume 50-70% of CPU on MacBook even if user is not interacting at all Modified: trunk/Websites/perf.webkit.org/public/api/measurement-set.php (203485 => 203486) --- trunk/Websites/perf.webkit.org/public/api/measurement-set.php 2016-07-21 02:09:51 UTC (rev 203485) +++ trunk/Websites/perf.webkit.org/public/api/measurement-set.php 2016-07-21 03:25:59 UTC (rev 203486) @@ -31,6 +31,11 @@ array('platform' => $platform_id, 'metric' => $metric_id)); } +if ($fetcher->at_end()) { +header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found'); +exit(404); +} + $cluster_count = 0; while (!$fetcher->at_end()) { $content = $fetcher->fetch_next_cluster(); @@ -164,9 +169,9 @@ function execute_query($config_id) { return $this->db->query(' -SELECT test_runs.*, builds.*, -array_agg((commit_id, commit_repository, commit_revision, commit_time)) AS revisions, -max(commit_time) AS revision_time, max(commit_order) AS revision_order +SELECT test_runs.*, build_id, build_number, build_builder, build_time, +array_agg((commit_id, commit_repository, commit_revision, extract(epoch from commit_time) * 1000)) AS revisions, +extract(epoch from max(commit_time)) * 1000 AS revision_time, max(commit_order) AS revision_order FROM builds LEFT OUTER JOIN build_commits ON commit_build = build_id LEFT OUTER JOIN commits ON build_commit = commit_id, test_runs @@ -181,7 +186,7 @@ } private static function format_run(&$run, &$commit_time) { -$commit_time = Database::to_js_time($run['revision_time']); +$commit
[webkit-changes] [203485] trunk/Tools
Title: [203485] trunk/Tools Revision 203485 Author aakash_j...@apple.com Date 2016-07-20 19:09:51 -0700 (Wed, 20 Jul 2016) Log Message Revert temporary fix r203417 https://bugs.webkit.org/show_bug.cgi?id=160001 Reviewed by Alexey Proskuryakov. * EWSTools/start-queue-mac.sh: Revert the temporary fix. Modified Paths trunk/Tools/ChangeLog trunk/Tools/EWSTools/start-queue-mac.sh Diff Modified: trunk/Tools/ChangeLog (203484 => 203485) --- trunk/Tools/ChangeLog 2016-07-21 00:45:39 UTC (rev 203484) +++ trunk/Tools/ChangeLog 2016-07-21 02:09:51 UTC (rev 203485) @@ -1,5 +1,14 @@ 2016-07-20 Aakash Jain +Revert temporary fix r203417 +https://bugs.webkit.org/show_bug.cgi?id=160001 + +Reviewed by Alexey Proskuryakov. + +* EWSTools/start-queue-mac.sh: Revert the temporary fix. + +2016-07-20 Aakash Jain + REGRESSION(r148588): ews classes might get garbage collected https://bugs.webkit.org/show_bug.cgi?id=159990 Modified: trunk/Tools/EWSTools/start-queue-mac.sh (203484 => 203485) --- trunk/Tools/EWSTools/start-queue-mac.sh 2016-07-21 00:45:39 UTC (rev 203484) +++ trunk/Tools/EWSTools/start-queue-mac.sh 2016-07-21 02:09:51 UTC (rev 203485) @@ -80,9 +80,6 @@ # preventing webkit-patch from launching. ./Tools/Scripts/test-webkitpy -# Temporary workaround for iOS EWS failing after the fix for bug 159539. -find ./Tools -name *.pyc -delete - # We use --exit-after-iteration to pick up any changes to webkit-patch, including # changes to the contributors.json file. ./Tools/Scripts/webkit-patch $QUEUE_NAME --bot-id=$BOT_ID --no-confirm --exit-after-iteration $RESET_AFTER_ITERATION $QUEUE_PARAMS ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203484] trunk
Title: [203484] trunk Revision 203484 Author commit-qu...@webkit.org Date 2016-07-20 17:45:39 -0700 (Wed, 20 Jul 2016) Log Message Unreviewed, rolling out r203471. https://bugs.webkit.org/show_bug.cgi?id=160003 many iOS-simulator tests are failing (Requested by litherum on #webkit). Reverted changeset: "[iPhone] Playing a video on tudou.com plays only sound, no video" https://bugs.webkit.org/show_bug.cgi?id=159967 http://trac.webkit.org/changeset/203471 Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/media/video-playsinline-expected.txt trunk/LayoutTests/media/video-playsinline.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/MediaElementSession.cpp trunk/Source/WebCore/page/Settings.cpp trunk/Source/WebCore/page/Settings.in trunk/Source/WebCore/testing/InternalSettings.cpp trunk/Source/WebCore/testing/InternalSettings.h trunk/Source/WebCore/testing/InternalSettings.idl trunk/Source/WebKit/mac/ChangeLog trunk/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h trunk/Source/WebKit/mac/WebView/WebPreferences.mm trunk/Source/WebKit/mac/WebView/WebPreferencesPrivate.h trunk/Source/WebKit/mac/WebView/WebView.mm trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/Shared/WebPreferencesDefinitions.h trunk/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp trunk/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp Added Paths trunk/LayoutTests/media/video-webkit-playsinline-expected.txt trunk/LayoutTests/media/video-webkit-playsinline.html Diff Modified: trunk/LayoutTests/ChangeLog (203483 => 203484) --- trunk/LayoutTests/ChangeLog 2016-07-21 00:36:12 UTC (rev 203483) +++ trunk/LayoutTests/ChangeLog 2016-07-21 00:45:39 UTC (rev 203484) @@ -1,3 +1,18 @@ +2016-07-20 Commit Queue + +Unreviewed, rolling out r203471. +https://bugs.webkit.org/show_bug.cgi?id=160003 + +many iOS-simulator tests are failing (Requested by litherum on +#webkit). + +Reverted changeset: + +"[iPhone] Playing a video on tudou.com plays only sound, no +video" +https://bugs.webkit.org/show_bug.cgi?id=159967 +http://trac.webkit.org/changeset/203471 + 2016-07-20 Jiewen Tan Fix timeout of imported/w3c/WebCryptoAPI/idlharness.html Modified: trunk/LayoutTests/media/video-playsinline-expected.txt (203483 => 203484) --- trunk/LayoutTests/media/video-playsinline-expected.txt 2016-07-21 00:36:12 UTC (rev 203483) +++ trunk/LayoutTests/media/video-playsinline-expected.txt 2016-07-21 00:45:39 UTC (rev 203484) @@ -1,130 +1,26 @@ -RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) -RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) +RUN(internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(true)) RUN(video.playsinline = false) -RUN(video.removeAttribute("webkit-playsinline")) EVENT(canplaythrough) RUN(video.play()) EVENT(playing) EXPECTED (video.webkitDisplayingFullscreen == 'true') OK -RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) -RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) -RUN(video.playsinline = false) -RUN(video.setAttribute("webkit-playsinline")) -EVENT(canplaythrough) -RUN(video.play()) -EVENT(playing) -EXPECTED (video.webkitDisplayingFullscreen == 'false') OK -RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) -RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) -RUN(video.playsinline = false) -RUN(video.setAttribute("webkit-playsinline")) -EVENT(canplaythrough) -RUN(video.play()) -EVENT(playing) -EXPECTED (video.webkitDisplayingFullscreen == 'true') OK -RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) -RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(false)) -RUN(video.playsinline = false) -RUN(video.removeAttribute("webkit-playsinline")) -EVENT(canplaythrough) -RUN(video.play()) -EVENT(playing) -EXPECTED (video.webkitDisplayingFullscreen == 'true') OK -RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) -RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)) +RUN(internals.settings.setInlineMediaPlaybackRequiresPlaysInlineAttribute(true)) RUN(video.playsinline = true) -RUN(video.setAttribute("webkit-playsinline")) EVENT(canplaythrough) RUN(video.play()) EVENT(playing) EXPECTED (video.webkitDisplayingFullscreen == 'false') OK -RUN(internals.settings.setAllowsInlineMediaPlaybackWithPlaysInlineAttribute(true)) -RUN(internals.settings.setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute(true)
[webkit-changes] [203483] trunk/Source/WebKit2
Title: [203483] trunk/Source/WebKit2 Revision 203483 Author simon.fra...@apple.com Date 2016-07-20 17:36:12 -0700 (Wed, 20 Jul 2016) Log Message REGRESSION (r203189): Webpage snapshots are partially or fully blank when edge swiping back https://bugs.webkit.org/show_bug.cgi?id=16 rdar://problem/27455589 Reviewed by Zalan Bujtas. r203189 triggered a call to -_updateContentRectsWithState: in the middle of a swipe, during which we'd compute the visible rect of the view as having zero width, causing us to not create tiles. -_navigationGestureDidBegin already snapshots the visibleContentRect in _frozenVisibleContentRect, but -_visibleContentRect then clipped that with ancestor views, causing the issue. Fix by having -_visibleContentRect just return _frozenVisibleContentRect if we have one. * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _visibleContentRect]): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (203482 => 203483) --- trunk/Source/WebKit2/ChangeLog 2016-07-21 00:23:19 UTC (rev 203482) +++ trunk/Source/WebKit2/ChangeLog 2016-07-21 00:36:12 UTC (rev 203483) @@ -1,3 +1,23 @@ +2016-07-20 Simon Fraser + +REGRESSION (r203189): Webpage snapshots are partially or fully blank when edge swiping back +https://bugs.webkit.org/show_bug.cgi?id=16 +rdar://problem/27455589 + +Reviewed by Zalan Bujtas. + +r203189 triggered a call to -_updateContentRectsWithState: in the middle of a swipe, +during which we'd compute the visible rect of the view as having zero width, causing us +to not create tiles. + +-_navigationGestureDidBegin already snapshots the visibleContentRect in _frozenVisibleContentRect, +but -_visibleContentRect then clipped that with ancestor views, causing the issue. + +Fix by having -_visibleContentRect just return _frozenVisibleContentRect if we have one. + +* UIProcess/API/Cocoa/WKWebView.mm: +(-[WKWebView _visibleContentRect]): + 2016-07-20 Myles C. Maxfield [iPhone] Playing a video on tudou.com plays only sound, no video Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (203482 => 203483) --- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2016-07-21 00:23:19 UTC (rev 203482) +++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm 2016-07-21 00:36:12 UTC (rev 203483) @@ -1915,7 +1915,10 @@ - (CGRect)_visibleContentRect { -CGRect visibleRectInContentCoordinates = _frozenVisibleContentRect ? _frozenVisibleContentRect.value() : [self convertRect:self.bounds toView:_contentView.get()]; +if (_frozenVisibleContentRect) +return _frozenVisibleContentRect.value(); + +CGRect visibleRectInContentCoordinates = [self convertRect:self.bounds toView:_contentView.get()]; if (UIScrollView *enclosingScroller = [self _scroller]) { CGRect viewVisibleRect = [self _visibleRectInEnclosingScrollView:enclosingScroller]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203482] trunk/Source/WebCore
Title: [203482] trunk/Source/WebCore Revision 203482 Author rn...@webkit.org Date 2016-07-20 17:23:19 -0700 (Wed, 20 Jul 2016) Log Message iOS: Cannot paste images in RTF content https://bugs.webkit.org/show_bug.cgi?id=159964 Reviewed by Enrica Casucci. The bug was caused by setDefersLoading(true) not deferring image loading for the parsed fragment. Worked around this bug by disabling image loading while parsing the document fragment. * editing/ios/EditorIOS.mm: (WebCore::Editor::createFragmentAndAddResources): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/ios/EditorIOS.mm trunk/Source/WebCore/loader/cache/CachedResourceLoader.h Diff Modified: trunk/Source/WebCore/ChangeLog (203481 => 203482) --- trunk/Source/WebCore/ChangeLog 2016-07-21 00:15:58 UTC (rev 203481) +++ trunk/Source/WebCore/ChangeLog 2016-07-21 00:23:19 UTC (rev 203482) @@ -1,3 +1,17 @@ +2016-07-19 Ryosuke Niwa + +iOS: Cannot paste images in RTF content +https://bugs.webkit.org/show_bug.cgi?id=159964 + + +Reviewed by Enrica Casucci. + +The bug was caused by setDefersLoading(true) not deferring image loading for the parsed fragment. +Worked around this bug by disabling image loading while parsing the document fragment. + +* editing/ios/EditorIOS.mm: +(WebCore::Editor::createFragmentAndAddResources): + 2016-07-20 Brady Eidson Address a small FIXME in IDB code. Modified: trunk/Source/WebCore/editing/ios/EditorIOS.mm (203481 => 203482) --- trunk/Source/WebCore/editing/ios/EditorIOS.mm 2016-07-21 00:15:58 UTC (rev 203481) +++ trunk/Source/WebCore/editing/ios/EditorIOS.mm 2016-07-21 00:23:19 UTC (rev 203482) @@ -26,9 +26,10 @@ #include "config.h" #include "Editor.h" -#include "CachedImage.h" #include "CSSComputedStyleDeclaration.h" #include "CSSPrimitiveValueMappings.h" +#include "CachedImage.h" +#include "CachedResourceLoader.h" #include "DOMRangeInternal.h" #include "DataTransfer.h" #include "DocumentFragment.h" @@ -549,10 +550,11 @@ RefPtr Editor::createFragmentAndAddResources(NSAttributedString *string) { -if (!m_frame.page() || !m_frame.document() || !m_frame.document()->isHTMLDocument()) +if (!m_frame.page() || !m_frame.document()) return nullptr; -if (!string) +auto& document = *m_frame.document(); +if (!document.isHTMLDocument() || !string) return nullptr; bool wasDeferringCallbacks = m_frame.page()->defersLoading(); @@ -559,6 +561,11 @@ if (!wasDeferringCallbacks) m_frame.page()->setDefersLoading(true); +auto& cachedResourceLoader = document.cachedResourceLoader(); +bool wasImagesEnabled = cachedResourceLoader.imagesEnabled(); +if (wasImagesEnabled) +cachedResourceLoader.setImagesEnabled(false); + Vector> resources; RefPtr fragment = client()->documentFragmentFromAttributedString(string, resources); @@ -569,6 +576,8 @@ } } +if (wasImagesEnabled) +cachedResourceLoader.setImagesEnabled(true); if (!wasDeferringCallbacks) m_frame.page()->setDefersLoading(false); Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (203481 => 203482) --- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h 2016-07-21 00:15:58 UTC (rev 203481) +++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h 2016-07-21 00:23:19 UTC (rev 203482) @@ -103,6 +103,7 @@ bool autoLoadImages() const { return m_autoLoadImages; } void setAutoLoadImages(bool); +bool imagesEnabled() const { return m_imagesEnabled; } void setImagesEnabled(bool); bool shouldDeferImageLoad(const URL&) const; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203481] trunk/Source/WebCore
Title: [203481] trunk/Source/WebCore Revision 203481 Author beid...@apple.com Date 2016-07-20 17:15:58 -0700 (Wed, 20 Jul 2016) Log Message Address a small FIXME in IDB code. https://bugs.webkit.org/show_bug.cgi?id=15 Reviewed by Andy Estes. No new tests (No behavior change). * Modules/indexeddb/IDBRequest.cpp: (WebCore::IDBRequest::IDBRequest): * Modules/indexeddb/shared/IDBResourceIdentifier.cpp: (WebCore::IDBResourceIdentifier::IDBResourceIdentifier): Deleted. * Modules/indexeddb/shared/IDBResourceIdentifier.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.cpp trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h Diff Modified: trunk/Source/WebCore/ChangeLog (203480 => 203481) --- trunk/Source/WebCore/ChangeLog 2016-07-20 23:28:33 UTC (rev 203480) +++ trunk/Source/WebCore/ChangeLog 2016-07-21 00:15:58 UTC (rev 203481) @@ -1,5 +1,21 @@ 2016-07-20 Brady Eidson +Address a small FIXME in IDB code. +https://bugs.webkit.org/show_bug.cgi?id=15 + +Reviewed by Andy Estes. + +No new tests (No behavior change). + +* Modules/indexeddb/IDBRequest.cpp: +(WebCore::IDBRequest::IDBRequest): + +* Modules/indexeddb/shared/IDBResourceIdentifier.cpp: +(WebCore::IDBResourceIdentifier::IDBResourceIdentifier): Deleted. +* Modules/indexeddb/shared/IDBResourceIdentifier.h: + +2016-07-20 Brady Eidson + Remove some "modernFoo"s from IndexedDB code. https://bugs.webkit.org/show_bug.cgi?id=159985 Modified: trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp (203480 => 203481) --- trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp 2016-07-20 23:28:33 UTC (rev 203480) +++ trunk/Source/WebCore/Modules/indexeddb/IDBRequest.cpp 2016-07-21 00:15:58 UTC (rev 203481) @@ -72,7 +72,7 @@ IDBRequest::IDBRequest(ScriptExecutionContext& context, IDBClient::IDBConnectionProxy& connectionProxy) : IDBActiveDOMObject(&context) -, m_resourceIdentifier(connectionProxy.serverConnectionIdentifier()) +, m_resourceIdentifier(connectionProxy) , m_connectionProxy(connectionProxy) { suspendIfNeeded(); Modified: trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.cpp (203480 => 203481) --- trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.cpp 2016-07-20 23:28:33 UTC (rev 203480) +++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.cpp 2016-07-21 00:15:58 UTC (rev 203481) @@ -52,13 +52,6 @@ { } -IDBResourceIdentifier::IDBResourceIdentifier(uint64_t connectionIdentifier) -: m_idbConnectionIdentifier(connectionIdentifier) -, m_resourceNumber(nextClientResourceNumber()) -{ -} - - IDBResourceIdentifier::IDBResourceIdentifier(uint64_t connectionIdentifier, uint64_t resourceIdentifier) : m_idbConnectionIdentifier(connectionIdentifier) , m_resourceNumber(resourceIdentifier) Modified: trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h (203480 => 203481) --- trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h 2016-07-20 23:28:33 UTC (rev 203480) +++ trunk/Source/WebCore/Modules/indexeddb/shared/IDBResourceIdentifier.h 2016-07-21 00:15:58 UTC (rev 203481) @@ -47,10 +47,6 @@ IDBResourceIdentifier(const IDBClient::IDBConnectionProxy&, const IDBRequest&); explicit IDBResourceIdentifier(const IDBServer::IDBConnectionToClient&); -// FIXME: This constructor will be needed during the development of IDB-in-Workers. -// It should be removed when no longer necessary. -explicit IDBResourceIdentifier(uint64_t connectionIdentifier); - static IDBResourceIdentifier deletedValue(); WEBCORE_EXPORT bool isHashTableDeletedValue() const; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203480] trunk/Source/WebCore
Title: [203480] trunk/Source/WebCore Revision 203480 Author beid...@apple.com Date 2016-07-20 16:28:33 -0700 (Wed, 20 Jul 2016) Log Message Remove some "modernFoo"s from IndexedDB code. https://bugs.webkit.org/show_bug.cgi?id=159985 Reviewed by Andy Estes. No new tests (No known behavior change). * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::IDBCursor): (WebCore::IDBCursor::~IDBCursor): (WebCore::IDBCursor::sourcesDeleted): (WebCore::IDBCursor::effectiveObjectStore): (WebCore::IDBCursor::transaction): (WebCore::IDBCursor::direction): (WebCore::IDBCursor::update): (WebCore::IDBCursor::advance): (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::uncheckedIterateCursor): (WebCore::IDBCursor::deleteFunction): (WebCore::IDBCursor::setGetResult): * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::IDBIndex): (WebCore::IDBIndex::~IDBIndex): (WebCore::IDBIndex::hasPendingActivity): (WebCore::IDBIndex::name): (WebCore::IDBIndex::objectStore): (WebCore::IDBIndex::keyPath): (WebCore::IDBIndex::unique): (WebCore::IDBIndex::multiEntry): (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::doGetKey): (WebCore::IDBIndex::markAsDeleted): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::transaction): (WebCore::IDBObjectStore::deleteFunction): Deleted. (WebCore::IDBObjectStore::modernDelete): Deleted. * Modules/indexeddb/IDBObjectStore.h: * bindings/js/JSIDBIndexCustom.cpp: (WebCore::JSIDBIndex::visitAdditionalChildren): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp trunk/Source/WebCore/Modules/indexeddb/IDBIndex.cpp trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.h trunk/Source/WebCore/bindings/js/JSIDBIndexCustom.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (203479 => 203480) --- trunk/Source/WebCore/ChangeLog 2016-07-20 23:28:22 UTC (rev 203479) +++ trunk/Source/WebCore/ChangeLog 2016-07-20 23:28:33 UTC (rev 203480) @@ -1,3 +1,52 @@ +2016-07-20 Brady Eidson + +Remove some "modernFoo"s from IndexedDB code. +https://bugs.webkit.org/show_bug.cgi?id=159985 + +Reviewed by Andy Estes. + +No new tests (No known behavior change). + +* Modules/indexeddb/IDBCursor.cpp: +(WebCore::IDBCursor::IDBCursor): +(WebCore::IDBCursor::~IDBCursor): +(WebCore::IDBCursor::sourcesDeleted): +(WebCore::IDBCursor::effectiveObjectStore): +(WebCore::IDBCursor::transaction): +(WebCore::IDBCursor::direction): +(WebCore::IDBCursor::update): +(WebCore::IDBCursor::advance): +(WebCore::IDBCursor::continueFunction): +(WebCore::IDBCursor::uncheckedIterateCursor): +(WebCore::IDBCursor::deleteFunction): +(WebCore::IDBCursor::setGetResult): + +* Modules/indexeddb/IDBIndex.cpp: +(WebCore::IDBIndex::IDBIndex): +(WebCore::IDBIndex::~IDBIndex): +(WebCore::IDBIndex::hasPendingActivity): +(WebCore::IDBIndex::name): +(WebCore::IDBIndex::objectStore): +(WebCore::IDBIndex::keyPath): +(WebCore::IDBIndex::unique): +(WebCore::IDBIndex::multiEntry): +(WebCore::IDBIndex::openCursor): +(WebCore::IDBIndex::doCount): +(WebCore::IDBIndex::openKeyCursor): +(WebCore::IDBIndex::doGet): +(WebCore::IDBIndex::doGetKey): +(WebCore::IDBIndex::markAsDeleted): +* Modules/indexeddb/IDBIndex.h: + +* Modules/indexeddb/IDBObjectStore.cpp: +(WebCore::IDBObjectStore::transaction): +(WebCore::IDBObjectStore::deleteFunction): Deleted. +(WebCore::IDBObjectStore::modernDelete): Deleted. +* Modules/indexeddb/IDBObjectStore.h: + +* bindings/js/JSIDBIndexCustom.cpp: +(WebCore::JSIDBIndex::visitAdditionalChildren): + 2016-07-20 Chris Dumez Stop using valueToStringWithNullCheck() in JSCSSStyleDeclaration::putDelegate() Modified: trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp (203479 => 203480) --- trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp 2016-07-20 23:28:22 UTC (rev 203479) +++ trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp 2016-07-20 23:28:33 UTC (rev 203480) @@ -117,7 +117,7 @@ , m_info(info) , m_objectStore(&objectStore) { -ASSERT(currentThread() == effectiveObjectStore().modernTransaction().database().originThreadID()); +ASSERT(currentThread() == effectiveObjectStore().transaction().database().originThreadID()); suspendIfNeeded(); } @@ -127,7 +127,7 @@ , m_info(info) , m_index(&index) { -ASSERT(currentThread() == effectiveObjectStore().modernTransaction().database().originThreadID()); +ASSERT(currentThread() == effecti
[webkit-changes] [203479] trunk/Tools
Title: [203479] trunk/Tools Revision 203479 Author aakash_j...@apple.com Date 2016-07-20 16:28:22 -0700 (Wed, 20 Jul 2016) Log Message REGRESSION(r148588): ews classes might get garbage collected https://bugs.webkit.org/show_bug.cgi?id=159990 Reviewed by Ryosuke Niwa. * Scripts/webkitpy/tool/commands/__init__.py: Store the loaded ews classes in a variable so that they do not get garbage collected. Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/webkitpy/tool/commands/__init__.py Diff Modified: trunk/Tools/ChangeLog (203478 => 203479) --- trunk/Tools/ChangeLog 2016-07-20 23:24:15 UTC (rev 203478) +++ trunk/Tools/ChangeLog 2016-07-20 23:28:22 UTC (rev 203479) @@ -1,3 +1,13 @@ +2016-07-20 Aakash Jain + +REGRESSION(r148588): ews classes might get garbage collected +https://bugs.webkit.org/show_bug.cgi?id=159990 + +Reviewed by Ryosuke Niwa. + +* Scripts/webkitpy/tool/commands/__init__.py: Store the loaded ews classes +in a variable so that they do not get garbage collected. + 2016-07-20 Jeremy Jones Add API test for layout constraints after exit fullscreen Modified: trunk/Tools/Scripts/webkitpy/tool/commands/__init__.py (203478 => 203479) --- trunk/Tools/Scripts/webkitpy/tool/commands/__init__.py 2016-07-20 23:24:15 UTC (rev 203478) +++ trunk/Tools/Scripts/webkitpy/tool/commands/__init__.py 2016-07-20 23:28:22 UTC (rev 203479) @@ -22,4 +22,4 @@ from webkitpy.tool.commands.upload import * from webkitpy.tool.commands.suggestnominations import * -AbstractEarlyWarningSystem.load_ews_classes() +classes = AbstractEarlyWarningSystem.load_ews_classes() ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203478] trunk/Tools
Title: [203478] trunk/Tools Revision 203478 Author commit-qu...@webkit.org Date 2016-07-20 16:24:15 -0700 (Wed, 20 Jul 2016) Log Message Add API test for layout constraints after exit fullscreen https://bugs.webkit.org/show_bug.cgi?id=159900 Patch by Jeremy Jones on 2016-07-20 Reviewed by Jon Lee. Added Fullscreen.LaytoutConstraints API test. Tests fix from https://bugs.webkit.org/show_bug.cgi?id=159731 This test compares layout constraints on the web view before and after fullscreen to make sure they are preserved. * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html: Added. * TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm: Added. (-[FullscreenStateChangeMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Added Paths trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm Diff Modified: trunk/Tools/ChangeLog (203477 => 203478) --- trunk/Tools/ChangeLog 2016-07-20 23:23:56 UTC (rev 203477) +++ trunk/Tools/ChangeLog 2016-07-20 23:24:15 UTC (rev 203478) @@ -1,3 +1,21 @@ +2016-07-20 Jeremy Jones + +Add API test for layout constraints after exit fullscreen +https://bugs.webkit.org/show_bug.cgi?id=159900 + +Reviewed by Jon Lee. + +Added Fullscreen.LaytoutConstraints API test. +Tests fix from https://bugs.webkit.org/show_bug.cgi?id=159731 + +This test compares layout constraints on the web view before and after fullscreen to make sure +they are preserved. + +* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.html: Added. +* TestWebKitAPI/Tests/WebKit2Cocoa/FullscreenLayoutConstraints.mm: Added. +(-[FullscreenStateChangeMessageHandler userContentController:didReceiveScriptMessage:]): +(TestWebKitAPI::TEST): + 2016-07-20 Ryan Haddad Disable two failing API tests. Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (203477 => 203478) --- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2016-07-20 23:23:56 UTC (rev 203477) +++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2016-07-20 23:24:15 UTC (rev 203478) @@ -65,6 +65,7 @@ 37D36ED71AF42ECD00BAF5D9 /* LoadAlternateHTMLString.mm in Sources */ = {isa = PBXBuildFile; fileRef = 37D36ED61AF42ECD00BAF5D9 /* LoadAlternateHTMLString.mm */; }; 37DC6791140D7D7600ABCCDB /* DOMRangeOfString.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 37DC678F140D7D3A00ABCCDB /* DOMRangeOfString.html */; }; 37E1064C1697681800B78BD0 /* DOMHTMLTableCellElementCellAbove.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 37E1064B169767F700B78BD0 /* DOMHTMLTableCellElementCellAbove.html */; }; + 3FBD1B4A1D3D66AB00E6D6FA /* FullscreenLayoutConstraints.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 3FBD1B491D39D1DB00E6D6FA /* FullscreenLayoutConstraints.html */; }; 46C519DA1D355AB200DAA51A /* LocalStorageNullEntries.mm in Sources */ = {isa = PBXBuildFile; fileRef = 46C519D81D355A7300DAA51A /* LocalStorageNullEntries.mm */; }; 46C519E61D3563FD00DAA51A /* LocalStorageNullEntries.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 46C519E21D35629600DAA51A /* LocalStorageNullEntries.html */; }; 46C519E71D3563FD00DAA51A /* LocalStorageNullEntries.localstorage in Copy Resources */ = {isa = PBXBuildFile; fileRef = 46C519E31D35629600DAA51A /* LocalStorageNullEntries.localstorage */; }; @@ -512,6 +513,7 @@ 51714EB41CF8C78C004723C4 /* WebProcessKillIDBCleanup-1.html in Copy Resources */, 51714EB51CF8C78C004723C4 /* WebProcessKillIDBCleanup-2.html in Copy Resources */, CDE195B51CFE0B880053D256 /* FullscreenTopContentInset.html in Copy Resources */, +3FBD1B4A1D3D66AB00E6D6FA /* FullscreenLayoutConstraints.html in Copy Resources */, 93CFA8671CEB9E38000565A8 /* autofocused-text-input.html in Copy Resources */, 93625D271CD9741C006DC1F1 /* large-video-without-audio.html in Copy Resources */, 936F72801CD7D9EC0068A0FB /* large-video-with-audio.html in Copy Resources */, @@ -717,6 +719,8 @@ 37E1064A1697676400B78BD0 /* DOMHTMLTableCellCellAbove.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMHTMLTableCellCellAbove.mm; sourceTree = ""; }; 37E1064B169767F700B78BD0 /* DOMHTMLTableCellElementCellAbove.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = DOMHTMLTableCellElementCellAbove.html; sourceTree = ""; }; 37E38C33169B7D010084C28C /* WebViewDidRemoveFrameFromHierarchy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebViewDidRemoveFrameFromHierarchy.mm; sourceTree = ""; }; + 3F1B52681D3D7129008D60C4 /*
[webkit-changes] [203477] trunk/Tools
Title: [203477] trunk/Tools Revision 203477 Author ryanhad...@apple.com Date 2016-07-20 16:23:56 -0700 (Wed, 20 Jul 2016) Log Message Disable two failing API tests. Unreviewed test gardening. * TestWebKitAPI/Tests/mac/CandidateTests.mm: (TestWebKitAPI::TEST): Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/mac/CandidateTests.mm Diff Modified: trunk/Tools/ChangeLog (203476 => 203477) --- trunk/Tools/ChangeLog 2016-07-20 23:14:39 UTC (rev 203476) +++ trunk/Tools/ChangeLog 2016-07-20 23:23:56 UTC (rev 203477) @@ -1,3 +1,12 @@ +2016-07-20 Ryan Haddad + +Disable two failing API tests. + +Unreviewed test gardening. + +* TestWebKitAPI/Tests/mac/CandidateTests.mm: +(TestWebKitAPI::TEST): + 2016-07-20 Wenson Hsieh Unreviewed iOS build fix. Modified: trunk/Tools/TestWebKitAPI/Tests/mac/CandidateTests.mm (203476 => 203477) --- trunk/Tools/TestWebKitAPI/Tests/mac/CandidateTests.mm 2016-07-20 23:14:39 UTC (rev 203476) +++ trunk/Tools/TestWebKitAPI/Tests/mac/CandidateTests.mm 2016-07-20 23:23:56 UTC (rev 203477) @@ -84,7 +84,7 @@ namespace TestWebKitAPI { -TEST(CandidateTests, DoNotLeakViewThatLoadsEditableArea) +TEST(CandidateTests, DISABLED_DoNotLeakViewThatLoadsEditableArea) { DoNotLeakWebView *webView = [[DoNotLeakWebView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)]; DoNotLeakFrameLoadDelegate *delegate = [[DoNotLeakFrameLoadDelegate alloc] init]; @@ -100,7 +100,7 @@ EXPECT_TRUE(webViewWasDeallocated); } -TEST(CandidateTests, RequestCandidatesForTextInput) +TEST(CandidateTests, DISABLED_RequestCandidatesForTextInput) { WebView *webView = [[WebView alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)]; [webView forceRequestCandidatesForTesting]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203475] trunk
Title: [203475] trunk Revision 203475 Author cdu...@apple.com Date 2016-07-20 16:07:30 -0700 (Wed, 20 Jul 2016) Log Message Stop using valueToStringWithNullCheck() in JSCSSStyleDeclaration::putDelegate() https://bugs.webkit.org/show_bug.cgi?id=159982 Reviewed by Ryosuke Niwa. Source/WebCore: valueToStringWithNullCheck() treats null as the null String() which is legacy / non standard behavior. The specification says we should treat null as the empty string: - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-camel-cased-attribute Therefore, we should be using valueToStringTreatingNullAsEmptyString() instead. In practice, there is no web-exposed behavior change because MutableStyleProperties::setProperty() removes the property wether the value is the null String or the empty String. This behavior is correct since the specification says that we should remove the property if the value is the empty string: - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty (step 4) I added test coverage to make sure we behave according to specification. This test is passing in Firefox, Chrome and in WebKit (before and after my change). Test: fast/css/CSSStyleDeclaration-property-setter.html * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::putDelegate): LayoutTests: Add layout test coverage for JSCSSStyleDeclaration::putDelegate(), covering cases like setting to null or the empty String, to make sure we behave according to specification. * fast/css/CSSStyleDeclaration-property-setter-expected.txt: Added. * fast/css/CSSStyleDeclaration-property-setter.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp Added Paths trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter-expected.txt trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter.html Diff Modified: trunk/LayoutTests/ChangeLog (203474 => 203475) --- trunk/LayoutTests/ChangeLog 2016-07-20 23:06:35 UTC (rev 203474) +++ trunk/LayoutTests/ChangeLog 2016-07-20 23:07:30 UTC (rev 203475) @@ -1,5 +1,19 @@ 2016-07-20 Chris Dumez +Stop using valueToStringWithNullCheck() in JSCSSStyleDeclaration::putDelegate() +https://bugs.webkit.org/show_bug.cgi?id=159982 + +Reviewed by Ryosuke Niwa. + +Add layout test coverage for JSCSSStyleDeclaration::putDelegate(), +covering cases like setting to null or the empty String, to make +sure we behave according to specification. + +* fast/css/CSSStyleDeclaration-property-setter-expected.txt: Added. +* fast/css/CSSStyleDeclaration-property-setter.html: Added. + +2016-07-20 Chris Dumez + Fix null handling of HTMLFrameElement.marginWidth / marginHeight https://bugs.webkit.org/show_bug.cgi?id=159987 Added: trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter-expected.txt (0 => 203475) --- trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter-expected.txt (rev 0) +++ trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter-expected.txt 2016-07-20 23:07:30 UTC (rev 203475) @@ -0,0 +1,29 @@ +Test that setting CSS properties via CSSStyleDeclaration behaves as expected + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS div.style.cssText is "" +div.style.backgroundColor = 'red' +PASS div.style.cssText is "background-color: red;" +PASS div.style.getPropertyValue('background-color') is "red" +PASS div.style.length is 1 + +div.style.backgroundColor = '' +PASS div.style.cssText is "" +PASS div.style.getPropertyValue('background-color') is "" +PASS div.style.length is 0 + +div.style.backgroundColor = 'red' +PASS div.style.cssText is "background-color: red;" +PASS div.style.getPropertyValue('background-color') is "red" +PASS div.style.length is 1 + +div.style.backgroundColor = null +PASS div.style.cssText is "" +PASS div.style.getPropertyValue('background-color') is "" +PASS div.style.length is 0 +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter.html (0 => 203475) --- trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter.html (rev 0) +++ trunk/LayoutTests/fast/css/CSSStyleDeclaration-property-setter.html 2016-07-20 23:07:30 UTC (rev 203475) @@ -0,0 +1,37 @@ + + + + +description("Test that setting CSS properties via CSSStyleDeclaration behaves as expected"); + +var div = document.createElement("div"); +shouldBeEqualToString("div.style.cssText", ""); +evalAndLog("div.style.backgroundColor = 'red'"); +shouldBeEqualToString("div.style.cssText", "background-color: red;"); +shouldBeEqualToString("div.style.getPropertyValue('background-color')", "red"); +shouldBe("div.style.length", "1"); + +debug(""); +// Setting to empty string should delete the property. +evalAndLog("div.style.b
[webkit-changes] [203474] trunk
Title: [203474] trunk Revision 203474 Author cdu...@apple.com Date 2016-07-20 16:06:35 -0700 (Wed, 20 Jul 2016) Log Message Fix null handling of HTMLFrameElement.marginWidth / marginHeight https://bugs.webkit.org/show_bug.cgi?id=159987 Reviewed by Ryosuke Niwa. LayoutTests/imported/w3c: Rebaseline now that more checks are passing. * web-platform-tests/html/dom/reflection-obsolete-expected.txt: Source/WebCore: Fix null handling of HTMLFrameElement.marginWidth / marginHeight: - https://html.spec.whatwg.org/multipage/obsolete.html#htmlframeelement We are supposed to treat null as the empty string but we treat it as the string "null". Firefox and Chrome both match the specification. No new tests, updated existing tests. * html/HTMLFrameElement.idl: LayoutTests: Update existing test to reflect the expected behavior change. * fast/dom/element-attribute-js-null-expected.txt: * fast/dom/element-attribute-js-null.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt trunk/LayoutTests/fast/dom/element-attribute-js-null.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-obsolete-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLFrameElement.idl Diff Modified: trunk/LayoutTests/ChangeLog (203473 => 203474) --- trunk/LayoutTests/ChangeLog 2016-07-20 22:56:08 UTC (rev 203473) +++ trunk/LayoutTests/ChangeLog 2016-07-20 23:06:35 UTC (rev 203474) @@ -1,3 +1,15 @@ +2016-07-20 Chris Dumez + +Fix null handling of HTMLFrameElement.marginWidth / marginHeight +https://bugs.webkit.org/show_bug.cgi?id=159987 + +Reviewed by Ryosuke Niwa. + +Update existing test to reflect the expected behavior change. + +* fast/dom/element-attribute-js-null-expected.txt: +* fast/dom/element-attribute-js-null.html: + 2016-07-20 Myles C. Maxfield [iPhone] Playing a video on tudou.com plays only sound, no video Modified: trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt (203473 => 203474) --- trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt 2016-07-20 22:56:08 UTC (rev 203473) +++ trunk/LayoutTests/fast/dom/element-attribute-js-null-expected.txt 2016-07-20 23:06:35 UTC (rev 203474) @@ -76,8 +76,8 @@ TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFormElement.target] TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.frameBorder] -TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.marginHeight] -TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.marginWidth] +TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.marginHeight] +TEST SUCCEEDED: The value was the empty string. [tested HTMLFrameElement.marginWidth] TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.name] TEST SUCCEEDED: The value was the string 'null'. [tested HTMLFrameElement.scrolling] Modified: trunk/LayoutTests/fast/dom/element-attribute-js-null.html (203473 => 203474) --- trunk/LayoutTests/fast/dom/element-attribute-js-null.html 2016-07-20 22:56:08 UTC (rev 203473) +++ trunk/LayoutTests/fast/dom/element-attribute-js-null.html 2016-07-20 23:06:35 UTC (rev 203474) @@ -227,8 +227,8 @@ elementToUse: document.createElement('frame'), attributes: [ {name: 'frameBorder', expectedNull: 'null'}, -{name: 'marginHeight', expectedNull: 'null'}, -{name: 'marginWidth', expectedNull: 'null'}, +{name: 'marginHeight', expectedNull: ''}, +{name: 'marginWidth', expectedNull: ''}, {name: 'name', expectedNull: 'null'}, {name: 'scrolling', expectedNull: 'null'}, ] Modified: trunk/LayoutTests/imported/w3c/ChangeLog (203473 => 203474) --- trunk/LayoutTests/imported/w3c/ChangeLog 2016-07-20 22:56:08 UTC (rev 203473) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2016-07-20 23:06:35 UTC (rev 203474) @@ -1,5 +1,16 @@ 2016-07-20 Chris Dumez +Fix null handling of HTMLFrameElement.marginWidth / marginHeight +https://bugs.webkit.org/show_bug.cgi?id=159987 + +Reviewed by Ryosuke Niwa. + +Rebaseline now that more checks are passing. + +* web-platform-tests/html/dom/reflection-obsolete-expected.txt: + +2016-07-20 Chris Dumez + Fix null handling of HTMLMediaElement.mediaGroup https://bugs.webkit.org/show_bug.cgi?id=159974 Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-obsolete-expected.txt (203473 => 203474) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-obsolete-expected.txt 2016-07-20 22:56:08 UTC (rev 203473) +++ trunk/LayoutTests/imported/w3c/web
[webkit-changes] [203473] trunk/Source/WebCore
Title: [203473] trunk/Source/WebCore Revision 203473 Author wenson_hs...@apple.com Date 2016-07-20 15:56:08 -0700 (Wed, 20 Jul 2016) Log Message Pausing autoplayed media should not remove all restrictions for that media element https://bugs.webkit.org/show_bug.cgi?id=159988 Reviewed by Jon Lee. Localizes the removal of behavior restrictions introduced in r203464 upon pausing an autoplaying video to just affect the hiding or showing of the media controller. This prevents pages from using _javascript_ to start playing autoplaying videos that have been paused by the user. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::pause): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLMediaElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (203472 => 203473) --- trunk/Source/WebCore/ChangeLog 2016-07-20 22:45:02 UTC (rev 203472) +++ trunk/Source/WebCore/ChangeLog 2016-07-20 22:56:08 UTC (rev 203473) @@ -1,3 +1,18 @@ +2016-07-20 Wenson Hsieh + +Pausing autoplayed media should not remove all restrictions for that media element +https://bugs.webkit.org/show_bug.cgi?id=159988 + +Reviewed by Jon Lee. + +Localizes the removal of behavior restrictions introduced in r203464 upon pausing an +autoplaying video to just affect the hiding or showing of the media controller. This +prevents pages from using _javascript_ to start playing autoplaying videos that have +been paused by the user. + +* html/HTMLMediaElement.cpp: +(WebCore::HTMLMediaElement::pause): + 2016-07-20 Myles C. Maxfield [iPhone] Playing a video on tudou.com plays only sound, no video Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (203472 => 203473) --- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-07-20 22:45:02 UTC (rev 203472) +++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-07-20 22:56:08 UTC (rev 203473) @@ -3156,7 +3156,7 @@ return; if (ScriptController::processingUserGestureForMedia()) -removeBehaviorsRestrictionsAfterFirstUserGesture(); +removeBehaviorsRestrictionsAfterFirstUserGesture(MediaElementSession::RequireUserGestureToControlControlsManager); pauseInternal(); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203472] branches/safari-602-branch/Tools
Title: [203472] branches/safari-602-branch/Tools Revision 203472 Author bshaf...@apple.com Date 2016-07-20 15:45:02 -0700 (Wed, 20 Jul 2016) Log Message Merge follow-up patch for rdar://problem/27360961. Modified Paths branches/safari-602-branch/Tools/ChangeLog branches/safari-602-branch/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig Diff Modified: branches/safari-602-branch/Tools/ChangeLog (203471 => 203472) --- branches/safari-602-branch/Tools/ChangeLog 2016-07-20 22:41:57 UTC (rev 203471) +++ branches/safari-602-branch/Tools/ChangeLog 2016-07-20 22:45:02 UTC (rev 203472) @@ -1,3 +1,11 @@ +2016-07-20 Babak Shafiei + +Merge follow-up patch for rdar://problem/27360961. + +Reviewed by Chris Dumez. + +* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: + 2016-07-17 Sam Weinig [WebKit API] Add SPI to track multiple navigations caused by a single user gesture Modified: branches/safari-602-branch/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (203471 => 203472) --- branches/safari-602-branch/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig 2016-07-20 22:41:57 UTC (rev 203471) +++ branches/safari-602-branch/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig 2016-07-20 22:45:02 UTC (rev 203472) @@ -57,7 +57,7 @@ ENABLE_CSS_BOX_DECORATION_BREAK = ENABLE_CSS_BOX_DECORATION_BREAK; ENABLE_CSS_COMPOSITING = ENABLE_CSS_COMPOSITING; ENABLE_CSS_DEVICE_ADAPTATION = ; -ENABLE_CSS_GRID_LAYOUT = ENABLE_CSS_GRID_LAYOUT; +ENABLE_CSS_GRID_LAYOUT = ; ENABLE_CSS_IMAGE_ORIENTATION = ; ENABLE_CSS_IMAGE_RESOLUTION = ; ENABLE_CSS_REGIONS = ENABLE_CSS_REGIONS; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203471] trunk
Title: [203471] trunk Revision 203471 Author mmaxfi...@apple.com Date 2016-07-20 15:41:57 -0700 (Wed, 20 Jul 2016) Log Message [iPhone] Playing a video on tudou.com plays only sound, no video https://bugs.webkit.org/show_bug.cgi?id=159967 Reviewed by Jon Lee. Source/WebCore: WebKit recently starting honoring the playsinline and webkit-playsinline attribute on iPhones. However, because these attributes previously did nothing, some sites (such as Todou) were setting them on their content and expecting that they are not honored. In this specific case, the video is absolutely positioned to be 1 pixel x 1 pixel. Previously, with iOS 9, apps could set the allowsInlineMediaPlayback property on their WKWebView, which would honor the webkit-playsinline attribute. Safari on iPhones didn't do this. In order to not break these existing apps, it's important that the allowsInlineMediaPlayback preference still allows webkit-playsinline videos to play inline in apps using WKWebView. However, in Safari, these videos should play fullscreen. (Todou videos have webkit-playsinline but not playsinline.) Therefore, in Safari, videos with playsinline should be inline, but videos with webkit-playsinline should be fullscreen. In apps using WKWebViews, if the app sets allowsInlineMediaPlayback, then videos with playsinline should be inline, and videos with webkit-playsinline should also be inline. Videos on iPad and Mac should all be inline by default. We can create some truth tables for the cases which need to be covered: All apps on Mac / iPad: Presence of playsinline | Presence of webkit-playsinline | Result ||=== Not present | Not present| Inline Present | Not present| Inline Not Present | Present| Inline Present | Present| Inline Safari on iPhone: Presence of playsinline | Presence of webkit-playsinline | Result ||=== Not present | Not present| Fullscreen Present | Not present| Inline Not Present | Present| Fullscreen Present | Present| Inline App on iPhone which sets allowsInlineMediaPlayback: Presence of playsinline | Presence of webkit-playsinline | Result ||=== Not present | Not present| Fullscreen Present | Not present| Inline Not Present | Present| Inline Present | Present| Inline The way to distinguish Safari from another app is to create an SPI boolean preference which Safari can set. This is already how the iPhone and iPad are differentiated using the requiresPlayInlineAttribute which Safari sets but other apps don't. However, this preference is no longer sufficient because Safari should now be discriminating between the playsinline and webkit-playsinline attributes. Therefore, this preference should be extended to two boolean preferences, which this patch adds: allowsInlineMediaPlaybackWithPlaysInlineAttribute allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute Safari on iPhone will set allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute to true, and allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute to false. Other apps on iPhone will get their defaults values (because they are SPI) which means they will both be true. On iPad and Mac, apps will use the defaults values where both are false. This patch adds support for these two preferences, but does not remove the existing inlineMediaPlaybackRequiresPlaysInlineAttribute preference. I will remove the exising preference as soon as I update Safari to migrate off of it. Test: media/video-playsinline.html * html/MediaElementSession.cpp: (WebCore::MediaElementSession::requiresFullscreenForVideoPlayback): * page/Settings.cpp: * page/Settings.in: * testing/InternalSettings.cpp: (WebCore::InternalSettings::Backup::Backup): (WebCore::InternalSettings::Backup::restoreTo): (WebCore::InternalSettings::setAllowsInlineMediaPlaybackWithPlaysInlineAttribute): (WebCore::InternalSettings::setAllowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute): * testing/InternalSettings.h: * testing/InternalSettings.idl: Source/WebKit/mac: Add the two preferences to WebPreferences. * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.mm: (+[WebPreferences initialize]): (-[WebPreferences allowsInlineMediaPlaybackWithPlaysInlineAttribute]): (-[WebPreferences setAllowsInlineMediaPlaybackWithPlaysInlineAttribute:]): (-[WebPreferences allowsInlineMediaPlaybackWithWebKitPlaysInlineAttribute]): (-[WebPreferences setAllowsInlineMediaPlaybackW
[webkit-changes] [203470] trunk/Source/WebCore
Title: [203470] trunk/Source/WebCore Revision 203470 Author cdu...@apple.com Date 2016-07-20 15:03:36 -0700 (Wed, 20 Jul 2016) Log Message Get rid of custom bindings code for XMLHttpRequest.open() https://bugs.webkit.org/show_bug.cgi?id=159984 Reviewed by Ryosuke Niwa. Get rid of custom bindings code for XMLHttpRequest.open() as the bindings generator is able to generate it. Relevant specification: - https://xhr.spec.whatwg.org/#xmlhttprequest The issue is that legacy content prevents treating the 'async' argument being undefined identical from it being omitted. However, this can be achieved by using overloading in IDL, like in the specification. No new tests, already covered by the following tests: - http/tests/xmlhttprequest/basic-auth.html - http/tests/xmlhttprequest/open-async-overload.html * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::SendFunctor::SendFunctor): Deleted. (WebCore::SendFunctor::line): Deleted. (WebCore::SendFunctor::column): Deleted. (WebCore::SendFunctor::url): Deleted. (WebCore::SendFunctor::operator()): Deleted. * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::open): * xml/XMLHttpRequest.h: * xml/XMLHttpRequest.idl: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp trunk/Source/WebCore/xml/XMLHttpRequest.cpp trunk/Source/WebCore/xml/XMLHttpRequest.h trunk/Source/WebCore/xml/XMLHttpRequest.idl Diff Modified: trunk/Source/WebCore/ChangeLog (203469 => 203470) --- trunk/Source/WebCore/ChangeLog 2016-07-20 21:21:21 UTC (rev 203469) +++ trunk/Source/WebCore/ChangeLog 2016-07-20 22:03:36 UTC (rev 203470) @@ -1,3 +1,35 @@ +2016-07-20 Chris Dumez + +Get rid of custom bindings code for XMLHttpRequest.open() +https://bugs.webkit.org/show_bug.cgi?id=159984 + +Reviewed by Ryosuke Niwa. + +Get rid of custom bindings code for XMLHttpRequest.open() as the +bindings generator is able to generate it. + +Relevant specification: +- https://xhr.spec.whatwg.org/#xmlhttprequest + +The issue is that legacy content prevents treating the 'async' argument +being undefined identical from it being omitted. However, this can be +achieved by using overloading in IDL, like in the specification. + +No new tests, already covered by the following tests: +- http/tests/xmlhttprequest/basic-auth.html +- http/tests/xmlhttprequest/open-async-overload.html + +* bindings/js/JSXMLHttpRequestCustom.cpp: +(WebCore::SendFunctor::SendFunctor): Deleted. +(WebCore::SendFunctor::line): Deleted. +(WebCore::SendFunctor::column): Deleted. +(WebCore::SendFunctor::url): Deleted. +(WebCore::SendFunctor::operator()): Deleted. +* xml/XMLHttpRequest.cpp: +(WebCore::XMLHttpRequest::open): +* xml/XMLHttpRequest.h: +* xml/XMLHttpRequest.idl: + 2016-07-20 Rawinder Singh Mark overriden methods in WebCore/svg final classes as final Modified: trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp (203469 => 203470) --- trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp 2016-07-20 21:21:21 UTC (rev 203469) +++ trunk/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp 2016-07-20 22:03:36 UTC (rev 203470) @@ -71,35 +71,6 @@ visitor.addOpaqueRoot(responseBlob); } -// Custom functions -JSValue JSXMLHttpRequest::open(ExecState& state) -{ -if (state.argumentCount() < 2) -return state.vm().throwException(&state, createNotEnoughArgumentsError(&state)); - -const URL& url = "" -String method = state.uncheckedArgument(0).toString(&state)->value(&state); - -ExceptionCode ec = 0; -if (state.argumentCount() >= 3) { -bool async = state.uncheckedArgument(2).toBoolean(&state); -if (!state.argument(3).isUndefined()) { -String user = valueToStringWithNullCheck(&state, state.uncheckedArgument(3)); - -if (!state.argument(4).isUndefined()) { -String password = valueToStringWithNullCheck(&state, state.uncheckedArgument(4)); -wrapped().open(method, url, async, user, password, ec); -} else -wrapped().open(method, url, async, user, ec); -} else -wrapped().open(method, url, async, ec); -} else -wrapped().open(method, url, ec); - -setDOMException(&state, ec); -return jsUndefined(); -} - class SendFunctor { public: SendFunctor() Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (203469 => 203470) --- trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2016-07-20 21:21:21 UTC (rev 203469) +++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2016-07-20 22:03:36 UTC (rev 203470) @@ -421,9 +421,10 @@ return true; } -void XMLHttpRequest::open(const String& method, const URL& url, ExceptionCode& ec) +void XMLHttpRequest::open(const String& method, const String& url, ExceptionCode& ec) { -o
[webkit-changes] [203468] trunk/Tools
Title: [203468] trunk/Tools Revision 203468 Author wenson_hs...@apple.com Date 2016-07-20 13:28:44 -0700 (Wed, 20 Jul 2016) Log Message Fix the build after 41dade3 Modified Paths trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm Diff Modified: trunk/Tools/ChangeLog (203467 => 203468) --- trunk/Tools/ChangeLog 2016-07-20 20:03:06 UTC (rev 203467) +++ trunk/Tools/ChangeLog 2016-07-20 20:28:44 UTC (rev 203468) @@ -1,5 +1,11 @@ 2016-07-20 Wenson Hsieh +Unreviewed iOS build fix. + +* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: Only import Carbon.h on Mac. + +2016-07-20 Wenson Hsieh + Media controls don't appear when pausing a small autoplaying video https://bugs.webkit.org/show_bug.cgi?id=159972 Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm (203467 => 203468) --- trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm 2016-07-20 20:03:06 UTC (rev 203467) +++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm 2016-07-20 20:28:44 UTC (rev 203468) @@ -26,7 +26,11 @@ #include "config.h" #import "PlatformUtilities.h" + +#if PLATFORM(MAC) #import +#endif + #import #import #import ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203467] trunk/Source/WebKit2
Title: [203467] trunk/Source/WebKit2 Revision 203467 Author changs...@webkit.org Date 2016-07-20 13:03:06 -0700 (Wed, 20 Jul 2016) Log Message Fix a linking failure caused by NetworkCache::Data::~Data() https://bugs.webkit.org/show_bug.cgi?id=159931 Linking is failed with clang 3.6. It says WebKit::NetworkCache::Data::~Data is undefined. It is fixed by adding a destructor for NetworkCache::Data. Reviewed by Alex Christensen. * NetworkProcess/cache/NetworkCacheData.h: (WebKit::NetworkCache::Data::~Data): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.h Diff Modified: trunk/Source/WebKit2/ChangeLog (203466 => 203467) --- trunk/Source/WebKit2/ChangeLog 2016-07-20 20:00:04 UTC (rev 203466) +++ trunk/Source/WebKit2/ChangeLog 2016-07-20 20:03:06 UTC (rev 203467) @@ -1,3 +1,16 @@ +2016-07-20 ChangSeok Oh + +Fix a linking failure caused by NetworkCache::Data::~Data() +https://bugs.webkit.org/show_bug.cgi?id=159931 + +Linking is failed with clang 3.6. It says WebKit::NetworkCache::Data::~Data is undefined. +It is fixed by adding a destructor for NetworkCache::Data. + +Reviewed by Alex Christensen. + +* NetworkProcess/cache/NetworkCacheData.h: +(WebKit::NetworkCache::Data::~Data): + 2016-07-20 Tim Horton Explain the default value of WKWebViewConfiguration's ignoresViewportScaleLimits Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.h (203466 => 203467) --- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.h 2016-07-20 20:00:04 UTC (rev 203466) +++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheData.h 2016-07-20 20:03:06 UTC (rev 203467) @@ -106,6 +106,8 @@ Data() { } Data(const uint8_t*, size_t); +~Data() { } + static Data empty(); static Data adoptMap(void* map, size_t, int fd); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203466] trunk/Source/WTF
Title: [203466] trunk/Source/WTF Revision 203466 Author commit-qu...@webkit.org Date 2016-07-20 13:00:04 -0700 (Wed, 20 Jul 2016) Log Message Remove unnecessary if check from ParkingLot.cpp https://bugs.webkit.org/show_bug.cgi?id=159961 Patch by Rajeev Misra on 2016-07-20 Reviewed by Alex Christensen. A good practice is to have as less conditional statement or special cases as possible in code. This change simply removes a unnecessary "if" statement for condition which was already evaluated by switch/case and thus there was no need to evaluate again. * wtf/ParkingLot.cpp: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/ParkingLot.cpp Diff Modified: trunk/Source/WTF/ChangeLog (203465 => 203466) --- trunk/Source/WTF/ChangeLog 2016-07-20 19:42:53 UTC (rev 203465) +++ trunk/Source/WTF/ChangeLog 2016-07-20 20:00:04 UTC (rev 203466) @@ -1,3 +1,18 @@ +2016-07-20 Rajeev Misra + +Remove unnecessary if check from ParkingLot.cpp +https://bugs.webkit.org/show_bug.cgi?id=159961 + +Reviewed by Alex Christensen. + +A good practice is to have as less conditional statement +or special cases as possible in code. This change +simply removes a unnecessary "if" statement for +condition which was already evaluated by switch/case +and thus there was no need to evaluate again. + +* wtf/ParkingLot.cpp: + 2016-07-18 Anders Carlsson WebKit nightly fails to build on macOS Sierra Modified: trunk/Source/WTF/wtf/ParkingLot.cpp (203465 => 203466) --- trunk/Source/WTF/wtf/ParkingLot.cpp 2016-07-20 19:42:53 UTC (rev 203465) +++ trunk/Source/WTF/wtf/ParkingLot.cpp 2016-07-20 20:00:04 UTC (rev 203466) @@ -154,8 +154,10 @@ previous = current; currentPtr = &(*currentPtr)->nextInQueue; break; +case DequeueResult::RemoveAndStop: +shouldContinue = false; +FALLTHROUGH; case DequeueResult::RemoveAndContinue: -case DequeueResult::RemoveAndStop: if (verbose) dataLog(toString(currentThread(), ": dequeueing ", RawPointer(current), " from ", RawPointer(this), "\n")); if (current == queueTail) @@ -163,8 +165,6 @@ didDequeue = true; *currentPtr = current->nextInQueue; current->nextInQueue = nullptr; -if (result == DequeueResult::RemoveAndStop) -shouldContinue = false; break; } } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203465] trunk/Source/WebCore
Title: [203465] trunk/Source/WebCore Revision 203465 Author beid...@apple.com Date 2016-07-20 12:42:53 -0700 (Wed, 20 Jul 2016) Log Message Transition most IDB interfaces from ScriptExecutionContext to ExecState. https://bugs.webkit.org/show_bug.cgi?id=159975 Reviewed by Alex Christensen. No new tests (No known behavior change). * Modules/indexeddb/IDBCursor.cpp: (WebCore::IDBCursor::continueFunction): (WebCore::IDBCursor::deleteFunction): * Modules/indexeddb/IDBCursor.h: * Modules/indexeddb/IDBCursor.idl: * Modules/indexeddb/IDBDatabase.idl: * Modules/indexeddb/IDBFactory.cpp: (WebCore::IDBFactory::cmp): * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactory.idl: * Modules/indexeddb/IDBIndex.cpp: (WebCore::IDBIndex::openCursor): (WebCore::IDBIndex::count): (WebCore::IDBIndex::doCount): (WebCore::IDBIndex::openKeyCursor): (WebCore::IDBIndex::get): (WebCore::IDBIndex::doGet): (WebCore::IDBIndex::getKey): (WebCore::IDBIndex::doGetKey): * Modules/indexeddb/IDBIndex.h: * Modules/indexeddb/IDBIndex.idl: * Modules/indexeddb/IDBKeyRange.cpp: (WebCore::IDBKeyRange::only): Deleted. * Modules/indexeddb/IDBKeyRange.h: * Modules/indexeddb/IDBObjectStore.cpp: (WebCore::IDBObjectStore::openCursor): (WebCore::IDBObjectStore::get): (WebCore::IDBObjectStore::putOrAdd): (WebCore::IDBObjectStore::deleteFunction): (WebCore::IDBObjectStore::doDelete): (WebCore::IDBObjectStore::modernDelete): (WebCore::IDBObjectStore::clear): (WebCore::IDBObjectStore::createIndex): (WebCore::IDBObjectStore::count): (WebCore::IDBObjectStore::doCount): * Modules/indexeddb/IDBObjectStore.h: * Modules/indexeddb/IDBObjectStore.idl: * Modules/indexeddb/IDBTransaction.cpp: (WebCore::IDBTransaction::requestOpenCursor): (WebCore::IDBTransaction::doRequestOpenCursor): (WebCore::IDBTransaction::requestGetRecord): (WebCore::IDBTransaction::requestGetValue): (WebCore::IDBTransaction::requestGetKey): (WebCore::IDBTransaction::requestIndexRecord): (WebCore::IDBTransaction::requestCount): (WebCore::IDBTransaction::requestDeleteRecord): (WebCore::IDBTransaction::requestClearObjectStore): (WebCore::IDBTransaction::requestPutOrAdd): * Modules/indexeddb/IDBTransaction.h: * inspector/InspectorIndexedDBAgent.cpp: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/indexeddb/IDBCursor.cpp trunk/Source/WebCore/Modules/indexeddb/IDBCursor.h trunk/Source/WebCore/Modules/indexeddb/IDBCursor.idl trunk/Source/WebCore/Modules/indexeddb/IDBDatabase.idl trunk/Source/WebCore/Modules/indexeddb/IDBFactory.cpp trunk/Source/WebCore/Modules/indexeddb/IDBFactory.h trunk/Source/WebCore/Modules/indexeddb/IDBFactory.idl trunk/Source/WebCore/Modules/indexeddb/IDBIndex.cpp trunk/Source/WebCore/Modules/indexeddb/IDBIndex.h trunk/Source/WebCore/Modules/indexeddb/IDBIndex.idl trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.cpp trunk/Source/WebCore/Modules/indexeddb/IDBKeyRange.h trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.h trunk/Source/WebCore/Modules/indexeddb/IDBObjectStore.idl trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.cpp trunk/Source/WebCore/Modules/indexeddb/IDBTransaction.h trunk/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (203464 => 203465) --- trunk/Source/WebCore/ChangeLog 2016-07-20 19:25:16 UTC (rev 203464) +++ trunk/Source/WebCore/ChangeLog 2016-07-20 19:42:53 UTC (rev 203465) @@ -1,3 +1,70 @@ +2016-07-20 Brady Eidson + +Transition most IDB interfaces from ScriptExecutionContext to ExecState. +https://bugs.webkit.org/show_bug.cgi?id=159975 + +Reviewed by Alex Christensen. + +No new tests (No known behavior change). + +* Modules/indexeddb/IDBCursor.cpp: +(WebCore::IDBCursor::continueFunction): +(WebCore::IDBCursor::deleteFunction): +* Modules/indexeddb/IDBCursor.h: +* Modules/indexeddb/IDBCursor.idl: + +* Modules/indexeddb/IDBDatabase.idl: + +* Modules/indexeddb/IDBFactory.cpp: +(WebCore::IDBFactory::cmp): +* Modules/indexeddb/IDBFactory.h: +* Modules/indexeddb/IDBFactory.idl: + +* Modules/indexeddb/IDBIndex.cpp: +(WebCore::IDBIndex::openCursor): +(WebCore::IDBIndex::count): +(WebCore::IDBIndex::doCount): +(WebCore::IDBIndex::openKeyCursor): +(WebCore::IDBIndex::get): +(WebCore::IDBIndex::doGet): +(WebCore::IDBIndex::getKey): +(WebCore::IDBIndex::doGetKey): +* Modules/indexeddb/IDBIndex.h: +* Modules/indexeddb/IDBIndex.idl: + +* Modules/indexeddb/IDBKeyRange.cpp: +(WebCore::IDBKeyRange::only): Deleted. +* Modules/indexeddb/IDBKeyRange.h: + +* Modules/indexeddb/IDBObjectStore.cpp: +(WebCore::IDBObjectStore::openCursor): +(WebCore::IDBObjectStore::get): +(WebCore::IDBObjectStore::putOrAdd): +(WebCore::IDBObjectStore::delete
[webkit-changes] [203464] trunk
Title: [203464] trunk Revision 203464 Author wenson_hs...@apple.com Date 2016-07-20 12:25:16 -0700 (Wed, 20 Jul 2016) Log Message Media controls don't appear when pausing a small autoplaying video https://bugs.webkit.org/show_bug.cgi?id=159972 Reviewed by Beth Dakin. Source/WebCore: When pausing an autoplaying video, remove behavior restrictions for the initial user gesture and show media controls. New WebKit API test. See VideoControlsManagerSingleSmallAutoplayingVideo. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::pause): Tools: Adds a new test that verifies media controls show up when pausing a small autoplayed video. Also adds mechanisms for simulating basic user interaction in VideoControlsManager. * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: (-[WKWebView mouseDownAtPoint:]): (-[DidPlayMessageHandler userContentController:didReceiveScriptMessage:]): (-[OnLoadMessageHandler initWithWKWebView:handler:]): (-[OnLoadMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::TEST): * TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLMediaElement.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm Added Paths trunk/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html Diff Modified: trunk/Source/WebCore/ChangeLog (203463 => 203464) --- trunk/Source/WebCore/ChangeLog 2016-07-20 19:21:51 UTC (rev 203463) +++ trunk/Source/WebCore/ChangeLog 2016-07-20 19:25:16 UTC (rev 203464) @@ -1,3 +1,19 @@ +2016-07-20 Wenson Hsieh + +Media controls don't appear when pausing a small autoplaying video +https://bugs.webkit.org/show_bug.cgi?id=159972 + + +Reviewed by Beth Dakin. + +When pausing an autoplaying video, remove behavior restrictions for the +initial user gesture and show media controls. + +New WebKit API test. See VideoControlsManagerSingleSmallAutoplayingVideo. + +* html/HTMLMediaElement.cpp: +(WebCore::HTMLMediaElement::pause): + 2016-07-20 Chris Dumez Fix null handling of HTMLMediaElement.mediaGroup Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (203463 => 203464) --- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-07-20 19:21:51 UTC (rev 203463) +++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2016-07-20 19:25:16 UTC (rev 203464) @@ -3155,6 +3155,9 @@ if (!m_mediaSession->playbackPermitted(*this)) return; +if (ScriptController::processingUserGestureForMedia()) +removeBehaviorsRestrictionsAfterFirstUserGesture(); + pauseInternal(); } Modified: trunk/Tools/ChangeLog (203463 => 203464) --- trunk/Tools/ChangeLog 2016-07-20 19:21:51 UTC (rev 203463) +++ trunk/Tools/ChangeLog 2016-07-20 19:25:16 UTC (rev 203464) @@ -1,3 +1,23 @@ +2016-07-20 Wenson Hsieh + +Media controls don't appear when pausing a small autoplaying video +https://bugs.webkit.org/show_bug.cgi?id=159972 + + +Reviewed by Beth Dakin. + +Adds a new test that verifies media controls show up when pausing a small autoplayed video. Also adds mechanisms +for simulating basic user interaction in VideoControlsManager. + +* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: +* TestWebKitAPI/Tests/WebKit2Cocoa/VideoControlsManager.mm: +(-[WKWebView mouseDownAtPoint:]): +(-[DidPlayMessageHandler userContentController:didReceiveScriptMessage:]): +(-[OnLoadMessageHandler initWithWKWebView:handler:]): +(-[OnLoadMessageHandler userContentController:didReceiveScriptMessage:]): +(TestWebKitAPI::TEST): +* TestWebKitAPI/Tests/WebKit2Cocoa/autoplaying-video-with-audio.html: Added. + 2016-07-20 Per Arne Vollan [Win] MathML fonts are not found. Modified: trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj (203463 => 203464) --- trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2016-07-20 19:21:51 UTC (rev 203463) +++ trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj 2016-07-20 19:25:16 UTC (rev 203464) @@ -51,6 +51,7 @@ 2D51A0C71C8BF00C00765C45 /* DOMHTMLVideoElementWrapper.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2D51A0C51C8BF00400765C45 /* DOMHTMLVideoElementWrapper.mm */; }; 2DC4CF771D2D9DD800ECCC94 /* DataDetection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DC4CF761D2D9DD800ECCC94 /* DataDetection.mm */; }; 2DD7D3AF178227B30026E1E3 /* lots-of-text-vertical-lr.html in Copy Resources */ = {isa = PBXBuildFile; fileRef = 2DD7D3AE178227AC0026E1E3 /* lots-of-text-vertical-lr.html */; }; + 2E14A5291D3FE96B0010F35B /* autoplaying-video-with-audio.html in Copy Resources */
[webkit-changes] [203463] trunk
Title: [203463] trunk Revision 203463 Author cdu...@apple.com Date 2016-07-20 12:21:51 -0700 (Wed, 20 Jul 2016) Log Message Fix null handling of HTMLMediaElement.mediaGroup https://bugs.webkit.org/show_bug.cgi?id=159974 Reviewed by Eric Carlson. LayoutTests/imported/w3c: Rebaseline now that more checks are passing. * web-platform-tests/html/dom/reflection-embedded-expected.txt: Source/WebCore: Fix null handling of HTMLMediaElement.mediaGroup to match the specification: - https://www.w3.org/TR/html5/embedded-content-0.html#media-elements null is supposed to be treated as the String "null". This patch aligns our behavior with the specification. I tested Firefox and Chrome but both do not have this attribute on HTMLMediaElement. Also remove support for [TreatNullAs=LegacyNullString] from our bindings generator as HTMLMediaElement.mediaGroup was the last user. No new tests, rebaselined existing test. * bindings/scripts/CodeGeneratorJS.pm: (JSValueToNative): * bindings/scripts/IDLAttributes.txt: * html/HTMLMediaElement.idl: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt trunk/Source/WebCore/html/HTMLMediaElement.idl Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (203462 => 203463) --- trunk/LayoutTests/imported/w3c/ChangeLog 2016-07-20 18:59:22 UTC (rev 203462) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2016-07-20 19:21:51 UTC (rev 203463) @@ -1,3 +1,14 @@ +2016-07-20 Chris Dumez + +Fix null handling of HTMLMediaElement.mediaGroup +https://bugs.webkit.org/show_bug.cgi?id=159974 + +Reviewed by Eric Carlson. + +Rebaseline now that more checks are passing. + +* web-platform-tests/html/dom/reflection-embedded-expected.txt: + 2016-07-19 Chris Dumez Fix null handling of several HTMLDocument attributes Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt (203462 => 203463) --- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 18:59:22 UTC (rev 203462) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 19:21:51 UTC (rev 203463) @@ -8596,8 +8596,8 @@ PASS video.mediaGroup: IDL set to "\0" followed by getAttribute() PASS video.mediaGroup: IDL set to "\0" followed by IDL get PASS video.mediaGroup: IDL set to null should not throw -FAIL video.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null -FAIL video.mediaGroup: IDL set to null followed by IDL get assert_equals: expected "null" but got "" +PASS video.mediaGroup: IDL set to null followed by getAttribute() +PASS video.mediaGroup: IDL set to null followed by IDL get PASS video.mediaGroup: IDL set to object "test-toString" should not throw PASS video.mediaGroup: IDL set to object "test-toString" followed by getAttribute() PASS video.mediaGroup: IDL set to object "test-toString" followed by IDL get @@ -10227,8 +10227,8 @@ PASS audio.mediaGroup: IDL set to "\0" followed by getAttribute() PASS audio.mediaGroup: IDL set to "\0" followed by IDL get PASS audio.mediaGroup: IDL set to null should not throw -FAIL audio.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null -FAIL audio.mediaGroup: IDL set to null followed by IDL get assert_equals: expected "null" but got "" +PASS audio.mediaGroup: IDL set to null followed by getAttribute() +PASS audio.mediaGroup: IDL set to null followed by IDL get PASS audio.mediaGroup: IDL set to object "test-toString" should not throw PASS audio.mediaGroup: IDL set to object "test-toString" followed by getAttribute() PASS audio.mediaGroup: IDL set to object "test-toString" followed by IDL get Modified: trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt (203462 => 203463) --- trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 18:59:22 UTC (rev 203462) +++ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 19:21:51 UTC (rev 203463) @@ -8596,8 +8596,8 @@ PASS video.mediaGroup: IDL set to "\0" followed by getAttribute() PASS video.mediaGroup: IDL set to "\0" followed by IDL get PASS video.mediaGroup: IDL set to null should not throw -FAIL video.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null -FAIL video.m
[webkit-changes] [203462] trunk/Source/WebKit2
Title: [203462] trunk/Source/WebKit2 Revision 203462 Author timothy_hor...@apple.com Date 2016-07-20 11:59:22 -0700 (Wed, 20 Jul 2016) Log Message Explain the default value of WKWebViewConfiguration's ignoresViewportScaleLimits https://bugs.webkit.org/show_bug.cgi?id=159978 Reviewed by Dan Bernstein. * UIProcess/API/Cocoa/WKWebViewConfiguration.h: This defaults to NO. Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h Diff Modified: trunk/Source/WebKit2/ChangeLog (203461 => 203462) --- trunk/Source/WebKit2/ChangeLog 2016-07-20 18:10:18 UTC (rev 203461) +++ trunk/Source/WebKit2/ChangeLog 2016-07-20 18:59:22 UTC (rev 203462) @@ -1,3 +1,14 @@ +2016-07-20 Tim Horton + +Explain the default value of WKWebViewConfiguration's ignoresViewportScaleLimits +https://bugs.webkit.org/show_bug.cgi?id=159978 + + +Reviewed by Dan Bernstein. + +* UIProcess/API/Cocoa/WKWebViewConfiguration.h: +This defaults to NO. + 2016-07-20 Carlos Garcia Campos [Linux] MemoryPressureMonitor fallback code to get memory available in older linux kernels doesn't work Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h (203461 => 203462) --- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h 2016-07-20 18:10:18 UTC (rev 203461) +++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h 2016-07-20 18:59:22 UTC (rev 203462) @@ -184,6 +184,7 @@ /*! @abstract A Boolean value indicating whether the WKWebView should always allow scaling of the web page, regardless of author intent. @discussion This will override the user-scalable property. + The default value is NO. */ @property (nonatomic) BOOL ignoresViewportScaleLimits WK_API_AVAILABLE(ios(WK_IOS_TBA)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203461] releases/Apple
Title: [203461] releases/Apple Revision 203461 Author m...@apple.com Date 2016-07-20 11:10:18 -0700 (Wed, 20 Jul 2016) Log Message Added a tag for Safari Technology Preview release 9. Added Paths releases/Apple/Safari Technology Preview 9/ releases/Apple/Safari Technology Preview 9/ANGLE/ releases/Apple/Safari Technology Preview 9/_javascript_Core/ releases/Apple/Safari Technology Preview 9/WTF/ releases/Apple/Safari Technology Preview 9/WebCore/ releases/Apple/Safari Technology Preview 9/WebInspectorUI/ releases/Apple/Safari Technology Preview 9/WebKit/ releases/Apple/Safari Technology Preview 9/WebKit2/ releases/Apple/Safari Technology Preview 9/bmalloc/ Diff Index: releases/Apple/Safari Technology Preview 9/ANGLE === --- tags/Safari-602.1.41/Source/ThirdParty/ANGLE 2016-07-20 18:01:26 UTC (rev 203460) +++ releases/Apple/Safari Technology Preview 9/ANGLE 2016-07-20 18:10:18 UTC (rev 203461) Property changes: releases/Apple/Safari Technology Preview 9/ANGLE Added: allow-tabs +true \ No newline at end of property Added: svn:mergeinfo +/trunk/Source/ThirdParty/ANGLE:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 9/_javascript_Core === --- tags/Safari-602.1.41/Source/_javascript_Core 2016-07-20 18:01:26 UTC (rev 203460) +++ releases/Apple/Safari Technology Preview 9/_javascript_Core 2016-07-20 18:10:18 UTC (rev 203461) Property changes: releases/Apple/Safari Technology Preview 9/_javascript_Core Added: svn:mergeinfo +/trunk/Source/_javascript_Core:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 9/WTF === --- tags/Safari-602.1.41/Source/WTF 2016-07-20 18:01:26 UTC (rev 203460) +++ releases/Apple/Safari Technology Preview 9/WTF 2016-07-20 18:10:18 UTC (rev 203461) Property changes: releases/Apple/Safari Technology Preview 9/WTF Added: svn:mergeinfo +/trunk/Source/WTF:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 9/WebInspectorUI === --- tags/Safari-602.1.41/Source/WebInspectorUI 2016-07-20 18:01:26 UTC (rev 203460) +++ releases/Apple/Safari Technology Preview 9/WebInspectorUI 2016-07-20 18:10:18 UTC (rev 203461) Property changes: releases/Apple/Safari Technology Preview 9/WebInspectorUI Added: svn:mergeinfo +/trunk/Source/WebInspectorUI:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 9/WebKit2 === --- tags/Safari-602.1.41/Source/WebKit2 2016-07-20 18:01:26 UTC (rev 203460) +++ releases/Apple/Safari Technology Preview 9/WebKit2 2016-07-20 18:10:18 UTC (rev 203461) Property changes: releases/Apple/Safari Technology Preview 9/WebKit2 Added: svn:mergeinfo +/trunk/Source/WebKit2:53455 \ No newline at end of property Index: releases/Apple/Safari Technology Preview 9/bmalloc === --- tags/Safari-602.1.41/Source/bmalloc 2016-07-20 18:01:26 UTC (rev 203460) +++ releases/Apple/Safari Technology Preview 9/bmalloc 2016-07-20 18:10:18 UTC (rev 203461) Property changes: releases/Apple/Safari Technology Preview 9/bmalloc Added: svn:mergeinfo +/trunk/Source/bmalloc:53455 \ No newline at end of property ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [203460] trunk
Title: [203460] trunk Revision 203460 Author cdu...@apple.com Date 2016-07-20 11:01:26 -0700 (Wed, 20 Jul 2016) Log Message CSSStyleDeclaration.setProperty() should be able to unset "important" on a property https://bugs.webkit.org/show_bug.cgi?id=159959 Reviewed by Alexey Proskuryakov. Source/WebCore: CSSStyleDeclaration.setProperty() should be able to unsert "important" on a property as per the latest specification: - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-setproperty - https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-camel-cased-attribute Firefox and Chrome match the specification here but WebKit was ignoring calls to setProperty() if there is already an "important" property wit this name and if the new property does not have the "important" flag set. This behavior was added a long time ago via Bug 60007. However, it does not match the latest specification or other browsers. Test: fast/css/CSSStyleDeclaration-setProperty-unset-important.html * css/StyleProperties.cpp: (WebCore::MutableStyleProperties::addParsedProperty): Drop code that was added via Bug 60007 as this behavior no longer matches the specification or other browsers. The layout test added in Bug 60007 fails in other browsers and was updated in this patch to match the specification. LayoutTests: * fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt: Added. * fast/css/CSSStyleDeclaration-setProperty-unset-important.html: Added. Add layout test coverage. * fast/css/important-js-override.html: The test covered our 'wrong' behavior and was failing in Firefox / Chrome. I updated the test to match the behavior in the specification. The test now passed in Chrome and Firefox. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/css/important-js-override.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/StyleProperties.cpp Added Paths trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important.html Diff Modified: trunk/LayoutTests/ChangeLog (203459 => 203460) --- trunk/LayoutTests/ChangeLog 2016-07-20 17:55:53 UTC (rev 203459) +++ trunk/LayoutTests/ChangeLog 2016-07-20 18:01:26 UTC (rev 203460) @@ -1,3 +1,19 @@ +2016-07-20 Chris Dumez + +CSSStyleDeclaration.setProperty() should be able to unset "important" on a property +https://bugs.webkit.org/show_bug.cgi?id=159959 + +Reviewed by Alexey Proskuryakov. + +* fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt: Added. +* fast/css/CSSStyleDeclaration-setProperty-unset-important.html: Added. +Add layout test coverage. + +* fast/css/important-js-override.html: +The test covered our 'wrong' behavior and was failing in Firefox / Chrome. +I updated the test to match the behavior in the specification. The test +now passed in Chrome and Firefox. + 2016-07-20 Commit Queue Unreviewed, rolling out r203423. Added: trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt (0 => 203460) --- trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt (rev 0) +++ trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important-expected.txt 2016-07-20 18:01:26 UTC (rev 203460) @@ -0,0 +1,15 @@ +Test that CSSStyleDeclaration.setProperty() can unset the 'important' flag + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +div.style.setProperty('color', 'red', 'important') +PASS div.style.getPropertyValue('color') is "red" +PASS div.style.getPropertyPriority('color') is "important" +div.style.setProperty('color', 'green', null) +PASS div.style.getPropertyValue('color') is "green" +PASS div.style.getPropertyPriority('color') is "" +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important.html (0 => 203460) --- trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important.html (rev 0) +++ trunk/LayoutTests/fast/css/CSSStyleDeclaration-setProperty-unset-important.html 2016-07-20 18:01:26 UTC (rev 203460) @@ -0,0 +1,19 @@ + + + + +description("Test that CSSStyleDeclaration.setProperty() can unset the 'important' flag"); + +var div = document.createElement("div"); +evalAndLog("div.style.setProperty('color', 'red', 'important')"); +shouldBeEqualToString("div.style.getPropertyValue('color')", "red"); +shouldBeEqualToString("div.style.getPropertyPriority('color')", "important"); + +evalAndLog("div.style.setProperty('color', 'green', null)"); +shouldBeEqualToString("div.style.getPropertyValue('color')", "green"); +shouldBeEqualToString("div.style.getPropertyPriority('color')", ""); + + +