[webkit-changes] [210538] trunk/LayoutTests
Title: [210538] trunk/LayoutTests
Revision 210538
Author rn...@webkit.org
Date 2017-01-09 23:02:20 -0800 (Mon, 09 Jan 2017)
Log Message
Add an iOS test for tapping on a text node assigned to a slot
https://bugs.webkit.org/show_bug.cgi?id=166877
Reviewed by Andy Estes.
Add a test for tapping on a text node assigned to a slot.
touchstart event must be fired on a parent of the slot with a touch event handler.
* TestExpectations:
* fast/shadow-dom/touch-event-on-text-assigned-to-slot-expected.txt: Added.
* fast/shadow-dom/touch-event-on-text-assigned-to-slot.html: Added.
* resources/ui-helper.js:
(window.UIHelper.tapAt): Added.
Modified Paths
trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/platform/ios-simulator/TestExpectations
trunk/LayoutTests/resources/ui-helper.js
Added Paths
trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot-expected.txt
trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot.html
Diff
Modified: trunk/LayoutTests/ChangeLog (210537 => 210538)
--- trunk/LayoutTests/ChangeLog 2017-01-10 05:58:19 UTC (rev 210537)
+++ trunk/LayoutTests/ChangeLog 2017-01-10 07:02:20 UTC (rev 210538)
@@ -1,3 +1,19 @@
+2017-01-09 Ryosuke Niwa
+
+Add an iOS test for tapping on a text node assigned to a slot
+https://bugs.webkit.org/show_bug.cgi?id=166877
+
+Reviewed by Andy Estes.
+
+Add a test for tapping on a text node assigned to a slot.
+touchstart event must be fired on a parent of the slot with a touch event handler.
+
+* TestExpectations:
+* fast/shadow-dom/touch-event-on-text-assigned-to-slot-expected.txt: Added.
+* fast/shadow-dom/touch-event-on-text-assigned-to-slot.html: Added.
+* resources/ui-helper.js:
+(window.UIHelper.tapAt): Added.
+
2017-01-09 Yusuke Suzuki
Implement JSSourceCode to propagate SourceCode in module pipeline
Modified: trunk/LayoutTests/TestExpectations (210537 => 210538)
--- trunk/LayoutTests/TestExpectations 2017-01-10 05:58:19 UTC (rev 210537)
+++ trunk/LayoutTests/TestExpectations 2017-01-10 07:02:20 UTC (rev 210538)
@@ -33,6 +33,8 @@
media/controls/ipad [ Skip ]
fast/text-autosizing [ Skip ]
+fast/shadow-dom/touch-event-on-text-assigned-to-slot.html [ Skip ]
+
fast/forms/attributed-strings.html [ Skip ]
fast/scrolling/latching [ Skip ]
Added: trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot-expected.txt (0 => 210538)
--- trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot-expected.txt (rev 0)
+++ trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot-expected.txt 2017-01-10 07:02:20 UTC (rev 210538)
@@ -0,0 +1,4 @@
+Tests for tapping on a text node assigned to a slot. touchstart should fire on the slot.
+
+Tap here
+PASS
Added: trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot.html (0 => 210538)
--- trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot.html (rev 0)
+++ trunk/LayoutTests/fast/shadow-dom/touch-event-on-text-assigned-to-slot.html 2017-01-10 07:02:20 UTC (rev 210538)
@@ -0,0 +1,29 @@
+
+
+
+Tests for tapping on a text node assigned to a slot. touchstart should fire on the slot.
+Tap here
+
+
+
+var target = document.getElementById('target');
+var result = document.getElementById('result');
+
+let shadowRoot = target.attachShadow({mode: 'closed'});
+shadowRoot.innerHTML = ` `;
+shadowRoot.querySelector('span').addEventListener('touchstart', (event) => {
+result.textContent = 'PASS';
+});
+
+if (window.testRunner) {
+testRunner.dumpAsText();
+UIHelper.wait(UIHelper.tapAt(target.offsetLeft + 5, target.offsetTop + 5).then(() => {
+if (!result.textContent)
+result.textContent = 'FAIL';
+}));
+}
+
+
+
+
Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (210537 => 210538)
--- trunk/LayoutTests/platform/ios-simulator/TestExpectations 2017-01-10 05:58:19 UTC (rev 210537)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations 2017-01-10 07:02:20 UTC (rev 210538)
@@ -141,6 +141,7 @@
# No touch events
fast/events/touch [ Skip ]
fast/shadow-dom/touch-event-ios.html [ Skip ]
+fast/shadow-dom/touch-event-on-text-assigned-to-slot.html [ Skip ]
http/tests/quicklook/at-import-stylesheet-blocked.html [ Skip ]
http/tests/quicklook/base-url-blocked.html [ Skip ]
http/tests/quicklook/cross-origin-iframe-blocked.html [ Skip ]
Modified: trunk/LayoutTests/resources/ui-helper.js (210537 => 210538)
--- trunk/LayoutTests/resources/ui-helper.js 2017-01-10 05:58:19 UTC (rev 210537)
+++ trunk/LayoutTests/resources/ui-helper.js 2017-01-10 07:02:20 UTC (rev 210538)
@@ -10,6 +10,26 @@
return window.testRunner.isWebKit2;
}
+static tapAt(x, y)
+{
+console.assert(this.isIOS());
+
+if (!this.isWebKit2()) {
+event
[webkit-changes] [210537] trunk
Title: [210537] trunk Revision 210537 Author utatane@gmail.com Date 2017-01-09 21:58:19 -0800 (Mon, 09 Jan 2017) Log Message Implement JSSourceCode to propagate SourceCode in module pipeline https://bugs.webkit.org/show_bug.cgi?id=166861 Reviewed by Saam Barati. Source/_javascript_Core: Instead of propagating source code string, we propagate JSSourceCode cell in the module pipeline. This allows us to attach a metadata to the propagated source code string. In particular, it propagates SourceOrigin through the module pipeline. * CMakeLists.txt: * _javascript_Core.xcodeproj/project.pbxproj: * builtins/ModuleLoaderPrototype.js: (fulfillFetch): (requestFetch): * jsc.cpp: (GlobalObject::moduleLoaderFetch): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LowLevelInterpreter.asm: * runtime/Completion.cpp: (JSC::loadAndEvaluateModule): (JSC::loadModule): * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::provide): * runtime/JSModuleLoader.h: * runtime/JSSourceCode.cpp: Added. (JSC::JSSourceCode::destroy): * runtime/JSSourceCode.h: Added. (JSC::JSSourceCode::createStructure): (JSC::JSSourceCode::create): (JSC::JSSourceCode::sourceCode): (JSC::JSSourceCode::JSSourceCode): * runtime/JSType.h: * runtime/ModuleLoaderPrototype.cpp: (JSC::moduleLoaderPrototypeParseModule): * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: Source/WebCore: Now SourceOrigin is correctly propagated through the module pipeline. So the error reported by http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.html is updated. * ForwardingHeaders/runtime/JSSourceCode.h: Added. * bindings/js/JSDOMPromise.h: (WebCore::DeferredPromise::resolveWithCallback): * bindings/js/ScriptModuleLoader.cpp: (WebCore::ScriptModuleLoader::notifyFinished): LayoutTests: * http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt trunk/Source/_javascript_Core/CMakeLists.txt trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj trunk/Source/_javascript_Core/builtins/ModuleLoaderPrototype.js trunk/Source/_javascript_Core/jsc.cpp trunk/Source/_javascript_Core/llint/LLIntData.cpp trunk/Source/_javascript_Core/llint/LowLevelInterpreter.asm trunk/Source/_javascript_Core/runtime/Completion.cpp trunk/Source/_javascript_Core/runtime/JSModuleLoader.cpp trunk/Source/_javascript_Core/runtime/JSModuleLoader.h trunk/Source/_javascript_Core/runtime/JSType.h trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp trunk/Source/_javascript_Core/runtime/VM.cpp trunk/Source/_javascript_Core/runtime/VM.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMPromise.h trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp Added Paths trunk/Source/_javascript_Core/runtime/JSSourceCode.cpp trunk/Source/_javascript_Core/runtime/JSSourceCode.h trunk/Source/WebCore/ForwardingHeaders/runtime/JSSourceCode.h Diff Modified: trunk/LayoutTests/ChangeLog (210536 => 210537) --- trunk/LayoutTests/ChangeLog 2017-01-10 05:04:36 UTC (rev 210536) +++ trunk/LayoutTests/ChangeLog 2017-01-10 05:58:19 UTC (rev 210537) @@ -1,3 +1,12 @@ +2017-01-09 Yusuke Suzuki + +Implement JSSourceCode to propagate SourceCode in module pipeline +https://bugs.webkit.org/show_bug.cgi?id=166861 + +Reviewed by Saam Barati. + +* http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt: + 2017-01-09 Chris Dumez REGRESSION(r189555): ImageDocument title no longer includes the size of the image Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt (210536 => 210537) --- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt 2017-01-10 05:04:36 UTC (rev 210536) +++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/module-eval-blocked-expected.txt 2017-01-10 05:58:19 UTC (rev 210537) @@ -1,37 +1,37 @@ -CONSOLE MESSAGE: line 1: EvalError: Refused to evaluate a string as _javascript_ because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'unsafe-inline'". +CONSOLE MESSAGE: line 16: EvalError: Refused to evaluate a string as _javascript_ because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'unsafe-inline'". -CONSOLE MESSAGE: line 1: EvalError: Refused to evaluate a string as _javascript_ because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'unsafe-inline'". +CONSOLE MESSAGE: line 17: EvalError: Refused to evaluate a string as _javascript_ because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive: "script-src 'unsafe-inline'"
[webkit-changes] [210536] trunk
Title: [210536] trunk Revision 210536 Author cdu...@apple.com Date 2017-01-09 21:04:36 -0800 (Mon, 09 Jan 2017) Log Message REGRESSION(r189555): ImageDocument title no longer includes the size of the image https://bugs.webkit.org/show_bug.cgi?id=166876 Reviewed by Tim Horton. Source/WebCore: ImageDocument title no longer included the size of the image after r189555. This is because Document::setTitle() is a no-op if the document does not have a element. To address the issue, we now include a element in ImageDocuments so that their title element properly gets added to it. Test: fast/images/imageDocument-title.html * html/ImageDocument.cpp: (WebCore::ImageDocument::createDocumentStructure): LayoutTests: Add layout test coverage. * fast/images/imageDocument-title-expected.txt: Added. * fast/images/imageDocument-title.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/ImageDocument.cpp Added Paths trunk/LayoutTests/fast/images/imageDocument-title-expected.txt trunk/LayoutTests/fast/images/imageDocument-title.html Diff Modified: trunk/LayoutTests/ChangeLog (210535 => 210536) --- trunk/LayoutTests/ChangeLog 2017-01-10 04:19:43 UTC (rev 210535) +++ trunk/LayoutTests/ChangeLog 2017-01-10 05:04:36 UTC (rev 210536) @@ -1,3 +1,16 @@ +2017-01-09 Chris Dumez + +REGRESSION(r189555): ImageDocument title no longer includes the size of the image +https://bugs.webkit.org/show_bug.cgi?id=166876 + + +Reviewed by Tim Horton. + +Add layout test coverage. + +* fast/images/imageDocument-title-expected.txt: Added. +* fast/images/imageDocument-title.html: Added. + 2017-01-09 Zalan Bujtas ASSERTION FAILED: newLogicalTop >= logicalTop in WebCore::RenderBlockFlow::getClearDelta Added: trunk/LayoutTests/fast/images/imageDocument-title-expected.txt (0 => 210536) --- trunk/LayoutTests/fast/images/imageDocument-title-expected.txt (rev 0) +++ trunk/LayoutTests/fast/images/imageDocument-title-expected.txt 2017-01-10 05:04:36 UTC (rev 210536) @@ -0,0 +1,11 @@ +Tests that the title of an ImageDocument is properly set. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS f.contentDocument.title is "green-24x24.jpg 24×24 pixels" +PASS f.contentDocument.head.getElementsByTagName('title')[0].textContent is "green-24x24.jpg 24×24 pixels" +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/images/imageDocument-title.html (0 => 210536) --- trunk/LayoutTests/fast/images/imageDocument-title.html (rev 0) +++ trunk/LayoutTests/fast/images/imageDocument-title.html 2017-01-10 05:04:36 UTC (rev 210536) @@ -0,0 +1,24 @@ + + + + + + + +description("Tests that the title of an ImageDocument is properly set."); +jsTestIsAsync = true; + +var f = document.createElement("iframe"); +f._onload_ = function() { +shouldBeEqualToString("f.contentDocument.title", "green-24x24.jpg 24×24 pixels"); +shouldBeEqualToString("f.contentDocument.head.getElementsByTagName('title')[0].textContent", "green-24x24.jpg 24×24 pixels"); +finishJSTest(); +} + +f.src = "" +document.body.appendChild(f); + +
[webkit-changes] [210535] trunk/Source/JavaScriptCore
Title: [210535] trunk/Source/_javascript_Core Revision 210535 Author utatane@gmail.com Date 2017-01-09 20:19:43 -0800 (Mon, 09 Jan 2017) Log Message REGRESSION (r210522): ASSERTION FAILED: divot.offset >= divotStart.offset seen with stress/import-basic.js and stress/import-from-eval.js https://bugs.webkit.org/show_bug.cgi?id=166873 Reviewed by Saam Barati. The divot should be the end of `import` token. * parser/Parser.cpp: (JSC::Parser::parseMemberExpression): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/parser/Parser.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (210534 => 210535) --- trunk/Source/_javascript_Core/ChangeLog 2017-01-10 02:17:19 UTC (rev 210534) +++ trunk/Source/_javascript_Core/ChangeLog 2017-01-10 04:19:43 UTC (rev 210535) @@ -1,3 +1,15 @@ +2017-01-09 Yusuke Suzuki + +REGRESSION (r210522): ASSERTION FAILED: divot.offset >= divotStart.offset seen with stress/import-basic.js and stress/import-from-eval.js +https://bugs.webkit.org/show_bug.cgi?id=166873 + +Reviewed by Saam Barati. + +The divot should be the end of `import` token. + +* parser/Parser.cpp: +(JSC::Parser::parseMemberExpression): + 2017-01-09 Filip Pizlo Unreviewed, fix cloop. Modified: trunk/Source/_javascript_Core/parser/Parser.cpp (210534 => 210535) --- trunk/Source/_javascript_Core/parser/Parser.cpp 2017-01-10 02:17:19 UTC (rev 210534) +++ trunk/Source/_javascript_Core/parser/Parser.cpp 2017-01-10 04:19:43 UTC (rev 210535) @@ -4385,8 +4385,8 @@ } } } else if (baseIsImport) { +next(); JSTextPosition expressionEnd = lastTokenEndPosition(); -next(); consumeOrFail(OPENPAREN, "import call expects exactly one argument"); TreeExpression expr = parseAssignmentExpression(context); failIfFalse(expr, "Cannot parse _expression_"); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [210534] trunk
Title: [210534] trunk Revision 210534 Author za...@apple.com Date 2017-01-09 18:17:19 -0800 (Mon, 09 Jan 2017) Log Message ASSERTION FAILED: newLogicalTop >= logicalTop in WebCore::RenderBlockFlow::getClearDelta https://bugs.webkit.org/show_bug.cgi?id=151202 Reviewed by Myles C. Maxfield. Source/WebCore: FindNextFloatLogicalBottomAdapter uses LayoutUnit::max() to flag m_nextLogicalBottom uninitialized. However LayoutUnit::max() can also be a valid value for m_nextLogicalBottom. FindNextFloatLogicalBottomAdapter::nextLogicalBottom() returns 0 instead of the actual value when it sees m_nextLogicalBottom uninitialized. In certain cases, it confuses the caller and we end up with a runaway loop. Test: fast/block/float/assert-when-line-has-not-enough-space-left.html * rendering/FloatingObjects.cpp: (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter): (WebCore::FindNextFloatLogicalBottomAdapter::highValue): (WebCore::FindNextFloatLogicalBottomAdapter::nextLogicalBottom): (WebCore::FindNextFloatLogicalBottomAdapter::nextShapeLogicalBottom): (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded): LayoutTests: * fast/block/float/assert-when-line-has-not-enough-space-left-expected.txt: Added. * fast/block/float/assert-when-line-has-not-enough-space-left.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/FloatingObjects.cpp Added Paths trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left-expected.txt trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left.html Diff Modified: trunk/LayoutTests/ChangeLog (210533 => 210534) --- trunk/LayoutTests/ChangeLog 2017-01-10 01:28:53 UTC (rev 210533) +++ trunk/LayoutTests/ChangeLog 2017-01-10 02:17:19 UTC (rev 210534) @@ -1,3 +1,14 @@ +2017-01-09 Zalan Bujtas + +ASSERTION FAILED: newLogicalTop >= logicalTop in WebCore::RenderBlockFlow::getClearDelta +https://bugs.webkit.org/show_bug.cgi?id=151202 + + +Reviewed by Myles C. Maxfield. + +* fast/block/float/assert-when-line-has-not-enough-space-left-expected.txt: Added. +* fast/block/float/assert-when-line-has-not-enough-space-left.html: Added. + 2017-01-09 Tim Horton Unindenting text inside a blockquote can result in the text being reordered Added: trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left-expected.txt (0 => 210534) --- trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left-expected.txt (rev 0) +++ trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left-expected.txt 2017-01-10 02:17:19 UTC (rev 210534) @@ -0,0 +1,2 @@ +PASS if no crash or hang. + Added: trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left.html (0 => 210534) --- trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left.html (rev 0) +++ trunk/LayoutTests/fast/block/float/assert-when-line-has-not-enough-space-left.html 2017-01-10 02:17:19 UTC (rev 210534) @@ -0,0 +1,22 @@ + + + +This tests that we can handle float placement even when the float takes over the entire line. + +th { +margin: 1px; +} +tr, th { +float: left; +} + + +if (window.testRunner) +testRunner.dumpAsText(); + + + +PASS if no crash or hang. + + + Modified: trunk/Source/WebCore/ChangeLog (210533 => 210534) --- trunk/Source/WebCore/ChangeLog 2017-01-10 01:28:53 UTC (rev 210533) +++ trunk/Source/WebCore/ChangeLog 2017-01-10 02:17:19 UTC (rev 210534) @@ -1,3 +1,26 @@ +2017-01-09 Zalan Bujtas + +ASSERTION FAILED: newLogicalTop >= logicalTop in WebCore::RenderBlockFlow::getClearDelta +https://bugs.webkit.org/show_bug.cgi?id=151202 + + +Reviewed by Myles C. Maxfield. + +FindNextFloatLogicalBottomAdapter uses LayoutUnit::max() to flag m_nextLogicalBottom uninitialized. +However LayoutUnit::max() can also be a valid value for m_nextLogicalBottom. +FindNextFloatLogicalBottomAdapter::nextLogicalBottom() returns 0 instead of the actual value when +it sees m_nextLogicalBottom uninitialized. In certain cases, it confuses the caller and we end up +with a runaway loop. + +Test: fast/block/float/assert-when-line-has-not-enough-space-left.html + +* rendering/FloatingObjects.cpp: +(WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter): +(WebCore::FindNextFloatLogicalBottomAdapter::highValue): +(WebCore::FindNextFloatLogicalBottomAdapter::nextLogicalBottom): +(WebCore::FindNextFloatLogicalBottomAdapter::nextShapeLogicalBottom): +(WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded): + 2017-01-09 Ryan Haddad Unreviewed, rolling out r210531. Modified: trunk/Source/WebCore/rendering/FloatingObjects.cp
[webkit-changes] [210533] trunk
Title: [210533] trunk Revision 210533 Author ryanhad...@apple.com Date 2017-01-09 17:28:53 -0800 (Mon, 09 Jan 2017) Log Message Unreviewed, rolling out r210531. This change broke the 32-bit macOS build and caused LayoutTest failures. Reverted changeset: "File scheme should not allow access of a resource on a different volume." https://bugs.webkit.org/show_bug.cgi?id=158552 http://trac.webkit.org/changeset/210531 Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/SecurityOrigin.cpp trunk/Source/WebCore/page/SecurityOrigin.h trunk/Source/WebCore/platform/FileSystem.cpp trunk/Source/WebCore/platform/FileSystem.h trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm trunk/Source/WebCore/platform/posix/FileSystemPOSIX.cpp trunk/Source/WebCore/platform/win/FileSystemWin.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Removed Paths trunk/Tools/TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html trunk/Tools/TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm Diff Modified: trunk/Source/WebCore/ChangeLog (210532 => 210533) --- trunk/Source/WebCore/ChangeLog 2017-01-10 00:46:04 UTC (rev 210532) +++ trunk/Source/WebCore/ChangeLog 2017-01-10 01:28:53 UTC (rev 210533) @@ -1,3 +1,17 @@ +2017-01-09 Ryan Haddad + +Unreviewed, rolling out r210531. + +This change broke the 32-bit macOS build and caused LayoutTest +failures. + +Reverted changeset: + +"File scheme should not allow access of a resource on a +different volume." +https://bugs.webkit.org/show_bug.cgi?id=158552 +http://trac.webkit.org/changeset/210531 + 2017-01-09 Chris Dumez [iOS] Drop VNodeTracker Modified: trunk/Source/WebCore/page/SecurityOrigin.cpp (210532 => 210533) --- trunk/Source/WebCore/page/SecurityOrigin.cpp 2017-01-10 00:46:04 UTC (rev 210532) +++ trunk/Source/WebCore/page/SecurityOrigin.cpp 2017-01-10 01:28:53 UTC (rev 210533) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2017 Apple Inc. All rights reserved. + * Copyright (C) 2007-2016 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -229,22 +229,19 @@ } if (canAccess && isLocal()) -canAccess = passesFileCheck(*other); + canAccess = passesFileCheck(other); return canAccess; } -bool SecurityOrigin::passesFileCheck(const SecurityOrigin& other) const +bool SecurityOrigin::passesFileCheck(const SecurityOrigin* other) const { -ASSERT(isLocal() && other.isLocal()); +ASSERT(isLocal() && other->isLocal()); -if (!filesHaveSameVolume(m_filePath, other.m_filePath)) -return false; - -if (!m_enforceFilePathSeparation && !other.m_enforceFilePathSeparation) +if (!m_enforceFilePathSeparation && !other->m_enforceFilePathSeparation) return true; -return (m_filePath == other.m_filePath); +return (m_filePath == other->m_filePath); } bool SecurityOrigin::canRequest(const URL& url) const @@ -307,11 +304,6 @@ if (m_universalAccess) return true; -if (isLocal() && url.isLocalFile()) { -if (!filesHaveSameVolume(m_filePath, url.path())) -return false; -} - if (isFeedWithNestedProtocolInHTTPFamily(url)) return true; @@ -531,7 +523,7 @@ if (m_port != other->m_port) return false; -if (isLocal() && !passesFileCheck(*other)) +if (isLocal() && !passesFileCheck(other)) return false; return true; Modified: trunk/Source/WebCore/page/SecurityOrigin.h (210532 => 210533) --- trunk/Source/WebCore/page/SecurityOrigin.h 2017-01-10 00:46:04 UTC (rev 210532) +++ trunk/Source/WebCore/page/SecurityOrigin.h 2017-01-10 01:28:53 UTC (rev 210533) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2017 Apple Inc. All rights reserved. + * Copyright (C) 2007, 2008 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -208,7 +208,7 @@ explicit SecurityOrigin(const SecurityOrigin*); // FIXME: Rename this function to something more semantic. -bool passesFileCheck(const SecurityOrigin&) const; +bool passesFileCheck(const SecurityOrigin*) const; // This method checks that the scheme for this origin is an HTTP-family // scheme, e.g. HTTP and HTTPS. Modified: trunk/Source/WebCore/platform/FileSystem.cpp (210532 => 210533) --- trunk/Source/WebCore/platform/FileSystem.cpp 2017-01-10 00:46:04 UTC (rev 210532) +++ trunk/Source/WebCore/platform/FileSystem.cpp 2017-01-10 01:28:53 UTC (rev 210533) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2017 Apple Inc. All rights reserved. + * Copyright (C) 2007, 2011 Apple Inc. All rights reserved. * Copyright (C) 2015 Canon Inc. All rights reserved. * * Red
[webkit-changes] [210532] trunk/Source
Title: [210532] trunk/Source Revision 210532 Author cdu...@apple.com Date 2017-01-09 16:46:04 -0800 (Mon, 09 Jan 2017) Log Message [iOS] Drop VNodeTracker https://bugs.webkit.org/show_bug.cgi?id=166868 Reviewed by Andreas Kling. Source/WebCore: Drop VNodeTracker on iOS. This was introduced a while back to try and address vnode exhaustion issues in long running page load tests. However, there was no evidence that the VNodeTracker functionality helped so there is little point in keeping the extra code complexity. * WebCore.xcodeproj/project.pbxproj: * platform/SharedBuffer.h: * platform/VNodeTracker.cpp: Removed. * platform/VNodeTracker.h: Removed. * platform/cf/SharedBufferCF.cpp: (WebCore::SharedBuffer::SharedBuffer): * platform/cocoa/VNodeTrackerCocoa.cpp: Removed. Source/WebKit2: * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PlatformMac.cmake trunk/Source/WebCore/PlatformWin.cmake trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/platform/SharedBuffer.h trunk/Source/WebCore/platform/cf/SharedBufferCF.cpp trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/WebProcess/cocoa/WebProcessCocoa.mm Removed Paths trunk/Source/WebCore/platform/VNodeTracker.cpp trunk/Source/WebCore/platform/VNodeTracker.h trunk/Source/WebCore/platform/cocoa/VNodeTrackerCocoa.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (210531 => 210532) --- trunk/Source/WebCore/ChangeLog 2017-01-10 00:32:24 UTC (rev 210531) +++ trunk/Source/WebCore/ChangeLog 2017-01-10 00:46:04 UTC (rev 210532) @@ -1,3 +1,24 @@ +2017-01-09 Chris Dumez + +[iOS] Drop VNodeTracker +https://bugs.webkit.org/show_bug.cgi?id=166868 + + +Reviewed by Andreas Kling. + +Drop VNodeTracker on iOS. This was introduced a while back to try and +address vnode exhaustion issues in long running page load tests. +However, there was no evidence that the VNodeTracker functionality +helped so there is little point in keeping the extra code complexity. + +* WebCore.xcodeproj/project.pbxproj: +* platform/SharedBuffer.h: +* platform/VNodeTracker.cpp: Removed. +* platform/VNodeTracker.h: Removed. +* platform/cf/SharedBufferCF.cpp: +(WebCore::SharedBuffer::SharedBuffer): +* platform/cocoa/VNodeTrackerCocoa.cpp: Removed. + 2017-01-09 Brent Fulgham File scheme should not allow access of a resource on a different volume. Modified: trunk/Source/WebCore/PlatformMac.cmake (210531 => 210532) --- trunk/Source/WebCore/PlatformMac.cmake 2017-01-10 00:32:24 UTC (rev 210531) +++ trunk/Source/WebCore/PlatformMac.cmake 2017-01-10 00:46:04 UTC (rev 210532) @@ -288,7 +288,6 @@ platform/LocalizedStrings.cpp platform/RuntimeApplicationChecks.mm platform/ScrollableArea.cpp -platform/VNodeTracker.cpp platform/audio/AudioSession.cpp @@ -331,7 +330,6 @@ platform/cocoa/SystemVersion.mm platform/cocoa/TelephoneNumberDetectorCocoa.cpp platform/cocoa/ThemeCocoa.mm -platform/cocoa/VNodeTrackerCocoa.cpp platform/cocoa/WebCoreNSErrorExtras.mm platform/crypto/commoncrypto/CryptoDigestCommonCrypto.cpp Modified: trunk/Source/WebCore/PlatformWin.cmake (210531 => 210532) --- trunk/Source/WebCore/PlatformWin.cmake 2017-01-10 00:32:24 UTC (rev 210531) +++ trunk/Source/WebCore/PlatformWin.cmake 2017-01-10 00:46:04 UTC (rev 210532) @@ -61,7 +61,6 @@ platform/KillRingNone.cpp platform/LocalizedStrings.cpp platform/StaticPasteboard.cpp -platform/VNodeTracker.cpp platform/audio/PlatformMediaSessionManager.cpp Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (210531 => 210532) --- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2017-01-10 00:32:24 UTC (rev 210531) +++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj 2017-01-10 00:46:04 UTC (rev 210532) @@ -1746,14 +1746,11 @@ 46B63F6C1C6E8D19002E914B /* JSEventTargetCustom.h in Headers */ = {isa = PBXBuildFile; fileRef = 46B63F6B1C6E8CDF002E914B /* JSEventTargetCustom.h */; settings = {ATTRIBUTES = (Private, ); }; }; 46C83EFD1A9BBE2900A79A41 /* GeoNotifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46C83EFB1A9BBE2900A79A41 /* GeoNotifier.cpp */; }; 46C83EFE1A9BBE2900A79A41 /* GeoNotifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 46C83EFC1A9BBE2900A79A41 /* GeoNotifier.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 46DB7D571B20FE46005651B2 /* VNodeTrackerCocoa.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 46DB7D561B20FE3C005651B2 /* VNodeTrackerCocoa.cpp */; }; 46DBB6501AB8C96F00D9A813 /* PowerObserverMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DBB64E1AB8C96F00D9A813 /* PowerObserverMac.h */; }; 46DFF4981DC2603100B80B48 /* ShadowRootMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 46DFF4961DC2601300B80
[webkit-changes] [210531] trunk
Title: [210531] trunk Revision 210531 Author bfulg...@apple.com Date 2017-01-09 16:32:24 -0800 (Mon, 09 Jan 2017) Log Message File scheme should not allow access of a resource on a different volume. https://bugs.webkit.org/show_bug.cgi?id=158552 Reviewed by Alex Christensen. Source/WebCore: Revise SecurityOrigin to prevent files from one storage device (volume) from accessing content on a different storage device (volume) unless universal access is enabled. Pass the current file device as part of the NSURLRequest so that CFNetwork can reject loads where the device changes in the midst of a load. Also properly reflect that SecurityOrigin is never null by passing as a reference, rather than as a pointer. Tests: Tools/TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm * page/SecurityOrigin.cpp: (WebCore::SecurityOrigin::canAccess): Pass argument as reference. (WebCore::SecurityOrigin::passesFileCheck): Add check that file URLs refer to files in the same storage volume. (WebCore::SecurityOrigin::canDisplay): Add check that files share the same volume. (WebCore::SecurityOrigin::isSameSchemeHostPort): Pass argument as reference. * page/SecurityOrigin.h: * platform/FileSystem.cpp: (WebCore::filesHaveSameVolume): Added. * platform/FileSystem.h: * platform/network/cocoa/ResourceRequestCocoa.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest): If loading a file URL, tell CFNetwork the storage device at the time of the start of the load so we can trigger a failure if this changes during the load operation. * platform/posix/FileSystemPOSIX.cpp: (WebCore::getFileDeviceId): Added. * platform/win/FileSystemWin.cpp: (WebCore::getFileDeviceId): Added. Tools: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add new files. * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html: Added. * TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/SecurityOrigin.cpp trunk/Source/WebCore/page/SecurityOrigin.h trunk/Source/WebCore/platform/FileSystem.cpp trunk/Source/WebCore/platform/FileSystem.h trunk/Source/WebCore/platform/network/cocoa/ResourceRequestCocoa.mm trunk/Source/WebCore/platform/posix/FileSystemPOSIX.cpp trunk/Source/WebCore/platform/win/FileSystemWin.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj Added Paths trunk/Tools/TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.html trunk/Tools/TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm Diff Modified: trunk/Source/WebCore/ChangeLog (210530 => 210531) --- trunk/Source/WebCore/ChangeLog 2017-01-10 00:15:11 UTC (rev 210530) +++ trunk/Source/WebCore/ChangeLog 2017-01-10 00:32:24 UTC (rev 210531) @@ -1,3 +1,41 @@ +2017-01-09 Brent Fulgham + +File scheme should not allow access of a resource on a different volume. +https://bugs.webkit.org/show_bug.cgi?id=158552 + + +Reviewed by Alex Christensen. + +Revise SecurityOrigin to prevent files from one storage device (volume) from accessing content +on a different storage device (volume) unless universal access is enabled. + +Pass the current file device as part of the NSURLRequest so that CFNetwork can reject loads +where the device changes in the midst of a load. + +Also properly reflect that SecurityOrigin is never null by passing as a reference, +rather than as a pointer. + +Tests: Tools/TestWebKitAPI/Tests/mac/CrossPartitionFileSchemeAccess.mm + +* page/SecurityOrigin.cpp: +(WebCore::SecurityOrigin::canAccess): Pass argument as reference. +(WebCore::SecurityOrigin::passesFileCheck): Add check that file URLs refer to files in +the same storage volume. +(WebCore::SecurityOrigin::canDisplay): Add check that files share the same volume. +(WebCore::SecurityOrigin::isSameSchemeHostPort): Pass argument as reference. +* page/SecurityOrigin.h: +* platform/FileSystem.cpp: +(WebCore::filesHaveSameVolume): Added. +* platform/FileSystem.h: +* platform/network/cocoa/ResourceRequestCocoa.mm: +(WebCore::ResourceRequest::doUpdatePlatformRequest): If loading a file URL, tell CFNetwork +the storage device at the time of the start of the load so we can trigger a failure if this +changes during the load operation. +* platform/posix/FileSystemPOSIX.cpp: +(WebCore::getFileDeviceId): Added. +* platform/win/FileSystemWin.cpp: +(WebCore::getFileDeviceId): Added. + 2017-01-09 Tim Horton Unindenting text inside a blockquote can result in the text being reordered Modified: trunk/Source/WebCore/page/SecurityOrigin.cpp (210530 => 210531) --- trunk/Source/WebCore/page/SecurityOrigin.cpp 2017-01-10 00:15:11 UTC (rev 210530) +++ trunk/Source/WebCore/page/SecurityOrigin.cpp 2017-01-10 00:32:24 UTC (rev 210531) @@ -1,5 +1
[webkit-changes] [210530] trunk/Source/JavaScriptCore
Title: [210530] trunk/Source/_javascript_Core Revision 210530 Author fpi...@apple.com Date 2017-01-09 16:15:11 -0800 (Mon, 09 Jan 2017) Log Message Unreviewed, fix cloop. * dfg/DFGPlanInlines.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGPlanInlines.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (210529 => 210530) --- trunk/Source/_javascript_Core/ChangeLog 2017-01-10 00:11:05 UTC (rev 210529) +++ trunk/Source/_javascript_Core/ChangeLog 2017-01-10 00:15:11 UTC (rev 210530) @@ -1,3 +1,9 @@ +2017-01-09 Filip Pizlo + +Unreviewed, fix cloop. + +* dfg/DFGPlanInlines.h: + 2017-01-09 Yusuke Suzuki [JSC] Prototype dynamic-import Modified: trunk/Source/_javascript_Core/dfg/DFGPlanInlines.h (210529 => 210530) --- trunk/Source/_javascript_Core/dfg/DFGPlanInlines.h 2017-01-10 00:11:05 UTC (rev 210529) +++ trunk/Source/_javascript_Core/dfg/DFGPlanInlines.h 2017-01-10 00:15:11 UTC (rev 210530) @@ -29,6 +29,8 @@ namespace JSC { namespace DFG { +#if ENABLE(DFG_JIT) + template void Plan::iterateCodeBlocksForGC(const Func& func) { @@ -45,5 +47,7 @@ func(profiledDFGCodeBlock); } +#endif // ENABLE(DFG_JIT) + } } // namespace JSC::DFG ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [210529] branches/safari-603-branch/Source/JavaScriptCore
Title: [210529] branches/safari-603-branch/Source/_javascript_Core Revision 210529 Author bshaf...@apple.com Date 2017-01-09 16:11:05 -0800 (Mon, 09 Jan 2017) Log Message Merge r210458. rdar://problem/29911919 Modified Paths branches/safari-603-branch/Source/_javascript_Core/API/JSVirtualMachine.mm branches/safari-603-branch/Source/_javascript_Core/API/JSVirtualMachineInternal.h branches/safari-603-branch/Source/_javascript_Core/ChangeLog Diff Modified: branches/safari-603-branch/Source/_javascript_Core/API/JSVirtualMachine.mm (210528 => 210529) --- branches/safari-603-branch/Source/_javascript_Core/API/JSVirtualMachine.mm 2017-01-09 23:58:35 UTC (rev 210528) +++ branches/safari-603-branch/Source/_javascript_Core/API/JSVirtualMachine.mm 2017-01-10 00:11:05 UTC (rev 210529) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013-2016 Apple Inc. All rights reserved. + * Copyright (C) 2013-2017 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -81,6 +81,7 @@ @implementation JSVirtualMachine { JSContextGroupRef m_group; +Lock m_externalDataMutex; NSMapTable *m_contextCache; NSMapTable *m_externalObjectGraph; NSMapTable *m_externalRememberedSet; @@ -156,6 +157,7 @@ - (void)addExternalRememberedObject:(id)object { +auto locker = holdLock(m_externalDataMutex); ASSERT([self isOldExternalObject:object]); [m_externalRememberedSet setObject:@YES forKey:object]; } @@ -175,6 +177,7 @@ if ([self isOldExternalObject:owner] && ![self isOldExternalObject:object]) [self addExternalRememberedObject:owner]; +auto externalDataMutexLocker = holdLock(m_externalDataMutex); NSMapTable *ownedObjects = [m_externalObjectGraph objectForKey:owner]; if (!ownedObjects) { NSPointerFunctionsOptions weakIDOptions = NSPointerFunctionsWeakMemory | NSPointerFunctionsObjectPersonality; @@ -202,6 +205,7 @@ JSC::JSLockHolder locker(toJS(m_group)); +auto externalDataMutexLocker = holdLock(m_externalDataMutex); NSMapTable *ownedObjects = [m_externalObjectGraph objectForKey:owner]; if (!ownedObjects) return; @@ -248,6 +252,11 @@ NSMapInsert(m_contextCache, globalContext, wrapper); } +- (Lock&)externalDataMutex +{ +return m_externalDataMutex; +} + - (NSMapTable *)externalObjectGraph { return m_externalObjectGraph; @@ -260,7 +269,7 @@ @end -void scanExternalObjectGraph(JSC::VM& vm, JSC::SlotVisitor& visitor, void* root) +static void scanExternalObjectGraph(JSC::VM& vm, JSC::SlotVisitor& visitor, void* root, bool lockAcquired) { @autoreleasepool { JSVirtualMachine *virtualMachine = [JSVMWrapperCache wrapperForJSContextGroupRef:toRef(&vm)]; @@ -267,6 +276,7 @@ if (!virtualMachine) return; NSMapTable *externalObjectGraph = [virtualMachine externalObjectGraph]; +Lock& externalDataMutex = [virtualMachine externalDataMutex]; Vector stack; stack.append(root); while (!stack.isEmpty()) { @@ -275,14 +285,29 @@ if (visitor.containsOpaqueRootTriState(nextRoot) == TrueTriState) continue; visitor.addOpaqueRoot(nextRoot); - -NSMapTable *ownedObjects = [externalObjectGraph objectForKey:static_cast(nextRoot)]; -for (id ownedObject in ownedObjects) -stack.append(static_cast(ownedObject)); + +auto appendOwnedObjects = [&] { +NSMapTable *ownedObjects = [externalObjectGraph objectForKey:static_cast(nextRoot)]; +for (id ownedObject in ownedObjects) +stack.append(static_cast(ownedObject)); +}; + +if (lockAcquired) +appendOwnedObjects(); +else { +auto locker = holdLock(externalDataMutex); +appendOwnedObjects(); +} } } } +void scanExternalObjectGraph(JSC::VM& vm, JSC::SlotVisitor& visitor, void* root) +{ +bool lockAcquired = false; +scanExternalObjectGraph(vm, visitor, root, lockAcquired); +} + void scanExternalRememberedSet(JSC::VM& vm, JSC::SlotVisitor& visitor) { @autoreleasepool { @@ -289,12 +314,15 @@ JSVirtualMachine *virtualMachine = [JSVMWrapperCache wrapperForJSContextGroupRef:toRef(&vm)]; if (!virtualMachine) return; +Lock& externalDataMutex = [virtualMachine externalDataMutex]; +auto locker = holdLock(externalDataMutex); NSMapTable *externalObjectGraph = [virtualMachine externalObjectGraph]; NSMapTable *externalRememberedSet = [virtualMachine externalRememberedSet]; for (id key in externalRememberedSet) { NSMapTable *ownedObjects = [externalObjectGraph objectForKey:key]; +bool lockAcquired = true; for (id ownedObj
[webkit-changes] [210528] tags/Safari-603.1.19.1/Source/JavaScriptCore
Title: [210528] tags/Safari-603.1.19.1/Source/_javascript_Core Revision 210528 Author bshaf...@apple.com Date 2017-01-09 15:58:35 -0800 (Mon, 09 Jan 2017) Log Message Merge r210458. rdar://problem/29911919 Modified Paths tags/Safari-603.1.19.1/Source/_javascript_Core/API/JSVirtualMachine.mm tags/Safari-603.1.19.1/Source/_javascript_Core/API/JSVirtualMachineInternal.h tags/Safari-603.1.19.1/Source/_javascript_Core/ChangeLog Diff Modified: tags/Safari-603.1.19.1/Source/_javascript_Core/API/JSVirtualMachine.mm (210527 => 210528) --- tags/Safari-603.1.19.1/Source/_javascript_Core/API/JSVirtualMachine.mm 2017-01-09 23:24:37 UTC (rev 210527) +++ tags/Safari-603.1.19.1/Source/_javascript_Core/API/JSVirtualMachine.mm 2017-01-09 23:58:35 UTC (rev 210528) @@ -1,5 +1,5 @@ /* - * Copyright (C) 2013-2016 Apple Inc. All rights reserved. + * Copyright (C) 2013-2017 Apple Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -81,6 +81,7 @@ @implementation JSVirtualMachine { JSContextGroupRef m_group; +Lock m_externalDataMutex; NSMapTable *m_contextCache; NSMapTable *m_externalObjectGraph; NSMapTable *m_externalRememberedSet; @@ -156,6 +157,7 @@ - (void)addExternalRememberedObject:(id)object { +auto locker = holdLock(m_externalDataMutex); ASSERT([self isOldExternalObject:object]); [m_externalRememberedSet setObject:@YES forKey:object]; } @@ -175,6 +177,7 @@ if ([self isOldExternalObject:owner] && ![self isOldExternalObject:object]) [self addExternalRememberedObject:owner]; +auto externalDataMutexLocker = holdLock(m_externalDataMutex); NSMapTable *ownedObjects = [m_externalObjectGraph objectForKey:owner]; if (!ownedObjects) { NSPointerFunctionsOptions weakIDOptions = NSPointerFunctionsWeakMemory | NSPointerFunctionsObjectPersonality; @@ -202,6 +205,7 @@ JSC::JSLockHolder locker(toJS(m_group)); +auto externalDataMutexLocker = holdLock(m_externalDataMutex); NSMapTable *ownedObjects = [m_externalObjectGraph objectForKey:owner]; if (!ownedObjects) return; @@ -248,6 +252,11 @@ NSMapInsert(m_contextCache, globalContext, wrapper); } +- (Lock&)externalDataMutex +{ +return m_externalDataMutex; +} + - (NSMapTable *)externalObjectGraph { return m_externalObjectGraph; @@ -260,7 +269,7 @@ @end -void scanExternalObjectGraph(JSC::VM& vm, JSC::SlotVisitor& visitor, void* root) +static void scanExternalObjectGraph(JSC::VM& vm, JSC::SlotVisitor& visitor, void* root, bool lockAcquired) { @autoreleasepool { JSVirtualMachine *virtualMachine = [JSVMWrapperCache wrapperForJSContextGroupRef:toRef(&vm)]; @@ -267,6 +276,7 @@ if (!virtualMachine) return; NSMapTable *externalObjectGraph = [virtualMachine externalObjectGraph]; +Lock& externalDataMutex = [virtualMachine externalDataMutex]; Vector stack; stack.append(root); while (!stack.isEmpty()) { @@ -275,14 +285,29 @@ if (visitor.containsOpaqueRootTriState(nextRoot) == TrueTriState) continue; visitor.addOpaqueRoot(nextRoot); - -NSMapTable *ownedObjects = [externalObjectGraph objectForKey:static_cast(nextRoot)]; -for (id ownedObject in ownedObjects) -stack.append(static_cast(ownedObject)); + +auto appendOwnedObjects = [&] { +NSMapTable *ownedObjects = [externalObjectGraph objectForKey:static_cast(nextRoot)]; +for (id ownedObject in ownedObjects) +stack.append(static_cast(ownedObject)); +}; + +if (lockAcquired) +appendOwnedObjects(); +else { +auto locker = holdLock(externalDataMutex); +appendOwnedObjects(); +} } } } +void scanExternalObjectGraph(JSC::VM& vm, JSC::SlotVisitor& visitor, void* root) +{ +bool lockAcquired = false; +scanExternalObjectGraph(vm, visitor, root, lockAcquired); +} + void scanExternalRememberedSet(JSC::VM& vm, JSC::SlotVisitor& visitor) { @autoreleasepool { @@ -289,12 +314,15 @@ JSVirtualMachine *virtualMachine = [JSVMWrapperCache wrapperForJSContextGroupRef:toRef(&vm)]; if (!virtualMachine) return; +Lock& externalDataMutex = [virtualMachine externalDataMutex]; +auto locker = holdLock(externalDataMutex); NSMapTable *externalObjectGraph = [virtualMachine externalObjectGraph]; NSMapTable *externalRememberedSet = [virtualMachine externalRememberedSet]; for (id key in externalRememberedSet) { NSMapTable *ownedObjects = [externalObjectGraph objectForKey:key]; +bool lockAcquired = true; for (id ownedObject in ownedObjects) -
[webkit-changes] [210527] tags/Safari-603.1.19.1/Source
Title: [210527] tags/Safari-603.1.19.1/Source Revision 210527 Author bshaf...@apple.com Date 2017-01-09 15:24:37 -0800 (Mon, 09 Jan 2017) Log Message Versioning. Modified Paths tags/Safari-603.1.19.1/Source/_javascript_Core/Configurations/Version.xcconfig tags/Safari-603.1.19.1/Source/WebCore/Configurations/Version.xcconfig tags/Safari-603.1.19.1/Source/WebInspectorUI/Configurations/Version.xcconfig tags/Safari-603.1.19.1/Source/WebKit/mac/Configurations/Version.xcconfig tags/Safari-603.1.19.1/Source/WebKit2/Configurations/Version.xcconfig Diff Modified: tags/Safari-603.1.19.1/Source/_javascript_Core/Configurations/Version.xcconfig (210526 => 210527) --- tags/Safari-603.1.19.1/Source/_javascript_Core/Configurations/Version.xcconfig 2017-01-09 23:22:50 UTC (rev 210526) +++ tags/Safari-603.1.19.1/Source/_javascript_Core/Configurations/Version.xcconfig 2017-01-09 23:24:37 UTC (rev 210527) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 19; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-603.1.19.1/Source/WebCore/Configurations/Version.xcconfig (210526 => 210527) --- tags/Safari-603.1.19.1/Source/WebCore/Configurations/Version.xcconfig 2017-01-09 23:22:50 UTC (rev 210526) +++ tags/Safari-603.1.19.1/Source/WebCore/Configurations/Version.xcconfig 2017-01-09 23:24:37 UTC (rev 210527) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 19; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-603.1.19.1/Source/WebInspectorUI/Configurations/Version.xcconfig (210526 => 210527) --- tags/Safari-603.1.19.1/Source/WebInspectorUI/Configurations/Version.xcconfig 2017-01-09 23:22:50 UTC (rev 210526) +++ tags/Safari-603.1.19.1/Source/WebInspectorUI/Configurations/Version.xcconfig 2017-01-09 23:24:37 UTC (rev 210527) @@ -1,9 +1,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 19; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The system version prefix is based on the current system version. SYSTEM_VERSION_PREFIX[sdk=iphone*] = 8; Modified: tags/Safari-603.1.19.1/Source/WebKit/mac/Configurations/Version.xcconfig (210526 => 210527) --- tags/Safari-603.1.19.1/Source/WebKit/mac/Configurations/Version.xcconfig 2017-01-09 23:22:50 UTC (rev 210526) +++ tags/Safari-603.1.19.1/Source/WebKit/mac/Configurations/Version.xcconfig 2017-01-09 23:24:37 UTC (rev 210527) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 19; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: tags/Safari-603.1.19.1/Source/WebKit2/Configurations/Version.xcconfig (210526 => 210527) --- tags/Safari-603.1.19.1/Source/WebKit2/Configurations/Version.xcconfig 2017-01-09 23:22:50 UTC (rev 210526) +++ tags/Safari-603.1.19.1/Source/WebKit2/Configurations/Version.xcconfig 2017-01-09 23:24:37 UTC (rev 210527) @@ -24,9 +24,9 @@ MAJOR_VERSION = 603; MINOR_VERSION = 1; TINY_VERSION = 19; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [210526] tags/Safari-603.1.19.1/
Title: [210526] tags/Safari-603.1.19.1/ Revision 210526 Author bshaf...@apple.com Date 2017-01-09 15:22:50 -0800 (Mon, 09 Jan 2017) Log Message New tag. Added Paths tags/Safari-603.1.19.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [210525] trunk/Source/WebKit2
Title: [210525] trunk/Source/WebKit2 Revision 210525 Author enr...@apple.com Date 2017-01-09 15:17:52 -0800 (Mon, 09 Jan 2017) Log Message Selection animation flashing on editable content when zooming. https://bugs.webkit.org/show_bug.cgi?id=166863 rdar://problem/29931470 Reviewed by Tim Horton. Implementing _allowAnimatedUpdateSelectionRectView and returning NO, prevents the selection animation in UIKit. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _allowAnimatedUpdateSelectionRectViews]): Modified Paths trunk/Source/WebKit2/ChangeLog trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit2/ChangeLog (210524 => 210525) --- trunk/Source/WebKit2/ChangeLog 2017-01-09 22:35:27 UTC (rev 210524) +++ trunk/Source/WebKit2/ChangeLog 2017-01-09 23:17:52 UTC (rev 210525) @@ -1,3 +1,17 @@ +2017-01-09 Enrica Casucci + +Selection animation flashing on editable content when zooming. +https://bugs.webkit.org/show_bug.cgi?id=166863 +rdar://problem/29931470 + +Reviewed by Tim Horton. + +Implementing _allowAnimatedUpdateSelectionRectView and returning NO, +prevents the selection animation in UIKit. + +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView _allowAnimatedUpdateSelectionRectViews]): + 2017-01-06 Gustavo Noronha Silva [GTK] Should support key and code properties on keyboard events Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (210524 => 210525) --- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2017-01-09 22:35:27 UTC (rev 210524) +++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm 2017-01-09 23:17:52 UTC (rev 210525) @@ -2748,6 +2748,11 @@ // Keyboard interaction // UITextInput protocol implementation +- (BOOL)_allowAnimatedUpdateSelectionRectViews +{ +return NO; +} + - (void)beginSelectionChange { [self.inputDelegate selectionWillChange:self]; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [210524] trunk
Title: [210524] trunk Revision 210524 Author timothy_hor...@apple.com Date 2017-01-09 14:35:27 -0800 (Mon, 09 Jan 2017) Log Message Unindenting text inside a blockquote can result in the text being reordered https://bugs.webkit.org/show_bug.cgi?id=166813 Reviewed by Darin Adler and Ryosuke Niwa. Test: editing/execCommand/unindent-nested-blockquote-with-inner-div.html * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::outdentParagraph): Start splitting the tree at the beginning of the content being unindented, not at the containing block flow element, which could e.g. contain other elements (or even other blockquotes). * editing/execCommand/unindent-nested-blockquote-with-inner-div-expected.txt: Added. * editing/execCommand/unindent-nested-blockquote-with-inner-div.html: Added. Old test output: secondfirst New test output: firstsecond Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/editing/IndentOutdentCommand.cpp Added Paths trunk/LayoutTests/editing/execCommand/unindent-nested-blockquote-with-inner-div-expected.txt trunk/LayoutTests/editing/execCommand/unindent-nested-blockquote-with-inner-div.html Diff Modified: trunk/LayoutTests/ChangeLog (210523 => 210524) --- trunk/LayoutTests/ChangeLog 2017-01-09 22:28:43 UTC (rev 210523) +++ trunk/LayoutTests/ChangeLog 2017-01-09 22:35:27 UTC (rev 210524) @@ -1,3 +1,18 @@ +2017-01-09 Tim Horton + +Unindenting text inside a blockquote can result in the text being reordered +https://bugs.webkit.org/show_bug.cgi?id=166813 + +Reviewed by Darin Adler and Ryosuke Niwa. + +* editing/execCommand/unindent-nested-blockquote-with-inner-div-expected.txt: Added. +* editing/execCommand/unindent-nested-blockquote-with-inner-div.html: Added. + +Old test output: +secondfirst +New test output: +firstsecond + 2017-01-09 Yusuke Suzuki [JSC] Prototype dynamic-import Added: trunk/LayoutTests/editing/execCommand/unindent-nested-blockquote-with-inner-div-expected.txt (0 => 210524) --- trunk/LayoutTests/editing/execCommand/unindent-nested-blockquote-with-inner-div-expected.txt (rev 0) +++ trunk/LayoutTests/editing/execCommand/unindent-nested-blockquote-with-inner-div-expected.txt 2017-01-09 22:35:27 UTC (rev 210524) @@ -0,0 +1,94 @@ +EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 1 of DIV > BODY > HTML > #document +EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification +EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of BLOCKQUOTE > DIV > BLOCKQUOTE > DIV > BODY > HTML > #document to 0 of BLOCKQUOTE > DIV > BLOCKQUOTE > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of #text > DIV > BODY > HTML > #document to 6 of #text > DIV > BODY > HTML > #document toDOMRange:range from 6 of #text > DIV > BODY > HTML > #document to 6 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: webViewDidChange:WebViewDidChangeNotification +EDITING DELEGATE: shouldEndEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 2 of DIV > BODY > HTML > #document +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: webViewDidEndEditing:WebViewDidEndEditingNotification +EDITING DELEGATE: shouldBeginEditingInDOMRange:range from 0 of DIV > BODY > HTML > #document to 1 of DIV > BODY > HTML > #document +EDITING DELEGATE: webViewDidBeginEditing:WebViewDidBeginEditingNotification +EDITING DELEGATE: shouldChangeSelectedDOMRange:(null) toDOMRange:range from 0 of BLOCKQUOTE > DIV > BLOCKQUOTE > DIV > BODY > HTML > #document to 0 of BLOCKQUOTE > DIV > BLOCKQUOTE > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectionNotification +EDITING DELEGATE: shouldChangeSelectedDOMRange:range from 6 of #text > DIV > BODY > HTML > #document to 6 of #text > DIV > BODY > HTML > #document toDOMRange:range from 6 of #text > DIV > BODY > HTML > #document to 6 of #text > DIV > BODY > HTML > #document affinity:NSSelectionAffinityDownstream stillSelecting:FALSE +EDITING DELEGATE: webViewDidChangeSelection:WebViewDidChangeSelectio
[webkit-changes] [210523] trunk/Tools
Title: [210523] trunk/Tools Revision 210523 Author clo...@igalia.com Date 2017-01-09 14:28:43 -0800 (Mon, 09 Jan 2017) Log Message [GTK][Wayland] Allow running the layout tests under a native Wayland environment. https://bugs.webkit.org/show_bug.cgi?id=165232 Reviewed by Michael Catanzaro. Add a new WaylandDriver to run the tests in the user current wayland session. Also merge all the configuration options for selecting the display server inside one switch --display-server=xvfb/xorg/wayland/weston (defaulting to xvfb). This switch is supported on the scripts: run-gtk-tests, run-perf-tests and run-webkit-tests. * Scripts/run-gtk-tests: Add missing logging.basicConfig() initialization for the error logger. (TestRunner._create_driver): * Scripts/webkitpy/layout_tests/run_webkit_tests.py: (parse_args): * Scripts/webkitpy/performance_tests/perftestsrunner.py: (PerfTestsRunner._parse_args): * Scripts/webkitpy/port/gtk.py: (GtkPort.__init__): (GtkPort._driver_class): (GtkPort._search_paths): * Scripts/webkitpy/port/waylanddriver.py: Added. (WaylandDriver): (WaylandDriver.check_driver): (WaylandDriver._setup_environ_for_test): (WaylandDriver._start): Modified Paths trunk/Tools/ChangeLog trunk/Tools/Scripts/run-gtk-tests trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py trunk/Tools/Scripts/webkitpy/port/gtk.py Added Paths trunk/Tools/Scripts/webkitpy/port/waylanddriver.py Diff Modified: trunk/Tools/ChangeLog (210522 => 210523) --- trunk/Tools/ChangeLog 2017-01-09 22:02:47 UTC (rev 210522) +++ trunk/Tools/ChangeLog 2017-01-09 22:28:43 UTC (rev 210523) @@ -1,3 +1,33 @@ +2017-01-09 Carlos Alberto Lopez Perez + +[GTK][Wayland] Allow running the layout tests under a native Wayland environment. +https://bugs.webkit.org/show_bug.cgi?id=165232 + +Reviewed by Michael Catanzaro. + +Add a new WaylandDriver to run the tests in the user current wayland session. + +Also merge all the configuration options for selecting the display server inside one +switch --display-server=xvfb/xorg/wayland/weston (defaulting to xvfb). + +This switch is supported on the scripts: run-gtk-tests, run-perf-tests and run-webkit-tests. + +* Scripts/run-gtk-tests: Add missing logging.basicConfig() initialization for the error logger. +(TestRunner._create_driver): +* Scripts/webkitpy/layout_tests/run_webkit_tests.py: +(parse_args): +* Scripts/webkitpy/performance_tests/perftestsrunner.py: +(PerfTestsRunner._parse_args): +* Scripts/webkitpy/port/gtk.py: +(GtkPort.__init__): +(GtkPort._driver_class): +(GtkPort._search_paths): +* Scripts/webkitpy/port/waylanddriver.py: Added. +(WaylandDriver): +(WaylandDriver.check_driver): +(WaylandDriver._setup_environ_for_test): +(WaylandDriver._start): + 2017-01-09 Andy Estes [QuickLook] Add a layout test for webkit.org/b/135651 Modified: trunk/Tools/Scripts/run-gtk-tests (210522 => 210523) --- trunk/Tools/Scripts/run-gtk-tests 2017-01-09 22:02:47 UTC (rev 210522) +++ trunk/Tools/Scripts/run-gtk-tests 2017-01-09 22:28:43 UTC (rev 210523) @@ -17,6 +17,7 @@ # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, # Boston, MA 02110-1301, USA. +import logging import subprocess import os import sys @@ -209,10 +210,7 @@ return True def _create_driver(self, port_options=[]): -if self._options.use_wayland: -self._port._wayland = True -else: -self._port._nativexorg = not self._options.use_xvfb +self._port._display_server = self._options.display_server driver = self._port.create_driver(worker_number=0, no_timeout=True)._make_driver(pixel_tests=False) if not driver.check_driver(self._port): raise RuntimeError("Failed to check driver %s" %driver.__class__.__name__) @@ -486,11 +484,12 @@ option_parser.add_option('-t', '--timeout', action='', type='int', dest='timeout', default=10, help='Time in seconds until a test times out') -option_parser.add_option('--no-xvfb', action='', dest='use_xvfb', default=True, - help='Do not run tests under Xvfb') -option_parser.add_option('--wayland', action='', dest='use_wayland', default=False, - help='Run the layout tests inside a (virtualized) weston') +option_parser.add_option('--display-server', choices=['xvfb', 'xorg', 'weston', 'wayland'], default='xvfb', + help='"xvfb": Use a virtualized X11 server. "xorg": Use the current X11 session. ' + '"weston": Use a virtualized Weston server. "wayland": Use the current wayland session.'), options, args = option_parser.parse_args() +logging.b
[webkit-changes] [210522] trunk
Title: [210522] trunk Revision 210522 Author utatane@gmail.com Date 2017-01-09 14:02:47 -0800 (Mon, 09 Jan 2017) Log Message [JSC] Prototype dynamic-import https://bugs.webkit.org/show_bug.cgi?id=165724 Reviewed by Saam Barati. JSTests: * stress/import-basic.js: Added. (async.async.load): (async): (catch): * stress/import-from-eval.js: Added. (async): (catch): * stress/import-syntax.js: Added. (testSyntaxError): * stress/import-tests/cocoa.js: Added. (export.Cocoa): (export.hello): * stress/import-tests/multiple.js: Added. (export.result): * stress/import-tests/multiple2.js: Added. (export.ok): * stress/import-tests/should.js: Added. (export.shouldBe): (export.shouldThrow): * stress/modules-syntax-error.js: Source/_javascript_Core: In this patch, we implement stage3 dynamic-import proposal[1]. This patch adds a new special operator `import`. And by using it, we can import the module dynamically from modules and scripts. Before this feature, the module is always imported statically and before executing the modules, importing the modules needs to be done. And especially, the module can only be imported from the module. So the classic script cannot import and use the modules. This dynamic-import relaxes the above restrictions. The typical dynamic-import form is the following. import("...").then(function (namespace) { ... }); You can pass any AssignmentExpression for the import operator. So you can determine the importing modules dynamically. import(value).then(function (namespace) { ... }); And previously the module import declaration is only allowed in the top level statements. But this import operator is just an _expression_. So you can use it in the function. And you can use it conditionally. async function go(cond) { if (cond) return import("..."); return undefined; } await go(true); Currently, this patch just implements this feature only for the JSC shell. JSC module loader requires a new hook, `importModule`. And the JSC shell implements this hook. So, for now, this dynamic-import is not available in the browser side. If you write this `import` call, it always returns the rejected promise. import is implemented like a special operator similar to `super`. This is because import is context-sensitive. If you call the `import`, the module key resolution is done based on the caller's running context. For example, if you are running the script which filename is "./ok/hello.js", the module key for the call`import("./resource/syntax.js")` becomes `"./ok/resource/syntax.js"`. But if you write the completely same import form in the script "./error/hello.js", the key becomes "./error/resource/syntax.js". So exposing this feature as the `import` function is misleading: this function becomes caller's context-sensitive. That's why dynamic-import is specified as a special operator. To resolve the module key, we need the caller's context information like the filename of the caller. This is provided by the SourceOrigin implemented in r210149. In the JSC shell implementation, this SourceOrigin holds the filename of the caller. So based on this implementation, the module loader resolve the module key. In the near future, we will extend this SourceOrigin to hold more information needed for the browser-side import implementation. [1]: https://tc39.github.io/proposal-dynamic-import/ * builtins/ModuleLoaderPrototype.js: (importModule): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitGetTemplateObject): (JSC::BytecodeGenerator::emitGetGlobalPrivate): * bytecompiler/BytecodeGenerator.h: * bytecompiler/NodesCodegen.cpp: (JSC::ImportNode::emitBytecode): * jsc.cpp: (absolutePath): (GlobalObject::moduleLoaderImportModule): (functionRun): (functionLoad): (functionCheckSyntax): (runWithScripts): * parser/ASTBuilder.h: (JSC::ASTBuilder::createImportExpr): * parser/NodeConstructors.h: (JSC::ImportNode::ImportNode): * parser/Nodes.h: (JSC::ExpressionNode::isImportNode): * parser/Parser.cpp: (JSC::Parser::parseMemberExpression): * parser/SyntaxChecker.h: (JSC::SyntaxChecker::createImportExpr): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSGlobalObjectFunctions.cpp: (JSC::globalFuncImportModule): * runtime/JSGlobalObjectFunctions.h: * runtime/JSModuleLoader.cpp: (JSC::JSModuleLoader::importModule): (JSC::JSModuleLoader::getModuleNamespaceObject): * runtime/JSModuleLoader.h: * runtime/ModuleLoaderPrototype.cpp: (JSC::moduleLoaderPrototypeGetModuleNamespaceObject): Source/WebCore: We do not set a handler for import for now. So dynamic import feature is only enabled in the JSC shell right now. * bindings/js/JSDOMWindowBase.cpp: * bindings/js/JSWorkerGlobalScopeBase.cpp: LayoutTests: * sputnik/Conformance/07_Lexical_Conventions/7.5_Tokens/7.5.3_Future_Reserved_Words/S7.5.3_A1.16-expected.txt: Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/stress/modules-syntax-error.js trunk/La
[webkit-changes] [210520] trunk/Source/WebInspectorUI
Title: [210520] trunk/Source/WebInspectorUI Revision 210520 Author commit-qu...@webkit.org Date 2017-01-09 13:31:50 -0800 (Mon, 09 Jan 2017) Log Message Unreviewed, rolling out r210260. https://bugs.webkit.org/show_bug.cgi?id=166860 new colorpicker UI doesn't seem to work in trunk, investigating offline (Requested by brrian on #webkit). Reverted changeset: "Web Inspector: color picker should feature an editable CSS value" https://bugs.webkit.org/show_bug.cgi?id=124356 http://trac.webkit.org/changeset/210260 Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.css trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (210519 => 210520) --- trunk/Source/WebInspectorUI/ChangeLog 2017-01-09 21:31:02 UTC (rev 210519) +++ trunk/Source/WebInspectorUI/ChangeLog 2017-01-09 21:31:50 UTC (rev 210520) @@ -1,3 +1,18 @@ +2017-01-09 Commit Queue + +Unreviewed, rolling out r210260. +https://bugs.webkit.org/show_bug.cgi?id=166860 + +new colorpicker UI doesn't seem to work in trunk, +investigating offline (Requested by brrian on #webkit). + +Reverted changeset: + +"Web Inspector: color picker should feature an editable CSS +value" +https://bugs.webkit.org/show_bug.cgi?id=124356 +http://trac.webkit.org/changeset/210260 + 2017-01-06 Commit Queue Unreviewed, rolling out r210110. Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.css (210519 => 210520) --- trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.css 2017-01-09 21:31:02 UTC (rev 210519) +++ trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.css 2017-01-09 21:31:50 UTC (rev 210520) @@ -26,7 +26,7 @@ .color-picker { position: relative; width: 256px; -height: 236px; +height: 210px; padding: 5px; } @@ -53,27 +53,3 @@ .color-picker > .opacity { left: 238px; } - -.color-picker > .color-inputs { -display: flex; -justify-content: space-between; -top: 212px; -right: 0; -left: 0; -} - -.color-picker > .color-inputs > div { -display: flex; -align-items: center; -width: 100%; -margin: 0 4px; -} - -.color-picker > .color-inputs > div[hidden] { -display: none; -} - -.color-picker > .color-inputs input { -width: 100%; -margin: 0 2px; -} Modified: trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.js (210519 => 210520) --- trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.js 2017-01-09 21:31:02 UTC (rev 210519) +++ trunk/Source/WebInspectorUI/UserInterface/Views/ColorPicker.js 2017-01-09 21:31:50 UTC (rev 210520) @@ -41,49 +41,17 @@ this._opacitySlider.delegate = this; this._opacitySlider.element.classList.add("opacity"); -let colorInputsContainerElement = document.createElement("div"); -colorInputsContainerElement.classList.add("color-inputs"); - -function createColorInput(label, {min, max, step, units} = {min: 0, max: 1, step: 0.01}) { -let containerElement = colorInputsContainerElement.createChild("div"); - -containerElement.append(label); - -let numberInputElement = containerElement.createChild("input"); -numberInputElement.type = "number"; -numberInputElement.min = min; -numberInputElement.max = max; -numberInputElement.step = step; -numberInputElement.addEventListener("input", this._handleColorInputInput.bind(this)); - -if (units && units.length) -containerElement.append(units); - -return {containerElement, numberInputElement}; -} - -this._colorInputs = new Map([ -["R", createColorInput.call(this, "R", {max: 255, step: 1})], -["G", createColorInput.call(this, "G", {max: 255, step: 1})], -["B", createColorInput.call(this, "B", {max: 255, step: 1})], -["H", createColorInput.call(this, "H", {max: 360, step: 1})], -["S", createColorInput.call(this, "S", {units: "%"})], -["L", createColorInput.call(this, "L", {units: "%"})], -["A", createColorInput.call(this, "A")] -]); - this._element = document.createElement("div"); -this._element.classList.add("color-picker"); +this._element.className = "color-picker"; this._element.appendChild(this._colorWheel.element); this._element.appendChild(this._brightnessSlider.element); this._element.appendChild(this._opacitySlider.element); -this._element.appendChild(colorInputsContainerElement); this._opacity = 0; this._opacityPattern = "url(Images/Checkers.svg)"; -this._color = WebInspector.Color.fromString("white"); +this._color = "white"; this._dontUpdateColor = false; } @@ -127,21 +
[webkit-changes] [210519] trunk
Title: [210519] trunk Revision 210519 Author aes...@apple.com Date 2017-01-09 13:31:02 -0800 (Mon, 09 Jan 2017) Log Message [QuickLook] Add a layout test for webkit.org/b/135651 https://bugs.webkit.org/show_bug.cgi?id=166855 Reviewed by Andreas Kling. Tools: * DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): Added output for errors with code WebKitErrorCannotShowURL. * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: (WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): Made the error output not specific to WebKit2 error codes. LayoutTests: * quicklook/nil-response-mime-type-expected.txt: Added. * quicklook/nil-response-mime-type.html: Added. * quicklook/resources/nil-response-mime-type.xls: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Tools/ChangeLog trunk/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp Added Paths trunk/LayoutTests/quicklook/nil-response-mime-type-expected.txt trunk/LayoutTests/quicklook/nil-response-mime-type.html trunk/LayoutTests/quicklook/resources/nil-response-mime-type.xls Diff Modified: trunk/LayoutTests/ChangeLog (210518 => 210519) --- trunk/LayoutTests/ChangeLog 2017-01-09 21:09:04 UTC (rev 210518) +++ trunk/LayoutTests/ChangeLog 2017-01-09 21:31:02 UTC (rev 210519) @@ -1,3 +1,14 @@ +2017-01-09 Andy Estes + +[QuickLook] Add a layout test for webkit.org/b/135651 +https://bugs.webkit.org/show_bug.cgi?id=166855 + +Reviewed by Andreas Kling. + +* quicklook/nil-response-mime-type-expected.txt: Added. +* quicklook/nil-response-mime-type.html: Added. +* quicklook/resources/nil-response-mime-type.xls: Added. + 2017-01-09 Beth Dakin Add a test to ensure that preventDefault on touchmove prevents scrolling Added: trunk/LayoutTests/quicklook/nil-response-mime-type-expected.txt (0 => 210519) --- trunk/LayoutTests/quicklook/nil-response-mime-type-expected.txt (rev 0) +++ trunk/LayoutTests/quicklook/nil-response-mime-type-expected.txt 2017-01-09 21:31:02 UTC (rev 210519) @@ -0,0 +1,7 @@ +frame "-->" - didStartProvisionalLoadForFrame +main frame - didFinishDocumentLoadForFrame +main frame - didHandleOnloadEventsForFrame +frame "-->" - didFailProvisionalLoadWithError +frame "-->" - (ErrorCodeCannotShowURL) +main frame - didFinishLoadForFrame + Added: trunk/LayoutTests/quicklook/nil-response-mime-type.html (0 => 210519) --- trunk/LayoutTests/quicklook/nil-response-mime-type.html (rev 0) +++ trunk/LayoutTests/quicklook/nil-response-mime-type.html 2017-01-09 21:31:02 UTC (rev 210519) @@ -0,0 +1,14 @@ + + +if (window.testRunner) { +testRunner.dumpAsText(); +testRunner.dumpFrameLoadCallbacks(); +} + + +iframe { +width: 100vw; +height: 100vh; +} + + Added: trunk/LayoutTests/quicklook/resources/nil-response-mime-type.xls (0 => 210519) --- trunk/LayoutTests/quicklook/resources/nil-response-mime-type.xls (rev 0) +++ trunk/LayoutTests/quicklook/resources/nil-response-mime-type.xls 2017-01-09 21:31:02 UTC (rev 210519) @@ -0,0 +1,7 @@ + + +The image below should not be displayed: + + + Modified: trunk/Tools/ChangeLog (210518 => 210519) --- trunk/Tools/ChangeLog 2017-01-09 21:09:04 UTC (rev 210518) +++ trunk/Tools/ChangeLog 2017-01-09 21:31:02 UTC (rev 210519) @@ -1,3 +1,17 @@ +2017-01-09 Andy Estes + +[QuickLook] Add a layout test for webkit.org/b/135651 +https://bugs.webkit.org/show_bug.cgi?id=166855 + +Reviewed by Andreas Kling. + +* DumpRenderTree/mac/FrameLoadDelegate.mm: +(-[FrameLoadDelegate webView:didFailProvisionalLoadWithError:forFrame:]): Added output for +errors with code WebKitErrorCannotShowURL. +* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: +(WTR::InjectedBundlePage::didFailProvisionalLoadWithErrorForFrame): Made the error output +not specific to WebKit2 error codes. + 2017-01-09 Antoine Quint Support webkit-test-runner key-value pairs in http tests in DumpRenderTree Modified: trunk/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm (210518 => 210519) --- trunk/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm 2017-01-09 21:09:04 UTC (rev 210518) +++ trunk/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm 2017-01-09 21:31:02 UTC (rev 210519) @@ -229,6 +229,10 @@ if (!done && gTestRunner->dumpFrameLoadCallbacks()) { NSString *string = [NSString stringWithFormat:@"%@ - didFailProvisionalLoadWithError", [frame _drt_descriptionSuitableForTestResult]]; printf("%s\n", [string UTF8String]); +if (error.code == WebKitErrorCannotShowURL) { +string = [NSString stringWithFormat:@"%@ - (ErrorCodeCannotShowURL)", [frame _drt_descriptionSuitableForTestResult]]; +printf("%s\n", [string UTF8Str
[webkit-changes] [210518] trunk
Title: [210518] trunk Revision 210518 Author commit-qu...@webkit.org Date 2017-01-09 13:09:04 -0800 (Mon, 09 Jan 2017) Log Message Unreviewed, rolling out r210476. https://bugs.webkit.org/show_bug.cgi?id=166859 "4% JSBench regression" (Requested by keith_mi_ on #webkit). Reverted changeset: "Add a slice intrinsic to the DFG/FTL" https://bugs.webkit.org/show_bug.cgi?id=166707 http://trac.webkit.org/changeset/210476 Modified Paths trunk/JSTests/ChangeLog trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/dfg/DFGAbstractInterpreterInlines.h trunk/Source/_javascript_Core/dfg/DFGByteCodeParser.cpp trunk/Source/_javascript_Core/dfg/DFGClobberize.h trunk/Source/_javascript_Core/dfg/DFGDoesGC.cpp trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp trunk/Source/_javascript_Core/dfg/DFGNode.h trunk/Source/_javascript_Core/dfg/DFGNodeType.h trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp trunk/Source/_javascript_Core/dfg/DFGSafeToExecute.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT32_64.cpp trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT64.cpp trunk/Source/_javascript_Core/ftl/FTLCapabilities.cpp trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp trunk/Source/_javascript_Core/jit/AssemblyHelpers.cpp trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp trunk/Source/_javascript_Core/runtime/ArrayPrototype.h trunk/Source/_javascript_Core/runtime/Intrinsic.h trunk/Source/_javascript_Core/runtime/JSGlobalObject.cpp trunk/Source/_javascript_Core/runtime/JSGlobalObject.h Removed Paths trunk/JSTests/stress/array-slice-intrinsic.js trunk/JSTests/stress/array-slice-jettison-on-constructor-change.js trunk/JSTests/stress/array-slice-osr-exit-2.js trunk/JSTests/stress/array-slice-osr-exit.js Diff Modified: trunk/JSTests/ChangeLog (210517 => 210518) --- trunk/JSTests/ChangeLog 2017-01-09 19:34:48 UTC (rev 210517) +++ trunk/JSTests/ChangeLog 2017-01-09 21:09:04 UTC (rev 210518) @@ -1,3 +1,16 @@ +2017-01-09 Commit Queue + +Unreviewed, rolling out r210476. +https://bugs.webkit.org/show_bug.cgi?id=166859 + +"4% JSBench regression" (Requested by keith_mi_ on #webkit). + +Reverted changeset: + +"Add a slice intrinsic to the DFG/FTL" +https://bugs.webkit.org/show_bug.cgi?id=166707 +http://trac.webkit.org/changeset/210476 + 2017-01-06 Saam Barati Add a slice intrinsic to the DFG/FTL Deleted: trunk/JSTests/stress/array-slice-intrinsic.js (210517 => 210518) --- trunk/JSTests/stress/array-slice-intrinsic.js 2017-01-09 19:34:48 UTC (rev 210517) +++ trunk/JSTests/stress/array-slice-intrinsic.js 2017-01-09 21:09:04 UTC (rev 210518) @@ -1,49 +0,0 @@ -function assert(b) { -if (!b) -throw new Error("Bad") -} -noInline(assert); - -function shallowEq(a, b) { -assert(a.length === b.length); -for (let i = 0; i < a.length; i++) -assert(a[i] === b[i]); -} -noInline(shallowEq); - -let tests = [ -[[1,2,3,4,5], [1,2,3,4,5], 0, 5], -[[1,2,3,4,5], [1,2,3,4,5], 0], -[[1,2,3,4,5], [4], -2, -1], -[[1,2,3,4,5], [5], -1], -[[1,2,3,4,5], [5], -1, 5], -[[1,2,3,4,5], [], -10, -20], -[[1,2,3,4,5], [], -20, -10], -[[1,2,3,4,5], [], 6, 4], -[[1,2,3,4,5], [], 3, 2], -[[1,2,3,4,5], [4,5], 3, 10], -[[1,2,3,4,5], [3,4,5], 2, 10], -[[1,2,3,4,5], [1,2,3,4,5], -10, 10], -[[1,2,3,4,5], [1,2,3,4,5], -5, 10], -[[1,2,3,4,5], [2,3,4,5], -4, 10], -]; - -function runTest1(a, b) { -return a.slice(b); -} -noInline(runTest1); - -function runTest2(a, b, c) { -return a.slice(b, c); -} -noInline(runTest2); - -for (let i = 0; i < 1; i++) { -for (let [input, output, ...args] of tests) { -assert(args.length === 1 || args.length === 2); -if (args.length === 1) -shallowEq(runTest1(input, args[0]), output); -else -shallowEq(runTest2(input, args[0], args[1]), output); -} -} Deleted: trunk/JSTests/stress/array-slice-jettison-on-constructor-change.js (210517 => 210518) --- trunk/JSTests/stress/array-slice-jettison-on-constructor-change.js 2017-01-09 19:34:48 UTC (rev 210517) +++ trunk/JSTests/stress/array-slice-jettison-on-constructor-change.js 2017-01-09 21:09:04 UTC (rev 210518) @@ -1,72 +0,0 @@ -function assert(b) { -if (!b) -throw new Error("Bad") -} -noInline(assert); - -let shouldBeNewConstructor = false; -const newConstructor = {}; - -function shallowEq(a, b) { -assert(a.length === b.length); -if (shouldBeNewConstructor) -assert(b.constructor === newConstructor); -for (let i = 0; i < a.length; i++) -assert(a[i] === b[i]); -} -noInline(shallowEq); - -let tests = [ -[[1,2,3,4,5], [1,2,3,4,5], 0, 5], -[[1,2,3,4,5], [1,2,3,4,5], 0], -[[1,2,3,4,5], [4], -2, -1], -[[1,2,3,4,5], [5], -1], -[[1,2,3,4,5], [5], -1, 5], -
[webkit-changes] [210517] trunk/Tools
Title: [210517] trunk/Tools Revision 210517 Author commit-qu...@webkit.org Date 2017-01-09 11:34:48 -0800 (Mon, 09 Jan 2017) Log Message Support webkit-test-runner key-value pairs in http tests in DumpRenderTree https://bugs.webkit.org/show_bug.cgi?id=166837 Patch by Antoine Quint on 2017-01-09 Reviewed by Alex Christensen. We now correctly handle the --absolutePath argument in DumpRenderTree and use the provided value when trying to determine the path to the test file. Failing that, we use the computed URL or the raw path provided to cover all cases. This was tested in the context of https://bugs.webkit.org/show_bug.cgi?id=165668 by applying this patch and seeing the number test failures dramatically reduced with WK1 due to the option to turn modern media controls off for older media controls tests. * DumpRenderTree/DumpRenderTree.h: * DumpRenderTree/DumpRenderTreeCommon.cpp: (parseInputLine): * DumpRenderTree/TestOptions.h: * DumpRenderTree/TestOptions.mm: (TestOptions::TestOptions): * DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Modified Paths trunk/Tools/ChangeLog trunk/Tools/DumpRenderTree/DumpRenderTree.h trunk/Tools/DumpRenderTree/DumpRenderTreeCommon.cpp trunk/Tools/DumpRenderTree/TestOptions.h trunk/Tools/DumpRenderTree/TestOptions.mm trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm Diff Modified: trunk/Tools/ChangeLog (210516 => 210517) --- trunk/Tools/ChangeLog 2017-01-09 19:09:23 UTC (rev 210516) +++ trunk/Tools/ChangeLog 2017-01-09 19:34:48 UTC (rev 210517) @@ -1,3 +1,28 @@ +2017-01-09 Antoine Quint + +Support webkit-test-runner key-value pairs in http tests in DumpRenderTree +https://bugs.webkit.org/show_bug.cgi?id=166837 + +Reviewed by Alex Christensen. + +We now correctly handle the --absolutePath argument in DumpRenderTree and use +the provided value when trying to determine the path to the test file. Failing +that, we use the computed URL or the raw path provided to cover all cases. + +This was tested in the context of https://bugs.webkit.org/show_bug.cgi?id=165668 +by applying this patch and seeing the number test failures dramatically reduced +with WK1 due to the option to turn modern media controls off for older media controls +tests. + +* DumpRenderTree/DumpRenderTree.h: +* DumpRenderTree/DumpRenderTreeCommon.cpp: +(parseInputLine): +* DumpRenderTree/TestOptions.h: +* DumpRenderTree/TestOptions.mm: +(TestOptions::TestOptions): +* DumpRenderTree/mac/DumpRenderTree.mm: +(runTest): + 2017-01-09 Milan Crha prepare-ChangeLog: Correct help string for --style option Modified: trunk/Tools/DumpRenderTree/DumpRenderTree.h (210516 => 210517) --- trunk/Tools/DumpRenderTree/DumpRenderTree.h 2017-01-09 19:09:23 UTC (rev 210516) +++ trunk/Tools/DumpRenderTree/DumpRenderTree.h 2017-01-09 19:34:48 UTC (rev 210517) @@ -58,6 +58,7 @@ struct TestCommand { std::string pathOrURL; +std::string absolutePath; bool shouldDumpPixels { false }; std::string expectedPixelHash; int timeout { 3 }; // in ms Modified: trunk/Tools/DumpRenderTree/DumpRenderTreeCommon.cpp (210516 => 210517) --- trunk/Tools/DumpRenderTree/DumpRenderTreeCommon.cpp 2017-01-09 19:09:23 UTC (rev 210516) +++ trunk/Tools/DumpRenderTree/DumpRenderTreeCommon.cpp 2017-01-09 19:34:48 UTC (rev 210517) @@ -105,7 +105,7 @@ } else if (arg == "--dump-jsconsolelog-in-stderr") result.dumpJSConsoleLogInStdErr = true; else if (arg == std::string("--absolutePath")) -tokenizer.next(); +result.absolutePath = tokenizer.next(); else die(inputLine); } Modified: trunk/Tools/DumpRenderTree/TestOptions.h (210516 => 210517) --- trunk/Tools/DumpRenderTree/TestOptions.h 2017-01-09 19:09:23 UTC (rev 210516) +++ trunk/Tools/DumpRenderTree/TestOptions.h 2017-01-09 19:34:48 UTC (rev 210517) @@ -24,6 +24,7 @@ */ #pragma once +#include "DumpRenderTree.h" @class NSURL; @@ -32,5 +33,5 @@ bool enableModernMediaControls { false }; bool enablePointerLock { false }; -TestOptions(NSURL *testURL); +TestOptions(NSURL*, const TestCommand&); }; Modified: trunk/Tools/DumpRenderTree/TestOptions.mm (210516 => 210517) --- trunk/Tools/DumpRenderTree/TestOptions.mm 2017-01-09 19:09:23 UTC (rev 210516) +++ trunk/Tools/DumpRenderTree/TestOptions.mm 2017-01-09 19:34:48 UTC (rev 210517) @@ -41,13 +41,17 @@ return false; } -TestOptions::TestOptions(NSURL *testURL) +TestOptions::TestOptions(NSURL *testURL, const TestCommand& command) { -if (![testURL isFileURL]) +std::string path = command.absolutePath; +if (path.empty() && [testURL isFileURL]) +path = [testURL fileSystemRepresentation]; +else +path = command.pathOrURL; + +if (path.empty()) return; -std::string path = [testURL fileSystemRepre
[webkit-changes] [210516] trunk/LayoutTests
Title: [210516] trunk/LayoutTests Revision 210516 Author bda...@apple.com Date 2017-01-09 11:09:23 -0800 (Mon, 09 Jan 2017) Log Message Add a test to ensure that preventDefault on touchmove prevents scrolling https://bugs.webkit.org/show_bug.cgi?id=166790 Reviewed by Simon Fraser. * fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt: Added. * fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling.html: Added. Modified Paths trunk/LayoutTests/ChangeLog Added Paths trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling.html Diff Modified: trunk/LayoutTests/ChangeLog (210515 => 210516) --- trunk/LayoutTests/ChangeLog 2017-01-09 18:55:09 UTC (rev 210515) +++ trunk/LayoutTests/ChangeLog 2017-01-09 19:09:23 UTC (rev 210516) @@ -1,3 +1,13 @@ +2017-01-09 Beth Dakin + +Add a test to ensure that preventDefault on touchmove prevents scrolling +https://bugs.webkit.org/show_bug.cgi?id=166790 + +Reviewed by Simon Fraser. + +* fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt: Added. +* fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling.html: Added. + 2017-01-09 Ryan Haddad Rebaseline W3C test for ios-simulator after r210468. Added: trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt (0 => 210516) --- trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt (rev 0) +++ trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling-expected.txt 2017-01-09 19:09:23 UTC (rev 210516) @@ -0,0 +1,10 @@ +Test that preventing default on touchmove will prevent scrolling in overflow:scroll. + +On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". + + +PASS document.getElementById('scroller').scrollTop is 0 +PASS successfullyParsed is true + +TEST COMPLETE + Added: trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling.html (0 => 210516) --- trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling.html (rev 0) +++ trunk/LayoutTests/fast/events/touch/ios/iphone7/prevent-default-touchmove-prevents-scrolling.html 2017-01-09 19:09:23 UTC (rev 210516) @@ -0,0 +1,99 @@ + + + +#scroller { +border: 2px solid black; +height: 400px; +overflow: scroll; +position: absolute; +} + +#big { +width: 50px; +height: 2000px; +background-color: purple; +border: 15px solid green; +} + + + + ++ ++ +