[webkit-changes] [230751] trunk

2018-04-17 Thread zandobersek
Title: [230751] trunk








Revision 230751
Author zandober...@gmail.com
Date 2018-04-17 22:45:22 -0700 (Tue, 17 Apr 2018)


Log Message
[CMake] Add and enable the ENABLE_CSS_ANIMATIONS_LEVEL_2 feature define
https://bugs.webkit.org/show_bug.cgi?id=184681

Reviewed by Carlos Garcia Campos.

.:

* Source/cmake/WebKitFeatures.cmake: Add the ENABLE_CSS_ANIMATIONS_LEVEL_2
feature define. Follow Cocoa ports and enable it by default.

Source/WebCore:

* Sources.txt: Include CSSAnimationTriggerScrollValue.cpp in the build.
* WebCore.xcodeproj/project.pbxproj: Remove CSSAnimationTriggerScrollValue.cpp
build target now that it's built via Sources.txt.

Modified Paths

trunk/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Sources.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/cmake/WebKitFeatures.cmake




Diff

Modified: trunk/ChangeLog (230750 => 230751)

--- trunk/ChangeLog	2018-04-18 05:43:26 UTC (rev 230750)
+++ trunk/ChangeLog	2018-04-18 05:45:22 UTC (rev 230751)
@@ -1,3 +1,13 @@
+2018-04-17  Zan Dobersek  
+
+[CMake] Add and enable the ENABLE_CSS_ANIMATIONS_LEVEL_2 feature define
+https://bugs.webkit.org/show_bug.cgi?id=184681
+
+Reviewed by Carlos Garcia Campos.
+
+* Source/cmake/WebKitFeatures.cmake: Add the ENABLE_CSS_ANIMATIONS_LEVEL_2
+feature define. Follow Cocoa ports and enable it by default.
+
 2018-04-15  Michael Catanzaro  
 
 [WPE] Install files needed for WebKitWebExtensions


Modified: trunk/Source/WebCore/ChangeLog (230750 => 230751)

--- trunk/Source/WebCore/ChangeLog	2018-04-18 05:43:26 UTC (rev 230750)
+++ trunk/Source/WebCore/ChangeLog	2018-04-18 05:45:22 UTC (rev 230751)
@@ -1,5 +1,16 @@
 2018-04-17  Zan Dobersek  
 
+[CMake] Add and enable the ENABLE_CSS_ANIMATIONS_LEVEL_2 feature define
+https://bugs.webkit.org/show_bug.cgi?id=184681
+
+Reviewed by Carlos Garcia Campos.
+
+* Sources.txt: Include CSSAnimationTriggerScrollValue.cpp in the build.
+* WebCore.xcodeproj/project.pbxproj: Remove CSSAnimationTriggerScrollValue.cpp
+build target now that it's built via Sources.txt.
+
+2018-04-17  Zan Dobersek  
+
 [CoordGraphics] CoordinatedImageBacking can simplify image drawing
 https://bugs.webkit.org/show_bug.cgi?id=183986
 


Modified: trunk/Source/WebCore/Sources.txt (230750 => 230751)

--- trunk/Source/WebCore/Sources.txt	2018-04-18 05:43:26 UTC (rev 230750)
+++ trunk/Source/WebCore/Sources.txt	2018-04-18 05:45:22 UTC (rev 230751)
@@ -542,6 +542,7 @@
 crypto/keys/CryptoKeyRaw.cpp
 
 css/BasicShapeFunctions.cpp
+css/CSSAnimationTriggerScrollValue.cpp
 css/CSSAspectRatioValue.cpp
 css/CSSBasicShapes.cpp
 css/CSSBorderImage.cpp


Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (230750 => 230751)

--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2018-04-18 05:43:26 UTC (rev 230750)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2018-04-18 05:45:22 UTC (rev 230751)
@@ -957,7 +957,6 @@
 		31A795C71888BCB200382F90 /* ANGLEInstancedArrays.h in Headers */ = {isa = PBXBuildFile; fileRef = 31A795C21888B72400382F90 /* ANGLEInstancedArrays.h */; };
 		31A795C81888BCB500382F90 /* ANGLEInstancedArrays.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31A795C11888B72400382F90 /* ANGLEInstancedArrays.cpp */; };
 		31AB5000122878A2001A7DB0 /* GraphicsContext3DIOS.h in Headers */ = {isa = PBXBuildFile; fileRef = 31AB4FFF122878A2001A7DB0 /* GraphicsContext3DIOS.h */; };
-		31BC742D1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31BC742B1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.cpp */; };
 		31BC742E1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 31BC742C1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.h */; };
 		31C0FF220E4CEB6E007D6FE5 /* WebKitAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C0FF1C0E4CEB6E007D6FE5 /* WebKitAnimationEvent.h */; };
 		31C0FF250E4CEB6E007D6FE5 /* WebKitTransitionEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C0FF1F0E4CEB6E007D6FE5 /* WebKitTransitionEvent.h */; };
@@ -31108,7 +31107,6 @@
 A14090FB1AA51E1D0091191A /* ContentFilterUnblockHandlerCocoa.mm in Sources */,
 07AFF4231EFB144900B545B3 /* CoreAudioCaptureSourceIOS.mm in Sources */,
 46C696CC1E7205FC00597937 /* CPUMonitor.cpp in Sources */,
-31BC742D1AAFF45C006B4340 /* CSSAnimationTriggerScrollValue.cpp in Sources */,
 1ABA76CA11D20E50004C201C /* CSSPropertyNames.cpp in Sources */,
 BE23480C18A9870B00E4B6E8 /* DataCue.cpp in Sources */,
 515BE18F1D54F5FB00DD7C68 /* EmptyGamepadProvider.cpp in Sources */,


Modified: trunk/Source/cmake/WebKitFeatures.cmake (230750 => 230751)

--- trunk/Source/cmake/WebKitFeatures.cmake	2018-04-18 05:43:26 UTC (rev 230750)
+++ 

[webkit-changes] [230750] trunk/Source/WebCore

2018-04-17 Thread zandobersek
Title: [230750] trunk/Source/WebCore








Revision 230750
Author zandober...@gmail.com
Date 2018-04-17 22:43:26 -0700 (Tue, 17 Apr 2018)


Log Message
[CoordGraphics] CoordinatedImageBacking can simplify image drawing
https://bugs.webkit.org/show_bug.cgi?id=183986

Reviewed by Michael Catanzaro.

In CoordinatedImageBacking::update(), when drawing the image into a
freshly-created image backing, we can avoid save-and-restoring the
painting context. We also don't have to clip it, since the clipping area
is the same as the image (and buffer) bounds. Since the buffer is
initialized to transparent color, we can use the CompositeCopy operator
to just copy image data into the destination since there's nothing to
paint the source over.

No new tests -- no change in functionality.

* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
(WebCore::CoordinatedImageBacking::update):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (230749 => 230750)

--- trunk/Source/WebCore/ChangeLog	2018-04-18 05:05:25 UTC (rev 230749)
+++ trunk/Source/WebCore/ChangeLog	2018-04-18 05:43:26 UTC (rev 230750)
@@ -1,3 +1,23 @@
+2018-04-17  Zan Dobersek  
+
+[CoordGraphics] CoordinatedImageBacking can simplify image drawing
+https://bugs.webkit.org/show_bug.cgi?id=183986
+
+Reviewed by Michael Catanzaro.
+
+In CoordinatedImageBacking::update(), when drawing the image into a
+freshly-created image backing, we can avoid save-and-restoring the
+painting context. We also don't have to clip it, since the clipping area
+is the same as the image (and buffer) bounds. Since the buffer is
+initialized to transparent color, we can use the CompositeCopy operator
+to just copy image data into the destination since there's nothing to
+paint the source over.
+
+No new tests -- no change in functionality.
+
+* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
+(WebCore::CoordinatedImageBacking::update):
+
 2018-04-17  Michael Catanzaro  
 
 [GTK] Webkit should spoof as Safari on a Mac for Outlook.com


Modified: trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp (230749 => 230750)

--- trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp	2018-04-18 05:05:25 UTC (rev 230749)
+++ trunk/Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp	2018-04-18 05:43:26 UTC (rev 230750)
@@ -109,11 +109,8 @@
 Nicosia::PaintingContext::paint(buffer,
 [this](GraphicsContext& context)
 {
-IntRect rect(IntPoint::zero(), IntSize(m_image->size()));
-context.save();
-context.clip(rect);
-context.drawImage(m_image, rect, rect);
-context.restore();
+IntRect rect { { }, IntSize { m_image->size() } };
+context.drawImage(m_image, rect, rect, ImagePaintingOptions(CompositeCopy));
 });
 
 m_client.updateImageBacking(m_id, WTFMove(buffer));






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230749] trunk

2018-04-17 Thread mcatanzaro
Title: [230749] trunk








Revision 230749
Author mcatanz...@igalia.com
Date 2018-04-17 22:05:25 -0700 (Tue, 17 Apr 2018)


Log Message
[GTK] Webkit should spoof as Safari on a Mac for Outlook.com
https://bugs.webkit.org/show_bug.cgi?id=184573

Reviewed by Carlos Alberto Lopez Perez.

Source/WebCore:

Add quirk for outlook.live.com.

* platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresMacintoshPlatform):

Tools:

* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/UserAgentQuirks.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (230748 => 230749)

--- trunk/Source/WebCore/ChangeLog	2018-04-18 03:31:09 UTC (rev 230748)
+++ trunk/Source/WebCore/ChangeLog	2018-04-18 05:05:25 UTC (rev 230749)
@@ -1,3 +1,15 @@
+2018-04-17  Michael Catanzaro  
+
+[GTK] Webkit should spoof as Safari on a Mac for Outlook.com
+https://bugs.webkit.org/show_bug.cgi?id=184573
+
+Reviewed by Carlos Alberto Lopez Perez.
+
+Add quirk for outlook.live.com.
+
+* platform/UserAgentQuirks.cpp:
+(WebCore::urlRequiresMacintoshPlatform):
+
 2018-04-17  Mark Lam  
 
 Templatize CodePtr/Refs/FunctionPtrs with PtrTags.


Modified: trunk/Source/WebCore/platform/UserAgentQuirks.cpp (230748 => 230749)

--- trunk/Source/WebCore/platform/UserAgentQuirks.cpp	2018-04-18 03:31:09 UTC (rev 230748)
+++ trunk/Source/WebCore/platform/UserAgentQuirks.cpp	2018-04-18 05:05:25 UTC (rev 230749)
@@ -96,8 +96,10 @@
 // Microsoft Outlook Web App forces users with WebKitGTK+'s standard user
 // agent to use the light version. Earlier versions even blocks users from
 // accessing the calendar.
-if (domain == "mail.ntu.edu.tw")
+if (domain == "outlook.live.com"
+|| domain == "mail.ntu.edu.tw") {
 return true;
+}
 
 return false;
 }


Modified: trunk/Tools/ChangeLog (230748 => 230749)

--- trunk/Tools/ChangeLog	2018-04-18 03:31:09 UTC (rev 230748)
+++ trunk/Tools/ChangeLog	2018-04-18 05:05:25 UTC (rev 230749)
@@ -1,3 +1,13 @@
+2018-04-17  Michael Catanzaro  
+
+[GTK] Webkit should spoof as Safari on a Mac for Outlook.com
+https://bugs.webkit.org/show_bug.cgi?id=184573
+
+Reviewed by Carlos Alberto Lopez Perez.
+
+* TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
+(TestWebKitAPI::TEST):
+
 2018-04-17  Fujii Hironori  
 
 [WinCairo][TestWebKitAPI] Implement PlatformWebView for TestWebKit


Modified: trunk/Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp (230748 => 230749)

--- trunk/Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp	2018-04-18 03:31:09 UTC (rev 230748)
+++ trunk/Tools/TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp	2018-04-18 05:05:25 UTC (rev 230749)
@@ -92,6 +92,7 @@
 assertUserAgentForURLHasMacPlatformQuirk("http://intl.taobao.com/");
 assertUserAgentForURLHasMacPlatformQuirk("http://www.whatsapp.com/");
 assertUserAgentForURLHasMacPlatformQuirk("http://web.whatsapp.com/");
+assertUserAgentForURLHasMacPlatformQuirk("http://outlook.live.com/");
 }
 
 } // namespace TestWebKitAPI






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230747] trunk/Source/WebKit

2018-04-17 Thread conrad_shultz
Title: [230747] trunk/Source/WebKit








Revision 230747
Author conrad_shu...@apple.com
Date 2018-04-17 20:07:10 -0700 (Tue, 17 Apr 2018)


Log Message
WebKit::DisplayLink maintains a strong reference to WebPageProxy, creating a reference cycle
https://bugs.webkit.org/show_bug.cgi?id=184718

Reviewed by Tim Horton.

It turns out that the m_webPageProxy back-reference in DisplayLink, which was creating a
reference cycle, wasn't ever read, so we can just remove it.

* UIProcess/mac/DisplayLink.cpp:
(WebKit::DisplayLink::DisplayLink):
* UIProcess/mac/DisplayLink.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp
trunk/Source/WebKit/UIProcess/mac/DisplayLink.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (230746 => 230747)

--- trunk/Source/WebKit/ChangeLog	2018-04-18 02:50:25 UTC (rev 230746)
+++ trunk/Source/WebKit/ChangeLog	2018-04-18 03:07:10 UTC (rev 230747)
@@ -1,3 +1,17 @@
+2018-04-17  Conrad Shultz  
+
+WebKit::DisplayLink maintains a strong reference to WebPageProxy, creating a reference cycle
+https://bugs.webkit.org/show_bug.cgi?id=184718
+
+Reviewed by Tim Horton.
+
+It turns out that the m_webPageProxy back-reference in DisplayLink, which was creating a
+reference cycle, wasn't ever read, so we can just remove it.
+
+* UIProcess/mac/DisplayLink.cpp:
+(WebKit::DisplayLink::DisplayLink):
+* UIProcess/mac/DisplayLink.h:
+
 2018-04-17  Wenson Hsieh  
 
 [Extra zoom mode] Double tap to zoom should account for text legibility in extra zoom mode


Modified: trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp (230746 => 230747)

--- trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp	2018-04-18 02:50:25 UTC (rev 230746)
+++ trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp	2018-04-18 03:07:10 UTC (rev 230747)
@@ -36,7 +36,6 @@
 namespace WebKit {
 
 DisplayLink::DisplayLink(WebCore::PlatformDisplayID displayID, WebPageProxy& webPageProxy)
-: m_webPageProxy(webPageProxy)
 {
 RELEASE_ASSERT(hasProcessPrivilege(ProcessPrivilege::CanCommunicateWithWindowServer));
 CVReturn error = CVDisplayLinkCreateWithCGDisplay(displayID, _displayLink);


Modified: trunk/Source/WebKit/UIProcess/mac/DisplayLink.h (230746 => 230747)

--- trunk/Source/WebKit/UIProcess/mac/DisplayLink.h	2018-04-18 02:50:25 UTC (rev 230746)
+++ trunk/Source/WebKit/UIProcess/mac/DisplayLink.h	2018-04-18 03:07:10 UTC (rev 230747)
@@ -49,7 +49,6 @@
 static CVReturn displayLinkCallback(CVDisplayLinkRef, const CVTimeStamp*, const CVTimeStamp*, CVOptionFlags, CVOptionFlags*, void* data);
 
 CVDisplayLinkRef m_displayLink { nullptr };
-Ref m_webPageProxy;
 HashSet m_observers;
 };
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230746] trunk

2018-04-17 Thread wenson_hsieh
Title: [230746] trunk








Revision 230746
Author wenson_hs...@apple.com
Date 2018-04-17 19:50:25 -0700 (Tue, 17 Apr 2018)


Log Message
[Extra zoom mode] Double tap to zoom should account for text legibility in extra zoom mode
https://bugs.webkit.org/show_bug.cgi?id=184631


Reviewed by Tim Horton.

Source/WebKit:

Implement the text legibility heuristic alluded to in r230506 by iterating through text runs in the document (up
to a maximum of 200) and building a histogram of font sizes that appear in the document, where each tally
represents a character.

The first and second text legibility zoom scales are then computed based on the zoom scales needed to
make 50% and 90% of the text legible, respectively. Here, a zoom scale that makes text legible is such that the
text would have an apparent font size of a hard-coded constant (currently, 12) after zooming. This means the
first and second text legibility scales may end up being close to one another, or even the same (in the case
where there is only a single font size in the entire document). In this case, we just snap the first scale to
the second, so that double tapping will only toggle between two zoom scales. In another case where the document
has no text (e.g. an image document), we just fall back to a zoom scale of 1.

Test: fast/events/extrazoom/double-tap-to-zoom-on-full-width-text.html

* WebProcess/WebPage/ViewGestureGeometryCollector.cpp:
(WebKit::ViewGestureGeometryCollector::computeTextLegibilityScales):

LayoutTests:

Add a layout test to check that double tap to zoom works in extra zoom mode, even when text spans the entire
width of the document.

* TestExpectations:
* fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt: Added.
* fast/events/extrazoom/double-tap-to-zoom-on-full-width-text.html: Added.
* resources/basic-gestures.js:

Add a helper method to double tap at a given location, and wait for zooming to finish.

(return.new.Promise):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/resources/basic-gestures.js
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/ViewGestureGeometryCollector.cpp


Added Paths

trunk/LayoutTests/fast/events/extrazoom/
trunk/LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt
trunk/LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text.html




Diff

Modified: trunk/LayoutTests/ChangeLog (230745 => 230746)

--- trunk/LayoutTests/ChangeLog	2018-04-18 01:03:22 UTC (rev 230745)
+++ trunk/LayoutTests/ChangeLog	2018-04-18 02:50:25 UTC (rev 230746)
@@ -1,3 +1,23 @@
+2018-04-17  Wenson Hsieh  
+
+[Extra zoom mode] Double tap to zoom should account for text legibility in extra zoom mode
+https://bugs.webkit.org/show_bug.cgi?id=184631
+
+
+Reviewed by Tim Horton.
+
+Add a layout test to check that double tap to zoom works in extra zoom mode, even when text spans the entire
+width of the document.
+
+* TestExpectations:
+* fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt: Added.
+* fast/events/extrazoom/double-tap-to-zoom-on-full-width-text.html: Added.
+* resources/basic-gestures.js:
+
+Add a helper method to double tap at a given location, and wait for zooming to finish.
+
+(return.new.Promise):
+
 2018-04-17  Tadeu Zagallo  
 
 Retain MessagePortChannel for transfer when disentangling ports


Modified: trunk/LayoutTests/TestExpectations (230745 => 230746)

--- trunk/LayoutTests/TestExpectations	2018-04-18 01:03:22 UTC (rev 230745)
+++ trunk/LayoutTests/TestExpectations	2018-04-18 02:50:25 UTC (rev 230746)
@@ -25,6 +25,7 @@
 fast/viewport/ios [ Skip ]
 fast/visual-viewport/ios/ [ Skip ]
 fast/events/ios [ Skip ]
+fast/events/extrazoom [ Skip ]
 fast/events/touch/ios [ Skip ]
 fast/history/ios [ Skip ]
 fast/scrolling/ios [ Skip ]


Added: trunk/LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt (0 => 230746)

--- trunk/LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/events/extrazoom/double-tap-to-zoom-on-full-width-text-expected.txt	2018-04-18 02:50:25 UTC (rev 230746)
@@ -0,0 +1,5 @@
+PASS successfullyParsed is true
+
+TEST COMPLETE
+Even though this text is laid out at the full document width, we should still be able to double tap to zoom in "extra zoom mode", such that the text becomes legible.
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt 

[webkit-changes] [230745] trunk/Source/WebKit

2018-04-17 Thread megan_gardner
Title: [230745] trunk/Source/WebKit








Revision 230745
Author megan_gard...@apple.com
Date 2018-04-17 18:03:22 -0700 (Tue, 17 Apr 2018)


Log Message
Don't activate selection on become first responder
https://bugs.webkit.org/show_bug.cgi?id=184719

Reviewed by Tim Horton.

If we activate the selection immediately on becoming first responder, we cause the selection view to delete itself
since it is not guaranteed to have selection rects immediately due to async/two process architecture. The selection
is activated already when the selection rects change, so there is no reason to activate it now. This has likely worked
in the past because this selection assistant was only for editable text, which would immediately set a caret, which 
is a selection. Now that this is for non-editable text as well, activating the selection is problematic.

* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView becomeFirstResponderForWebView]):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (230744 => 230745)

--- trunk/Source/WebKit/ChangeLog	2018-04-18 01:01:09 UTC (rev 230744)
+++ trunk/Source/WebKit/ChangeLog	2018-04-18 01:03:22 UTC (rev 230745)
@@ -1,3 +1,19 @@
+2018-04-17  Megan Gardner  
+
+Don't activate selection on become first responder
+https://bugs.webkit.org/show_bug.cgi?id=184719
+
+Reviewed by Tim Horton.
+
+If we activate the selection immediately on becoming first responder, we cause the selection view to delete itself
+since it is not guaranteed to have selection rects immediately due to async/two process architecture. The selection
+is activated already when the selection rects change, so there is no reason to activate it now. This has likely worked
+in the past because this selection assistant was only for editable text, which would immediately set a caret, which 
+is a selection. Now that this is for non-editable text as well, activating the selection is problematic.
+
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView becomeFirstResponderForWebView]):
+
 2018-04-11  Brian Burg  
 
 Web Automation: simulated mouse interactions should not be done until associated DOM events have been dispatched


Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (230744 => 230745)

--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2018-04-18 01:01:09 UTC (rev 230744)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2018-04-18 01:03:22 UTC (rev 230745)
@@ -937,8 +937,6 @@
 SetForScope becomingFirstResponder { _becomingFirstResponder, YES };
 didBecomeFirstResponder = [super becomeFirstResponder];
 }
-if (didBecomeFirstResponder && !self.suppressAssistantSelectionView)
-[_textSelectionAssistant activateSelection];
 
 return didBecomeFirstResponder;
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230744] trunk/Tools

2018-04-17 Thread Hironori . Fujii
Title: [230744] trunk/Tools








Revision 230744
Author hironori.fu...@sony.com
Date 2018-04-17 18:01:09 -0700 (Tue, 17 Apr 2018)


Log Message
[WinCairo][TestWebKitAPI] Implement PlatformWebView for TestWebKit
https://bugs.webkit.org/show_bug.cgi?id=184524

Reviewed by Alex Christensen.

Resurrect PlatformWebView for Windows port which was removed in Bug 104607.

* TestWebKitAPI/PlatformWebView.h:
* TestWebKitAPI/PlatformWin.cmake:
* TestWebKitAPI/win/InjectedBundleControllerWin.cpp: Added.
(TestWebKitAPI::InjectedBundleController::platformInitialize):
* TestWebKitAPI/win/PlatformUtilitiesWin.cpp: Added.
(TestWebKitAPI::Util::moduleDirectory):
(TestWebKitAPI::Util::createInjectedBundlePath):
(TestWebKitAPI::Util::createURLForResource):
(TestWebKitAPI::Util::URLForNonExistentResource):
(TestWebKitAPI::Util::isKeyDown):
* TestWebKitAPI/win/PlatformWebViewWin.cpp: Added.
(TestWebKitAPI::PlatformWebView::registerWindowClass):
(TestWebKitAPI::PlatformWebView::PlatformWebView):
(TestWebKitAPI::PlatformWebView::initialize):
(TestWebKitAPI::PlatformWebView::~PlatformWebView):
(TestWebKitAPI::PlatformWebView::page const):
(TestWebKitAPI::PlatformWebView::resizeTo):
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
(TestWebKitAPI::PlatformWebView::simulateRightClick):
(TestWebKitAPI::PlatformWebView::simulateMouseMove):
(TestWebKitAPI::PlatformWebView::wndProc):
* TestWebKitAPI/win/UtilitiesWin.cpp: Added.
(TestWebKitAPI::Util::run):
(TestWebKitAPI::Util::spinRunLoop):
(TestWebKitAPI::Util::sleep):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/PlatformWebView.h
trunk/Tools/TestWebKitAPI/PlatformWin.cmake


Added Paths

trunk/Tools/TestWebKitAPI/win/InjectedBundleControllerWin.cpp
trunk/Tools/TestWebKitAPI/win/PlatformUtilitiesWin.cpp
trunk/Tools/TestWebKitAPI/win/PlatformWebViewWin.cpp
trunk/Tools/TestWebKitAPI/win/UtilitiesWin.cpp




Diff

Modified: trunk/Tools/ChangeLog (230743 => 230744)

