[webkit-changes] [210538] trunk/LayoutTests

2017-01-09 Thread rniwa
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

2017-01-09 Thread utatane . tea
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

2017-01-09 Thread cdumez
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

2017-01-09 Thread utatane . tea
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

2017-01-09 Thread zalan
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

2017-01-09 Thread ryanhaddad
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

2017-01-09 Thread cdumez
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

2017-01-09 Thread bfulgham
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

2017-01-09 Thread fpizlo
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

2017-01-09 Thread bshafiei
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

2017-01-09 Thread bshafiei
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

2017-01-09 Thread bshafiei
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/

2017-01-09 Thread bshafiei
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

2017-01-09 Thread enrica
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

2017-01-09 Thread timothy_horton
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

2017-01-09 Thread clopez
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

2017-01-09 Thread utatane . tea
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

2017-01-09 Thread commit-queue
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

2017-01-09 Thread aestes
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

2017-01-09 Thread commit-queue
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

2017-01-09 Thread commit-queue
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

2017-01-09 Thread bdakin
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;
+}
+
+
+
+
+
+
+
+ +