--- trunk/Tools/ChangeLog	2018-04-18 00:46:06 UTC (rev 230743)
+++ trunk/Tools/ChangeLog	2018-04-18 01:01:09 UTC (rev 230744)
@@ -1,3 +1,39 @@
+2018-04-17  Fujii Hironori  
+
+[WinCairo][TestWebKitAPI] Implement PlatformWebView for TestWebKit
+https://bugs.webkit.org/show_bug.cgi?id=184524
+
+Reviewed by Alex Christensen.
+
+Resurrect PlatformWebView for Windows port which was removed in Bug 104607.
+
+* TestWebKitAPI/PlatformWebView.h:
+* TestWebKitAPI/PlatformWin.cmake:
+* TestWebKitAPI/win/InjectedBundleControllerWin.cpp: Added.
+(TestWebKitAPI::InjectedBundleController::platformInitialize):
+* TestWebKitAPI/win/PlatformUtilitiesWin.cpp: Added.
+(TestWebKitAPI::Util::moduleDirectory):
+(TestWebKitAPI::Util::createInjectedBundlePath):
+(TestWebKitAPI::Util::createURLForResource):
+(TestWebKitAPI::Util::URLForNonExistentResource):
+(TestWebKitAPI::Util::isKeyDown):
+* TestWebKitAPI/win/PlatformWebViewWin.cpp: Added.
+(TestWebKitAPI::PlatformWebView::registerWindowClass):
+(TestWebKitAPI::PlatformWebView::PlatformWebView):
+(TestWebKitAPI::PlatformWebView::initialize):
+(TestWebKitAPI::PlatformWebView::~PlatformWebView):
+(TestWebKitAPI::PlatformWebView::page const):
+(TestWebKitAPI::PlatformWebView::resizeTo):
+(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
+(TestWebKitAPI::PlatformWebView::simulateAltKeyPress):
+(TestWebKitAPI::PlatformWebView::simulateRightClick):
+(TestWebKitAPI::PlatformWebView::simulateMouseMove):
+(TestWebKitAPI::PlatformWebView::wndProc):
+* TestWebKitAPI/win/UtilitiesWin.cpp: Added.
+(TestWebKitAPI::Util::run):
+(TestWebKitAPI::Util::spinRunLoop):
+(TestWebKitAPI::Util::sleep):
+
 2018-04-17  Jonathan Bedard  
 
 Fix hasher tests for system with 32 bit longs


Modified: trunk/Tools/TestWebKitAPI/PlatformWebView.h (230743 => 230744)

--- trunk/Tools/TestWebKitAPI/PlatformWebView.h	2018-04-18 00:46:06 UTC (rev 230743)
+++ trunk/Tools/TestWebKitAPI/PlatformWebView.h	2018-04-18 01:01:09 UTC (rev 230744)
@@ -52,6 +52,9 @@
 struct wpe_view_backend;
 typedef WKViewRef PlatformWKView;
 typedef HeadlessViewBackend *PlatformWindow;
+#elif PLATFORM(WIN)
+typedef WKViewRef PlatformWKView;
+typedef HWND PlatformWindow;
 #endif
 
 namespace TestWebKitAPI {
@@ -82,9 +85,13 @@
 private:
 #if PLATFORM(MAC)
 void initialize(WKPageConfigurationRef, Class wkViewSubclass);
-#elif PLATFORM(GTK) || PLATFORM(WPE)
+#elif PLATFORM(GTK) || PLATFORM(WPE) || PLATFORM(WIN)
 void initialize(WKPageConfigurationRef);
 #endif
+#if PLATFORM(WIN)
+static void registerWindowClass();
+static LRESULT CALLBACK wndProc(HWND, UINT message, WPARAM, LPARAM);
+#endif
 
 PlatformWKView m_view;
 PlatformWindow m_window;


Modified: 

[webkit-changes] [230743] trunk/Source/WebKit

2018-04-17 Thread bburg
Title: [230743] trunk/Source/WebKit








Revision 230743
Author bb...@apple.com
Date 2018-04-17 17:46:06 -0700 (Tue, 17 Apr 2018)


Log Message
Web Automation: simulated mouse interactions should not be done until associated DOM events have been dispatched
https://bugs.webkit.org/show_bug.cgi?id=184462


Reviewed by Carlos Garcia Campos and Tim Horton.

Covered by existing layout tests and actions endpoints in WebDriver test suite.

In preparation for implementing the W3C WebDriver command "Perform Actions", we need a way to
know when a simulated mouse event has been fully processed by WebProcess and it is okay to continue
to dispatch more simulated events.

This patch makes mouse events go through a queue as they are delivered to WebPageProxy. The approach
is very similar to how key events are handled. In the key event case, lots of WebEvents can come out
of typing one keystroke, so these need to be queued up and retired one by one when the WebProcess has
finished handling each event. In some mouse event cases---particularly fake mouse moves---there can
also be more than one mouse event waiting to be handled by WebProcess.

In the past, these queued mouse events were tracked with several member variables as different
use cases emerged. These are all replaced with ordinary deque operations, such as peeking or
checking the queue length.

* Platform/Logging.h: Add logging channel for mouse events.
* UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::AutomationCommandError::toProtocolString): Add type-safe helper class for command errors.
In future patches we can hide knowledge of how this is sent over the protocol by relying more on
the convenience constructors and .toProtocolString() method.

(WebKit::WebAutomationSession::willShowJavaScriptDialog):
This section needs adjustments. Since performMouseInteraction now depends on key events being processed
prior to returning from the command, we need to abort any key event callbacks that are pending if an
alert pops up as a result of sending a mousedown event. Any mouse events that are still queued will
be handled when the alert is dismissed and the nested run loop exits.

(WebKit::WebAutomationSession::mouseEventsFlushedForPage):
(WebKit::WebAutomationSession::keyboardEventsFlushedForPage):
Modernize this a bit. Don't spread knowledge about how commands are sent back out into event handling code.
Our wrapper callbacks in performXXXInteraction handle the protocol-specific details of the response.

(WebKit::WebAutomationSession::performMouseInteraction):
Add code similar to performKeyboardInteractions so that the command doesn't finish until the mouse
event has been fully handled. Unlike keyboards, sometimes mouse interactions don't turn into WebEvents
so we also need to handle the case where there is nothing to be waited on because hit testing did
not return a target to deliver the event to.

(WebKit::WebAutomationSession::performKeyboardInteractions):
Modernize a little bit to use generic callbacks rather than protocol-generated callbacks in the
event waiting/handling code. Now it matches the types used for the mouse event case.

* UIProcess/Automation/WebAutomationSession.h:
(WebKit::AutomationCommandError::AutomationCommandError):
Add a helper struct to hold an enumerated error name and an optional free-form error message.

* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::webMouseEventTypeString):
(WebKit::webKeyboardEventTypeString):
(WebKit::WebPageProxy::handleMouseEvent):
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
Split the old method into handleMouseEvent (called by other code) and processNextQueuedMouseEvent.
The latter sends the next mouse event to WebProcess, and can be triggered in didReceiveEvent
if there are more mouse events to be sent to WebProcess.

(WebKit::WebPageProxy::isProcessingMouseEvents const): Added.
(WebKit::WebPageProxy::currentlyProcessedMouseDownEvent): Reimplemented on top of the deque.
(WebKit::WebPageProxy::didReceiveEvent):
Unify the code paths for different mouse event types to all use the deque. They also will
notify the automation session if there are no more mouse events to send (i.e., interaction is over).

(WebKit::WebPageProxy::resetStateAfterProcessExited): Add handling for new map.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Platform/Logging.h
trunk/Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
trunk/Source/WebKit/UIProcess/Automation/WebAutomationSession.h
trunk/Source/WebKit/UIProcess/Automation/WebAutomationSessionMacros.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (230742 => 230743)

--- trunk/Source/WebKit/ChangeLog	2018-04-18 00:42:32 UTC (rev 230742)
+++ trunk/Source/WebKit/ChangeLog	2018-04-18 00:46:06 UTC (rev 230743)
@@ -1,3 +1,76 @@
+2018-04-11  Brian Burg  
+
+Web Automation: simulated mouse interactions should 

[webkit-changes] [230742] trunk/Tools

2018-04-17 Thread jbedard
Title: [230742] trunk/Tools








Revision 230742
Author jbed...@apple.com
Date 2018-04-17 17:42:32 -0700 (Tue, 17 Apr 2018)


Log Message
Fix hasher tests for system with 32 bit longs
https://bugs.webkit.org/show_bug.cgi?id=184708


Reviewed by Mark Lam.

Some systems have 32 bit longs. The Hasher WTF tests should handle this case.

* TestWebKitAPI/Tests/WTF/Hasher.cpp:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WTF/Hasher.cpp




Diff

Modified: trunk/Tools/ChangeLog (230741 => 230742)

--- trunk/Tools/ChangeLog	2018-04-18 00:05:07 UTC (rev 230741)
+++ trunk/Tools/ChangeLog	2018-04-18 00:42:32 UTC (rev 230742)
@@ -1,3 +1,16 @@
+2018-04-17  Jonathan Bedard  
+
+Fix hasher tests for system with 32 bit longs
+https://bugs.webkit.org/show_bug.cgi?id=184708
+
+
+Reviewed by Mark Lam.
+
+Some systems have 32 bit longs. The Hasher WTF tests should handle this case.
+
+* TestWebKitAPI/Tests/WTF/Hasher.cpp:
+(TestWebKitAPI::TEST):
+
 2018-04-17  Commit Queue  
 
 Unreviewed, rolling out r230697, r230720, and r230724.


Modified: trunk/Tools/TestWebKitAPI/Tests/WTF/Hasher.cpp (230741 => 230742)

--- trunk/Tools/TestWebKitAPI/Tests/WTF/Hasher.cpp	2018-04-18 00:05:07 UTC (rev 230741)
+++ trunk/Tools/TestWebKitAPI/Tests/WTF/Hasher.cpp	2018-04-18 00:42:32 UTC (rev 230742)
@@ -56,8 +56,8 @@
 EXPECT_EQ(zero32BitHash, computeHash(0));
 
 EXPECT_EQ(zero64BitHash, computeHash(0ULL));
-EXPECT_EQ(zero64BitHash, computeHash(0L));
-EXPECT_EQ(zero64BitHash, computeHash(0UL));
+EXPECT_EQ(sizeof(long) == sizeof(int32_t) ? zero32BitHash : zero64BitHash, computeHash(0L));
+EXPECT_EQ(sizeof(unsigned long) == sizeof(uint32_t) ? zero32BitHash : zero64BitHash, computeHash(0UL));
 EXPECT_EQ(zero64BitHash, computeHash(0LL));
 
 EXPECT_EQ(one32BitHash, computeHash(1U));
@@ -70,8 +70,8 @@
 EXPECT_EQ(one32BitHash, computeHash(1));
 
 EXPECT_EQ(one64BitHash, computeHash(1ULL));
-EXPECT_EQ(one64BitHash, computeHash(1L));
-EXPECT_EQ(one64BitHash, computeHash(1UL));
+EXPECT_EQ(sizeof(long) == sizeof(int32_t) ? one32BitHash : one64BitHash, computeHash(1L));
+EXPECT_EQ(sizeof(unsigned long) == sizeof(uint32_t) ? one32BitHash : one64BitHash, computeHash(1UL));
 EXPECT_EQ(one64BitHash, computeHash(1LL));
 
 EXPECT_EQ(1772381661U, computeHash(0x7FU));
@@ -107,16 +107,16 @@
 
 EXPECT_EQ(1264532604U, computeHash(0x8000ULL));
 EXPECT_EQ(1264532604U, computeHash(std::numeric_limits::min()));
-EXPECT_EQ(1264532604U, computeHash(std::numeric_limits::min()));
+EXPECT_EQ(sizeof(long) == sizeof(int32_t) ? 2425683428U : 1264532604U, computeHash(std::numeric_limits::min()));
 
 EXPECT_EQ(2961049834U, computeHash(0x7FFFULL));
 EXPECT_EQ(2961049834U, computeHash(std::numeric_limits::max()));
-EXPECT_EQ(2961049834U, computeHash(std::numeric_limits::max()));
+EXPECT_EQ(sizeof(long) == sizeof(int32_t) ? 3430670328U : 2961049834U, computeHash(std::numeric_limits::max()));
 
 EXPECT_EQ(1106332091U, computeHash(0xULL));
 EXPECT_EQ(1106332091U, computeHash(std::numeric_limits::max()));
-EXPECT_EQ(1106332091U, computeHash(std::numeric_limits::max()));
-EXPECT_EQ(1106332091U, computeHash(-1L));
+EXPECT_EQ(sizeof(long) == sizeof(int32_t) ? 1955511435U : 1106332091U, computeHash(std::numeric_limits::max()));
+EXPECT_EQ(sizeof(long) == sizeof(int32_t) ? 1955511435U : 1106332091U, computeHash(-1L));
 EXPECT_EQ(1106332091U, computeHash(-1LL));
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230741] trunk

2018-04-17 Thread jlewis3
Title: [230741] trunk








Revision 230741
Author jlew...@apple.com
Date 2018-04-17 17:05:07 -0700 (Tue, 17 Apr 2018)


Log Message
Unreviewed, rolling out r230697, r230720, and r230724.
https://bugs.webkit.org/show_bug.cgi?id=184717

These caused multiple failures on the Test262 testers.
(Requested by mlewis13 on #webkit).

Reverted changesets:

"[WebAssembly][Modules] Prototype wasm import"
https://bugs.webkit.org/show_bug.cgi?id=184600
https://trac.webkit.org/changeset/230697

"[WebAssembly][Modules] Implement function import from wasm
modules"
https://bugs.webkit.org/show_bug.cgi?id=184689
https://trac.webkit.org/changeset/230720

"[JSC] Rename runWebAssembly to runWebAssemblySuite"
https://bugs.webkit.org/show_bug.cgi?id=184703
https://trac.webkit.org/changeset/230724

Patch by Commit Queue  on 2018-04-17

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/wasm.yaml
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/parser/NodesAnalyzeModule.cpp
trunk/Source/_javascript_Core/parser/SourceProvider.h
trunk/Source/_javascript_Core/runtime/AbstractModuleRecord.cpp
trunk/Source/_javascript_Core/runtime/AbstractModuleRecord.h
trunk/Source/_javascript_Core/runtime/JSModuleEnvironment.cpp
trunk/Source/_javascript_Core/runtime/JSModuleLoader.cpp
trunk/Source/_javascript_Core/runtime/JSModuleRecord.cpp
trunk/Source/_javascript_Core/runtime/JSModuleRecord.h
trunk/Source/_javascript_Core/runtime/ModuleLoaderPrototype.cpp
trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyHelpers.h
trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyInstance.cpp
trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyInstance.h
trunk/Source/_javascript_Core/wasm/js/WebAssemblyInstanceConstructor.cpp
trunk/Source/_javascript_Core/wasm/js/WebAssemblyModuleRecord.cpp
trunk/Source/_javascript_Core/wasm/js/WebAssemblyModuleRecord.h
trunk/Source/_javascript_Core/wasm/js/WebAssemblyPrototype.cpp
trunk/Source/_javascript_Core/wasm/js/WebAssemblyPrototype.h
trunk/Tools/ChangeLog
trunk/Tools/Scripts/run-jsc-stress-tests


Removed Paths

trunk/JSTests/wasm/modules/
trunk/Source/_javascript_Core/wasm/WasmCreationMode.h




Diff

Modified: trunk/JSTests/ChangeLog (230740 => 230741)

--- trunk/JSTests/ChangeLog	2018-04-17 23:48:00 UTC (rev 230740)
+++ trunk/JSTests/ChangeLog	2018-04-18 00:05:07 UTC (rev 230741)
@@ -1,3 +1,26 @@
+2018-04-17  Commit Queue  
+
+Unreviewed, rolling out r230697, r230720, and r230724.
+https://bugs.webkit.org/show_bug.cgi?id=184717
+
+These caused multiple failures on the Test262 testers.
+(Requested by mlewis13 on #webkit).
+
+Reverted changesets:
+
+"[WebAssembly][Modules] Prototype wasm import"
+https://bugs.webkit.org/show_bug.cgi?id=184600
+https://trac.webkit.org/changeset/230697
+
+"[WebAssembly][Modules] Implement function import from wasm
+modules"
+https://bugs.webkit.org/show_bug.cgi?id=184689
+https://trac.webkit.org/changeset/230720
+
+"[JSC] Rename runWebAssembly to runWebAssemblySuite"
+https://bugs.webkit.org/show_bug.cgi?id=184703
+https://trac.webkit.org/changeset/230724
+
 2018-04-17  JF Bastien  
 
 A put is not an ExistingProperty put when we transition a structure because of an attributes change


Modified: trunk/JSTests/wasm.yaml (230740 => 230741)

--- trunk/JSTests/wasm.yaml	2018-04-17 23:48:00 UTC (rev 230740)
+++ trunk/JSTests/wasm.yaml	2018-04-18 00:05:07 UTC (rev 230741)
@@ -22,23 +22,21 @@
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 - path: wasm/self-test/
-  cmd: runWebAssemblySuite unless parseRunCommands
+  cmd: runWebAssembly unless parseRunCommands
 - path: wasm/js-api/
-  cmd: runWebAssemblySuite unless parseRunCommands
+  cmd: runWebAssembly unless parseRunCommands
 - path: wasm/noJIT/
   cmd: runNoJIT unless parseRunCommands
 - path: wasm/function-tests
-  cmd: runWebAssemblySuite unless parseRunCommands
+  cmd: runWebAssembly unless parseRunCommands
 - path: wasm/fuzz
-  cmd: runWebAssemblySuite unless parseRunCommands
+  cmd: runWebAssembly unless parseRunCommands
 - path: wasm/stress
-  cmd: runWebAssemblySuite unless parseRunCommands
+  cmd: runWebAssembly unless parseRunCommands
 - path: wasm/lowExecutableMemory
   cmd: runWebAssemblyLowExecutableMemory unless parseRunCommands
 - path: wasm/regress/
-  cmd: runWebAssemblySuite unless parseRunCommands
-- path: wasm/modules/
-  cmd: runWebAssemblySuite unless parseRunCommands
+  cmd: runWebAssembly unless parseRunCommands
 
 - path: wasm/spec-tests/address.wast.js
   cmd: runWebAssemblySpecTest :normal
@@ -178,6 +176,3 @@
   cmd: runWebAssemblySpecTest :normal
 - path: wasm/spec-tests/utf8-import-module.wast.js
  

[webkit-changes] [230740] trunk

2018-04-17 Thread jfbastien
Title: [230740] trunk








Revision 230740
Author jfbast...@apple.com
Date 2018-04-17 16:48:00 -0700 (Tue, 17 Apr 2018)


Log Message
A put is not an ExistingProperty put when we transition a structure because of an attributes change
https://bugs.webkit.org/show_bug.cgi?id=184706


Reviewed by Saam Barati.

JSTests:

* stress/put-by-id-direct-strict-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
* stress/put-by-id-direct-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
* stress/put-getter-setter-by-id-strict-transition.js: Added.
(const.foo):
(j.const.obj.set hello):
* stress/put-getter-setter-by-id-transition.js: Added.
(const.foo):
(j.const.obj.set hello):

Source/_javascript_Core:

When putting a property on a structure and the slot is a different
type, the slot can't be said to have already been existing.

* runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectInternal):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSObjectInlines.h


Added Paths

trunk/JSTests/stress/put-by-id-direct-strict-transition.js
trunk/JSTests/stress/put-by-id-direct-transition.js
trunk/JSTests/stress/put-getter-setter-by-id-strict-transition.js
trunk/JSTests/stress/put-getter-setter-by-id-transition.js




Diff

Modified: trunk/JSTests/ChangeLog (230739 => 230740)

--- trunk/JSTests/ChangeLog	2018-04-17 23:41:09 UTC (rev 230739)
+++ trunk/JSTests/ChangeLog	2018-04-17 23:48:00 UTC (rev 230740)
@@ -1,3 +1,24 @@
+2018-04-17  JF Bastien  
+
+A put is not an ExistingProperty put when we transition a structure because of an attributes change
+https://bugs.webkit.org/show_bug.cgi?id=184706
+
+
+Reviewed by Saam Barati.
+
+* stress/put-by-id-direct-strict-transition.js: Added.
+(const.foo):
+(j.const.obj.set hello):
+* stress/put-by-id-direct-transition.js: Added.
+(const.foo):
+(j.const.obj.set hello):
+* stress/put-getter-setter-by-id-strict-transition.js: Added.
+(const.foo):
+(j.const.obj.set hello):
+* stress/put-getter-setter-by-id-transition.js: Added.
+(const.foo):
+(j.const.obj.set hello):
+
 2018-04-16  Filip Pizlo  
 
 PutStackSinkingPhase should know that KillStack means ConflictingFlush


Added: trunk/JSTests/stress/put-by-id-direct-strict-transition.js (0 => 230740)

--- trunk/JSTests/stress/put-by-id-direct-strict-transition.js	(rev 0)
+++ trunk/JSTests/stress/put-by-id-direct-strict-transition.js	2018-04-17 23:48:00 UTC (rev 230740)
@@ -0,0 +1,13 @@
+"use strict"
+
+let theglobal = 0;
+for (theglobal = 0; theglobal < 10; ++theglobal)
+;
+const foo = (ignored, arg1) => { theglobal = arg1; };
+for (let j = 0; j < 1; ++j) {
+const obj = {
+set hello(ignored) {},
+[theglobal]: 0
+};
+foo(obj, 'hello');
+}


Added: trunk/JSTests/stress/put-by-id-direct-transition.js (0 => 230740)

--- trunk/JSTests/stress/put-by-id-direct-transition.js	(rev 0)
+++ trunk/JSTests/stress/put-by-id-direct-transition.js	2018-04-17 23:48:00 UTC (rev 230740)
@@ -0,0 +1,11 @@
+let theglobal = 0;
+for (theglobal = 0; theglobal < 10; ++theglobal)
+;
+const foo = (ignored, arg1) => { theglobal = arg1; };
+for (let j = 0; j < 1; ++j) {
+const obj = {
+set hello(ignored) {},
+[theglobal]: 0
+};
+foo(obj, 'hello');
+}


Added: trunk/JSTests/stress/put-getter-setter-by-id-strict-transition.js (0 => 230740)

--- trunk/JSTests/stress/put-getter-setter-by-id-strict-transition.js	(rev 0)
+++ trunk/JSTests/stress/put-getter-setter-by-id-strict-transition.js	2018-04-17 23:48:00 UTC (rev 230740)
@@ -0,0 +1,13 @@
+"use strict"
+
+let theglobal = 0;
+for (theglobal = 0; theglobal < 10; ++theglobal)
+;
+const foo = (ignored, arg1) => { theglobal = arg1; };
+for (let j = 0; j < 1; ++j) {
+const obj = {
+[theglobal]: 0,
+set hello(ignored) {}
+};
+foo(obj, 'hello');
+}


Added: trunk/JSTests/stress/put-getter-setter-by-id-transition.js (0 => 230740)

--- trunk/JSTests/stress/put-getter-setter-by-id-transition.js	(rev 0)
+++ trunk/JSTests/stress/put-getter-setter-by-id-transition.js	2018-04-17 23:48:00 UTC (rev 230740)
@@ -0,0 +1,11 @@
+let theglobal = 0;
+for (theglobal = 0; theglobal < 10; ++theglobal)
+;
+const foo = (ignored, arg1) => { theglobal = arg1; };
+for (let j = 0; j < 1; ++j) {
+const obj = {
+[theglobal]: 0,
+set hello(ignored) {}
+};
+foo(obj, 'hello');
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (230739 => 230740)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 23:41:09 UTC (rev 230739)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 23:48:00 UTC (rev 230740)
@@ -1,3 +1,17 @@
+2018-04-17  JF Bastien  

[webkit-changes] [230739] trunk/Source/WebKit

2018-04-17 Thread aperez
Title: [230739] trunk/Source/WebKit








Revision 230739
Author ape...@igalia.com
Date 2018-04-17 16:41:09 -0700 (Tue, 17 Apr 2018)


Log Message
[GTK][WPE] Build failure due to presence of Avahi's  header
https://bugs.webkit.org/show_bug.cgi?id=184711

Unreviewed build fix.


* NetworkProcess/webrtc/NetworkMDNSRegister.h: Set ENABLE_MDNS only for PLATFORM(COCOA).

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/webrtc/NetworkMDNSRegister.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (230738 => 230739)

--- trunk/Source/WebKit/ChangeLog	2018-04-17 23:38:46 UTC (rev 230738)
+++ trunk/Source/WebKit/ChangeLog	2018-04-17 23:41:09 UTC (rev 230739)
@@ -1,3 +1,12 @@
+2018-04-17  Adrian Perez de Castro  
+
+[GTK][WPE] Build failure due to presence of Avahi's  header
+https://bugs.webkit.org/show_bug.cgi?id=184711
+
+Unreviewed build fix.
+
+* NetworkProcess/webrtc/NetworkMDNSRegister.h: Set ENABLE_MDNS only for PLATFORM(COCOA).
+
 2018-04-17  Jonathan Bedard  
 
 Unreviewed rollout of r230632. Regression in memory usage.


Modified: trunk/Source/WebKit/NetworkProcess/webrtc/NetworkMDNSRegister.h (230738 => 230739)

--- trunk/Source/WebKit/NetworkProcess/webrtc/NetworkMDNSRegister.h	2018-04-17 23:38:46 UTC (rev 230738)
+++ trunk/Source/WebKit/NetworkProcess/webrtc/NetworkMDNSRegister.h	2018-04-17 23:41:09 UTC (rev 230739)
@@ -33,7 +33,7 @@
 #include 
 #include 
 
-#if defined __has_include && __has_include()
+#if PLATFORM(COCOA) && defined __has_include && __has_include()
 #define ENABLE_MDNS 1
 #else
 #define ENABLE_MDNS 0






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230738] trunk

2018-04-17 Thread commit-queue
Title: [230738] trunk








Revision 230738
Author commit-qu...@webkit.org
Date 2018-04-17 16:38:46 -0700 (Tue, 17 Apr 2018)


Log Message
Retain MessagePortChannel for transfer when disentangling ports
https://bugs.webkit.org/show_bug.cgi?id=184502


Patch by Tadeu Zagallo  on 2018-04-17
Reviewed by Geoffrey Garen.

Source/WebCore:

MessagePortChannels should be retained while ports are being transferred, but that was only
happening when sending a port through another port, but not when sending it through a worker.

Test: workers/worker-to-worker.html

* dom/messageports/MessagePortChannel.cpp:
(WebCore::MessagePortChannel::entanglePortWithProcess):
(WebCore::MessagePortChannel::disentanglePort):
(WebCore::MessagePortChannel::postMessageToRemote):
(WebCore::MessagePortChannel::takeAllMessagesForPort):

LayoutTests:

Check that the MessageChannel does not get eagerly deallocated when transferring both of its
ports. Original test case provided with the bug report by Ashley Gullen 

* workers/worker-to-worker-expected.txt: Added.
* workers/worker-to-worker.html: Added.
* workers/worker-to-worker.js: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/messageports/MessagePortChannel.cpp


Added Paths

trunk/LayoutTests/workers/worker-to-worker-expected.txt
trunk/LayoutTests/workers/worker-to-worker.html
trunk/LayoutTests/workers/worker-to-worker.js




Diff

Modified: trunk/LayoutTests/ChangeLog (230737 => 230738)

--- trunk/LayoutTests/ChangeLog	2018-04-17 23:33:02 UTC (rev 230737)
+++ trunk/LayoutTests/ChangeLog	2018-04-17 23:38:46 UTC (rev 230738)
@@ -1,3 +1,18 @@
+2018-04-17  Tadeu Zagallo  
+
+Retain MessagePortChannel for transfer when disentangling ports
+https://bugs.webkit.org/show_bug.cgi?id=184502
+
+
+Reviewed by Geoffrey Garen.
+
+Check that the MessageChannel does not get eagerly deallocated when transferring both of its
+ports. Original test case provided with the bug report by Ashley Gullen 
+
+* workers/worker-to-worker-expected.txt: Added.
+* workers/worker-to-worker.html: Added.
+* workers/worker-to-worker.js: Added.
+
 2018-04-17  Jonathan Bedard  
 
 Unreviewed rollout of r230632. Regression in memory usage.


Added: trunk/LayoutTests/workers/worker-to-worker-expected.txt (0 => 230738)

--- trunk/LayoutTests/workers/worker-to-worker-expected.txt	(rev 0)
+++ trunk/LayoutTests/workers/worker-to-worker-expected.txt	2018-04-17 23:38:46 UTC (rev 230738)
@@ -0,0 +1,11 @@
+Worker to worker communication via MessagePorts
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+[Worker 1] Received message: hello
+[Worker 2] Received message: hello
+


Added: trunk/LayoutTests/workers/worker-to-worker.html (0 => 230738)

--- trunk/LayoutTests/workers/worker-to-worker.html	(rev 0)
+++ trunk/LayoutTests/workers/worker-to-worker.html	2018-04-17 23:38:46 UTC (rev 230738)
@@ -0,0 +1,33 @@
+
+
+
+
+description("Worker to worker communication via MessagePorts");
+
+if (window.testRunner)
+  window.testRunner.waitUntilDone();
+
+const worker = (name, port, wait) => new Promise(resolve => {
+  const w = new Worker("worker-to-worker.js");
+  w.postMessage({ name, wait, port }, [port]);
+  w._onmessage_ = (e) => {
+debug(e.data);
+resolve();
+  };
+});
+
+const mc = new MessageChannel();
+Promise.all([
+  // force one worker to wait to make order deterministic
+  worker("Worker 1", mc.port1, 1),
+  worker("Worker 2", mc.port2),
+]).then(() => {
+  if (window.testRunner)
+window.testRunner.notifyDone();
+});
+
+
+
+
+


Added: trunk/LayoutTests/workers/worker-to-worker.js (0 => 230738)

--- trunk/LayoutTests/workers/worker-to-worker.js	(rev 0)
+++ trunk/LayoutTests/workers/worker-to-worker.js	2018-04-17 23:38:46 UTC (rev 230738)
@@ -0,0 +1,11 @@
+self._onmessage_ = e => {
+  const {name} = e.data;
+
+  e.data.port._onmessage_ = e => {
+self.postMessage(`[${name}] Received message: ${e.data}`);
+  }
+
+  const sendMsg = () => e.data.port.postMessage('hello');
+  if (e.data.wait) setTimeout(sendMsg, e.data.wait);
+  else sendMsg();
+};


Modified: trunk/Source/WebCore/ChangeLog (230737 => 230738)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 23:33:02 UTC (rev 230737)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 23:38:46 UTC (rev 230738)
@@ -1,5 +1,24 @@
 2018-04-17  Tadeu Zagallo  
 
+Retain MessagePortChannel for transfer when disentangling ports
+https://bugs.webkit.org/show_bug.cgi?id=184502
+
+
+Reviewed by Geoffrey Garen.
+
+MessagePortChannels should be retained while ports are being transferred, but that was only
+happening when sending 

[webkit-changes] [230737] trunk/Source/WebCore

2018-04-17 Thread commit-queue
Title: [230737] trunk/Source/WebCore








Revision 230737
Author commit-qu...@webkit.org
Date 2018-04-17 16:33:02 -0700 (Tue, 17 Apr 2018)


Log Message
References from CSSStyleDeclaration to CSSValues should be weak
https://bugs.webkit.org/show_bug.cgi?id=180280


Patch by Tadeu Zagallo  on 2018-04-17
Reviewed by Geoffrey Garen.

No new tests - used the existing test to verify the leak

* css/DeprecatedCSSOMValue.h:
(WebCore::DeprecatedCSSOMValue::weakPtrFactory):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM):
* css/PropertySetCSSStyleDeclaration.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/DeprecatedCSSOMValue.h
trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (230736 => 230737)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 23:08:31 UTC (rev 230736)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 23:33:02 UTC (rev 230737)
@@ -1,3 +1,19 @@
+2018-04-17  Tadeu Zagallo  
+
+References from CSSStyleDeclaration to CSSValues should be weak
+https://bugs.webkit.org/show_bug.cgi?id=180280
+
+
+Reviewed by Geoffrey Garen.
+
+No new tests - used the existing test to verify the leak
+
+* css/DeprecatedCSSOMValue.h:
+(WebCore::DeprecatedCSSOMValue::weakPtrFactory):
+* css/PropertySetCSSStyleDeclaration.cpp:
+(WebCore::PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM):
+* css/PropertySetCSSStyleDeclaration.h:
+
 2018-04-17  Jonathan Bedard  
 
 Unreviewed rollout of r230632. Regression in memory usage.


Modified: trunk/Source/WebCore/css/DeprecatedCSSOMValue.h (230736 => 230737)

--- trunk/Source/WebCore/css/DeprecatedCSSOMValue.h	2018-04-17 23:08:31 UTC (rev 230736)
+++ trunk/Source/WebCore/css/DeprecatedCSSOMValue.h	2018-04-17 23:33:02 UTC (rev 230737)
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 
 namespace WebCore {
@@ -64,6 +65,8 @@
 
 CSSStyleDeclaration& owner() const { return m_owner; }
 
+WeakPtrFactory& weakPtrFactory() { return m_weakPtrFactory; }
+
 protected:
 static const size_t ClassTypeBits = 2;
 enum DeprecatedClassType {
@@ -92,6 +95,7 @@
 unsigned m_classType : ClassTypeBits; // ClassType
 
 Ref m_owner;
+WeakPtrFactory m_weakPtrFactory;
 };
 
 class DeprecatedCSSOMComplexValue : public DeprecatedCSSOMValue {


Modified: trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp (230736 => 230737)

--- trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp	2018-04-17 23:08:31 UTC (rev 230736)
+++ trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp	2018-04-17 23:33:02 UTC (rev 230737)
@@ -308,7 +308,7 @@
 return changed;
 }
 
-DeprecatedCSSOMValue* PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM(CSSValue* internalValue)
+RefPtr PropertySetCSSStyleDeclaration::wrapForDeprecatedCSSOM(CSSValue* internalValue)
 {
 if (!internalValue)
 return nullptr;
@@ -316,12 +316,15 @@
 // The map is here to maintain the object identity of the CSSValues over multiple invocations.
 // FIXME: It is likely that the identity is not important for web compatibility and this code should be removed.
 if (!m_cssomValueWrappers)
-m_cssomValueWrappers = std::make_unique>();
+m_cssomValueWrappers = std::make_unique>();
 
-RefPtr& clonedValue = m_cssomValueWrappers->add(internalValue, RefPtr()).iterator->value;
-if (!clonedValue)
-clonedValue = internalValue->createDeprecatedCSSOMWrapper(*this);
-return clonedValue.get();
+auto& clonedValue = m_cssomValueWrappers->add(internalValue, WeakPtr()).iterator->value;
+if (clonedValue)
+return clonedValue.get();
+
+RefPtr wrapper = internalValue->createDeprecatedCSSOMWrapper(*this);
+clonedValue = makeWeakPtr(wrapper.get());
+return wrapper;
 }
 
 StyleSheetContents* PropertySetCSSStyleDeclaration::contextStyleSheet() const


Modified: trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.h (230736 => 230737)

--- trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.h	2018-04-17 23:08:31 UTC (rev 230736)
+++ trunk/Source/WebCore/css/PropertySetCSSStyleDeclaration.h	2018-04-17 23:33:02 UTC (rev 230737)
@@ -31,6 +31,7 @@
 #include 
 #include 
 #include 
+#include 
 
 namespace WebCore {
 
@@ -57,7 +58,7 @@
 virtual CSSParserContext cssParserContext() const;
 
 MutableStyleProperties* m_propertySet;
-std::unique_ptr> m_cssomValueWrappers;
+std::unique_ptr> m_cssomValueWrappers;
 
 private:
 void ref() override;
@@ -81,7 +82,7 @@
 
 Ref copyProperties() const final;
 
-DeprecatedCSSOMValue* 

[webkit-changes] [230736] trunk

2018-04-17 Thread jbedard
Title: [230736] trunk








Revision 230736
Author jbed...@apple.com
Date 2018-04-17 16:08:31 -0700 (Tue, 17 Apr 2018)


Log Message
Unreviewed rollout of r230632. Regression in memory usage.

That bug tracked in https://bugs.webkit.org/show_bug.cgi?id=184569.

LayoutTests/imported/w3c:

* web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt:

Source/WebCore:

Tests: animations/animation-internals-api-multiple-keyframes.html
   animations/animation-internals-api.html
   transitions/transition-drt-api-delay.html
   transitions/transition-drt-api.html

* page/RuntimeEnabledFeatures.h:
* testing/Internals.cpp:
(WebCore::Internals::pseudoElement): Deleted.
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit:

* Shared/WebPreferences.yaml:

Source/WebKitLegacy/mac:

* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):

Source/WebKitLegacy/win:

* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):

Tools:

* DumpRenderTree/TestOptions.h:
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest):
(shouldOverrideAndDisableCSSAnimationsAndCSSTransitionsBackedByWebAnimationsPreference): Deleted.
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):
* WebKitTestRunner/TestOptions.cpp:
(WTR::TestOptions::TestOptions):
(WTR::isLegacyAnimationEngineTestPath): Deleted.
* WebKitTestRunner/TestOptions.h:

LayoutTests:

* TestExpectations:
* animations/animation-direction-alternate-reverse-expected.txt:
* animations/animation-direction-alternate-reverse.html:
* animations/animation-hit-test-transform.html:
* animations/animation-internals-api-expected.txt: Copied from LayoutTests/animations/animation-internals-api-expected.txt.
* animations/animation-internals-api-multiple-keyframes-expected.txt: Copied from LayoutTests/animations/animation-internals-api-multiple-keyframes-expected.txt.
* animations/animation-internals-api-multiple-keyframes.html: Copied from LayoutTests/animations/animation-internals-api-multiple-keyframes.html.
* animations/animation-internals-api.html: Copied from LayoutTests/animations/animation-internals-api.html.
* animations/big-rotation-expected.txt:
* animations/big-rotation.html:
* animations/duplicated-keyframes-name.html:
* animations/fill-forwards-end-state.html:
* animations/fill-mode-forwards-zero-duration-expected.txt:
* animations/fill-mode-forwards-zero-duration.html:
* fast/css-generated-content/pseudo-animation.html:
* fast/css-generated-content/pseudo-transition.html:
* platform/ios/TestExpectations:
* platform/win/TestExpectations:
* transitions/remove-transition-style.html:
* transitions/transition-drt-api-delay-expected.txt: Copied from LayoutTests/transitions/transition-drt-api-delay-expected.txt.
* transitions/transition-drt-api-delay.html: Copied from LayoutTests/transitions/transition-drt-api-delay.html.
* transitions/transition-drt-api-expected.txt: Copied from LayoutTests/transitions/transition-drt-api-expected.txt.
* transitions/transition-drt-api.html: Copied from LayoutTests/transitions/transition-drt-api.html.
* transitions/transition-hit-test-transform.html:
* transitions/zero-duration-with-non-zero-delay-end.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/animations/animation-direction-alternate-reverse-expected.txt
trunk/LayoutTests/animations/animation-direction-alternate-reverse.html
trunk/LayoutTests/animations/animation-hit-test-transform.html
trunk/LayoutTests/animations/big-rotation-expected.txt
trunk/LayoutTests/animations/big-rotation.html
trunk/LayoutTests/animations/duplicated-keyframes-name.html
trunk/LayoutTests/animations/fill-forwards-end-state.html
trunk/LayoutTests/animations/fill-mode-forwards-zero-duration-expected.txt
trunk/LayoutTests/animations/fill-mode-forwards-zero-duration.html
trunk/LayoutTests/fast/css-generated-content/pseudo-animation.html
trunk/LayoutTests/fast/css-generated-content/pseudo-transition.html
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/web-animations/interfaces/Animatable/animate-expected.txt
trunk/LayoutTests/platform/ios/TestExpectations
trunk/LayoutTests/platform/win/TestExpectations
trunk/LayoutTests/transitions/remove-transition-style.html
trunk/LayoutTests/transitions/transition-hit-test-transform.html
trunk/LayoutTests/transitions/zero-duration-with-non-zero-delay-end.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/RuntimeEnabledFeatures.h
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h
trunk/Source/WebCore/testing/Internals.idl
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/WebPreferences.yaml
trunk/Source/WebKitLegacy/mac/ChangeLog
trunk/Source/WebKitLegacy/mac/WebView/WebPreferences.mm
trunk/Source/WebKitLegacy/win/ChangeLog
trunk/Source/WebKitLegacy/win/WebPreferences.cpp
trunk/Tools/ChangeLog
trunk/Tools/DumpRenderTree/TestOptions.h

[webkit-changes] [230735] trunk

2018-04-17 Thread commit-queue
Title: [230735] trunk








Revision 230735
Author commit-qu...@webkit.org
Date 2018-04-17 15:57:29 -0700 (Tue, 17 Apr 2018)


Log Message
Do not unregister MessagePorts on deallocation if it has been disentangled
https://bugs.webkit.org/show_bug.cgi?id=184285


Patch by Tadeu Zagallo  on 2018-04-17
Reviewed by Darin Adler.

Source/WebCore:

Test: workers/message-port-gc.html

* dom/MessagePort.cpp:
(WebCore::MessagePort::deref const):

LayoutTests:

Original test provided as part of the bug report by Yann Cabon 

* workers/message-port-gc-expected.txt: Added.
* workers/message-port-gc.html: Added.
* workers/message-port-gc.js: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/MessagePort.cpp


Added Paths

trunk/LayoutTests/workers/message-port-gc-expected.txt
trunk/LayoutTests/workers/message-port-gc.html
trunk/LayoutTests/workers/message-port-gc.js




Diff

Modified: trunk/LayoutTests/ChangeLog (230734 => 230735)

--- trunk/LayoutTests/ChangeLog	2018-04-17 22:21:22 UTC (rev 230734)
+++ trunk/LayoutTests/ChangeLog	2018-04-17 22:57:29 UTC (rev 230735)
@@ -1,3 +1,17 @@
+2018-04-17  Tadeu Zagallo  
+
+Do not unregister MessagePorts on deallocation if it has been disentangled
+https://bugs.webkit.org/show_bug.cgi?id=184285
+
+
+Reviewed by Darin Adler.
+
+Original test provided as part of the bug report by Yann Cabon 
+
+* workers/message-port-gc-expected.txt: Added.
+* workers/message-port-gc.html: Added.
+* workers/message-port-gc.js: Added.
+
 2018-04-17  Chris Dumez  
 
 REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab


Added: trunk/LayoutTests/workers/message-port-gc-expected.txt (0 => 230735)

--- trunk/LayoutTests/workers/message-port-gc-expected.txt	(rev 0)
+++ trunk/LayoutTests/workers/message-port-gc-expected.txt	2018-04-17 22:57:29 UTC (rev 230735)
@@ -0,0 +1,25 @@
+Verify that collecting a transferred port should not interfere with posting messages
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+pong
+


Added: trunk/LayoutTests/workers/message-port-gc.html (0 => 230735)

--- trunk/LayoutTests/workers/message-port-gc.html	(rev 0)
+++ trunk/LayoutTests/workers/message-port-gc.html	2018-04-17 22:57:29 UTC (rev 230735)
@@ -0,0 +1,27 @@
+
+
+
+description("Verify that collecting a transferred port should not interfere with posting messages");
+
+if (window.testRunner)
+  window.testRunner.waitUntilDone();
+
+const worker = new Worker("./message-port-gc.js");
+let messageCount = 0;
+
+worker._onmessage_ = e => {
+  const {port} = e.data;
+  port.postMessage("ping");
+  port._onmessage_ = e => {
+debug(e.data);
+if (++messageCount == 16) {
+  if (window.testRunner)
+window.testRunner.notifyDone();
+} else setTimeout(() => port.postMessage("ping"), 50);
+  };
+};
+
+
+
+


Added: trunk/LayoutTests/workers/message-port-gc.js (0 => 230735)

--- trunk/LayoutTests/workers/message-port-gc.js	(rev 0)
+++ trunk/LayoutTests/workers/message-port-gc.js	2018-04-17 22:57:29 UTC (rev 230735)
@@ -0,0 +1,9 @@
+(function() {
+  let {port1, port2} = new MessageChannel();
+  self.postMessage({ port: port2 }, [port2]);
+  port1._onmessage_ = e => {
+for (let i = 0; i < 1000; i++)
+  new ArrayBuffer(500);
+setTimeout(() => port1.postMessage("pong"), 50);
+  };
+})();


Modified: trunk/Source/WebCore/ChangeLog (230734 => 230735)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 22:21:22 UTC (rev 230734)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 22:57:29 UTC (rev 230735)
@@ -1,3 +1,16 @@
+2018-04-17  Tadeu Zagallo  
+
+Do not unregister MessagePorts on deallocation if it has been disentangled
+https://bugs.webkit.org/show_bug.cgi?id=184285
+
+
+Reviewed by Darin Adler.
+
+Test: workers/message-port-gc.html
+
+* dom/MessagePort.cpp:
+(WebCore::MessagePort::deref const):
+
 2018-04-17  Basuke Suzuki  
 
 [Curl] Fix timing of reporting error to the client


Modified: trunk/Source/WebCore/dom/MessagePort.cpp (230734 => 230735)

--- trunk/Source/WebCore/dom/MessagePort.cpp	2018-04-17 22:21:22 UTC (rev 230734)
+++ trunk/Source/WebCore/dom/MessagePort.cpp	2018-04-17 22:57:29 UTC (rev 230735)
@@ -66,7 +66,10 @@
 if (m_refCount)
 return;
 
-allMessagePorts().remove(m_identifier);
+auto iterator = allMessagePorts().find(m_identifier);
+if (iterator != allMessagePorts().end() && iterator->value == this)
+

[webkit-changes] [230734] trunk/Source/WebCore

2018-04-17 Thread commit-queue
Title: [230734] trunk/Source/WebCore








Revision 230734
Author commit-qu...@webkit.org
Date 2018-04-17 15:21:22 -0700 (Tue, 17 Apr 2018)


Log Message
[Curl] Fix timing of reporting error to the client
https://bugs.webkit.org/show_bug.cgi?id=184707

Before checking the result code, check the status of callback invocation and
do the right thing.

Patch by Basuke Suzuki  on 2018-04-17
Reviewed by Youenn Fablet.

No new tests because there's no new behavior.

* platform/network/curl/CurlRequest.cpp:
(WebCore::CurlRequest::didCompleteTransfer):
* platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::needToInvokeDidReceiveResponse const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp
trunk/Source/WebCore/platform/network/curl/CurlRequest.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (230733 => 230734)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 22:20:37 UTC (rev 230733)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 22:21:22 UTC (rev 230734)
@@ -1,5 +1,22 @@
 2018-04-17  Basuke Suzuki  
 
+[Curl] Fix timing of reporting error to the client
+https://bugs.webkit.org/show_bug.cgi?id=184707
+
+Before checking the result code, check the status of callback invocation and
+do the right thing.
+
+Reviewed by Youenn Fablet.
+
+No new tests because there's no new behavior.
+
+* platform/network/curl/CurlRequest.cpp:
+(WebCore::CurlRequest::didCompleteTransfer):
+* platform/network/curl/CurlRequest.h:
+(WebCore::CurlRequest::needToInvokeDidReceiveResponse const):
+
+2018-04-17  Basuke Suzuki  
+
 [Curl] Export authentication information to be used by the client.
 https://bugs.webkit.org/show_bug.cgi?id=184709
 


Modified: trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp (230733 => 230734)

--- trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp	2018-04-17 22:20:37 UTC (rev 230733)
+++ trunk/Source/WebCore/platform/network/curl/CurlRequest.cpp	2018-04-17 22:21:22 UTC (rev 230734)
@@ -410,25 +410,26 @@
 return;
 }
 
+if (needToInvokeDidReceiveResponse()) {
+// Processing of didReceiveResponse() has not been completed. (For example, HEAD method)
+// When completeDidReceiveResponse() is called, didCompleteTransfer() will be called again.
+
+m_finishedResultCode = result;
+invokeDidReceiveResponse(m_response, Action::FinishTransfer);
+return;
+}
+
 if (result == CURLE_OK) {
-if (needToInvokeDidReceiveResponse()) {
-// Processing of didReceiveResponse() has not been completed. (For example, HEAD method)
-// When completeDidReceiveResponse() is called, didCompleteTransfer() will be called again.
+if (m_multipartHandle)
+m_multipartHandle->didComplete();
 
-m_finishedResultCode = result;
-invokeDidReceiveResponse(m_response, Action::FinishTransfer);
-} else {
-if (m_multipartHandle)
-m_multipartHandle->didComplete();
+if (auto metrics = m_curlHandle->getNetworkLoadMetrics())
+m_networkLoadMetrics = *metrics;
 
-if (auto metrics = m_curlHandle->getNetworkLoadMetrics())
-m_networkLoadMetrics = *metrics;
-
-finalizeTransfer();
-callClient([](CurlRequest& request, CurlRequestClient& client) {
-client.curlDidComplete(request);
-});
-}
+finalizeTransfer();
+callClient([](CurlRequest& request, CurlRequestClient& client) {
+client.curlDidComplete(request);
+});
 } else {
 auto type = (result == CURLE_OPERATION_TIMEDOUT && m_request.timeoutInterval() > 0.0) ? ResourceError::Type::Timeout : ResourceError::Type::General;
 auto resourceError = ResourceError::httpError(result, m_request.url(), type);


Modified: trunk/Source/WebCore/platform/network/curl/CurlRequest.h (230733 => 230734)

--- trunk/Source/WebCore/platform/network/curl/CurlRequest.h	2018-04-17 22:20:37 UTC (rev 230733)
+++ trunk/Source/WebCore/platform/network/curl/CurlRequest.h	2018-04-17 22:21:22 UTC (rev 230734)
@@ -127,7 +127,7 @@
 void setupSendData(bool forPutMethod);
 
 // Processing for DidReceiveResponse
-bool needToInvokeDidReceiveResponse() const { return !m_didNotifyResponse || !m_didReturnFromNotify; }
+bool needToInvokeDidReceiveResponse() const { return m_didReceiveResponse && (!m_didNotifyResponse || !m_didReturnFromNotify); }
 bool needToInvokeDidCancelTransfer() const { return m_didNotifyResponse && !m_didReturnFromNotify && m_actionAfterInvoke == Action::FinishTransfer; }
 void invokeDidReceiveResponseForFile(URL&);
 void invokeDidReceiveResponse(const CurlResponse&, Action);






___

[webkit-changes] [230733] branches/safari-605-branch

2018-04-17 Thread kocsen_chung
Title: [230733] branches/safari-605-branch








Revision 230733
Author kocsen_ch...@apple.com
Date 2018-04-17 15:20:37 -0700 (Tue, 17 Apr 2018)


Log Message
Apply patch. rdar://problem/39305046

Modified Paths

branches/safari-605-branch/Source/WebKit/ChangeLog
branches/safari-605-branch/Source/WebKit/UIProcess/API/APINavigation.cpp
branches/safari-605-branch/Source/WebKit/UIProcess/API/APINavigation.h
branches/safari-605-branch/Source/WebKit/UIProcess/API/C/WKDownload.cpp
branches/safari-605-branch/Source/WebKit/UIProcess/API/C/WKDownload.h
branches/safari-605-branch/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h
branches/safari-605-branch/Source/WebKit/UIProcess/API/Cocoa/_WKDownload.mm
branches/safari-605-branch/Source/WebKit/UIProcess/Downloads/DownloadProxy.h
branches/safari-605-branch/Source/WebKit/UIProcess/WebFrameProxy.cpp
branches/safari-605-branch/Source/WebKit/UIProcess/WebFrameProxy.h
branches/safari-605-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
branches/safari-605-branch/Source/WebKit/UIProcess/WebPageProxy.h
branches/safari-605-branch/Source/WebKit/UIProcess/WebPageProxy.messages.in
branches/safari-605-branch/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
branches/safari-605-branch/Source/WebKit/WebProcess/WebPage/WebFrame.cpp
branches/safari-605-branch/Tools/ChangeLog
branches/safari-605-branch/Tools/TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm
branches/safari-605-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/Download.mm




Diff

Modified: branches/safari-605-branch/Source/WebKit/ChangeLog (230732 => 230733)

--- branches/safari-605-branch/Source/WebKit/ChangeLog	2018-04-17 22:15:03 UTC (rev 230732)
+++ branches/safari-605-branch/Source/WebKit/ChangeLog	2018-04-17 22:20:37 UTC (rev 230733)
@@ -1,3 +1,66 @@
+2018-04-17  Kocsen Chung  
+
+Apply patch. rdar://problem/39305046
+
+2018-04-17  Chris Dumez  
+
+Regression(r222468 & r227758): Motion JPEG streams only show the first frame and frequently crash
+
+
+Reviewed by Chris Dumez.
+
+Roll out r222468 as this patch introduced a null-dereference of the provisionalDocumentLoader.
+The SPI added in r222468 is not used by any client yet so this is safe to roll out.
+
+Also roll out r227758, which attempted to fix the crash introduced in r222468 but
+ended up ignoring every following frame of Motion JPEG streams. This is because there
+is no provisional document loader anymore for follow-up of Motion JPEG streams and the
+r227758 was returning early and asking WebCore to ignore the response when the provisional
+document loader was null. A proper fix would have been to set the navigationID to 0 when
+the provisional document loader is null instead of returning early. However, it does not
+matter in this patch since r222468 is being reverted too.
+
+A proper fix will be landed on trunk via https://bugs.webkit.org/show_bug.cgi?id=184268.
+
+* UIProcess/API/APINavigation.cpp:
+(API::Navigation::Navigation):
+(API::Navigation::appendRedirectionURL): Deleted.
+* UIProcess/API/APINavigation.h:
+(API::Navigation::takeRedirectChain): Deleted.
+(API::Navigation::setWasUserInitiated): Deleted.
+(API::Navigation::wasUserInitiated const): Deleted.
+* UIProcess/API/C/WKDownload.cpp:
+(WKDownloadCopyRedirectChain):
+(WKDownloadGetWasUserInitiated): Deleted.
+* UIProcess/API/C/WKDownload.h:
+* UIProcess/API/Cocoa/_WKDownload.h:
+* UIProcess/API/Cocoa/_WKDownload.mm:
+(-[_WKDownload wasUserInitiated]): Deleted.
+* UIProcess/Downloads/DownloadProxy.h:
+(WebKit::DownloadProxy::setWasUserInitiated): Deleted.
+(WebKit::DownloadProxy::wasUserInitiated const): Deleted.
+(): Deleted.
+* UIProcess/WebFrameProxy.cpp:
+(WebKit::WebFrameProxy::didStartProvisionalLoad):
+(WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
+(WebKit::WebFrameProxy::didFailProvisionalLoad):
+(WebKit::WebFrameProxy::didFinishLoad):
+(WebKit::WebFrameProxy::didFailLoad):
+* UIProcess/WebFrameProxy.h:
+(WebKit::WebFrameProxy::takeProvisionalLoadRedirectChain):
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::receivedPolicyDecision):
+(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+(WebKit::WebPageProxy::decidePolicyForNavigationAction):
+(WebKit::WebPageProxy::decidePolicyForResponse):
+(WebKit::WebPageProxy::decidePolicyForResponseSync):
+* UIProcess/WebPageProxy.h:
+* 

[webkit-changes] [230731] branches/safari-605-branch

2018-04-17 Thread kocsen_chung
Title: [230731] branches/safari-605-branch








Revision 230731
Author kocsen_ch...@apple.com
Date 2018-04-17 15:14:58 -0700 (Tue, 17 Apr 2018)


Log Message
Cherry-pick r230530. rdar://problem/39462749

Show punycode if URL contains Latin dum character
https://bugs.webkit.org/show_bug.cgi?id=184477


Reviewed by David Kilzer.

Source/WebCore:

Revise our "lookalike character" logic to include the small
Latin dum character.

Test: fast/url/host.html

* platform/mac/WebCoreNSURLExtras.mm:
(WebCore::isLookalikeCharacter):

LayoutTests:

* fast/url/host-expected.txt:
* fast/url/host.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230530 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-605-branch/LayoutTests/ChangeLog
branches/safari-605-branch/LayoutTests/fast/url/host-expected.txt
branches/safari-605-branch/LayoutTests/fast/url/host.html
branches/safari-605-branch/Source/WebCore/ChangeLog
branches/safari-605-branch/Source/WebCore/platform/mac/WebCoreNSURLExtras.mm




Diff

Modified: branches/safari-605-branch/LayoutTests/ChangeLog (230730 => 230731)

--- branches/safari-605-branch/LayoutTests/ChangeLog	2018-04-17 22:13:28 UTC (rev 230730)
+++ branches/safari-605-branch/LayoutTests/ChangeLog	2018-04-17 22:14:58 UTC (rev 230731)
@@ -1,3 +1,42 @@
+2018-04-17  Kocsen Chung  
+
+Cherry-pick r230530. rdar://problem/39462749
+
+Show punycode if URL contains Latin dum character
+https://bugs.webkit.org/show_bug.cgi?id=184477
+
+
+Reviewed by David Kilzer.
+
+Source/WebCore:
+
+Revise our "lookalike character" logic to include the small
+Latin dum character.
+
+Test: fast/url/host.html
+
+* platform/mac/WebCoreNSURLExtras.mm:
+(WebCore::isLookalikeCharacter):
+
+LayoutTests:
+
+* fast/url/host-expected.txt:
+* fast/url/host.html:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2018-04-11  Brent Fulgham  
+
+Show punycode if URL contains Latin dum character
+https://bugs.webkit.org/show_bug.cgi?id=184477
+
+
+Reviewed by David Kilzer.
+
+* fast/url/host-expected.txt:
+* fast/url/host.html:
+
 2018-04-11  Kocsen Chung  
 
 Cherry-pick r230513. rdar://problem/39337459


Modified: branches/safari-605-branch/LayoutTests/fast/url/host-expected.txt (230730 => 230731)

--- branches/safari-605-branch/LayoutTests/fast/url/host-expected.txt	2018-04-17 22:13:28 UTC (rev 230730)
+++ branches/safari-605-branch/LayoutTests/fast/url/host-expected.txt	2018-04-17 22:14:58 UTC (rev 230731)
@@ -47,6 +47,7 @@
 PASS canonicalize('http://quip‐apple.com/') is 'http://xn--quipapple-y79d.com/'
 PASS canonicalize('http://quip‑apple.com/') is 'http://xn--quipapple-y79d.com/'
 PASS canonicalize('http://quip−apple.com/') is 'http://xn--quipapple-tf4e.com/'
+PASS canonicalize('http://iclouꝱ.com/') is 'http://xn--iclou-rl3s.com/'
 PASS successfullyParsed is true
 
 TEST COMPLETE


Modified: branches/safari-605-branch/LayoutTests/fast/url/host.html (230730 => 230731)

--- branches/safari-605-branch/LayoutTests/fast/url/host.html	2018-04-17 22:13:28 UTC (rev 230730)
+++ branches/safari-605-branch/LayoutTests/fast/url/host.html	2018-04-17 22:14:58 UTC (rev 230731)
@@ -87,7 +87,8 @@
   ["@google.com","google.com"],
   ["quip\u2010apple.com", "xn--quipapple-y79d.com"],
   ["quip\u2011apple.com", "xn--quipapple-y79d.com"],
-  ["quip\u2212apple.com", "xn--quipapple-tf4e.com"]
+  ["quip\u2212apple.com", "xn--quipapple-tf4e.com"],
+  ["iclou\uA771.com", "xn--iclou-rl3s.com"]
 ];
 
 for (var i = 0; i < cases.length; ++i) {


Modified: branches/safari-605-branch/Source/WebCore/ChangeLog (230730 => 230731)

--- branches/safari-605-branch/Source/WebCore/ChangeLog	2018-04-17 22:13:28 UTC (rev 230730)
+++ branches/safari-605-branch/Source/WebCore/ChangeLog	2018-04-17 22:14:58 UTC (rev 230731)
@@ -1,3 +1,47 @@
+2018-04-17  Kocsen Chung  
+
+Cherry-pick r230530. rdar://problem/39462749
+
+Show punycode if URL contains Latin dum character
+https://bugs.webkit.org/show_bug.cgi?id=184477
+
+
+Reviewed by David Kilzer.
+
+Source/WebCore:
+
+Revise our "lookalike character" logic to include the small
+Latin dum character.
+
+Test: fast/url/host.html
+
+* platform/mac/WebCoreNSURLExtras.mm:
+(WebCore::isLookalikeCharacter):
+
+LayoutTests:
+
+* fast/url/host-expected.txt:
+* fast/url/host.html:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230530 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2018-04-11  Brent Fulgham  
+
+Show punycode if URL contains Latin dum character
+

[webkit-changes] [230732] branches/safari-605-branch

2018-04-17 Thread kocsen_chung
Title: [230732] branches/safari-605-branch








Revision 230732
Author kocsen_ch...@apple.com
Date 2018-04-17 15:15:03 -0700 (Tue, 17 Apr 2018)


Log Message
Cherry-pick r230662. rdar://problem/39496355

Function.prototype.caller shouldn't return generator bodies
https://bugs.webkit.org/show_bug.cgi?id=184630

Reviewed by Yusuke Suzuki.
JSTests:

* stress/function-caller-async-arrow-function-body.js: Added.
* stress/function-caller-async-function-body.js: Added.
* stress/function-caller-async-generator-body.js: Added.
* stress/function-caller-generator-body.js: Added.
* stress/function-caller-generator-method-body.js: Added.

Source/_javascript_Core:

Function.prototype.caller no longer returns generator bodies. Those are meant to be
private.

Also added some builtin debugging tools so that it's easier to do the investigation that I
did.

* builtins/BuiltinNames.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::callerGetter):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObjectFunctions.cpp:
(JSC::globalFuncBuiltinDescribe):
* runtime/JSGlobalObjectFunctions.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230662 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-605-branch/JSTests/ChangeLog
branches/safari-605-branch/Source/_javascript_Core/ChangeLog
branches/safari-605-branch/Source/_javascript_Core/builtins/BuiltinNames.h
branches/safari-605-branch/Source/_javascript_Core/runtime/JSFunction.cpp
branches/safari-605-branch/Source/_javascript_Core/runtime/JSGlobalObject.cpp
branches/safari-605-branch/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.cpp
branches/safari-605-branch/Source/_javascript_Core/runtime/JSGlobalObjectFunctions.h


Added Paths

branches/safari-605-branch/JSTests/stress/function-caller-async-arrow-function-body.js
branches/safari-605-branch/JSTests/stress/function-caller-async-function-body.js
branches/safari-605-branch/JSTests/stress/function-caller-async-generator-body.js
branches/safari-605-branch/JSTests/stress/function-caller-generator-body.js
branches/safari-605-branch/JSTests/stress/function-caller-generator-method-body.js




Diff

Modified: branches/safari-605-branch/JSTests/ChangeLog (230731 => 230732)

--- branches/safari-605-branch/JSTests/ChangeLog	2018-04-17 22:14:58 UTC (rev 230731)
+++ branches/safari-605-branch/JSTests/ChangeLog	2018-04-17 22:15:03 UTC (rev 230732)
@@ -1,3 +1,55 @@
+2018-04-17  Kocsen Chung  
+
+Cherry-pick r230662. rdar://problem/39496355
+
+Function.prototype.caller shouldn't return generator bodies
+https://bugs.webkit.org/show_bug.cgi?id=184630
+
+Reviewed by Yusuke Suzuki.
+JSTests:
+
+
+* stress/function-caller-async-arrow-function-body.js: Added.
+* stress/function-caller-async-function-body.js: Added.
+* stress/function-caller-async-generator-body.js: Added.
+* stress/function-caller-generator-body.js: Added.
+* stress/function-caller-generator-method-body.js: Added.
+
+Source/_javascript_Core:
+
+
+Function.prototype.caller no longer returns generator bodies. Those are meant to be
+private.
+
+Also added some builtin debugging tools so that it's easier to do the investigation that I
+did.
+
+* builtins/BuiltinNames.h:
+* runtime/JSFunction.cpp:
+(JSC::JSFunction::callerGetter):
+* runtime/JSGlobalObject.cpp:
+(JSC::JSGlobalObject::init):
+* runtime/JSGlobalObjectFunctions.cpp:
+(JSC::globalFuncBuiltinDescribe):
+* runtime/JSGlobalObjectFunctions.h:
+
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@230662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2018-04-14  Filip Pizlo  
+
+Function.prototype.caller shouldn't return generator bodies
+https://bugs.webkit.org/show_bug.cgi?id=184630
+
+Reviewed by Yusuke Suzuki.
+
+* stress/function-caller-async-arrow-function-body.js: Added.
+* stress/function-caller-async-function-body.js: Added.
+* stress/function-caller-async-generator-body.js: Added.
+* stress/function-caller-generator-body.js: Added.
+* stress/function-caller-generator-method-body.js: Added.
+
 2018-04-10  Kocsen Chung  
 
 Cherry-pick r230376. rdar://problem/39317885


Added: branches/safari-605-branch/JSTests/stress/function-caller-async-arrow-function-body.js (0 => 230732)

--- branches/safari-605-branch/JSTests/stress/function-caller-async-arrow-function-body.js	(rev 0)
+++ branches/safari-605-branch/JSTests/stress/function-caller-async-arrow-function-body.js	2018-04-17 22:15:03 UTC (rev 230732)
@@ -0,0 +1,26 @@
+//@ runDefault
+
+(function thingy() {
+function bar()
+{
+return bar.caller;
+

[webkit-changes] [230730] trunk/Source/WebKit

2018-04-17 Thread timothy
Title: [230730] trunk/Source/WebKit








Revision 230730
Author timo...@apple.com
Date 2018-04-17 15:13:28 -0700 (Tue, 17 Apr 2018)


Log Message
Always use LayerContentsType::IOSurface in minimal simulator mode
https://bugs.webkit.org/show_bug.cgi?id=184710

Reviewed by Simon Fraser.

* UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (230729 => 230730)

--- trunk/Source/WebKit/ChangeLog	2018-04-17 21:54:43 UTC (rev 230729)
+++ trunk/Source/WebKit/ChangeLog	2018-04-17 22:13:28 UTC (rev 230730)
@@ -1,3 +1,13 @@
+2018-04-17  Timothy Hatcher  
+
+Always use LayerContentsType::IOSurface in minimal simulator mode
+https://bugs.webkit.org/show_bug.cgi?id=184710
+
+Reviewed by Simon Fraser.
+
+* UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
+(WebKit::RemoteLayerTreeHost::updateLayerTree):
+
 2018-04-17  Ryosuke Niwa  
 
 Release assert in InjectedBundle::postSynchronousMessage


Modified: trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm (230729 => 230730)

--- trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm	2018-04-17 21:54:43 UTC (rev 230729)
+++ trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm	2018-04-17 22:13:28 UTC (rev 230730)
@@ -88,7 +88,7 @@
 typedef std::pair LayerIDPair;
 Vector clonesToUpdate;
 
-#if PLATFORM(MAC)
+#if PLATFORM(MAC) || ENABLE(MINIMAL_SIMULATOR)
 // Can't use the iOS code on macOS yet: rdar://problem/31247730
 auto layerContentsType = RemoteLayerBackingStore::LayerContentsType::IOSurface;
 #else






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230729] trunk/Source/WebKit

2018-04-17 Thread rniwa
Title: [230729] trunk/Source/WebKit








Revision 230729
Author rn...@webkit.org
Date 2018-04-17 14:54:43 -0700 (Tue, 17 Apr 2018)


Log Message
Release assert in InjectedBundle::postSynchronousMessage
https://bugs.webkit.org/show_bug.cgi?id=184683

Reviewed by Wenson Hsieh.

Some injected bundles sends sync message when it's not safe to execute scripts.

Use DoNotProcessIncomingMessagesWhenWaitingForSyncReply option in InjectedBundle::postSynchronousMessage
to avoid processing incoming sync IPC messages so that we don't execute arbitrary scripts in those cases.

* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::postSynchronousMessage):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (230728 => 230729)

--- trunk/Source/WebKit/ChangeLog	2018-04-17 21:42:32 UTC (rev 230728)
+++ trunk/Source/WebKit/ChangeLog	2018-04-17 21:54:43 UTC (rev 230729)
@@ -1,3 +1,18 @@
+2018-04-17  Ryosuke Niwa  
+
+Release assert in InjectedBundle::postSynchronousMessage
+https://bugs.webkit.org/show_bug.cgi?id=184683
+
+Reviewed by Wenson Hsieh.
+
+Some injected bundles sends sync message when it's not safe to execute scripts.
+
+Use DoNotProcessIncomingMessagesWhenWaitingForSyncReply option in InjectedBundle::postSynchronousMessage
+to avoid processing incoming sync IPC messages so that we don't execute arbitrary scripts in those cases.
+
+* WebProcess/InjectedBundle/InjectedBundle.cpp:
+(WebKit::InjectedBundle::postSynchronousMessage):
+
 2018-04-17  Chris Dumez  
 
 REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab


Modified: trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp (230728 => 230729)

--- trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp	2018-04-17 21:42:32 UTC (rev 230728)
+++ trunk/Source/WebKit/WebProcess/InjectedBundle/InjectedBundle.cpp	2018-04-17 21:54:43 UTC (rev 230729)
@@ -138,7 +138,8 @@
 UserData returnUserData;
 
 auto& webProcess = WebProcess::singleton();
-if (!webProcess.parentProcessConnection()->sendSync(Messages::WebProcessPool::HandleSynchronousMessage(messageName, UserData(webProcess.transformObjectsToHandles(messageBody))), Messages::WebProcessPool::HandleSynchronousMessage::Reply(returnUserData), 0))
+if (!webProcess.parentProcessConnection()->sendSync(Messages::WebProcessPool::HandleSynchronousMessage(messageName, UserData(webProcess.transformObjectsToHandles(messageBody))),
+Messages::WebProcessPool::HandleSynchronousMessage::Reply(returnUserData), 0, Seconds::infinity(), IPC::SendSyncOption::DoNotProcessIncomingMessagesWhenWaitingForSyncReply))
 returnData = nullptr;
 else
 returnData = webProcess.transformHandlesToObjects(returnUserData.object());






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230728] trunk/Source/WebCore

2018-04-17 Thread commit-queue
Title: [230728] trunk/Source/WebCore








Revision 230728
Author commit-qu...@webkit.org
Date 2018-04-17 14:42:32 -0700 (Tue, 17 Apr 2018)


Log Message
[Curl] Export authentication information to be used by the client.
https://bugs.webkit.org/show_bug.cgi?id=184709

Just added getters for username and password member variables.

Patch by Basuke Suzuki  on 2018-04-17
Reviewed by Alex Christensen.

No new tests because there's no new behavior.

* platform/network/curl/CurlRequest.h:
(WebCore::CurlRequest::user const):
(WebCore::CurlRequest::password const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/curl/CurlRequest.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (230727 => 230728)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 20:15:39 UTC (rev 230727)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 21:42:32 UTC (rev 230728)
@@ -1,3 +1,18 @@
+2018-04-17  Basuke Suzuki  
+
+[Curl] Export authentication information to be used by the client.
+https://bugs.webkit.org/show_bug.cgi?id=184709
+
+Just added getters for username and password member variables.
+
+Reviewed by Alex Christensen.
+
+No new tests because there's no new behavior.
+
+* platform/network/curl/CurlRequest.h:
+(WebCore::CurlRequest::user const):
+(WebCore::CurlRequest::password const):
+
 2018-04-17  Chris Dumez  
 
 REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab


Modified: trunk/Source/WebCore/platform/network/curl/CurlRequest.h (230727 => 230728)

--- trunk/Source/WebCore/platform/network/curl/CurlRequest.h	2018-04-17 20:15:39 UTC (rev 230727)
+++ trunk/Source/WebCore/platform/network/curl/CurlRequest.h	2018-04-17 21:42:32 UTC (rev 230728)
@@ -77,6 +77,8 @@
 bool isCancelled() const { return m_cancelled; }
 bool isCompletedOrCancelled() const { return isCompleted() || isCancelled(); }
 
+const String& user() const { return m_user; }
+const String& password() const { return m_password; }
 
 // Processing for DidReceiveResponse
 WEBCORE_EXPORT void completeDidReceiveResponse();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230727] trunk/Source/WebKitLegacy/win

2018-04-17 Thread cdumez
Title: [230727] trunk/Source/WebKitLegacy/win








Revision 230727
Author cdu...@apple.com
Date 2018-04-17 13:15:39 -0700 (Tue, 17 Apr 2018)


Log Message
Unreviewed attempt to fix the Windows build after r230721

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Modified Paths

trunk/Source/WebKitLegacy/win/ChangeLog
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp




Diff

Modified: trunk/Source/WebKitLegacy/win/ChangeLog (230726 => 230727)

--- trunk/Source/WebKitLegacy/win/ChangeLog	2018-04-17 19:56:33 UTC (rev 230726)
+++ trunk/Source/WebKitLegacy/win/ChangeLog	2018-04-17 20:15:39 UTC (rev 230727)
@@ -1,5 +1,12 @@
 2018-04-17  Chris Dumez  
 
+Unreviewed attempt to fix the Windows build after r230721
+
+* WebCoreSupport/WebFrameLoaderClient.cpp:
+(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
+
+2018-04-17  Chris Dumez  
+
 REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab
 https://bugs.webkit.org/show_bug.cgi?id=184678
 


Modified: trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp (230726 => 230727)

--- trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp	2018-04-17 19:56:33 UTC (rev 230726)
+++ trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp	2018-04-17 20:15:39 UTC (rev 230727)
@@ -565,7 +565,7 @@
 m_policyListenerPrivate->m_policyFunction(PolicyAction::Use);
 }
 
-void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(const NavigationAction& action, const ResourceRequest& request, bool, FormState* formState, WebCore::PolicyDecisionMode, WebCore::PolicyDecisionMode, FramePolicyFunction&& function)
+void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(const NavigationAction& action, const ResourceRequest& request, bool, FormState* formState, WebCore::PolicyDecisionMode, FramePolicyFunction&& function)
 {
 WebView* webView = m_webFrame->webView();
 Frame* coreFrame = core(m_webFrame);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230726] trunk/Source/JavaScriptCore

2018-04-17 Thread fpizlo
Title: [230726] trunk/Source/_javascript_Core








Revision 230726
Author fpi...@apple.com
Date 2018-04-17 12:56:33 -0700 (Tue, 17 Apr 2018)


Log Message
JSGenericTypedArrayView<>::visitChildren has a race condition reading m_mode and m_vector
https://bugs.webkit.org/show_bug.cgi?id=184705

Reviewed by Michael Saboff.

My old multisocket Mac Pro is amazing at catching race conditions in the GC. Earlier today
while testing an unrelated patch, a concurrent GC thread crashed inside
JSGenericTypedArrayView<>::visitChildren() calling markAuxiliary(). I'm pretty sure it's
because a typed array became wasteful concurrently to the GC. So, visitChildren() read one
mode and another vector.

The fix is to lock inside visitChildren and anyone who changes those fields.

I'm not even going to try to write a test. I think it's super lucky that my Mac Pro caught
this.

* runtime/JSArrayBufferView.cpp:
(JSC::JSArrayBufferView::neuter):
* runtime/JSGenericTypedArrayViewInlines.h:
(JSC::JSGenericTypedArrayView::visitChildren):
(JSC::JSGenericTypedArrayView::slowDownAndWasteMemory):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSArrayBufferView.cpp
trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewInlines.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230725 => 230726)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 19:53:30 UTC (rev 230725)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 19:56:33 UTC (rev 230726)
@@ -1,3 +1,27 @@
+2018-04-17  Filip Pizlo  
+
+JSGenericTypedArrayView<>::visitChildren has a race condition reading m_mode and m_vector
+https://bugs.webkit.org/show_bug.cgi?id=184705
+
+Reviewed by Michael Saboff.
+
+My old multisocket Mac Pro is amazing at catching race conditions in the GC. Earlier today
+while testing an unrelated patch, a concurrent GC thread crashed inside
+JSGenericTypedArrayView<>::visitChildren() calling markAuxiliary(). I'm pretty sure it's
+because a typed array became wasteful concurrently to the GC. So, visitChildren() read one
+mode and another vector.
+
+The fix is to lock inside visitChildren and anyone who changes those fields.
+
+I'm not even going to try to write a test. I think it's super lucky that my Mac Pro caught
+this.
+
+* runtime/JSArrayBufferView.cpp:
+(JSC::JSArrayBufferView::neuter):
+* runtime/JSGenericTypedArrayViewInlines.h:
+(JSC::JSGenericTypedArrayView::visitChildren):
+(JSC::JSGenericTypedArrayView::slowDownAndWasteMemory):
+
 2018-04-16  Filip Pizlo  
 
 PutStackSinkingPhase should know that KillStack means ConflictingFlush


Modified: trunk/Source/_javascript_Core/runtime/JSArrayBufferView.cpp (230725 => 230726)

--- trunk/Source/_javascript_Core/runtime/JSArrayBufferView.cpp	2018-04-17 19:53:30 UTC (rev 230725)
+++ trunk/Source/_javascript_Core/runtime/JSArrayBufferView.cpp	2018-04-17 19:56:33 UTC (rev 230726)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2018 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -209,6 +209,7 @@
 
 void JSArrayBufferView::neuter()
 {
+auto locker = holdLock(cellLock());
 RELEASE_ASSERT(hasArrayBuffer());
 RELEASE_ASSERT(!isShared());
 m_length = 0;


Modified: trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewInlines.h (230725 => 230726)

--- trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewInlines.h	2018-04-17 19:53:30 UTC (rev 230725)
+++ trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewInlines.h	2018-04-17 19:56:33 UTC (rev 230726)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2018 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -515,15 +515,26 @@
 {
 JSGenericTypedArrayView* thisObject = jsCast(cell);
 
-switch (thisObject->m_mode) {
+TypedArrayMode mode;
+void* vector;
+size_t byteSize;
+
+{
+auto locker = holdLock(thisObject->cellLock());
+mode = thisObject->m_mode;
+vector = thisObject->m_vector.getMayBeNull();
+byteSize = thisObject->byteSize();
+}
+
+switch (mode) {
 case FastTypedArray: {
-if (void* vector = thisObject->m_vector.getMayBeNull())
+if (vector)
 visitor.markAuxiliary(vector);
 break;
 }
 
 case OversizeTypedArray: {
-visitor.reportExtraMemoryVisited(thisObject->byteSize());
+

[webkit-changes] [230725] trunk

2018-04-17 Thread fpizlo
Title: [230725] trunk








Revision 230725
Author fpi...@apple.com
Date 2018-04-17 12:53:30 -0700 (Tue, 17 Apr 2018)


Log Message
PutStackSinkingPhase should know that KillStack means ConflictingFlush
https://bugs.webkit.org/show_bug.cgi?id=184672

Reviewed by Michael Saboff.

JSTests:

* stress/sink-put-stack-over-kill-stack.js: Added.
(avocado_1):
(apricot_0):
(__c_0):
(banana_2):

Source/_javascript_Core:

We've had a long history of KillStack and PutStackSinkingPhase having problems. We kept changing the meaning of
KillStack, and at some point we removed reasoning about KillStack from PutStackSinkingPhase. I tried doing some
archeology - but I'm still not sure why that phase ignores KillStack entirely. Maybe it's an oversight or maybe it's
intentional - I don't know.

Whatever the history, it's clear from the attached test case that ignoring KillStack is not correct. The outcome of
doing so is that we will sometimes sink a PutStack below a KillStack. That's wrong because then, OSR exit will use
the value from the PutStack instead of using the value from the MovHint that is associated with the KillStack. So,
KillStack must be seen as a special kind of clobber of the stack slot. OSRAvailabiity uses ConflictingFlush. I think
that's correct here, too. If we used DeadFlush and that was merged with another control flow path that had a
specific flush format, then we would think that we could sink the flush from that path. That's not right, since that
could still lead to sinking a PutStack past the KillStack in the sense that a PutStack will appear after the
KillStack along one path through the CFG. Also, the definition of DeadFlush and ConflictingFlush in the comment
inside PutStackSinkingPhase seems to suggest that KillStack is a ConflictingFlush, since DeadFlush means that we
have done some PutStack and their values are still valid. KillStack is not a PutStack and it means that previous
values are not valid. The definition of ConflictingFlush is that "we know, via forward flow, that there isn't any
value in the given local that anyone should have been relying on" - which exactly matches KillStack's definition.

This also means that we cannot eliminate arguments allocations that are live over KillStacks, since if we eliminated
them then we would have a GetStack after a KillStack. One easy way to fix this is to say that KillStack writes to
its stack slot for the purpose of clobberize.

* dfg/DFGClobberize.h: KillStack "writes" to its stack slot.
* dfg/DFGPutStackSinkingPhase.cpp: Fix the bug.
* ftl/FTLLowerDFGToB3.cpp: Add better assertion failure.
(JSC::FTL::DFG::LowerDFGToB3::buildExitArguments):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGClobberize.h
trunk/Source/_javascript_Core/dfg/DFGPutStackSinkingPhase.cpp
trunk/Source/_javascript_Core/ftl/FTLLowerDFGToB3.cpp


Added Paths

trunk/JSTests/stress/sink-put-stack-over-kill-stack.js




Diff

Modified: trunk/JSTests/ChangeLog (230724 => 230725)

--- trunk/JSTests/ChangeLog	2018-04-17 19:13:10 UTC (rev 230724)
+++ trunk/JSTests/ChangeLog	2018-04-17 19:53:30 UTC (rev 230725)
@@ -1,3 +1,16 @@
+2018-04-16  Filip Pizlo  
+
+PutStackSinkingPhase should know that KillStack means ConflictingFlush
+https://bugs.webkit.org/show_bug.cgi?id=184672
+
+Reviewed by Michael Saboff.
+
+* stress/sink-put-stack-over-kill-stack.js: Added.
+(avocado_1):
+(apricot_0):
+(__c_0):
+(banana_2):
+
 2018-04-17  Yusuke Suzuki  
 
 [JSC] Rename runWebAssembly to runWebAssemblySuite


Added: trunk/JSTests/stress/sink-put-stack-over-kill-stack.js (0 => 230725)

--- trunk/JSTests/stress/sink-put-stack-over-kill-stack.js	(rev 0)
+++ trunk/JSTests/stress/sink-put-stack-over-kill-stack.js	2018-04-17 19:53:30 UTC (rev 230725)
@@ -0,0 +1,16 @@
+function* avocado_1() {}
+
+function apricot_0(alpaca_0) {
+  if (alpaca_0) {}
+}
+
+class __c_0 extends null {}
+
+function banana_2() {
+  apricot_0();
+  avocado_1(() => null);
+}
+
+for (let i = 0; i < 10; i++) {
+  banana_2();
+}


Modified: trunk/Source/_javascript_Core/ChangeLog (230724 => 230725)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 19:13:10 UTC (rev 230724)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 19:53:30 UTC (rev 230725)
@@ -1,3 +1,37 @@
+2018-04-16  Filip Pizlo  
+
+PutStackSinkingPhase should know that KillStack means ConflictingFlush
+https://bugs.webkit.org/show_bug.cgi?id=184672
+
+Reviewed by Michael Saboff.
+
+We've had a long history of KillStack and PutStackSinkingPhase having problems. We kept changing the meaning of
+KillStack, and at some point we removed reasoning about KillStack from PutStackSinkingPhase. I tried doing some
+archeology - but I'm still not sure why that phase ignores KillStack entirely. Maybe it's 

[webkit-changes] [230724] trunk

2018-04-17 Thread utatane . tea
Title: [230724] trunk








Revision 230724
Author utatane@gmail.com
Date 2018-04-17 12:13:10 -0700 (Tue, 17 Apr 2018)


Log Message
[JSC] Rename runWebAssembly to runWebAssemblySuite
https://bugs.webkit.org/show_bug.cgi?id=184703

Reviewed by JF Bastien.

JSTests:

And add runWebAssembly as a command to simplely run wasm modules.

* wasm.yaml:

Tools:

* Scripts/run-jsc-stress-tests:

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/wasm.yaml
trunk/Tools/ChangeLog
trunk/Tools/Scripts/run-jsc-stress-tests




Diff

Modified: trunk/JSTests/ChangeLog (230723 => 230724)

--- trunk/JSTests/ChangeLog	2018-04-17 18:59:00 UTC (rev 230723)
+++ trunk/JSTests/ChangeLog	2018-04-17 19:13:10 UTC (rev 230724)
@@ -1,5 +1,16 @@
 2018-04-17  Yusuke Suzuki  
 
+[JSC] Rename runWebAssembly to runWebAssemblySuite
+https://bugs.webkit.org/show_bug.cgi?id=184703
+
+Reviewed by JF Bastien.
+
+And add runWebAssembly as a command to simplely run wasm modules.
+
+* wasm.yaml:
+
+2018-04-17  Yusuke Suzuki  
+
 [WebAssembly][Modules] Implement function import from wasm modules
 https://bugs.webkit.org/show_bug.cgi?id=184689
 


Modified: trunk/JSTests/wasm.yaml (230723 => 230724)

--- trunk/JSTests/wasm.yaml	2018-04-17 18:59:00 UTC (rev 230723)
+++ trunk/JSTests/wasm.yaml	2018-04-17 19:13:10 UTC (rev 230724)
@@ -22,23 +22,23 @@
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 - path: wasm/self-test/
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/js-api/
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/noJIT/
   cmd: runNoJIT unless parseRunCommands
 - path: wasm/function-tests
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/fuzz
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/stress
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/lowExecutableMemory
   cmd: runWebAssemblyLowExecutableMemory unless parseRunCommands
 - path: wasm/regress/
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/modules/
-  cmd: runWebAssembly unless parseRunCommands
+  cmd: runWebAssemblySuite unless parseRunCommands
 
 - path: wasm/spec-tests/address.wast.js
   cmd: runWebAssemblySpecTest :normal
@@ -180,4 +180,4 @@
   cmd: runWebAssemblySpecTest :normal
 
 - path: wasm/modules/run-from-wasm.wasm
-  cmd: runWebAssemblyDirect
+  cmd: runWebAssembly


Modified: trunk/Tools/ChangeLog (230723 => 230724)

--- trunk/Tools/ChangeLog	2018-04-17 18:59:00 UTC (rev 230723)
+++ trunk/Tools/ChangeLog	2018-04-17 19:13:10 UTC (rev 230724)
@@ -1,5 +1,14 @@
 2018-04-17  Yusuke Suzuki  
 
+[JSC] Rename runWebAssembly to runWebAssemblySuite
+https://bugs.webkit.org/show_bug.cgi?id=184703
+
+Reviewed by JF Bastien.
+
+* Scripts/run-jsc-stress-tests:
+
+2018-04-17  Yusuke Suzuki  
+
 [WebAssembly][Modules] Implement function import from wasm modules
 https://bugs.webkit.org/show_bug.cgi?id=184689
 


Modified: trunk/Tools/Scripts/run-jsc-stress-tests (230723 => 230724)

--- trunk/Tools/Scripts/run-jsc-stress-tests	2018-04-17 18:59:00 UTC (rev 230723)
+++ trunk/Tools/Scripts/run-jsc-stress-tests	2018-04-17 19:13:10 UTC (rev 230724)
@@ -1001,9 +1001,6 @@
 def runWebAssembly
 return if !$jitTests
 return if !$isFTLPlatform
-modules = Dir[WASMTESTS_PATH + "*.js"].map { |f| File.basename(f) }
-prepareExtraAbsoluteFiles(WASMTESTS_PATH, ["wasm.json"])
-prepareExtraRelativeFiles(modules.map { |f| "../" + f }, $collection)
 run("default-wasm", "-m", *FTL_OPTIONS)
 if $mode != "quick"
 run("wasm-no-cjit-yes-tls-context", "-m", "--useFastTLSForWasmContext=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS))
@@ -1014,9 +1011,12 @@
 end
 end
 
-def runWebAssemblyDirect
+def runWebAssemblySuite
 return if !$jitTests
 return if !$isFTLPlatform
+modules = Dir[WASMTESTS_PATH + "*.js"].map { |f| File.basename(f) }
+prepareExtraAbsoluteFiles(WASMTESTS_PATH, ["wasm.json"])
+prepareExtraRelativeFiles(modules.map { |f| "../" + f }, $collection)
 run("default-wasm", "-m", *FTL_OPTIONS)
 if $mode != "quick"
 run("wasm-no-cjit-yes-tls-context", "-m", "--useFastTLSForWasmContext=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS))






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230723] trunk/Source/JavaScriptCore

2018-04-17 Thread fpizlo
Title: [230723] trunk/Source/_javascript_Core








Revision 230723
Author fpi...@apple.com
Date 2018-04-17 11:59:00 -0700 (Tue, 17 Apr 2018)


Log Message
JSWebAssemblyCodeBlock should be in an IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=184704

Reviewed by Mark Lam.

Previously it was in a CompleteSubspace, which is pretty good, but also quite wasteful.
CompleteSubspace means about 4KB of data to track the size-allocator mapping. IsoSubspace
shortcircuits this. Also, IsoSubspace uses the iso allocator, so it provides stronger UAF
protection.

* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:
* wasm/js/JSWebAssemblyCodeBlock.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/VM.cpp
trunk/Source/_javascript_Core/runtime/VM.h
trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230722 => 230723)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 18:33:36 UTC (rev 230722)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 18:59:00 UTC (rev 230723)
@@ -1,3 +1,20 @@
+2018-04-17  Filip Pizlo  
+
+JSWebAssemblyCodeBlock should be in an IsoSubspace
+https://bugs.webkit.org/show_bug.cgi?id=184704
+
+Reviewed by Mark Lam.
+
+Previously it was in a CompleteSubspace, which is pretty good, but also quite wasteful.
+CompleteSubspace means about 4KB of data to track the size-allocator mapping. IsoSubspace
+shortcircuits this. Also, IsoSubspace uses the iso allocator, so it provides stronger UAF
+protection.
+
+* runtime/VM.cpp:
+(JSC::VM::VM):
+* runtime/VM.h:
+* wasm/js/JSWebAssemblyCodeBlock.h:
+
 2018-04-17  Jer Noble  
 
 Only enable useSeparatedWXHeap on ARM64.


Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (230722 => 230723)

--- trunk/Source/_javascript_Core/runtime/VM.cpp	2018-04-17 18:33:36 UTC (rev 230722)
+++ trunk/Source/_javascript_Core/runtime/VM.cpp	2018-04-17 18:59:00 UTC (rev 230723)
@@ -94,6 +94,7 @@
 #include "JSWeakMap.h"
 #include "JSWeakSet.h"
 #include "JSWebAssembly.h"
+#include "JSWebAssemblyCodeBlock.h"
 #include "JSWebAssemblyCodeBlockHeapCellType.h"
 #include "JSWithScope.h"
 #include "LLIntData.h"
@@ -253,9 +254,6 @@
 , destructibleObjectSpace("JSDestructibleObject", heap, destructibleObjectHeapCellType.get(), fastMallocAllocator.get())
 , eagerlySweptDestructibleObjectSpace("Eagerly Swept JSDestructibleObject", heap, destructibleObjectHeapCellType.get(), fastMallocAllocator.get())
 , segmentedVariableObjectSpace("JSSegmentedVariableObjectSpace", heap, segmentedVariableObjectHeapCellType.get(), fastMallocAllocator.get())
-#if ENABLE(WEBASSEMBLY)
-, webAssemblyCodeBlockSpace("JSWebAssemblyCodeBlockSpace", heap, webAssemblyCodeBlockHeapCellType.get(), fastMallocAllocator.get())
-#endif
 , asyncFunctionSpace ISO_SUBSPACE_INIT(heap, cellJSValueOOBHeapCellType.get(), JSAsyncFunction)
 , asyncGeneratorFunctionSpace ISO_SUBSPACE_INIT(heap, cellJSValueOOBHeapCellType.get(), JSAsyncGeneratorFunction)
 , boundFunctionSpace ISO_SUBSPACE_INIT(heap, cellJSValueOOBHeapCellType.get(), JSBoundFunction)
@@ -278,6 +276,7 @@
 , weakSetSpace ISO_SUBSPACE_INIT(heap, destructibleObjectHeapCellType.get(), JSWeakSet)
 , weakMapSpace ISO_SUBSPACE_INIT(heap, destructibleObjectHeapCellType.get(), JSWeakMap)
 #if ENABLE(WEBASSEMBLY)
+, webAssemblyCodeBlockSpace ISO_SUBSPACE_INIT(heap, webAssemblyCodeBlockHeapCellType.get(), JSWebAssemblyCodeBlock)
 , webAssemblyFunctionSpace ISO_SUBSPACE_INIT(heap, cellJSValueOOBHeapCellType.get(), WebAssemblyFunction)
 , webAssemblyWrapperFunctionSpace ISO_SUBSPACE_INIT(heap, cellJSValueOOBHeapCellType.get(), WebAssemblyWrapperFunction)
 #endif


Modified: trunk/Source/_javascript_Core/runtime/VM.h (230722 => 230723)

--- trunk/Source/_javascript_Core/runtime/VM.h	2018-04-17 18:33:36 UTC (rev 230722)
+++ trunk/Source/_javascript_Core/runtime/VM.h	2018-04-17 18:59:00 UTC (rev 230723)
@@ -336,9 +336,6 @@
 CompleteSubspace destructibleObjectSpace;
 CompleteSubspace eagerlySweptDestructibleObjectSpace;
 CompleteSubspace segmentedVariableObjectSpace;
-#if ENABLE(WEBASSEMBLY)
-CompleteSubspace webAssemblyCodeBlockSpace;
-#endif
 
 IsoSubspace asyncFunctionSpace;
 IsoSubspace asyncGeneratorFunctionSpace;
@@ -362,6 +359,7 @@
 IsoSubspace weakSetSpace;
 IsoSubspace weakMapSpace;
 #if ENABLE(WEBASSEMBLY)
+IsoSubspace webAssemblyCodeBlockSpace;
 IsoSubspace webAssemblyFunctionSpace;
 IsoSubspace webAssemblyWrapperFunctionSpace;
 #endif


Modified: trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h (230722 => 230723)

--- trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h	2018-04-17 18:33:36 UTC (rev 230722)
+++ trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyCodeBlock.h	2018-04-17 

[webkit-changes] [230722] trunk/Source/JavaScriptCore

2018-04-17 Thread jer . noble
Title: [230722] trunk/Source/_javascript_Core








Revision 230722
Author jer.no...@apple.com
Date 2018-04-17 11:33:36 -0700 (Tue, 17 Apr 2018)


Log Message
Only enable useSeparatedWXHeap on ARM64.
https://bugs.webkit.org/show_bug.cgi?id=184697

Reviewed by Saam Barati.

* runtime/Options.cpp:
(JSC::recomputeDependentOptions):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/Options.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230721 => 230722)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 18:13:49 UTC (rev 230721)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 18:33:36 UTC (rev 230722)
@@ -1,3 +1,13 @@
+2018-04-17  Jer Noble  
+
+Only enable useSeparatedWXHeap on ARM64.
+https://bugs.webkit.org/show_bug.cgi?id=184697
+
+Reviewed by Saam Barati.
+
+* runtime/Options.cpp:
+(JSC::recomputeDependentOptions):
+
 2018-04-17  Yusuke Suzuki  
 
 [WebAssembly][Modules] Implement function import from wasm modules


Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (230721 => 230722)

--- trunk/Source/_javascript_Core/runtime/Options.cpp	2018-04-17 18:13:49 UTC (rev 230721)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp	2018-04-17 18:33:36 UTC (rev 230722)
@@ -454,7 +454,7 @@
 Options::useOSREntryToFTL() = false;
 }
 
-#if PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)
+#if PLATFORM(IOS) && CPU(ARM64)
 // Override globally for now. Longer term we'll just make the default
 // be to have this option enabled, and have platforms that don't support
 // it just silently use a single mapping.






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230721] trunk

2018-04-17 Thread cdumez
Title: [230721] trunk








Revision 230721
Author cdu...@apple.com
Date 2018-04-17 11:13:49 -0700 (Tue, 17 Apr 2018)


Log Message
REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab
https://bugs.webkit.org/show_bug.cgi?id=184678


Reviewed by Alex Christensen.

Source/WebCore:

Frament navigations need to happen synchronously for Web-compatibility. Because of this,
r225657 added code to make sure that if the client does not make the navigation policy
decision synchronously for frament navigations, then we'll stop waiting for the client
and proceed with the navigation. However, r229831 make the navigation policy decision
IPC decision, meaning that even if the client responds synchronously, it would be
asynchronously from WebCore's point of view. As a result, we would always ignore the
client's policy decision when doing a fragment navigation.

This is an issue on iclould.com because the web-app links are fragment URLs. When you
CMD+click one of these link, we do the navigation policy check. As a result of this
check, Safari responds IGNORE to the policy decision and instead decides to load the
link in a new tab (because CMD key is pressed). Due to the bug mentioned above, we
would not obey the IGNORE policy decision from Safari and load the link in the current
tab, even though Safari would already be loading it in a new tab.

To address the issue, I reintroduced a synchronous code path for navigation policy
decision making, backed by synchronous IPC. This synchronous code path is now used for
fragment navigations to restore pre-r229831 behavior. If the client does not answer
synchronously, we'll proceed with the navigation anyway, as was happening pre-r229831.

Test: http/tests/navigation/fragment-navigation-policy-ignore.html

* loader/EmptyClients.cpp:
(WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* loader/EmptyFrameLoaderClient.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::loadWithDocumentLoader):
* loader/FrameLoaderClient.h:
* loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* loader/PolicyChecker.h:

Source/WebKit:

Re-introduce synchronous code path which existed pre-r229831 and use it for fragment navigations.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WebKitLegacy/mac:

Add new parameter to dispatchDecidePolicyForNavigationAction.

* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):

Source/WebKitLegacy/win:

Add new parameter to dispatchDecidePolicyForNavigationAction.

* WebCoreSupport/WebFrameLoaderClient.cpp:
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
* WebCoreSupport/WebFrameLoaderClient.h:

LayoutTests:

Add layout test coverage.

* http/tests/navigation/fragment-navigation-policy-ignore-expected.txt: Added.
* http/tests/navigation/fragment-navigation-policy-ignore.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/EmptyClients.cpp
trunk/Source/WebCore/loader/EmptyFrameLoaderClient.h
trunk/Source/WebCore/loader/FrameLoader.cpp
trunk/Source/WebCore/loader/FrameLoaderClient.h
trunk/Source/WebCore/loader/PolicyChecker.cpp
trunk/Source/WebCore/loader/PolicyChecker.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebFrameLoaderClient.h
trunk/Source/WebKitLegacy/mac/ChangeLog
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.h
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebFrameLoaderClient.mm
trunk/Source/WebKitLegacy/win/ChangeLog
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.cpp
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebFrameLoaderClient.h


Added Paths

trunk/LayoutTests/http/tests/navigation/fragment-navigation-policy-ignore-expected.txt
trunk/LayoutTests/http/tests/navigation/fragment-navigation-policy-ignore.html




Diff

Modified: trunk/LayoutTests/ChangeLog (230720 => 230721)

--- trunk/LayoutTests/ChangeLog	2018-04-17 18:00:07 UTC (rev 230720)
+++ trunk/LayoutTests/ChangeLog	2018-04-17 18:13:49 UTC (rev 230721)
@@ -1,3 +1,16 @@
+2018-04-17  Chris Dumez  
+
+REGRESSION (r229831): CMD-clicking an iCloud web app link unexpectedly opens that link in a new tab and the current tab
+

[webkit-changes] [230720] trunk

2018-04-17 Thread utatane . tea
Title: [230720] trunk








Revision 230720
Author utatane@gmail.com
Date 2018-04-17 11:00:07 -0700 (Tue, 17 Apr 2018)


Log Message
[WebAssembly][Modules] Implement function import from wasm modules
https://bugs.webkit.org/show_bug.cgi?id=184689

Reviewed by JF Bastien.

JSTests:

* wasm.yaml:
* wasm/modules/js-wasm-cycle.js: Added.
* wasm/modules/js-wasm-cycle/entry.js: Added.
(from.string_appeared_here.export.return42):
* wasm/modules/js-wasm-cycle/sum.wasm: Added.
* wasm/modules/js-wasm-cycle/sum.wat: Added.
* wasm/modules/run-from-wasm.wasm: Added.
* wasm/modules/run-from-wasm.wat: Added.
* wasm/modules/run-from-wasm/check.js: Added.
(export.check):
* wasm/modules/wasm-imports-js-exports.js: Added.
* wasm/modules/wasm-imports-js-exports/imports.wasm: Added.
* wasm/modules/wasm-imports-js-exports/imports.wat: Added.
* wasm/modules/wasm-imports-js-exports/sum.js: Added.
(export.sum):
* wasm/modules/wasm-imports-js-re-exports-wasm-exports.js: Added.
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm: Added.
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat: Added.
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js: Added.
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm: Added.
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat: Added.
* wasm/modules/wasm-imports-wasm-exports.js: Added.
* wasm/modules/wasm-imports-wasm-exports/imports.wasm: Added.
* wasm/modules/wasm-imports-wasm-exports/imports.wat: Added.
* wasm/modules/wasm-imports-wasm-exports/sum.wasm: Added.
* wasm/modules/wasm-imports-wasm-exports/sum.wat: Added.
* wasm/modules/wasm-js-cycle.js: Added.
* wasm/modules/wasm-js-cycle/entry.wasm: Added.
* wasm/modules/wasm-js-cycle/entry.wat: Added.
* wasm/modules/wasm-js-cycle/sum.js: Added.
(from.string_appeared_here.export.sum):
* wasm/modules/wasm-wasm-cycle.js: Added.
* wasm/modules/wasm-wasm-cycle/entry.wasm: Added.
* wasm/modules/wasm-wasm-cycle/entry.wat: Added.
* wasm/modules/wasm-wasm-cycle/sum.wasm: Added.
* wasm/modules/wasm-wasm-cycle/sum.wat: Added.

Source/_javascript_Core:

This patch implements function import from wasm modules. We move function importing part
from JSWebAssemblyInstance's creation function to WebAssemblyModuleRecord::link. This
is because linking these functions requires that all the dependent modules are created.
While we want to move all the linking functionality from JSWebAssemblyInstance to
WebAssemblyModuleRecord::link, we do not that in this patch.  In this patch, we move only
function importing part because efficient compilation of WebAssembly needs to know
the type of WebAssemblyMemory (signaling or bound checking). This needs to know imported
or attached WebAssembly memory object. So we cannot defer this linking to
WebAssemblyModuleRecord::link now.

The largest difference from JS module linking is that WebAssembly module linking links
function from the module by snapshotting. When you have a cyclic module graph like this,

-> JS1 (export "fun") -> Wasm1 (import "fun from JS1) -+
^  |
+--+

we fail to link this since "fun" is not instantiated when Wasm1 is first linked. This behavior
is described in [1], and tested in this patch.

[1]: https://github.com/WebAssembly/esm-integration/tree/master/proposals/esm-integration#js---wasm-cycle-where-js-is-higher-in-the-module-graph

* _javascript_Core.xcodeproj/project.pbxproj:
* jsc.cpp:
(functionDollarAgentStart):
(checkException):
(runWithOptions):
Small fixes for wasm module loading.

* parser/NodesAnalyzeModule.cpp:
(JSC::ImportDeclarationNode::analyzeModule):
* runtime/AbstractModuleRecord.cpp:
(JSC::AbstractModuleRecord::resolveImport):
(JSC::AbstractModuleRecord::link):
* runtime/AbstractModuleRecord.h:
(JSC::AbstractModuleRecord::moduleEnvironmentMayBeNull):
(JSC::AbstractModuleRecord::ImportEntry::isNamespace const): Deleted.
Now, wasm modules can have import which is named "*". So this function does not work.
Since wasm modules never have namespace importing, we check this in JS's module analyzer.

* runtime/JSModuleEnvironment.cpp:
(JSC::JSModuleEnvironment::getOwnNonIndexPropertyNames):
* runtime/JSModuleRecord.cpp:
(JSC::JSModuleRecord::instantiateDeclarations):
* wasm/WasmCreationMode.h: Added.
* wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finalizeCreation):
(JSC::JSWebAssemblyInstance::create):
* wasm/js/JSWebAssemblyInstance.h:
* wasm/js/WebAssemblyInstanceConstructor.cpp:
(JSC::constructJSWebAssemblyInstance):
* wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):
* wasm/js/WebAssemblyModuleRecord.h:
* wasm/js/WebAssemblyPrototype.cpp:
(JSC::resolve):
(JSC::instantiate):
(JSC::compileAndInstantiate):
(JSC::WebAssemblyPrototype::instantiate):
(JSC::webAssemblyInstantiateFunc):

Tools:

Add runWebAssemblyDirect, which runs wasm file directly.

* Scripts/run-jsc-stress-tests:


[webkit-changes] [230719] trunk/Websites/perf.webkit.org

2018-04-17 Thread dewei_zhu
Title: [230719] trunk/Websites/perf.webkit.org








Revision 230719
Author dewei_...@apple.com
Date 2018-04-17 10:23:18 -0700 (Tue, 17 Apr 2018)


Log Message
Commit order should always be returned by api.
https://bugs.webkit.org/show_bug.cgi?id=184674

Reviewed by Ryosuke Niwa.

Commit order sometimes missing in CommitLog object before this change.
This makes ordering commits logic become unnecessarily complicate.
This change will ensure commit order is always fetched for a CommitLog object.
Change measurement-set API to contain commit order information.
Change commits API to contain commit order information.

* public/api/measurement-set.php: Includes commit order information.
* public/include/commit-log-fetcher.php:
* public/v3/models/commit-log.js: Added a function to return order information.
(CommitLog.prototype.updateSingleton): This function should update commit order.
(CommitLog.prototype.order): Returns the order of commit.
* public/v3/models/commit-set.js:
(MeasurementCommitSet): Update MeasurementCommitSet to contain commit order information when creating CommitLog object.
* server-tests/api-measurement-set-tests.js: Updated unit tests.
* unit-tests/analysis-task-tests.js: Update unit tests to contain commit order information in mock data.
(measurementCluster):
* unit-tests/commit-log-tests.js: Added unit tests for CommitLog.order.
* unit-tests/commit-set-tests.js: Added commit order in MeasurementCommitSet.
* unit-tests/measurement-adaptor-tests.js: Updated unit tests to contain commit order information in mock data.
* unit-tests/measurement-set-tests.js: Updated unit tests to contain commit order information in mock data.

Modified Paths

trunk/Websites/perf.webkit.org/ChangeLog
trunk/Websites/perf.webkit.org/public/api/measurement-set.php
trunk/Websites/perf.webkit.org/public/include/commit-log-fetcher.php
trunk/Websites/perf.webkit.org/public/v3/models/commit-log.js
trunk/Websites/perf.webkit.org/public/v3/models/commit-set.js
trunk/Websites/perf.webkit.org/server-tests/api-measurement-set-tests.js
trunk/Websites/perf.webkit.org/unit-tests/analysis-task-tests.js
trunk/Websites/perf.webkit.org/unit-tests/commit-log-tests.js
trunk/Websites/perf.webkit.org/unit-tests/commit-set-tests.js
trunk/Websites/perf.webkit.org/unit-tests/measurement-adaptor-tests.js
trunk/Websites/perf.webkit.org/unit-tests/measurement-set-tests.js




Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (230718 => 230719)

--- trunk/Websites/perf.webkit.org/ChangeLog	2018-04-17 17:13:01 UTC (rev 230718)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2018-04-17 17:23:18 UTC (rev 230719)
@@ -1,3 +1,31 @@
+2018-04-16  Dewei Zhu  
+
+Commit order should always be returned by api.
+https://bugs.webkit.org/show_bug.cgi?id=184674
+
+Reviewed by Ryosuke Niwa.
+
+Commit order sometimes missing in CommitLog object before this change.
+This makes ordering commits logic become unnecessarily complicate.
+This change will ensure commit order is always fetched for a CommitLog object.
+Change measurement-set API to contain commit order information.
+Change commits API to contain commit order information.
+
+* public/api/measurement-set.php: Includes commit order information.
+* public/include/commit-log-fetcher.php:
+* public/v3/models/commit-log.js: Added a function to return order information.
+(CommitLog.prototype.updateSingleton): This function should update commit order.
+(CommitLog.prototype.order): Returns the order of commit.
+* public/v3/models/commit-set.js:
+(MeasurementCommitSet): Update MeasurementCommitSet to contain commit order information when creating CommitLog object.
+* server-tests/api-measurement-set-tests.js: Updated unit tests.
+* unit-tests/analysis-task-tests.js: Update unit tests to contain commit order information in mock data.
+(measurementCluster):
+* unit-tests/commit-log-tests.js: Added unit tests for CommitLog.order.
+* unit-tests/commit-set-tests.js: Added commit order in MeasurementCommitSet.
+* unit-tests/measurement-adaptor-tests.js: Updated unit tests to contain commit order information in mock data.
+* unit-tests/measurement-set-tests.js: Updated unit tests to contain commit order information in mock data.
+
 2018-04-15  Ryosuke Niwa  
 
 Make it possible to hide some repository groups


Modified: trunk/Websites/perf.webkit.org/public/api/measurement-set.php (230718 => 230719)

--- trunk/Websites/perf.webkit.org/public/api/measurement-set.php	2018-04-17 17:13:01 UTC (rev 230718)
+++ trunk/Websites/perf.webkit.org/public/api/measurement-set.php	2018-04-17 17:23:18 UTC (rev 230719)
@@ -170,7 +170,7 @@
 function execute_query($config_id) {
 return $this->db->query('
 SELECT test_runs.*, build_id, build_number, build_builder, build_time,
-

[webkit-changes] [230718] trunk/Source/WebKit

2018-04-17 Thread mcatanzaro
Title: [230718] trunk/Source/WebKit








Revision 230718
Author mcatanz...@igalia.com
Date 2018-04-17 10:13:01 -0700 (Tue, 17 Apr 2018)


Log Message
[WPE][GTK] GObject introspection annotation fixes: BackForwardList, NetworkProxySettings
https://bugs.webkit.org/show_bug.cgi?id=184658

Reviewed by Carlos Garcia Campos.

Thanks to Dylan Simon for recommending these annotation fixes.

* UIProcess/API/glib/WebKitBackForwardList.cpp:
* UIProcess/API/glib/WebKitNetworkProxySettings.cpp:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp
trunk/Source/WebKit/UIProcess/API/glib/WebKitNetworkProxySettings.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (230717 => 230718)

--- trunk/Source/WebKit/ChangeLog	2018-04-17 17:05:21 UTC (rev 230717)
+++ trunk/Source/WebKit/ChangeLog	2018-04-17 17:13:01 UTC (rev 230718)
@@ -1,3 +1,15 @@
+2018-04-17  Michael Catanzaro  
+
+[WPE][GTK] GObject introspection annotation fixes: BackForwardList, NetworkProxySettings
+https://bugs.webkit.org/show_bug.cgi?id=184658
+
+Reviewed by Carlos Garcia Campos.
+
+Thanks to Dylan Simon for recommending these annotation fixes.
+
+* UIProcess/API/glib/WebKitBackForwardList.cpp:
+* UIProcess/API/glib/WebKitNetworkProxySettings.cpp:
+
 2018-04-17  Brent Fulgham  
 
 [macOS] Don't establish unneeded Dock connections (Follow-up)


Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp (230717 => 230718)

--- trunk/Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp	2018-04-17 17:05:21 UTC (rev 230717)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitBackForwardList.cpp	2018-04-17 17:13:01 UTC (rev 230718)
@@ -156,7 +156,7 @@
  *
  * Returns the current item in @back_forward_list.
  *
- * Returns: (transfer none): a #WebKitBackForwardListItem
+ * Returns: (nullable) (transfer none): a #WebKitBackForwardListItem
  *or %NULL if @back_forward_list is empty.
  */
 WebKitBackForwardListItem* webkit_back_forward_list_get_current_item(WebKitBackForwardList* backForwardList)
@@ -172,7 +172,7 @@
  *
  * Returns the item that precedes the current item.
  *
- * Returns: (transfer none): the #WebKitBackForwardListItem
+ * Returns: (nullable) (transfer none): the #WebKitBackForwardListItem
  *preceding the current item or %NULL.
  */
 WebKitBackForwardListItem* webkit_back_forward_list_get_back_item(WebKitBackForwardList* backForwardList)
@@ -188,7 +188,7 @@
  *
  * Returns the item that follows the current item.
  *
- * Returns: (transfer none): the #WebKitBackForwardListItem
+ * Returns: (nullable) (transfer none): the #WebKitBackForwardListItem
  *following the current item or %NULL.
  */
 WebKitBackForwardListItem* webkit_back_forward_list_get_forward_item(WebKitBackForwardList* backForwardList)
@@ -205,8 +205,8 @@
  *
  * Returns the item at a given index relative to the current item.
  *
- * Returns: (transfer none): the #WebKitBackForwardListItem
- *located at the specified index relative to the current item.
+ * Returns: (nullable) (transfer none): the #WebKitBackForwardListItem
+ *located at the specified index relative to the current item or %NULL.
  */
 WebKitBackForwardListItem* webkit_back_forward_list_get_nth_item(WebKitBackForwardList* backForwardList, gint index)
 {


Modified: trunk/Source/WebKit/UIProcess/API/glib/WebKitNetworkProxySettings.cpp (230717 => 230718)

--- trunk/Source/WebKit/UIProcess/API/glib/WebKitNetworkProxySettings.cpp	2018-04-17 17:05:21 UTC (rev 230717)
+++ trunk/Source/WebKit/UIProcess/API/glib/WebKitNetworkProxySettings.cpp	2018-04-17 17:13:01 UTC (rev 230718)
@@ -63,7 +63,7 @@
 /**
  * webkit_network_proxy_settings_new:
  * @default_proxy_uri: (allow-none): the default proxy URI to use, or %NULL.
- * @ignore_hosts: (allow-none): an optional list of hosts/IP addresses to not use a proxy for.
+ * @ignore_hosts: (allow-none) (array zero-terminated=1): an optional list of hosts/IP addresses to not use a proxy for.
  *
  * Create a new #WebKitNetworkProxySettings with the given @default_proxy_uri and @ignore_hosts.
  *






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230717] trunk/Source/JavaScriptCore

2018-04-17 Thread commit-queue
Title: [230717] trunk/Source/_javascript_Core








Revision 230717
Author commit-qu...@webkit.org
Date 2018-04-17 10:05:21 -0700 (Tue, 17 Apr 2018)


Log Message
Implement setupArgumentsImpl for ARM and MIPS
https://bugs.webkit.org/show_bug.cgi?id=183786

Patch by Dominik Infuehr  on 2018-04-17
Reviewed by Yusuke Suzuki.

Implement setupArgumentsImpl for ARM (hardfp and softfp) and MIPS calling convention. Added
numCrossSources and extraGPRArgs to ArgCollection to keep track of extra
registers used for 64-bit values on 32-bit architectures. numCrossSources
keeps track of assignments from FPR to GPR registers as happens e.g. on MIPS.

* assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::moveDouble):
* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::moveDouble):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupStubCrossArgs):
(JSC::CCallHelpers::ArgCollection::ArgCollection):
(JSC::CCallHelpers::ArgCollection::pushRegArg):
(JSC::CCallHelpers::ArgCollection::pushExtraRegArg):
(JSC::CCallHelpers::ArgCollection::addGPRArg):
(JSC::CCallHelpers::ArgCollection::addGPRExtraArg):
(JSC::CCallHelpers::ArgCollection::addStackArg):
(JSC::CCallHelpers::ArgCollection::addPoke):
(JSC::CCallHelpers::ArgCollection::argCount):
(JSC::CCallHelpers::calculatePokeOffset):
(JSC::CCallHelpers::pokeForArgument):
(JSC::CCallHelpers::stackAligned):
(JSC::CCallHelpers::marshallArgumentRegister):
(JSC::CCallHelpers::setupArgumentsImpl):
(JSC::CCallHelpers::pokeArgumentsAligned):
(JSC::CCallHelpers::std::is_integral::value):
(JSC::CCallHelpers::std::is_pointer::value):
(JSC::CCallHelpers::setupArguments):
* jit/FPRInfo.h:
(JSC::FPRInfo::toArgumentRegister):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h
trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h
trunk/Source/_javascript_Core/jit/CCallHelpers.h
trunk/Source/_javascript_Core/jit/FPRInfo.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230716 => 230717)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 17:02:00 UTC (rev 230716)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 17:05:21 UTC (rev 230717)
@@ -1,3 +1,41 @@
+2018-04-17  Dominik Infuehr  
+
+Implement setupArgumentsImpl for ARM and MIPS
+https://bugs.webkit.org/show_bug.cgi?id=183786
+
+Reviewed by Yusuke Suzuki.
+
+Implement setupArgumentsImpl for ARM (hardfp and softfp) and MIPS calling convention. Added
+numCrossSources and extraGPRArgs to ArgCollection to keep track of extra
+registers used for 64-bit values on 32-bit architectures. numCrossSources
+keeps track of assignments from FPR to GPR registers as happens e.g. on MIPS.
+
+* assembler/MacroAssemblerARMv7.h:
+(JSC::MacroAssemblerARMv7::moveDouble):
+* assembler/MacroAssemblerMIPS.h:
+(JSC::MacroAssemblerMIPS::moveDouble):
+* jit/CCallHelpers.h:
+(JSC::CCallHelpers::setupStubCrossArgs):
+(JSC::CCallHelpers::ArgCollection::ArgCollection):
+(JSC::CCallHelpers::ArgCollection::pushRegArg):
+(JSC::CCallHelpers::ArgCollection::pushExtraRegArg):
+(JSC::CCallHelpers::ArgCollection::addGPRArg):
+(JSC::CCallHelpers::ArgCollection::addGPRExtraArg):
+(JSC::CCallHelpers::ArgCollection::addStackArg):
+(JSC::CCallHelpers::ArgCollection::addPoke):
+(JSC::CCallHelpers::ArgCollection::argCount):
+(JSC::CCallHelpers::calculatePokeOffset):
+(JSC::CCallHelpers::pokeForArgument):
+(JSC::CCallHelpers::stackAligned):
+(JSC::CCallHelpers::marshallArgumentRegister):
+(JSC::CCallHelpers::setupArgumentsImpl):
+(JSC::CCallHelpers::pokeArgumentsAligned):
+(JSC::CCallHelpers::std::is_integral::value):
+(JSC::CCallHelpers::std::is_pointer::value):
+(JSC::CCallHelpers::setupArguments):
+* jit/FPRInfo.h:
+(JSC::FPRInfo::toArgumentRegister):
+
 2018-04-17  Saam Barati  
 
 Add system trace points for process launch and for initializeWebProcess


Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h (230716 => 230717)

--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h	2018-04-17 17:02:00 UTC (rev 230716)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARMv7.h	2018-04-17 17:05:21 UTC (rev 230717)
@@ -964,6 +964,11 @@
 m_assembler.vmov(dest, src);
 }
 
+void moveDouble(FPRegisterID src, RegisterID dest)
+{
+m_assembler.vmov(dest, RegisterID(dest + 1), src);
+}
+
 void moveZeroToDouble(FPRegisterID reg)
 {
 static double zeroConstant = 0.;


Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h (230716 => 230717)

--- trunk/Source/_javascript_Core/assembler/MacroAssemblerMIPS.h	2018-04-17 17:02:00 UTC (rev 230716)
+++ 

[webkit-changes] [230716] trunk/Source/WebCore

2018-04-17 Thread jlewis3
Title: [230716] trunk/Source/WebCore








Revision 230716
Author jlew...@apple.com
Date 2018-04-17 10:02:00 -0700 (Tue, 17 Apr 2018)


Log Message
Unreviewed, rolling out r230713.

This caused internal build failures.

Reverted changeset:

"Implement checked cast for DDResultRef once
DDResultGetTypeID() is available"
https://bugs.webkit.org/show_bug.cgi?id=184554
https://trac.webkit.org/changeset/230713

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/cocoa/DataDetection.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (230715 => 230716)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 16:59:34 UTC (rev 230715)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 17:02:00 UTC (rev 230716)
@@ -1,3 +1,16 @@
+2018-04-17  Matt Lewis  
+
+Unreviewed, rolling out r230713.
+
+This caused internal build failures.
+
+Reverted changeset:
+
+"Implement checked cast for DDResultRef once
+DDResultGetTypeID() is available"
+https://bugs.webkit.org/show_bug.cgi?id=184554
+https://trac.webkit.org/changeset/230713
+
 2018-04-17  Chris Dumez  
 
 Add bindings code for RemoteDOMWindow


Modified: trunk/Source/WebCore/editing/cocoa/DataDetection.mm (230715 => 230716)

--- trunk/Source/WebCore/editing/cocoa/DataDetection.mm	2018-04-17 16:59:34 UTC (rev 230715)
+++ trunk/Source/WebCore/editing/cocoa/DataDetection.mm	2018-04-17 17:02:00 UTC (rev 230716)
@@ -50,15 +50,10 @@
 #import "VisibleUnits.h"
 #import 
 #import 
-#import 
 #import 
 
 #import "DataDetectorsCoreSoftLink.h"
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-WTF_DECLARE_CF_TYPE_TRAIT(DDResult);
-#endif
-
 namespace WebCore {
 
 using namespace HTMLNames;
@@ -83,11 +78,8 @@
 RefPtr mainResultRange;
 CFIndex resultCount = CFArrayGetCount(results.get());
 for (CFIndex i = 0; i < resultCount; i++) {
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-DDResultRef result = checked_cf_cast(CFArrayGetValueAtIndex(results.get(), i));
-#else
+// FIXME:  Implement checked cast for DDResultRef once DDResultGetTypeID() is available
 DDResultRef result = static_cast(const_cast(CFArrayGetValueAtIndex(results.get(), i)));
-#endif
 CFRange resultRangeInContext = DDResultGetRange(result);
 if (hitLocation >= resultRangeInContext.location && (hitLocation - resultRangeInContext.location) < resultRangeInContext.length) {
 mainResult = result;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230715] trunk/Source

2018-04-17 Thread cdumez
Title: [230715] trunk/Source








Revision 230715
Author cdu...@apple.com
Date 2018-04-17 09:59:34 -0700 (Tue, 17 Apr 2018)


Log Message
Add bindings code for RemoteDOMWindow
https://bugs.webkit.org/show_bug.cgi?id=184653

Reviewed by Ryosuke Niwa.

Add bindings code for RemoteDOMWindow. A RemoteDOMWindow behaves exactly like a cross-origin
DOMWindow, which is backed by a RemoteDOMWindow object instead of a DOMWindow one. Since
a RemoteDOMWindow is always cross origin, we do not need cross-origin checks and the bindings
code is identical to the DOMWindow code paths from cross-origin handling.

No new tests, this code will be used and tested via Bug 184515.

* CMakeLists.txt:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::addCrossOriginWindowOwnPropertyNames):
* bindings/js/JSDOMWindowCustom.h:

* bindings/js/JSRemoteDOMWindowBase.cpp: Added.
(WebCore::JSRemoteDOMWindowBase::JSRemoteDOMWindowBase):
(WebCore::JSRemoteDOMWindowBase::destroy):
(WebCore::JSRemoteDOMWindowBase::_javascript_RuntimeFlags):
(WebCore::toJS):
(WebCore::toJSRemoteDOMWindow):
* bindings/js/JSRemoteDOMWindowBase.h: Added.
JSRemoteDOMWindow unfortunately currently needs to be a global object because of:
1. a JSProxy's target needs to be a JSGlobalObject currently
2. The 'structure()->setGlobalObject(vm, );' call in
   JSDOMWindowProxy::setWindow(VM&, JSDOMGlobalObject&) which requires a JSGlobalObject.
Ideally, this wouldn't be the case in the future but this would require some code refactoring.
Our DOM global objects normally subclass JSDOMGlobalObject so I decided to subclass JSDOMGlobalObject,
which brings some things our bindings code expect. However, subclassing JSDOMGlobalObject directly is
problematic because it does not hold the m_wrapped implementation pointer. To address this issue, all
our our DOM global objects have a JS*Base base class which subclasses JSDOMGlobalObject and stores the
m_wrapped implementation pointer. I followed the same pattern here.

(WebCore::toJS):
* bindings/js/JSRemoteDOMWindowCustom.cpp: Added.
(WebCore::JSRemoteDOMWindow::getOwnPropertySlot):
(WebCore::JSRemoteDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSRemoteDOMWindow::put):
(WebCore::JSRemoteDOMWindow::putByIndex):
(WebCore::JSRemoteDOMWindow::deleteProperty):
(WebCore::JSRemoteDOMWindow::deletePropertyByIndex):
(WebCore::JSRemoteDOMWindow::getOwnPropertyNames):
(WebCore::JSRemoteDOMWindow::defineOwnProperty):
(WebCore::JSRemoteDOMWindow::getPrototype):
(WebCore::JSRemoteDOMWindow::preventExtensions):
(WebCore::JSRemoteDOMWindow::toStringName):
* bindings/scripts/CodeGeneratorJS.pm:
(IsDOMGlobalObject):
(GenerateHeader):
(GenerateOverloadDispatcher):
(GenerateImplementation):
* page/RemoteDOMWindow.idl: Added.

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/DerivedSources.make
trunk/Source/WebCore/Sources.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp
trunk/Source/WebCore/bindings/js/JSDOMWindowBase.cpp
trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
trunk/Source/WebCore/bindings/js/JSDOMWindowCustom.h
trunk/Source/WebCore/bindings/js/JSDOMWindowProxy.cpp
trunk/Source/WebCore/bindings/js/JSDOMWindowProxy.h
trunk/Source/WebCore/bindings/js/ScriptCachedFrameData.cpp
trunk/Source/WebCore/bindings/js/ScriptController.cpp
trunk/Source/WebCore/bindings/js/ScriptController.h
trunk/Source/WebCore/bindings/js/ScriptModuleLoader.cpp
trunk/Source/WebCore/bindings/js/WindowProxyController.cpp
trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
trunk/Source/WebKitLegacy/mac/DOM/DOMAbstractView.mm
trunk/Source/WebKitLegacy/mac/DOM/DOMAbstractViewInternal.h
trunk/Source/WebKitLegacy/mac/WebView/WebFrame.mm
trunk/Source/WebKitLegacy/win/WebFrame.cpp


Added Paths

trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowBase.cpp
trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowBase.h
trunk/Source/WebCore/bindings/js/JSRemoteDOMWindowCustom.cpp
trunk/Source/WebCore/page/RemoteDOMWindow.idl




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (230714 => 230715)

--- trunk/Source/WebCore/CMakeLists.txt	2018-04-17 16:40:42 UTC (rev 230714)
+++ trunk/Source/WebCore/CMakeLists.txt	2018-04-17 16:59:34 UTC (rev 230715)
@@ -820,6 +820,7 @@
 page/PerformanceNavigation.idl
 page/PerformanceResourceTiming.idl
 page/PerformanceTiming.idl
+page/RemoteDOMWindow.idl
 page/Screen.idl
 page/ScrollToOptions.idl
 page/VisualViewport.idl


Modified: trunk/Source/WebCore/ChangeLog (230714 => 230715)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 16:40:42 UTC (rev 230714)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 16:59:34 UTC (rev 230715)
@@ -1,3 

[webkit-changes] [230714] trunk/Source/WebKit

2018-04-17 Thread bfulgham
Title: [230714] trunk/Source/WebKit








Revision 230714
Author bfulg...@apple.com
Date 2018-04-17 09:40:42 -0700 (Tue, 17 Apr 2018)


Log Message
[macOS] Don't establish unneeded Dock connections (Follow-up)
https://bugs.webkit.org/show_bug.cgi?id=184664


Reviewed by Per Arne Vollan.

Because the Plugin process is driven by NSApplication's run loop, we aren't
setting the 'don't connect to the dock' setting early enough.

This patch sets the flag in XPCServiceMain for those services that
are linked to AppKit.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess): Remove unneeded code.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
(main):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess): Remove unneeded code.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/PluginProcess/mac/PluginProcessMac.mm
trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (230713 => 230714)

--- trunk/Source/WebKit/ChangeLog	2018-04-17 16:28:33 UTC (rev 230713)
+++ trunk/Source/WebKit/ChangeLog	2018-04-17 16:40:42 UTC (rev 230714)
@@ -1,3 +1,24 @@
+2018-04-17  Brent Fulgham  
+
+[macOS] Don't establish unneeded Dock connections (Follow-up)
+https://bugs.webkit.org/show_bug.cgi?id=184664
+
+
+Reviewed by Per Arne Vollan.
+
+Because the Plugin process is driven by NSApplication's run loop, we aren't
+setting the 'don't connect to the dock' setting early enough.
+
+This patch sets the flag in XPCServiceMain for those services that
+are linked to AppKit.
+
+* PluginProcess/mac/PluginProcessMac.mm:
+(WebKit::PluginProcess::platformInitializeProcess): Remove unneeded code.
+* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
+(main):
+* WebProcess/cocoa/WebProcessCocoa.mm:
+(WebKit::WebProcess::platformInitializeWebProcess): Remove unneeded code.
+
 2018-04-17  Saam Barati  
 
 Add system trace points for process launch and for initializeWebProcess


Modified: trunk/Source/WebKit/PluginProcess/mac/PluginProcessMac.mm (230713 => 230714)

--- trunk/Source/WebKit/PluginProcess/mac/PluginProcessMac.mm	2018-04-17 16:28:33 UTC (rev 230713)
+++ trunk/Source/WebKit/PluginProcess/mac/PluginProcessMac.mm	2018-04-17 16:40:42 UTC (rev 230714)
@@ -525,12 +525,6 @@
 {
 initializeShim();
 
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-// We don't need to talk to the dock.
-if ([NSApplication respondsToSelector:@selector(_preventDockConnections)])
-[NSApplication _preventDockConnections];
-#endif
-
 initializeCocoaOverrides();
 
 // FIXME: It would be better to proxy SetCursor calls over to the UI process instead of


Modified: trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm (230713 => 230714)

--- trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm	2018-04-17 16:28:33 UTC (rev 230713)
+++ trunk/Source/WebKit/Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm	2018-04-17 16:40:42 UTC (rev 230714)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2013-2017 Apple Inc. All rights reserved.
+ * Copyright (C) 2013-2018 Apple Inc. All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -31,6 +31,10 @@
 #import 
 #import 
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#import 
+#endif
+
 namespace WebKit {
 
 static void XPCServiceEventHandler(xpc_connection_t peer)
@@ -143,7 +147,15 @@
 #if PLATFORM(MAC)
 // Don't allow Apple Events in WebKit processes. This can be removed when  is fixed.
 setenv("__APPLEEVENTSSERVICENAME", "", 1);
+
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+// We don't need to talk to the dock.
+if (Class nsApplicationClass = NSClassFromString(@"NSApplication")) {
+if ([nsApplicationClass respondsToSelector:@selector(_preventDockConnections)])
+[nsApplicationClass _preventDockConnections];
+}
 #endif
+#endif
 
 xpc_main(XPCServiceEventHandler);
 return 0;


Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (230713 => 230714)

--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2018-04-17 16:28:33 UTC (rev 230713)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2018-04-17 16:40:42 UTC (rev 230714)
@@ -170,10 +170,6 @@
 #endif
 
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-// We don't need to talk to the dock.
-if ([NSApplication respondsToSelector:@selector(_preventDockConnections)])
-[NSApplication _preventDockConnections];
-
 // Need to initialize accessibility for VoiceOver to 

[webkit-changes] [230713] trunk/Source/WebCore

2018-04-17 Thread ddkilzer
Title: [230713] trunk/Source/WebCore








Revision 230713
Author ddkil...@apple.com
Date 2018-04-17 09:28:33 -0700 (Tue, 17 Apr 2018)


Log Message
Implement checked cast for DDResultRef once DDResultGetTypeID() is available



Reviewed by Brent Fulgham.

* editing/cocoa/DataDetection.mm:
(WebCore::detectItemAtPositionWithRange): Implement checked cast
for DDResultRef.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/cocoa/DataDetection.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (230712 => 230713)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 16:22:49 UTC (rev 230712)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 16:28:33 UTC (rev 230713)
@@ -1,3 +1,15 @@
+2018-04-17  David Kilzer  
+
+Implement checked cast for DDResultRef once DDResultGetTypeID() is available
+
+
+
+Reviewed by Brent Fulgham.
+
+* editing/cocoa/DataDetection.mm:
+(WebCore::detectItemAtPositionWithRange): Implement checked cast
+for DDResultRef.
+
 2018-04-17  Said Abou-Hallawa  
 
 Animated GIF imagery with finite looping are falling one loop short


Modified: trunk/Source/WebCore/editing/cocoa/DataDetection.mm (230712 => 230713)

--- trunk/Source/WebCore/editing/cocoa/DataDetection.mm	2018-04-17 16:22:49 UTC (rev 230712)
+++ trunk/Source/WebCore/editing/cocoa/DataDetection.mm	2018-04-17 16:28:33 UTC (rev 230713)
@@ -50,10 +50,15 @@
 #import "VisibleUnits.h"
 #import 
 #import 
+#import 
 #import 
 
 #import "DataDetectorsCoreSoftLink.h"
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+WTF_DECLARE_CF_TYPE_TRAIT(DDResult);
+#endif
+
 namespace WebCore {
 
 using namespace HTMLNames;
@@ -78,8 +83,11 @@
 RefPtr mainResultRange;
 CFIndex resultCount = CFArrayGetCount(results.get());
 for (CFIndex i = 0; i < resultCount; i++) {
-// FIXME:  Implement checked cast for DDResultRef once DDResultGetTypeID() is available
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+DDResultRef result = checked_cf_cast(CFArrayGetValueAtIndex(results.get(), i));
+#else
 DDResultRef result = static_cast(const_cast(CFArrayGetValueAtIndex(results.get(), i)));
+#endif
 CFRange resultRangeInContext = DDResultGetRange(result);
 if (hitLocation >= resultRangeInContext.location && (hitLocation - resultRangeInContext.location) < resultRangeInContext.length) {
 mainResult = result;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230712] trunk

2018-04-17 Thread commit-queue
Title: [230712] trunk








Revision 230712
Author commit-qu...@webkit.org
Date 2018-04-17 09:22:49 -0700 (Tue, 17 Apr 2018)


Log Message
Animated GIF imagery with finite looping are falling one loop short
https://bugs.webkit.org/show_bug.cgi?id=183153

Patch by Said Abou-Hallawa  on 2018-04-17
Reviewed by Simon Fraser.

Source/WebCore:

The Netscape Looping Application Extension is a block which may be added
to a GIF file to tell the viewer to loop through the entire GIF frames.
This is communicated through two bytes designated for the "loopCount" in
this block.

The entire block may not be found in the GIF, in which case the GIF is
supposed to animate its entire frames only once.

If the block exists and loopCount = 0, this means the image has to loop
through its frames indefinitely.

If the block exist and loopCount > 0, this should mean the image has to
loop through its frames loopCount + 1 times. The extra loop seems to be
the consensus among most of the GIF generators and viewers. For example,
if the image designer wants the image to loop through its frames n times:
-- The GIF generator (e.g. Adobe Photoshop and https://ezgif.com/maker)
   will write n - 1 for loopCount. However http://gifmaker.me and
   http://gifmaker.org write n for loopCount.
-- The browser (e.g. Chrome 65.0.3325 181 and FireFox Quantum 59.0.2) will
   translate loopCount = n - 1 to: animate GIF once + loop n - 1, which
   means loop the GIF n times.

Because the specs are not really clear about this, we are going to consider
the agreed-upon behavior among most of the web browsers the specs here.

* platform/graphics/cg/ImageDecoderCG.cpp:
(WebCore::ImageDecoderCG::repetitionCount const):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::repetitionCount const):

LayoutTests:

This layout test tests GIF when it has to loop its entire frames a specific
number of times. There are three cases for the loopCount field:
-- loopCount is missing: This means the GIF should animate only once. This
   is covered by animated-red-green-blue-repeat-1.gif.
-- loopCount = 0: This means the image has to animate indefinatly. This
   case is covered by the new GIF animated-red-green-blue-repeat-infinite.gif.
-- loopCount > 0: This will loop the GIF entire frames for (loopCount + 1)
   times. To fix the test with the extra loop, loopCount in
   animated-red-green-blue-repeat-2.gif was changed to 1 instead of 2.

* fast/images/animated-image-loop-count-expected.html:
* fast/images/animated-image-loop-count.html:
* fast/images/resources/animated-red-green-blue-repeat-2.gif:
* fast/images/resources/animated-red-green-blue-repeat-infinite.gif:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/images/animated-image-loop-count-expected.html
trunk/LayoutTests/fast/images/animated-image-loop-count.html
trunk/LayoutTests/fast/images/resources/animated-red-green-blue-repeat-2.gif
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp
trunk/Source/WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp


Added Paths

trunk/LayoutTests/fast/images/resources/animated-red-green-blue-repeat-infinite.gif




Diff

Modified: trunk/LayoutTests/ChangeLog (230711 => 230712)

--- trunk/LayoutTests/ChangeLog	2018-04-17 15:57:32 UTC (rev 230711)
+++ trunk/LayoutTests/ChangeLog	2018-04-17 16:22:49 UTC (rev 230712)
@@ -1,3 +1,25 @@
+2018-04-17  Said Abou-Hallawa  
+
+Animated GIF imagery with finite looping are falling one loop short
+https://bugs.webkit.org/show_bug.cgi?id=183153
+
+Reviewed by Simon Fraser.
+
+This layout test tests GIF when it has to loop its entire frames a specific
+number of times. There are three cases for the loopCount field:
+-- loopCount is missing: This means the GIF should animate only once. This
+   is covered by animated-red-green-blue-repeat-1.gif.
+-- loopCount = 0: This means the image has to animate indefinatly. This
+   case is covered by the new GIF animated-red-green-blue-repeat-infinite.gif.
+-- loopCount > 0: This will loop the GIF entire frames for (loopCount + 1)
+   times. To fix the test with the extra loop, loopCount in
+   animated-red-green-blue-repeat-2.gif was changed to 1 instead of 2.
+
+* fast/images/animated-image-loop-count-expected.html:
+* fast/images/animated-image-loop-count.html:
+* fast/images/resources/animated-red-green-blue-repeat-2.gif:
+* fast/images/resources/animated-red-green-blue-repeat-infinite.gif:
+
 2018-04-16  Antoine Quint  
 
 Layout Test animations/needs-layout.html is a flaky Image Failure.


Modified: trunk/LayoutTests/fast/images/animated-image-loop-count-expected.html (230711 => 230712)

--- trunk/LayoutTests/fast/images/animated-image-loop-count-expected.html	2018-04-17 15:57:32 UTC (rev 230711)
+++ 

[webkit-changes] [230711] trunk

2018-04-17 Thread sbarati
Title: [230711] trunk








Revision 230711
Author sbar...@apple.com
Date 2018-04-17 08:57:32 -0700 (Tue, 17 Apr 2018)


Log Message
Add system trace points for process launch and for initializeWebProcess
https://bugs.webkit.org/show_bug.cgi?id=184669

Reviewed by Simon Fraser.

Source/_javascript_Core:

* runtime/VMEntryScope.cpp:
(JSC::VMEntryScope::VMEntryScope):
(JSC::VMEntryScope::~VMEntryScope):

Source/WebCore:

No testing needed because there is no new functionality here.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::provisionalLoadStarted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::didCancel):

Source/WebKit:

* UIProcess/Launcher/ProcessLauncher.cpp:
(WebKit::ProcessLauncher::ProcessLauncher):
(WebKit::ProcessLauncher::didFinishLaunchingProcess):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):

Source/WTF:

This patch adds TracePointCodes to measure process launch time and
WebProcess::initializeWebProcess time.

It also renames the TracePoint function to tracePoint since WebKit style
does not capitalize the first letter in function names.

* wtf/SystemTracing.h:
(WTF::tracePoint):
(WTF::TraceScope::TraceScope):
(WTF::TraceScope::~TraceScope):
(WTF::TracePoint): Deleted.

Tools:

* Tracing/SystemTracePoints.plist:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/VMEntryScope.cpp
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/SystemTracing.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/FrameLoader.cpp
trunk/Source/WebCore/loader/SubresourceLoader.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/Launcher/ProcessLauncher.cpp
trunk/Source/WebKit/WebProcess/WebProcess.cpp
trunk/Tools/ChangeLog
trunk/Tools/Tracing/SystemTracePoints.plist




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230710 => 230711)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 15:46:16 UTC (rev 230710)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 15:57:32 UTC (rev 230711)
@@ -1,3 +1,14 @@
+2018-04-17  Saam Barati  
+
+Add system trace points for process launch and for initializeWebProcess
+https://bugs.webkit.org/show_bug.cgi?id=184669
+
+Reviewed by Simon Fraser.
+
+* runtime/VMEntryScope.cpp:
+(JSC::VMEntryScope::VMEntryScope):
+(JSC::VMEntryScope::~VMEntryScope):
+
 2018-04-17  Jer Noble  
 
 Fix duplicate symbol errors when building _javascript_Core with non-empty WK_ALTERNATE_WEBKIT_SDK_PATH


Modified: trunk/Source/_javascript_Core/runtime/VMEntryScope.cpp (230710 => 230711)

--- trunk/Source/_javascript_Core/runtime/VMEntryScope.cpp	2018-04-17 15:46:16 UTC (rev 230710)
+++ trunk/Source/_javascript_Core/runtime/VMEntryScope.cpp	2018-04-17 15:57:32 UTC (rev 230711)
@@ -58,7 +58,7 @@
 if (SamplingProfiler* samplingProfiler = vm.samplingProfiler())
 samplingProfiler->noticeVMEntry();
 #endif
-TracePoint(VMEntryScopeStart);
+tracePoint(VMEntryScopeStart);
 }
 
 vm.clearLastException();
@@ -77,7 +77,7 @@
 if (m_vm.entryScope != this)
 return;
 
-TracePoint(VMEntryScopeEnd);
+tracePoint(VMEntryScopeEnd);
 
 if (m_vm.watchdog())
 m_vm.watchdog()->exitedVM();


Modified: trunk/Source/WTF/ChangeLog (230710 => 230711)

--- trunk/Source/WTF/ChangeLog	2018-04-17 15:46:16 UTC (rev 230710)
+++ trunk/Source/WTF/ChangeLog	2018-04-17 15:57:32 UTC (rev 230711)
@@ -1,3 +1,22 @@
+2018-04-17  Saam Barati  
+
+Add system trace points for process launch and for initializeWebProcess
+https://bugs.webkit.org/show_bug.cgi?id=184669
+
+Reviewed by Simon Fraser.
+
+This patch adds TracePointCodes to measure process launch time and
+WebProcess::initializeWebProcess time.
+
+It also renames the TracePoint function to tracePoint since WebKit style
+does not capitalize the first letter in function names.
+
+* wtf/SystemTracing.h:
+(WTF::tracePoint):
+(WTF::TraceScope::TraceScope):
+(WTF::TraceScope::~TraceScope):
+(WTF::TracePoint): Deleted.
+
 2018-04-16  Andy Estes  
 
 [iOS] Enable WKPDFView by default


Modified: trunk/Source/WTF/wtf/SystemTracing.h (230710 => 230711)

--- trunk/Source/WTF/wtf/SystemTracing.h	2018-04-17 15:46:16 UTC (rev 230710)
+++ trunk/Source/WTF/wtf/SystemTracing.h	2018-04-17 15:57:32 UTC (rev 230711)
@@ -88,10 +88,14 @@
 SyncMessageEnd,
 SyncTouchEventStart,
 SyncTouchEventEnd,
+InitializeWebProcessStart,
+InitializeWebProcessEnd,
 
 UIProcessRange = 14000,
 CommitLayerTreeStart,
 CommitLayerTreeEnd,
+ProcessLaunchStart,
+

[webkit-changes] [230710] trunk/Tools

2018-04-17 Thread ross . kirsling
Title: [230710] trunk/Tools








Revision 230710
Author ross.kirsl...@sony.com
Date 2018-04-17 08:46:16 -0700 (Tue, 17 Apr 2018)


Log Message
Add debug bots for WinCairo.
https://bugs.webkit.org/show_bug.cgi?id=184663

Reviewed by Lucas Forschler.

* BuildSlaveSupport/build.webkit.org-config/config.json:
Add a debug build bot and two debug test bots.

* BuildSlaveSupport/build.webkit.org-config/loadConfig.py:
* BuildSlaveSupport/build.webkit.org-config/templates/root.html:
Add a WinCairo category to build.webkit.org.

Modified Paths

trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/templates/root.html
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json (230709 => 230710)

--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json	2018-04-17 15:06:09 UTC (rev 230709)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json	2018-04-17 15:46:16 UTC (rev 230710)
@@ -57,6 +57,10 @@
 { "name": "wincairo-1", "platform": "wincairo" },
 { "name": "wincairo-2", "platform": "wincairo" },
 
+{ "name": "wincairo-wkl-debug-build-01", "platform": "wincairo" },
+{ "name": "wincairo-wkl-debug-tests-01", "platform": "wincairo" },
+{ "name": "wincairo-wkl-debug-tests-02", "platform": "wincairo" },
+
 { "name": "gtk-linux-slave-1", "platform": "gtk" },
 { "name": "gtk-linux-slave-2", "platform": "gtk" },
 { "name": "gtk-linux-slave-3", "platform": "gtk" },
@@ -292,6 +296,17 @@
   "slavenames": ["wincairo-1", "wincairo-2"]
 },
 {
+  "name": "WinCairo 64-bit WKL Debug (Build)", "type": "Build", "builddir": "wincairo-wkl-debug",
+  "platform": "wincairo", "configuration": "debug", "architectures": ["x86_64"],
+  "triggers": ["wincairo-wkl-debug-tests"],
+  "slavenames": ["wincairo-wkl-debug-build-01"]
+},
+{
+  "name": "WinCairo 64-bit WKL Debug (Tests)", "type": "Test", "builddir": "wincairo-wkl-debug-tests",
+  "platform": "wincairo", "configuration": "debug", "architectures": ["x86_64"],
+  "slavenames": ["wincairo-wkl-debug-tests-01", "wincairo-wkl-debug-tests-02"]
+},
+{
   "name": "JSCOnly Linux AArch64 Release", "type": "BuildAndRemoteJSCTests", "builddir": "jsconly-linux-aarch64-release",
   "platform": "jsc-only", "configuration": "release", "architectures": ["aarch64"],
   "slavenames": ["jsconly-linux-igalia-bot-2"]
@@ -328,7 +343,7 @@
   "builderNames": ["GTK Linux 32-bit Release", "GTK Linux 64-bit Release (Build)", "GTK Linux 64-bit Debug (Build)", "GTK Linux ARM Release",
"GTK Linux 64-bit Release Debian Stable (Build)", "GTK Linux 64-bit Release Ubuntu LTS (Build)",
"JSCOnly Linux AArch64 Release", "JSCOnly Linux ARMv7 Thumb2 Release", "JSCOnly Linux ARMv7 Traditional Release",
-   "JSCOnly Linux MIPS32el Release", "WinCairo 64-Bit Release", "WPE Linux 64-bit Release (Build)"]
+   "JSCOnly Linux MIPS32el Release", "WinCairo 64-Bit Release", "WinCairo 64-bit WKL Debug (Build)", "WPE Linux 64-bit Release (Build)"]
 },
 { "type": "PlatformSpecificScheduler", "platform": "mac-highsierra", "branch": "trunk", "treeStableTimer": 45.0,
   "builderNames": ["Apple High Sierra Release (Build)", "Apple High Sierra Debug (Build)", "Apple High Sierra Release (32-bit Build)", "Apple High Sierra LLINT CLoop (BuildAndTest)", "Apple High Sierra 32-bit JSC (BuildAndTest)"]
@@ -411,6 +426,9 @@
 { "type": "Triggerable", "name": "gtk-linux-64-release-wayland-tests",
   "builderNames": ["GTK Linux 64-bit Release Wayland (Tests)"]
 },
+{ "type": "Triggerable", "name": "wincairo-wkl-debug-tests",
+  "builderNames": ["WinCairo 64-bit WKL Debug (Tests)"]
+},
 { "type": "Triggerable", "name": "wpe-linux-64-release-tests",
   "builderNames": ["WPE Linux 64-bit Release (Tests)"]
 }


Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py (230709 => 230710)

--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py	2018-04-17 15:06:09 UTC (rev 230709)
+++ 

[webkit-changes] [230709] trunk/Source/JavaScriptCore

2018-04-17 Thread jer . noble
Title: [230709] trunk/Source/_javascript_Core








Revision 230709
Author jer.no...@apple.com
Date 2018-04-17 08:06:09 -0700 (Tue, 17 Apr 2018)


Log Message
Fix duplicate symbol errors when building _javascript_Core with non-empty WK_ALTERNATE_WEBKIT_SDK_PATH
https://bugs.webkit.org/show_bug.cgi?id=184602

Reviewed by Beth Dakin.

* _javascript_Core.xcodeproj/project.pbxproj:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (230708 => 230709)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 14:55:42 UTC (rev 230708)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 15:06:09 UTC (rev 230709)
@@ -1,3 +1,12 @@
+2018-04-17  Jer Noble  
+
+Fix duplicate symbol errors when building _javascript_Core with non-empty WK_ALTERNATE_WEBKIT_SDK_PATH
+https://bugs.webkit.org/show_bug.cgi?id=184602
+
+Reviewed by Beth Dakin.
+
+* _javascript_Core.xcodeproj/project.pbxproj:
+
 2018-04-17  Carlos Garcia Campos  
 
 [GLIB] Add API to clear JSCContext uncaught exception


Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (230708 => 230709)

--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2018-04-17 14:55:42 UTC (rev 230708)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj	2018-04-17 15:06:09 UTC (rev 230709)
@@ -9907,7 +9907,7 @@
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 			shellPath = /bin/sh;
-			shellScript = "set -e\n\nif [[ -f \"${BUILT_PRODUCTS_DIR}${WK_ALTERNATE_WEBKIT_SDK_PATH}/libWTF.a\" ]]; then\nln -s -f -h \"${BUILT_PRODUCTS_DIR}${WK_ALTERNATE_WEBKIT_SDK_PATH}/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/_javascript_Core/libWTF.a\"\nelse\nln -s -f -h \"${SDK_DIR}${WK_ALTERNATE_WEBKIT_SDK_PATH}/usr/local/lib/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/_javascript_Core/libWTF.a\"\nfi";
+			shellScript = "set -e\n\nif [[ -f \"${BUILT_PRODUCTS_DIR}/libWTF.a\" ]]; then\nln -s -f -h \"${BUILT_PRODUCTS_DIR}/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/_javascript_Core/libWTF.a\"\nelse\nln -s -f -h \"${SDK_DIR}${WK_ALTERNATE_WEBKIT_SDK_PATH}/usr/local/lib/libWTF.a\" \"${BUILT_PRODUCTS_DIR}/DerivedSources/_javascript_Core/libWTF.a\"\nfi";
 		};
 		53B4BD091F68AF8900D2BEA3 /* Generate Unified Sources */ = {
 			isa = PBXShellScriptBuildPhase;






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230708] trunk/Source/WebCore

2018-04-17 Thread eric . carlson
Title: [230708] trunk/Source/WebCore








Revision 230708
Author eric.carl...@apple.com
Date 2018-04-17 07:55:42 -0700 (Tue, 17 Apr 2018)


Log Message
[iOS] AirPlay device name is sometimes wrong
https://bugs.webkit.org/show_bug.cgi?id=184543


Reviewed by Jer Noble.

Source/WebCore:

No new tests, this can only be tested with a specific hardware setup.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::exernalDeviceDisplayNameForPlayer): Get the device name from the AVOutputContext
when possible.

Source/WebCore/PAL:

* pal/spi/mac/AVFoundationSPI.h: Declare more AVOutputContext SPI.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (230707 => 230708)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 14:32:46 UTC (rev 230707)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 14:55:42 UTC (rev 230708)
@@ -1,3 +1,17 @@
+2018-04-17  Eric Carlson  
+
+[iOS] AirPlay device name is sometimes wrong
+https://bugs.webkit.org/show_bug.cgi?id=184543
+
+
+Reviewed by Jer Noble.
+
+No new tests, this can only be tested with a specific hardware setup.
+
+* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+(WebCore::exernalDeviceDisplayNameForPlayer): Get the device name from the AVOutputContext
+when possible.
+
 2018-04-17  Carlos Alberto Lopez Perez  
 
 [GTK] Build fix after r230529 (WaylandCompositorDisplay leaks its wl_display)


Modified: trunk/Source/WebCore/PAL/ChangeLog (230707 => 230708)

--- trunk/Source/WebCore/PAL/ChangeLog	2018-04-17 14:32:46 UTC (rev 230707)
+++ trunk/Source/WebCore/PAL/ChangeLog	2018-04-17 14:55:42 UTC (rev 230708)
@@ -1,3 +1,13 @@
+2018-04-17  Eric Carlson  
+
+[iOS] AirPlay device name is sometimes wrong
+https://bugs.webkit.org/show_bug.cgi?id=184543
+
+
+Reviewed by Jer Noble.
+
+* pal/spi/mac/AVFoundationSPI.h: Declare more AVOutputContext SPI.
+
 2018-04-16  Brent Fulgham  
 
 [macOS] Don't establish unneeded Dock connections


Modified: trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h (230707 => 230708)

--- trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h	2018-04-17 14:32:46 UTC (rev 230707)
+++ trunk/Source/WebCore/PAL/pal/spi/mac/AVFoundationSPI.h	2018-04-17 14:55:42 UTC (rev 230708)
@@ -31,7 +31,7 @@
 #if USE(APPLE_INTERNAL_SDK)
 
 #import 
-#import 
+#import 
 #import 
 #import 
 #import 
@@ -58,23 +58,39 @@
 NS_ASSUME_NONNULL_END
 #endif // (PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101300) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 11)
 
-#if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS)
+#if ENABLE(WIRELESS_PLAYBACK_TARGET) || PLATFORM(IOS)
 
 NS_ASSUME_NONNULL_BEGIN
 
 @class AVOutputContext;
+@class AVOutputDevice;
 @interface AVOutputContext : NSObject 
 @property (nonatomic, readonly) NSString *deviceName;
 + (instancetype)outputContext;
++ (nullable AVOutputContext *)sharedAudioPresentationOutputContext;
+@property (readonly) BOOL supportsMultipleOutputDevices;
+@property (readonly) NSArray *outputDevices;
 @end
 
+#if !PLATFORM(IOS)
 @interface AVPlayer (AVPlayerExternalPlaybackSupportPrivate)
 @property (nonatomic, retain) AVOutputContext *outputContext;
 @end
+#else
+typedef NS_ENUM(NSInteger, AVPlayerExternalPlaybackType) {
+AVPlayerExternalPlaybackTypeNone,
+AVPlayerExternalPlaybackTypeAirPlay,
+AVPlayerExternalPlaybackTypeTVOut,
+};
 
+@interface AVPlayer (AVPlayerExternalPlaybackSupportPrivate)
+@property (nonatomic, readonly) AVPlayerExternalPlaybackType externalPlaybackType;
+@end
+#endif
+
 NS_ASSUME_NONNULL_END
 
-#endif // ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS)
+#endif // ENABLE(WIRELESS_PLAYBACK_TARGET) || PLATFORM(IOS)
 
 #import 
 NS_ASSUME_NONNULL_BEGIN
@@ -95,18 +111,6 @@
 
 #endif // PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)
 
-#if PLATFORM(IOS)
-typedef NS_ENUM(NSInteger, AVPlayerExternalPlaybackType) {
-AVPlayerExternalPlaybackTypeNone,
-AVPlayerExternalPlaybackTypeAirPlay,
-AVPlayerExternalPlaybackTypeTVOut,
-};
-
-@interface AVPlayer (AVPlayerExternalPlaybackSupportPrivate)
-@property (nonatomic, readonly) AVPlayerExternalPlaybackType externalPlaybackType;
-@end
-#endif
-
 #if !PLATFORM(IOS)
 
 #pragma mark -


Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm (230707 => 230708)

--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm	2018-04-17 14:32:46 UTC (rev 230707)
+++ 

[webkit-changes] [230707] trunk/Tools

2018-04-17 Thread zalan
Title: [230707] trunk/Tools








Revision 230707
Author za...@apple.com
Date 2018-04-17 07:32:46 -0700 (Tue, 17 Apr 2018)


Log Message
[LayoutReloaded] Set inline-block box position.
https://bugs.webkit.org/show_bug.cgi?id=184690

Reviewed by Antti Koivisto.

* LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
(InlineFormattingContext.prototype._handleInlineBlock):
* LayoutReloaded/Utils.js:
(Utils._dumpBox):
* LayoutReloaded/test/inline-block-with-fixed-width-height.html:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js
trunk/Tools/LayoutReloaded/Utils.js
trunk/Tools/LayoutReloaded/test/inline-block-with-fixed-width-height.html




Diff

Modified: trunk/Tools/ChangeLog (230706 => 230707)

--- trunk/Tools/ChangeLog	2018-04-17 11:29:26 UTC (rev 230706)
+++ trunk/Tools/ChangeLog	2018-04-17 14:32:46 UTC (rev 230707)
@@ -1,3 +1,16 @@
+2018-04-17  Zalan Bujtas  
+
+[LayoutReloaded] Set inline-block box position.
+https://bugs.webkit.org/show_bug.cgi?id=184690
+
+Reviewed by Antti Koivisto.
+
+* LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js:
+(InlineFormattingContext.prototype._handleInlineBlock):
+* LayoutReloaded/Utils.js:
+(Utils._dumpBox):
+* LayoutReloaded/test/inline-block-with-fixed-width-height.html:
+
 2018-04-17  Carlos Garcia Campos  
 
 [GLIB] Add API to clear JSCContext uncaught exception


Modified: trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js (230706 => 230707)

--- trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js	2018-04-17 11:29:26 UTC (rev 230706)
+++ trunk/Tools/LayoutReloaded/FormattingContext/InlineFormatting/InlineFormattingContext.js	2018-04-17 14:32:46 UTC (rev 230707)
@@ -118,6 +118,7 @@
 this.layoutState().formattingContext(inlineBlockBox).layout();
 displayBox.setHeight(Utils.height(inlineBlockBox) + Utils.computedVerticalBorderAndPadding(inlineBlockBox.node()));
 this._line().addInlineBox(displayBox.size());
+displayBox.setTopLeft(this._line().lastLineBox().lineBoxRect.topLeft());
 this._adjustLineForInlineContainerEnd(inlineBlockBox);
 }
 


Modified: trunk/Tools/LayoutReloaded/Utils.js (230706 => 230707)

--- trunk/Tools/LayoutReloaded/Utils.js	2018-04-17 11:29:26 UTC (rev 230706)
+++ trunk/Tools/LayoutReloaded/Utils.js	2018-04-17 14:32:46 UTC (rev 230707)
@@ -584,16 +584,11 @@
 }
 return indentation + box.node().tagName + " " + box.name() + "\n";
 }
-if (box.name() == "RenderImage") {
-let boxRect = layoutState.displayBox(box).rect();
-return indentation + box.node().tagName + " " + box.name() + " at (" + Utils.precisionRound(boxRect.left()) + "," + Utils.precisionRound(boxRect.top()) + ") size " + Utils.precisionRound(boxRect.width()) + "x" + Utils.precisionRound(boxRect.height()) + "\n";
-
-}
 if (box.isAnonymous())
 return "";
 let displayBox = layoutState.displayBox(box);
 let boxRect = displayBox.rect();
-return indentation + (box.node().tagName ? (box.node().tagName + " ") : "")  + box.name() + " at (" + boxRect.left() + "," + boxRect.top() + ") size " + boxRect.width() + "x" + boxRect.height() + "\n";
+return indentation + (box.node().tagName ? (box.node().tagName + " ") : "")  + box.name() + " at (" + Utils.precisionRound(boxRect.left()) + "," + Utils.precisionRound(boxRect.top()) + ") size " + Utils.precisionRound(boxRect.width()) + "x" + Utils.precisionRound(boxRect.height()) + "\n";
 }
 
 static _dumpLines(layoutState, root, level) {


Modified: trunk/Tools/LayoutReloaded/test/inline-block-with-fixed-width-height.html (230706 => 230707)

--- trunk/Tools/LayoutReloaded/test/inline-block-with-fixed-width-height.html	2018-04-17 11:29:26 UTC (rev 230706)
+++ trunk/Tools/LayoutReloaded/test/inline-block-with-fixed-width-height.html	2018-04-17 14:32:46 UTC (rev 230707)
@@ -1,6 +1,6 @@
 
 
 
-foobar
+foofoobarfoobar
 
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230706] trunk/Source/WebCore

2018-04-17 Thread clopez
Title: [230706] trunk/Source/WebCore








Revision 230706
Author clo...@igalia.com
Date 2018-04-17 04:29:26 -0700 (Tue, 17 Apr 2018)


Log Message
[GTK] Build fix after r230529 (WaylandCompositorDisplay leaks its wl_display)
https://bugs.webkit.org/show_bug.cgi?id=184406

Rubber-stamped by Michael Catanzaro.

Fix build with clang 3.8

No new tests, it is a build fix.

* platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::create):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (230705 => 230706)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 08:41:04 UTC (rev 230705)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 11:29:26 UTC (rev 230706)
@@ -1,3 +1,17 @@
+2018-04-17  Carlos Alberto Lopez Perez  
+
+[GTK] Build fix after r230529 (WaylandCompositorDisplay leaks its wl_display)
+https://bugs.webkit.org/show_bug.cgi?id=184406
+
+Rubber-stamped by Michael Catanzaro.
+
+Fix build with clang 3.8
+
+No new tests, it is a build fix.
+
+* platform/graphics/wayland/PlatformDisplayWayland.cpp:
+(WebCore::PlatformDisplayWayland::create):
+
 2018-04-16  Antoine Quint  
 
 Layout Test animations/needs-layout.html is a flaky Image Failure.


Modified: trunk/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp (230705 => 230706)

--- trunk/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp	2018-04-17 08:41:04 UTC (rev 230705)
+++ trunk/Source/WebCore/platform/graphics/wayland/PlatformDisplayWayland.cpp	2018-04-17 11:29:26 UTC (rev 230706)
@@ -58,7 +58,7 @@
 
 auto platformDisplay = std::unique_ptr(new PlatformDisplayWayland(display, NativeDisplayOwned::Yes));
 platformDisplay->initialize();
-return platformDisplay;
+return WTFMove(platformDisplay);
 }
 
 std::unique_ptr PlatformDisplayWayland::create(struct wl_display* display)
@@ -65,7 +65,7 @@
 {
 auto platformDisplay = std::unique_ptr(new PlatformDisplayWayland(display, NativeDisplayOwned::No));
 platformDisplay->initialize();
-return platformDisplay;
+return WTFMove(platformDisplay);
 }
 
 PlatformDisplayWayland::PlatformDisplayWayland(struct wl_display* display, NativeDisplayOwned displayOwned)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [230705] trunk

2018-04-17 Thread carlosgc
Title: [230705] trunk








Revision 230705
Author carlo...@webkit.org
Date 2018-04-17 01:41:04 -0700 (Tue, 17 Apr 2018)


Log Message
[GLIB] Add API to clear JSCContext uncaught exception
https://bugs.webkit.org/show_bug.cgi?id=184685

Reviewed by Žan Doberšek.

Source/_javascript_Core:

Add jsc_context_clear_exception() to clear any possible uncaught exception in a JSCContext.

* API/glib/JSCContext.cpp:
(jsc_context_clear_exception):
* API/glib/JSCContext.h:
* API/glib/docs/jsc-glib-4.0-sections.txt:

Tools:

Add test cases for the new API.

* TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp:
(testJSCExceptions):

Modified Paths

trunk/Source/_javascript_Core/API/glib/JSCContext.cpp
trunk/Source/_javascript_Core/API/glib/JSCContext.h
trunk/Source/_javascript_Core/API/glib/docs/jsc-glib-4.0-sections.txt
trunk/Source/_javascript_Core/ChangeLog
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp




Diff

Modified: trunk/Source/_javascript_Core/API/glib/JSCContext.cpp (230704 => 230705)

--- trunk/Source/_javascript_Core/API/glib/JSCContext.cpp	2018-04-17 08:15:28 UTC (rev 230704)
+++ trunk/Source/_javascript_Core/API/glib/JSCContext.cpp	2018-04-17 08:41:04 UTC (rev 230705)
@@ -589,6 +589,19 @@
 }
 
 /**
+ * jsc_context_clear_exception:
+ * @context: a #JSCContext
+ *
+ * Clear the uncaught exception in @context if any.
+ */
+void jsc_context_clear_exception(JSCContext* context)
+{
+g_return_if_fail(JSC_IS_CONTEXT(context));
+
+context->priv->exception = nullptr;
+}
+
+/**
  * JSCExceptionHandler:
  * @context: a #JSCContext
  * @exception: a #JSCException


Modified: trunk/Source/_javascript_Core/API/glib/JSCContext.h (230704 => 230705)

--- trunk/Source/_javascript_Core/API/glib/JSCContext.h	2018-04-17 08:15:28 UTC (rev 230704)
+++ trunk/Source/_javascript_Core/API/glib/JSCContext.h	2018-04-17 08:41:04 UTC (rev 230705)
@@ -88,6 +88,9 @@
   JSCException   *exception);
 
 JSC_API void
+jsc_context_clear_exception  (JSCContext *context);
+
+JSC_API void
 jsc_context_push_exception_handler   (JSCContext *context,
   JSCExceptionHandler handler,
   gpointeruser_data,


Modified: trunk/Source/_javascript_Core/API/glib/docs/jsc-glib-4.0-sections.txt (230704 => 230705)

--- trunk/Source/_javascript_Core/API/glib/docs/jsc-glib-4.0-sections.txt	2018-04-17 08:15:28 UTC (rev 230704)
+++ trunk/Source/_javascript_Core/API/glib/docs/jsc-glib-4.0-sections.txt	2018-04-17 08:41:04 UTC (rev 230705)
@@ -32,6 +32,7 @@
 jsc_context_get_exception
 jsc_context_throw
 jsc_context_throw_exception
+jsc_context_clear_exception
 jsc_context_push_exception_handler
 jsc_context_pop_exception_handler
 jsc_context_get_current


Modified: trunk/Source/_javascript_Core/ChangeLog (230704 => 230705)

--- trunk/Source/_javascript_Core/ChangeLog	2018-04-17 08:15:28 UTC (rev 230704)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-04-17 08:41:04 UTC (rev 230705)
@@ -1,5 +1,19 @@
 2018-04-17  Carlos Garcia Campos  
 
+[GLIB] Add API to clear JSCContext uncaught exception
+https://bugs.webkit.org/show_bug.cgi?id=184685
+
+Reviewed by Žan Doberšek.
+
+Add jsc_context_clear_exception() to clear any possible uncaught exception in a JSCContext.
+
+* API/glib/JSCContext.cpp:
+(jsc_context_clear_exception):
+* API/glib/JSCContext.h:
+* API/glib/docs/jsc-glib-4.0-sections.txt:
+
+2018-04-17  Carlos Garcia Campos  
+
 [GLIB] Add API to query, delete and enumerate properties
 https://bugs.webkit.org/show_bug.cgi?id=184647
 


Modified: trunk/Tools/ChangeLog (230704 => 230705)

--- trunk/Tools/ChangeLog	2018-04-17 08:15:28 UTC (rev 230704)
+++ trunk/Tools/ChangeLog	2018-04-17 08:41:04 UTC (rev 230705)
@@ -1,5 +1,17 @@
 2018-04-17  Carlos Garcia Campos  
 
+[GLIB] Add API to clear JSCContext uncaught exception
+https://bugs.webkit.org/show_bug.cgi?id=184685
+
+Reviewed by Žan Doberšek.
+
+Add test cases for the new API.
+
+* TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp:
+(testJSCExceptions):
+
+2018-04-17  Carlos Garcia Campos  
+
 [GLIB] Add API to query, delete and enumerate properties
 https://bugs.webkit.org/show_bug.cgi?id=184647
 


Modified: trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp (230704 => 230705)

--- trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp	2018-04-17 08:15:28 UTC (rev 230704)
+++ trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp	2018-04-17 08:41:04 UTC (rev 230705)
@@ -1622,6 +1622,9 @@
 g_assert_cmpstr(jsc_exception_get_message(exception), ==, "Can't find variable: foo");
 g_assert_cmpuint(jsc_exception_get_line_number(exception), ==, 

[webkit-changes] [230704] trunk

2018-04-17 Thread carlosgc
Title: [230704] trunk








Revision 230704
Author carlo...@webkit.org
Date 2018-04-17 01:15:28 -0700 (Tue, 17 Apr 2018)


Log Message
[GLIB] Add API to query, delete and enumerate properties
https://bugs.webkit.org/show_bug.cgi?id=184647

Reviewed by Michael Catanzaro.

Source/_javascript_Core:

Add jsc_value_object_has_property(), jsc_value_object_delete_property() and jsc_value_object_enumerate_properties().

* API/glib/JSCValue.cpp:
(jsc_value_object_has_property):
(jsc_value_object_delete_property):
(jsc_value_object_enumerate_properties):
* API/glib/JSCValue.h:
* API/glib/docs/jsc-glib-4.0-sections.txt:

Tools:

Add test cases for the new API.

* TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp:
(testJSCObject):
(testJSCClass):
(testJSCPrototypes):

Modified Paths

trunk/Source/_javascript_Core/API/glib/JSCValue.cpp
trunk/Source/_javascript_Core/API/glib/JSCValue.h
trunk/Source/_javascript_Core/API/glib/docs/jsc-glib-4.0-sections.txt
trunk/Source/_javascript_Core/ChangeLog
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/_javascript_Core/glib/TestJSC.cpp




Diff

Modified: trunk/Source/_javascript_Core/API/glib/JSCValue.cpp (230703 => 230704)

--- trunk/Source/_javascript_Core/API/glib/JSCValue.cpp	2018-04-17 07:33:57 UTC (rev 230703)
+++ trunk/Source/_javascript_Core/API/glib/JSCValue.cpp	2018-04-17 08:15:28 UTC (rev 230704)
@@ -673,7 +673,6 @@
 if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
 return jsc_value_new_undefined(priv->context.get());
 
-
 JSRetainPtr propertyName(Adopt, JSStringCreateWithUTF8CString(name));
 JSValueRef result = JSObjectGetProperty(jsContext, object, propertyName.get(), );
 if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
@@ -726,7 +725,6 @@
 if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
 return jsc_value_new_undefined(priv->context.get());
 
-
 JSValueRef result = JSObjectGetPropertyAtIndex(jsContext, object, index, );
 if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
 return jsc_value_new_undefined(priv->context.get());
@@ -734,6 +732,105 @@
 return jscContextGetOrCreateValue(priv->context.get(), result).leakRef();
 }
 
+/**
+ * jsc_value_object_has_property:
+ * @value: a #JSCValue
+ * @name: the property name
+ *
+ * Get whether @value has property with @name.
+ *
+ * Returns: %TRUE if @value has a property with @name, or %FALSE otherwise
+ */
+gboolean jsc_value_object_has_property(JSCValue* value, const char* name)
+{
+g_return_val_if_fail(JSC_IS_VALUE(value), FALSE);
+g_return_val_if_fail(name, FALSE);
+
+JSCValuePrivate* priv = value->priv;
+auto* jsContext = jscContextGetJSContext(priv->context.get());
+JSValueRef exception = nullptr;
+JSObjectRef object = JSValueToObject(jsContext, priv->jsValue, );
+if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
+return FALSE;
+
+JSRetainPtr propertyName(Adopt, JSStringCreateWithUTF8CString(name));
+return JSObjectHasProperty(jsContext, object, propertyName.get());
+}
+
+/**
+ * jsc_value_object_delete_property:
+ * @value: a #JSCValue
+ * @name: the property name
+ *
+ * Try to delete property with @name from @value. This function will return %FALSE if
+ * the property was defined without %JSC_VALUE_PROPERTY_CONFIGURABLE flag.
+ *
+ * Returns: %TRUE if the property was deleted, or %FALSE otherwise.
+ */
+gboolean jsc_value_object_delete_property(JSCValue* value, const char* name)
+{
+g_return_val_if_fail(JSC_IS_VALUE(value), FALSE);
+g_return_val_if_fail(name, FALSE);
+
+JSCValuePrivate* priv = value->priv;
+auto* jsContext = jscContextGetJSContext(priv->context.get());
+JSValueRef exception = nullptr;
+JSObjectRef object = JSValueToObject(jsContext, priv->jsValue, );
+if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
+return FALSE;
+
+JSRetainPtr propertyName(Adopt, JSStringCreateWithUTF8CString(name));
+gboolean result = JSObjectDeleteProperty(jsContext, object, propertyName.get(), );
+if (jscContextHandleExceptionIfNeeded(priv->context.get(), exception))
+return FALSE;
+
+return result;
+}
+
+/**
+ * jsc_value_object_enumerate_properties:
+ * @value: a #JSCValue
+ *
+ * Get the list of property names of @value. Only properties defined with %JSC_VALUE_PROPERTY_ENUMERABLE
+ * flag will be collected.
+ *
+ * Returns: (array zero-terminated=1) (transfer full) (nullable): a %NULL-terminated array of strings containing the
+ *property names, or %NULL if @value doesn't have enumerable properties.  Use g_strfreev() to free.
+ */
+char** jsc_value_object_enumerate_properties(JSCValue* value)
+{
+g_return_val_if_fail(JSC_IS_VALUE(value), nullptr);
+
+JSCValuePrivate* priv = value->priv;
+auto* jsContext = jscContextGetJSContext(priv->context.get());
+JSValueRef exception = nullptr;
+JSObjectRef object = 

[webkit-changes] [230703] trunk

2018-04-17 Thread graouts
Title: [230703] trunk








Revision 230703
Author grao...@webkit.org
Date 2018-04-17 00:33:57 -0700 (Tue, 17 Apr 2018)


Log Message
Layout Test animations/needs-layout.html is a flaky Image Failure.
https://bugs.webkit.org/show_bug.cgi?id=172397

Reviewed by Dean Jackson.

Source/WebCore:

Animations that animate a transform and uses a relative value for either the x or y components
require a layout before starting, which CSSAnimationController would perform in the call to
CSSAnimationControllerPrivate::animationTimerFired() made immediately after a CSS animation was
created.

We now perform a similar task where upon setting new blending keyframes we compute a flag indicating
if the keyframe effect is animating a transform with relative x or y components. Then, when we perform
the first invalidation task, which runs in the next run loop after a change to the timing model has
been made, such as a call to play() on a CSSAnimation made in the TreeResolver::createAnimatedElementUpdate()
where the CSSAnimation was created, we call forceLayout() on this element's FrameView. We also ensure
we commit animations on the compositor immediately after that too, instead of waiting until the next
DisplayRefreshMonitor callback.

* animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::performInvalidationTask):
(WebCore::DocumentTimeline::updateAnimations):
* animation/KeyframeEffectReadOnly.cpp:
(WebCore::KeyframeEffectReadOnly::forceLayoutIfNeeded):
(WebCore::KeyframeEffectReadOnly::setBlendingKeyframes):
(WebCore::KeyframeEffectReadOnly::computedNeedsForcedLayout):
(WebCore::KeyframeEffectReadOnly::applyPendingAcceleratedActions):
* animation/KeyframeEffectReadOnly.h:

LayoutTests:

No longer mark this test as flaky.

* platform/ios-wk2/TestExpectations:
* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-wk2/TestExpectations
trunk/LayoutTests/platform/mac-wk1/TestExpectations
trunk/LayoutTests/platform/mac-wk2/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/animation/DocumentTimeline.cpp
trunk/Source/WebCore/animation/KeyframeEffectReadOnly.cpp
trunk/Source/WebCore/animation/KeyframeEffectReadOnly.h




Diff

Modified: trunk/LayoutTests/ChangeLog (230702 => 230703)

--- trunk/LayoutTests/ChangeLog	2018-04-17 06:54:26 UTC (rev 230702)
+++ trunk/LayoutTests/ChangeLog	2018-04-17 07:33:57 UTC (rev 230703)
@@ -1,3 +1,16 @@
+2018-04-16  Antoine Quint  
+
+Layout Test animations/needs-layout.html is a flaky Image Failure.
+https://bugs.webkit.org/show_bug.cgi?id=172397
+
+Reviewed by Dean Jackson.
+
+No longer mark this test as flaky.
+
+* platform/ios-wk2/TestExpectations:
+* platform/mac-wk1/TestExpectations:
+* platform/mac-wk2/TestExpectations:
+
 2018-04-16  Keith Rollin  
 
 REGRESSION: [mac-wk2 release] LayoutTest http/tests/security/contentSecurityPolicy/script-src-blocked-error-event.html is flaky


Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (230702 => 230703)

--- trunk/LayoutTests/platform/ios-wk2/TestExpectations	2018-04-17 06:54:26 UTC (rev 230702)
+++ trunk/LayoutTests/platform/ios-wk2/TestExpectations	2018-04-17 07:33:57 UTC (rev 230703)
@@ -1319,7 +1319,6 @@
 
 webkit.org/b/177501 webrtc/video-mute.html [ Pass Timeout ]
 
-webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ]
 webkit.org/b/172397 [ Debug ] legacy-animation-engine/animations/needs-layout.html [ Pass ImageOnlyFailure ]
 
 webkit.org/b/179176 [ Release ] svg/wicd/test-rightsizing-a.xhtml [ Pass Failure ]


Modified: trunk/LayoutTests/platform/mac-wk1/TestExpectations (230702 => 230703)

--- trunk/LayoutTests/platform/mac-wk1/TestExpectations	2018-04-17 06:54:26 UTC (rev 230702)
+++ trunk/LayoutTests/platform/mac-wk1/TestExpectations	2018-04-17 07:33:57 UTC (rev 230703)
@@ -492,7 +492,6 @@
 [ HighSierra+ ] fast/forms/textarea-maxlength.html [ Crash ]
 [ HighSierra+ ] fast/text/system-font-fallback-emoji.html [ Crash ]
 
-webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ]
 webkit.org/b/172397 [ Debug ] legacy-animation-engine/animations/needs-layout.html [ Pass ImageOnlyFailure ]
 
 webkit.org/b/179775 imported/w3c/web-platform-tests/XMLHttpRequest/firing-events-http-no-content-length.html [ Pass Failure ]


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (230702 => 230703)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2018-04-17 06:54:26 UTC (rev 230702)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2018-04-17 07:33:57 UTC (rev 230703)
@@ -730,7 +730,6 @@
 
 webkit.org/b/167757 workers/bomb.html [ Pass Timeout ]
 
-webkit.org/b/172397 [ Debug ] animations/needs-layout.html [ Pass ImageOnlyFailure ]
 webkit.org/b/172397 [ Debug ] legacy-animation-engine/animations/needs-layout.html [ Pass 

[webkit-changes] [230702] trunk/Source/WebCore

2018-04-17 Thread commit-queue
Title: [230702] trunk/Source/WebCore








Revision 230702
Author commit-qu...@webkit.org
Date 2018-04-16 23:54:26 -0700 (Mon, 16 Apr 2018)


Log Message
Inconsistent EGL defines in ImageBufferCairo
https://bugs.webkit.org/show_bug.cgi?id=184661

Patch by Pablo Saavedra  on 2018-04-16
Reviewed by Žan Doberšek.

On revision r219391 libepoxy is added. The headers in
ImageBufferCairo.cpp become inconsistent when 2D canvas is enabled
(-DENABLE_ACCELERATED_2D_CANVAS=ON) due to a redefinition error during
the Webkit build:

...
/usr/include/GLES2/gl2.h:503:82: error: 'voi
epoxy_glAttachShader(GLuint, GLuint)' redeclared as different kind
of symbol
GL_APICALL void GL_APIENTRY glAttachShader (GLuint
program, GLuint shader);

No new tests.

* platform/graphics/cairo/ImageBufferCairo.cpp:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (230701 => 230702)

--- trunk/Source/WebCore/ChangeLog	2018-04-17 05:48:41 UTC (rev 230701)
+++ trunk/Source/WebCore/ChangeLog	2018-04-17 06:54:26 UTC (rev 230702)
@@ -1,3 +1,26 @@
+2018-04-16  Pablo Saavedra  
+
+Inconsistent EGL defines in ImageBufferCairo
+https://bugs.webkit.org/show_bug.cgi?id=184661
+
+Reviewed by Žan Doberšek.
+
+On revision r219391 libepoxy is added. The headers in
+ImageBufferCairo.cpp become inconsistent when 2D canvas is enabled
+(-DENABLE_ACCELERATED_2D_CANVAS=ON) due to a redefinition error during
+the Webkit build:
+
+...
+/usr/include/GLES2/gl2.h:503:82: error: 'voi
+epoxy_glAttachShader(GLuint, GLuint)' redeclared as different kind
+of symbol
+GL_APICALL void GL_APIENTRY glAttachShader (GLuint
+program, GLuint shader);
+
+No new tests.
+
+* platform/graphics/cairo/ImageBufferCairo.cpp:
+
 2018-04-16  Filip Pizlo  
 
 MutationObserver should be in an IsoHeap


Modified: trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp (230701 => 230702)

--- trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2018-04-17 05:48:41 UTC (rev 230701)
+++ trunk/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp	2018-04-17 06:54:26 UTC (rev 230702)
@@ -52,12 +52,18 @@
 #include "GLContext.h"
 #include "TextureMapperGL.h"
 
-#if USE(EGL) && USE(LIBEPOXY)
+#if USE(EGL)
+#if USE(LIBEPOXY)
 #include "EpoxyEGL.h"
+#else
+#include 
 #endif
+#endif
 #include 
 
-#if USE(OPENGL_ES)
+#if USE(LIBEPOXY)
+#include 
+#elif USE(OPENGL_ES)
 #include 
 #else
 #include "OpenGLShims.h"






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes