[webkit-changes] [195405] trunk

2016-01-21 Thread n_wang
Title: [195405] trunk








Revision 195405
Author n_w...@apple.com
Date 2016-01-21 00:35:10 -0800 (Thu, 21 Jan 2016)


Log Message
AX: [IOS] Implement next/previous text marker functions using TextIterator
https://bugs.webkit.org/show_bug.cgi?id=153292


Reviewed by Chris Fleizach.

Source/WebCore:

Added support for the refactored next/previous text marker functions on iOS. And
made text marker tests working on iOS.
Also, fixed an issue in AXObjectCache where creating a range with a replaced node
at the start or end might exclude that node.

Tests: accessibility/text-marker/text-marker-previous-next.html
   accessibility/text-marker/text-marker-with-user-select-none.html

* accessibility/AXObjectCache.cpp:
(WebCore::characterOffsetsInOrder):
(WebCore::resetNodeAndOffsetForReplacedNode):
(WebCore::AXObjectCache::rangeForUnorderedCharacterOffsets):
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(+[WebAccessibilityTextMarker textMarkerWithVisiblePosition:cache:]):
(+[WebAccessibilityTextMarker textMarkerWithCharacterOffset:cache:]):
(+[WebAccessibilityTextMarker startOrEndTextMarkerForRange:isStart:cache:]):
(-[WebAccessibilityTextMarker dataRepresentation]):
(-[WebAccessibilityTextMarker visiblePosition]):
(-[WebAccessibilityTextMarker characterOffset]):
(-[WebAccessibilityTextMarker isIgnored]):
(-[WebAccessibilityTextMarker accessibilityObject]):
(-[WebAccessibilityTextMarker description]):
(-[WebAccessibilityObjectWrapper stringForTextMarkers:]):
(blockquoteLevel):
(-[WebAccessibilityObjectWrapper textMarkerRange]):
(-[WebAccessibilityObjectWrapper accessibilityObjectForTextMarker:]):
(-[WebAccessibilityObjectWrapper nextMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper previousMarkerForMarker:]):
(-[WebAccessibilityObjectWrapper textMarkerForPoint:]):
(-[WebAccessibilityObjectWrapper nextMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper previousMarkerForCharacterOffset:]):
(-[WebAccessibilityObjectWrapper rangeForTextMarkers:]):
(-[WebAccessibilityObjectWrapper lengthForTextMarkers:]):
(-[WebAccessibilityObjectWrapper startOrEndTextMarkerForTextMarkers:isStart:]):
(-[WebAccessibilityObjectWrapper textMarkerRangeForMarkers:]):
(-[WebAccessibilityObjectWrapper accessibilityIdentifier]):

Tools:

Made text marker tests available on iOS.

* DumpRenderTree/AccessibilityTextMarker.h:
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/ios/AccessibilityTextMarkerIOS.mm: Added.
(AccessibilityTextMarker::AccessibilityTextMarker):
(AccessibilityTextMarker::~AccessibilityTextMarker):
(AccessibilityTextMarker::isEqual):
(AccessibilityTextMarker::platformTextMarker):
(AccessibilityTextMarkerRange::AccessibilityTextMarkerRange):
(AccessibilityTextMarkerRange::~AccessibilityTextMarkerRange):
(AccessibilityTextMarkerRange::isEqual):
(AccessibilityTextMarkerRange::platformTextMarkerRange):
* DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::pathDescription):
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::textMarkerRangeForElement):
(AccessibilityUIElement::selectedTextMarkerRange):
(AccessibilityUIElement::resetSelectedTextMarkerRange):
(AccessibilityUIElement::textMarkerRangeLength):
(AccessibilityUIElement::textMarkerRangeForMarkers):
(AccessibilityUIElement::startTextMarkerForTextMarkerRange):
(AccessibilityUIElement::endTextMarkerForTextMarkerRange):
(AccessibilityUIElement::accessibilityElementForTextMarker):
(AccessibilityUIElement::endTextMarkerForBounds):
(AccessibilityUIElement::startTextMarkerForBounds):
(AccessibilityUIElement::textMarkerForPoint):
(AccessibilityUIElement::previousTextMarker):
(AccessibilityUIElement::nextTextMarker):
(AccessibilityUIElement::stringForTextMarkerRange):
(AccessibilityUIElement::attributedStringForTextMarkerRangeContainsAttribute):
(AccessibilityUIElement::indexForTextMarker):
(AccessibilityUIElement::isTextMarkerValid):
(AccessibilityUIElement::textMarkerForIndex):
(AccessibilityUIElement::startTextMarker):
(AccessibilityUIElement::endTextMarker):
(AccessibilityUIElement::setSelectedVisibleTextRange):
(AccessibilityUIElement::getLinkedUIElements):
* DumpRenderTree/mac/AccessibilityTextMarkerMac.mm:
(AccessibilityTextMarkerRange::platformTextMarkerRange):
* DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::removeSelection):
(AccessibilityUIElement::lineTextMarkerRangeForTextMarker):
(AccessibilityUIElement::setSelectedVisibleTextRange):
(AccessibilityUIElement::supportedActions):
* WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::textMarkerRangeForElement):
(WTR::AccessibilityUIElement::textMarkerRangeLength):
(WTR::AccessibilityUIElement::previousTextMarker):
(WTR::AccessibilityUIElement::nextTextMarker):
(WTR::AccessibilityUIElement::stringForTextMarkerRange):
(WTR::AccessibilityUIElement::textMarkerRangeForMarkers):
(WTR::AccessibilityUIElement::startTextMarkerForTextMarkerRange):

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

2016-01-21 Thread carlosgc
Title: [195406] trunk/Source/WebCore








Revision 195406
Author carlo...@webkit.org
Date 2016-01-21 01:17:02 -0800 (Thu, 21 Jan 2016)


Log Message
[SOUP] GResource resources should be cached indefinitely in memory cache
https://bugs.webkit.org/show_bug.cgi?id=153275

Reviewed by Žan Doberšek.

GResources can't change so they will always return the same data,
we never need to revalidate them.

* loader/cache/CachedResource.cpp:
(WebCore::shouldCacheSchemeIndefinitely):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/cache/CachedResource.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (195405 => 195406)

--- trunk/Source/WebCore/ChangeLog	2016-01-21 08:35:10 UTC (rev 195405)
+++ trunk/Source/WebCore/ChangeLog	2016-01-21 09:17:02 UTC (rev 195406)
@@ -1,3 +1,16 @@
+2016-01-21  Carlos Garcia Campos  
+
+[SOUP] GResource resources should be cached indefinitely in memory cache
+https://bugs.webkit.org/show_bug.cgi?id=153275
+
+Reviewed by Žan Doberšek.
+
+GResources can't change so they will always return the same data,
+we never need to revalidate them.
+
+* loader/cache/CachedResource.cpp:
+(WebCore::shouldCacheSchemeIndefinitely):
+
 2016-01-21  Nan Wang  
 
 AX: [IOS] Implement next/previous text marker functions using TextIterator


Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (195405 => 195406)

--- trunk/Source/WebCore/loader/cache/CachedResource.cpp	2016-01-21 08:35:10 UTC (rev 195405)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp	2016-01-21 09:17:02 UTC (rev 195406)
@@ -365,6 +365,10 @@
 if (equalIgnoringCase(scheme, "applewebdata"))
 return true;
 #endif
+#if USE(SOUP)
+if (equalIgnoringCase(scheme, "resource"))
+return true;
+#endif
 return equalIgnoringCase(scheme, "data");
 }
 






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


[webkit-changes] [195408] trunk/Tools

2016-01-21 Thread commit-queue
Title: [195408] trunk/Tools








Revision 195408
Author commit-qu...@webkit.org
Date 2016-01-21 07:27:39 -0800 (Thu, 21 Jan 2016)


Log Message
Ensure to use compatible liborc version with wanted gstreamer version
https://bugs.webkit.org/show_bug.cgi?id=153276

For example gst-plugins-base-1.4.4 fails to build with liborc-0.4.24.
The user may have a very recent liborc installed on his system.

Patch by Julien Isorce  on 2016-01-21
Reviewed by Philippe Normand.

* efl/jhbuild.modules: add liborc-0.4.17 and make it a gst dependency.
* gtk/jhbuild.modules: add liborc-0.4.17 and make it a gst depencendy.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/efl/jhbuild.modules
trunk/Tools/gtk/jhbuild.modules




Diff

Modified: trunk/Tools/ChangeLog (195407 => 195408)

--- trunk/Tools/ChangeLog	2016-01-21 12:51:44 UTC (rev 195407)
+++ trunk/Tools/ChangeLog	2016-01-21 15:27:39 UTC (rev 195408)
@@ -1,3 +1,16 @@
+2016-01-21  Julien Isorce  
+
+Ensure to use compatible liborc version with wanted gstreamer version
+https://bugs.webkit.org/show_bug.cgi?id=153276
+
+For example gst-plugins-base-1.4.4 fails to build with liborc-0.4.24.
+The user may have a very recent liborc installed on his system.
+
+Reviewed by Philippe Normand.
+
+* efl/jhbuild.modules: add liborc-0.4.17 and make it a gst dependency.
+* gtk/jhbuild.modules: add liborc-0.4.17 and make it a gst depencendy.
+
 2016-01-21  Nan Wang  
 
 AX: [IOS] Implement next/previous text marker functions using TextIterator


Modified: trunk/Tools/efl/jhbuild.modules (195407 => 195408)

--- trunk/Tools/efl/jhbuild.modules	2016-01-21 12:51:44 UTC (rev 195407)
+++ trunk/Tools/efl/jhbuild.modules	2016-01-21 15:27:39 UTC (rev 195408)
@@ -239,7 +239,17 @@
 md5sum="9c0cfef285d5c4a5c80d00904ddab380"/>
   
 
+  
+
+  
+
   
+
+  
+
  repo="gstreamer"
 hash="sha256:f0e305d91a93d05bf9e332cd4256ca07d77f5186a4d73847b7ae6db218f2c237"


Modified: trunk/Tools/gtk/jhbuild.modules (195407 => 195408)

--- trunk/Tools/gtk/jhbuild.modules	2016-01-21 12:51:44 UTC (rev 195407)
+++ trunk/Tools/gtk/jhbuild.modules	2016-01-21 15:27:39 UTC (rev 195408)
@@ -318,11 +318,21 @@
 md5sum="9c0cfef285d5c4a5c80d00904ddab380"/>
   
 
+  
+
+  
+
   
 
   
   
 
+
+  
+
  repo="gstreamer"
 hash="sha256:f0e305d91a93d05bf9e332cd4256ca07d77f5186a4d73847b7ae6db218f2c237"






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


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

2016-01-21 Thread jer . noble
Title: [195410] trunk/Source/WebCore








Revision 195410
Author jer.no...@apple.com
Date 2016-01-21 09:15:16 -0800 (Thu, 21 Jan 2016)


Log Message
[EME] Correctly report errors when generating key requests from AVContentKeySession.
https://bugs.webkit.org/show_bug.cgi?id=151963

Reviewed by Eric Carlson.

WebIDL's "unsigned long" is a 32-bit unsigned integer, and C++'s "unsigned long" is (or, can
be) a 64-bit integer on 64-bit platforms. Casting a negative integer to a 64-bit integer
results in a number which cannot be accurately stored in a double-length floating point
number. Previously, the mac CDM code would work around this issue by returning the absolute
value of NSError code returned by media frameworks. Instead, fix the underlying problem by
storing the MediaKeyError's systemCode as a uint32_t (which more accurately represents the
size of a WebIDL "unsigned long" on all platforms.)

Check the error code issued by -contentKeyRequestDataForApp:contentIdentifier:options:error:.

* Modules/encryptedmedia/CDM.h:
* Modules/encryptedmedia/CDMSessionClearKey.cpp:
(WebCore::CDMSessionClearKey::generateKeyRequest):
(WebCore::CDMSessionClearKey::update):
* Modules/encryptedmedia/CDMSessionClearKey.h:
* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):
(WebCore::MediaKeySession::sendError):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.handleReadyStateChange):
* WebCore.xcodeproj/project.pbxproj:
* html/MediaKeyError.h:
(WebCore::MediaKeyError::create):
(WebCore::MediaKeyError::systemCode):
* html/MediaKeyEvent.h:
* platform/graphics/CDMSession.h:
* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp:
(WebCore::CDMSessionAVFoundationCF::generateKeyRequest):
(WebCore::CDMSessionAVFoundationCF::update):
* platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm:
(WebCore::CDMSessionAVFoundationObjC::generateKeyRequest):
(WebCore::CDMSessionAVFoundationObjC::update):
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
* platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::generateKeyRequest):
(WebCore::CDMSessionAVStreamSession::update):
(WebCore::CDMSessionAVStreamSession::generateKeyReleaseMessage):
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::systemCodeForError): Deleted.
* testing/MockCDM.cpp:
(WebCore::MockCDMSession::generateKeyRequest):
(WebCore::MockCDMSession::update):2016-01-15  Simon Fraser  

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/encryptedmedia/CDM.h
trunk/Source/WebCore/Modules/encryptedmedia/CDMSessionClearKey.cpp
trunk/Source/WebCore/Modules/encryptedmedia/CDMSessionClearKey.h
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.cpp
trunk/Source/WebCore/Modules/encryptedmedia/MediaKeySession.h
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/html/MediaKeyError.h
trunk/Source/WebCore/html/MediaKeyEvent.h
trunk/Source/WebCore/platform/graphics/CDMSession.h
trunk/Source/WebCore/platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.cpp
trunk/Source/WebCore/platform/graphics/avfoundation/cf/CDMSessionAVFoundationCF.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.mm
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h
trunk/Source/WebCore/platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm
trunk/Source/WebCore/testing/MockCDM.cpp


Added Paths

trunk/Source/WebCore/platform/cocoa/WebCoreNSErrorExtras.h
trunk/Source/WebCore/platform/cocoa/WebCoreNSErrorExtras.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (195409 => 195410)

--- 

[webkit-changes] [195414] trunk/LayoutTests

2016-01-21 Thread ryanhaddad
Title: [195414] trunk/LayoutTests








Revision 195414
Author ryanhad...@apple.com
Date 2016-01-21 10:58:11 -0800 (Thu, 21 Jan 2016)


Log Message
Remove a ios-simulator-wk2 specific expectation file since the results are identical on wk1 and wk2
https://bugs.webkit.org/show_bug.cgi?id=152139

Unreviewed test gardening.

* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.

Modified Paths

trunk/LayoutTests/ChangeLog


Removed Paths

trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (195413 => 195414)

--- trunk/LayoutTests/ChangeLog	2016-01-21 18:27:52 UTC (rev 195413)
+++ trunk/LayoutTests/ChangeLog	2016-01-21 18:58:11 UTC (rev 195414)
@@ -1,3 +1,12 @@
+2016-01-21  Ryan Haddad  
+
+Remove a ios-simulator-wk2 specific expectation file since the results are identical on wk1 and wk2
+https://bugs.webkit.org/show_bug.cgi?id=152139
+
+Unreviewed test gardening.
+
+* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Removed.
+
 2016-01-21  Said Abou-Hallawa  
 
 A crash reproducible in Path::isEmpty() under RenderSVGShape::paint()


Deleted: trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt (195413 => 195414)

--- trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2016-01-21 18:27:52 UTC (rev 195413)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt	2016-01-21 18:58:11 UTC (rev 195414)
@@ -1,87 +0,0 @@
-
-
-PASS [INPUT in TEXT status] The required attribute is not set 
-PASS [INPUT in TEXT status] The value is not empty and required is true 
-PASS [INPUT in TEXT status] The value is empty and required is true 
-PASS [INPUT in SEARCH status] The required attribute is not set 
-PASS [INPUT in SEARCH status] The value is not empty and required is true 
-PASS [INPUT in SEARCH status] The value is empty and required is true 
-PASS [INPUT in TEL status] The required attribute is not set 
-PASS [INPUT in TEL status] The value is not empty and required is true 
-PASS [INPUT in TEL status] The value is empty and required is true 
-PASS [INPUT in URL status] The required attribute is not set 
-PASS [INPUT in URL status] The value is not empty and required is true 
-PASS [INPUT in URL status] The value is empty and required is true 
-PASS [INPUT in EMAIL status] The required attribute is not set 
-PASS [INPUT in EMAIL status] The value is not empty and required is true 
-PASS [INPUT in EMAIL status] The value is empty and required is true 
-PASS [INPUT in PASSWORD status] The required attribute is not set 
-PASS [INPUT in PASSWORD status] The value is not empty and required is true 
-PASS [INPUT in PASSWORD status] The value is empty and required is true 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
-PASS [INPUT in DATE status] The required attribute is not set 
-PASS [INPUT in DATE status] Valid date string(2000-12-10) 
-PASS [INPUT in DATE status] Valid date string(-01-01) 
-PASS [INPUT in DATE status] The value attribute is a number(1234567) 
-PASS [INPUT in DATE status] The value attribute is a Date object 
-PASS [INPUT in DATE status] Invalid date string(-99-99) 
-PASS [INPUT in DATE status] Invalid date string(37-01-01) 
-PASS [INPUT in DATE status] Invalid date string(2000/01/01) 
-PASS [INPUT in DATE status] The value attribute is empty string 
-PASS [INPUT in MONTH status] The required attribute is not set 
-PASS [INPUT in MONTH status] Valid month string(2000-12) 
-PASS [INPUT in MONTH status] Valid month string(-01) 
-PASS [INPUT in MONTH status] The value attribute is a number(1234567) 
-PASS [INPUT in MONTH status] The value attribute is a Date object 
-PASS [INPUT in MONTH status] Invalid month string(2000-99) 
-PASS [INPUT in MONTH status] Invalid month string(37-01) 
-PASS [INPUT in MONTH status] Invalid month string(2000/01) 
-PASS [INPUT in MONTH status] The value attribute is empty string 
-PASS [INPUT in WEEK status] The required attribute is not set 
-PASS [INPUT in WEEK status] Valid week string(2000-W12) 
-PASS [INPUT in WEEK status] Valid week string(-W01) 
-PASS [INPUT in WEEK status] The value attribute is a number(1234567) 
-PASS [INPUT in WEEK status] The value attribute is a Date object 
-PASS 

[webkit-changes] [195413] branches/safari-601.1.46-branch/Source

2016-01-21 Thread bshafiei
Title: [195413] branches/safari-601.1.46-branch/Source








Revision 195413
Author bshaf...@apple.com
Date 2016-01-21 10:27:52 -0800 (Thu, 21 Jan 2016)


Log Message
Versioning.

Modified Paths

branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig




Diff

Modified: branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig (195412 => 195413)

--- branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-01-21 18:25:02 UTC (rev 195412)
+++ branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-01-21 18:27:52 UTC (rev 195413)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 92;
+MICRO_VERSION = 93;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig (195412 => 195413)

--- branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig	2016-01-21 18:25:02 UTC (rev 195412)
+++ branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig	2016-01-21 18:27:52 UTC (rev 195413)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 92;
+MICRO_VERSION = 93;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (195412 => 195413)

--- branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-01-21 18:25:02 UTC (rev 195412)
+++ branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-01-21 18:27:52 UTC (rev 195413)
@@ -1,7 +1,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 92;
+MICRO_VERSION = 93;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig (195412 => 195413)

--- branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-01-21 18:25:02 UTC (rev 195412)
+++ branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-01-21 18:27:52 UTC (rev 195413)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 92;
+MICRO_VERSION = 93;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig (195412 => 195413)

--- branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-01-21 18:25:02 UTC (rev 195412)
+++ branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-01-21 18:27:52 UTC (rev 195413)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 92;
+MICRO_VERSION = 93;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 






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


[webkit-changes] [195411] trunk

2016-01-21 Thread commit-queue
Title: [195411] trunk








Revision 195411
Author commit-qu...@webkit.org
Date 2016-01-21 09:50:26 -0800 (Thu, 21 Jan 2016)


Log Message
A crash reproducible in Path::isEmpty() under RenderSVGShape::paint()
https://bugs.webkit.org/show_bug.cgi?id=149613

Patch by Said Abou-Hallawa  on 2016-01-21
Reviewed by Darin Adler.
Source/WebCore:

When RenderSVGRoot::layout() realizes its layout size has changed and
it has resources which have relative sizes, it marks all the clients of
the resources for invalidates regardless whether they belong to the
same RenderSVGRoot or not. But it reruns the layout only for its children.
If one of these clients comes before the current RenderSVGRoot in the render
tree, ee end up having renderer marked for invalidation at rendering time.
This also prevents scheduling the layout if the same renderer is marked
for another invalidation later. We prevent this because we do not want
to schedule another layout for a renderer which is already marked for
invalidation. This can cause crash if the renderer is an RenderSVGPath.

The fix is to mark "only" the clients of a resource which belong to the
same RenderSVGRoot of the resource. Also we need to run the layout for
all the resources which belong to different RenderSVGRoots before running
the layout for an SVG renderer.

Tests: svg/custom/filter-update-different-root.html
   svg/custom/pattern-update-different-root.html

* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
We should not mark any client outside the current root for invalidation

* rendering/svg/RenderSVGResourceContainer.h: Remove unneeded private keyword.

* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::addResourceForClientInvalidation):
Code clean up; use findTreeRootObject() instead of repeating the same code.

* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::isEmpty): Avoid crashing if RenderSVGShape::isEmpty()
is called before calling RenderSVGShape::layout().

* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout): findTreeRootObject() now returns a pointer.

* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::findTreeRootObject): I do think nothing
guarantees that an SVG renderer has to have an RenderSVGRoot in its
ancestors. So change this function to return a pointer. Also Provide
the non-const version of this function.

(WebCore::SVGRenderSupport::layoutDifferentRootIfNeeded): Runs the layout
if needed for all the resources which belong to different RenderSVGRoots.

(WebCore::SVGRenderSupport::layoutChildren): Make sure all the renderer's
resources which belong to different RenderSVGRoots are laid out before
running the layout for this renderer.

* rendering/svg/SVGRenderSupport.h: Remove a mysterious comment.

* rendering/svg/SVGResources.cpp:
(WebCore::SVGResources::layoutDifferentRootIfNeeded): Run the layout for
all the resources which belong to different RenderSVGRoots outside the
context of their RenderSVGRoots.

* rendering/svg/SVGResources.h:
(WebCore::SVGResources::clipper):
(WebCore::SVGResources::markerStart):
(WebCore::SVGResources::markerMid):
(WebCore::SVGResources::markerEnd):
(WebCore::SVGResources::masker):
(WebCore::SVGResources::filter):
(WebCore::SVGResources::fill):
(WebCore::SVGResources::stroke):
Code clean up; use nullptr instead of 0.

LayoutTests:

When running the layout of an SVG root and it has resources which are
referenced by clients in other SVG roots, make sure we run the layout
for these resources before running the layout for their clients.

* svg/custom/filter-update-different-root-expected.html: Added.
* svg/custom/filter-update-different-root.html: Added.
Without this patch this test crashes because we paint a dirty RenderSVGShape.

* svg/custom/pattern-update-different-root-expected.html: Added.
* svg/custom/pattern-update-different-root.html: Added.
Without this patch this test works fine but it is good to have it to catch
cases where the SVG root needs to run re-layout for its children resources
and hence their clients if its size has changed.

* svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt:
* svg/custom/unicode-in-tspan-multi-svg-crash.html:
This test was ported from Blink in http://trac.webkit.org/changeset/166420.
The expectation of this test was changed in Blink:
https://src.chromium.org/viewvc/blink?revision=158480=revision.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/svg/custom/unicode-in-tspan-multi-svg-crash-expected.txt
trunk/LayoutTests/svg/custom/unicode-in-tspan-multi-svg-crash.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/svg/RenderSVGResourceContainer.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGResourceContainer.h
trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGShape.cpp
trunk/Source/WebCore/rendering/svg/RenderSVGText.cpp

[webkit-changes] [195412] trunk/Source

2016-01-21 Thread adachan
Title: [195412] trunk/Source








Revision 195412
Author adac...@apple.com
Date 2016-01-21 10:25:02 -0800 (Thu, 21 Jan 2016)


Log Message
Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
https://bugs.webkit.org/show_bug.cgi?id=153218

Reviewed by Eric Carlson.

Source/_javascript_Core:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests. Code refactoring.

* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
Move WebVideoFullscreenInterface.h from ios to cocoa.
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::webkitSupportsPresentationMode):
The declaration of supportsPictureInPicture() has been moved to WebVideoFullscreenInterface.h
so include that header instead. Guard the supportsPictureInPicture() call with PLATFORM(COCOA)
as that method is only defined in Cocoa.
* platform/cocoa/WebVideoFullscreenInterface.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenInterface.h.
Also move the declaration of supportsPictureInPicture() here.
* platform/graphics/MediaPlayer.cpp:
* platform/graphics/MediaPlayer.h:
* platform/graphics/MediaPlayerPrivate.h:
Implementations of methods related to the video fullscreen layer are now guarded by
PLATFORM(IOS) || (PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)) instead.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
Declaration of supportsPictureInPicture() has been moved to WebVideoFullscreenInterface.h
* platform/mac/WebVideoFullscreenInterfaceMac.mm: Added.
(WebCore::supportsPictureInPicture):
Return false for now.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/Platform.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/Platform.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/html/HTMLVideoElement.cpp
trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp
trunk/Source/WebCore/platform/graphics/MediaPlayer.h
trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h
trunk/Source/WebKit/mac/ChangeLog
trunk/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Configurations/FeatureDefines.xcconfig


Added Paths

trunk/Source/WebCore/platform/cocoa/WebVideoFullscreenInterface.h
trunk/Source/WebCore/platform/mac/WebVideoFullscreenInterfaceMac.mm


Removed Paths

trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterface.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195411 => 195412)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-21 17:50:26 UTC (rev 195411)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-21 18:25:02 UTC (rev 195412)
@@ -1,3 +1,12 @@
+2016-01-19  Ada Chan  
+
+Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
+https://bugs.webkit.org/show_bug.cgi?id=153218
+
+Reviewed by Eric Carlson.
+
+* Configurations/FeatureDefines.xcconfig:
+
 2016-01-21  Per Arne Vollan  
 
 [B3][CMake] Add missing source file.


Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (195411 => 195412)

--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2016-01-21 17:50:26 UTC (rev 195411)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2016-01-21 18:25:02 UTC (rev 195412)
@@ -170,6 +170,10 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
+ENABLE_VIDEO_PRESENTATION_MODE_macosx_101000 = ;
+ENABLE_VIDEO_PRESENTATION_MODE_macosx_101100 = ;
+ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_VIEW_MODE_CSS_MEDIA = ;


Modified: trunk/Source/WTF/ChangeLog (195411 => 195412)

--- trunk/Source/WTF/ChangeLog	2016-01-21 17:50:26 UTC (rev 195411)
+++ trunk/Source/WTF/ChangeLog	2016-01-21 18:25:02 UTC (rev 195412)
@@ -1,3 +1,12 @@
+2016-01-19  Ada Chan  
+
+Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.
+https://bugs.webkit.org/show_bug.cgi?id=153218
+
+Reviewed by Eric Carlson.
+
+* wtf/Platform.h:
+
 2016-01-19  Filip Pizlo  
 
 B3 should have basic path specialization


Modified: trunk/Source/WTF/wtf/Platform.h (195411 => 195412)

--- trunk/Source/WTF/wtf/Platform.h	2016-01-21 

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

2016-01-21 Thread simon . fraser
Title: [195415] trunk/Source/WebCore








Revision 195415
Author simon.fra...@apple.com
Date 2016-01-21 11:00:33 -0800 (Thu, 21 Jan 2016)


Log Message
GraphicsContext: low quality drawImage and drawImageBuffer should use InterpolationLow
https://bugs.webkit.org/show_bug.cgi?id=49002

Reviewed by Chris Dumez.

When using low quality image scaling for images which are getting painted often,
the code used InterpolationNone, which make the images look even worse than they should.

Not easily testable.

* platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawImage):
(WebCore::GraphicsContext::drawImageBuffer):
(WebCore::GraphicsContext::drawConsumingImageBuffer):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (195414 => 195415)

--- trunk/Source/WebCore/ChangeLog	2016-01-21 18:58:11 UTC (rev 195414)
+++ trunk/Source/WebCore/ChangeLog	2016-01-21 19:00:33 UTC (rev 195415)
@@ -1,3 +1,20 @@
+2016-01-21  Simon Fraser  
+
+GraphicsContext: low quality drawImage and drawImageBuffer should use InterpolationLow
+https://bugs.webkit.org/show_bug.cgi?id=49002
+
+Reviewed by Chris Dumez.
+
+When using low quality image scaling for images which are getting painted often,
+the code used InterpolationNone, which make the images look even worse than they should.
+
+Not easily testable.
+
+* platform/graphics/GraphicsContext.cpp:
+(WebCore::GraphicsContext::drawImage):
+(WebCore::GraphicsContext::drawImageBuffer):
+(WebCore::GraphicsContext::drawConsumingImageBuffer):
+
 2016-01-19  Ada Chan  
 
 Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.


Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp (195414 => 195415)

--- trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp	2016-01-21 18:58:11 UTC (rev 195414)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.cpp	2016-01-21 19:00:33 UTC (rev 195415)
@@ -767,8 +767,7 @@
 return;
 }
 
-// FIXME (49002): Should be InterpolationLow
-InterpolationQualityMaintainer interpolationQualityForThisScope(*this, imagePaintingOptions.m_useLowQualityScale ? InterpolationNone : imageInterpolationQuality());
+InterpolationQualityMaintainer interpolationQualityForThisScope(*this, imagePaintingOptions.m_useLowQualityScale ? InterpolationLow : imageInterpolationQuality());
 image.draw(*this, destination, source, imagePaintingOptions.m_compositeOperator, imagePaintingOptions.m_blendMode, imagePaintingOptions.m_orientationDescription);
 }
 
@@ -822,8 +821,7 @@
 if (paintingDisabled())
 return;
 
-// FIXME (49002): Should be InterpolationLow
-InterpolationQualityMaintainer interpolationQualityForThisScope(*this, imagePaintingOptions.m_useLowQualityScale ? InterpolationNone : imageInterpolationQuality());
+InterpolationQualityMaintainer interpolationQualityForThisScope(*this, imagePaintingOptions.m_useLowQualityScale ? InterpolationLow : imageInterpolationQuality());
 image.draw(*this, destination, source, imagePaintingOptions.m_compositeOperator, imagePaintingOptions.m_blendMode, imagePaintingOptions.m_useLowQualityScale);
 }
 
@@ -848,8 +846,7 @@
 if (paintingDisabled() || !image)
 return;
 
-// FIXME (49002): Should be InterpolationLow
-InterpolationQualityMaintainer interpolationQualityForThisScope(*this, imagePaintingOptions.m_useLowQualityScale ? InterpolationNone : imageInterpolationQuality());
+InterpolationQualityMaintainer interpolationQualityForThisScope(*this, imagePaintingOptions.m_useLowQualityScale ? InterpolationLow : imageInterpolationQuality());
 
 ImageBuffer::drawConsuming(WTFMove(image), *this, destination, source, imagePaintingOptions.m_compositeOperator, imagePaintingOptions.m_blendMode, imagePaintingOptions.m_useLowQualityScale);
 }






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


[webkit-changes] [195417] trunk/Source

2016-01-21 Thread fpizlo
Title: [195417] trunk/Source








Revision 195417
Author fpi...@apple.com
Date 2016-01-21 11:54:51 -0800 (Thu, 21 Jan 2016)


Log Message
B3 should have load elimination
https://bugs.webkit.org/show_bug.cgi?id=153288

Reviewed by Geoffrey Garen.

Source/_javascript_Core:

This adds a complete GCSE pass that includes load elimination. It would have been super hard
to make this work as part of the reduceStrength() fixpoint, since GCSE needs to analyze
control flow and reduceStrength() is messing with control flow. So, I did a compromise: I
factored out the pure CSE that reduceStrength() was already doing, and now we have:

- reduceStrength() still does pure CSE using the new PureCSE helper.

- eliminateCommonSubexpressions() is a separate phase that does general CSE. It uses the
  PureCSE helper for pure values and does its own special thing for memory values.

Unfortunately, this doesn't help any benchmark right now. It doesn't hurt anything, either,
and it's likely to become a bigger pay-off once we implement other features, like mapping
FTL's abstract heaps onto B3's heap ranges.

* CMakeLists.txt:
* _javascript_Core.xcodeproj/project.pbxproj:
* b3/B3EliminateCommonSubexpressions.cpp: Added.
(JSC::B3::eliminateCommonSubexpressions):
* b3/B3EliminateCommonSubexpressions.h: Added.
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3HeapRange.h:
(JSC::B3::HeapRange::HeapRange):
* b3/B3InsertionSet.h:
(JSC::B3::InsertionSet::InsertionSet):
(JSC::B3::InsertionSet::isEmpty):
(JSC::B3::InsertionSet::code):
(JSC::B3::InsertionSet::appendInsertion):
* b3/B3MemoryValue.h:
* b3/B3PureCSE.cpp: Added.
(JSC::B3::PureCSE::PureCSE):
(JSC::B3::PureCSE::~PureCSE):
(JSC::B3::PureCSE::clear):
(JSC::B3::PureCSE::process):
* b3/B3PureCSE.h: Added.
* b3/B3ReduceStrength.cpp:
* b3/B3ReduceStrength.h:
* b3/B3Validate.cpp:

Source/WTF:

I needed a way to track sets of ranges, where there is a high likelihood that all of the
ranges overlap. So I created RangeSet. It's a usually-sorted list of coalesced ranges.
Practically this means that right now, FTL B3 will end up with two kinds of range sets: a set
that just contains top and a set that contains nothing. In the future, most sets will either
be top of empty but some of them will contain a handful of other things.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/MathExtras.h:
(WTF::leftShiftWithSaturation):
(WTF::nonEmptyRangesOverlap):
(WTF::rangesOverlap):
* wtf/RangeSet.h: Added.
(WTF::RangeSet::RangeSet):
(WTF::RangeSet::~RangeSet):
(WTF::RangeSet::add):
(WTF::RangeSet::contains):
(WTF::RangeSet::overlaps):
(WTF::RangeSet::clear):
(WTF::RangeSet::dump):
(WTF::RangeSet::dumpRaw):
(WTF::RangeSet::compact):
(WTF::RangeSet::overlapsNonEmpty):
(WTF::RangeSet::subsumesNonEmpty):
(WTF::RangeSet::findRange):
* wtf/StdLibExtras.h:
(WTF::binarySearchImpl):
(WTF::binarySearch):
(WTF::tryBinarySearch):
(WTF::approximateBinarySearch):

Modified Paths

trunk/Source/_javascript_Core/CMakeLists.txt
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj
trunk/Source/_javascript_Core/b3/B3Generate.cpp
trunk/Source/_javascript_Core/b3/B3HeapRange.h
trunk/Source/_javascript_Core/b3/B3InsertionSet.h
trunk/Source/_javascript_Core/b3/B3MemoryValue.h
trunk/Source/_javascript_Core/b3/B3ReduceStrength.cpp
trunk/Source/_javascript_Core/b3/B3ReduceStrength.h
trunk/Source/_javascript_Core/b3/B3Validate.cpp
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/WTF.xcodeproj/project.pbxproj
trunk/Source/WTF/wtf/CMakeLists.txt
trunk/Source/WTF/wtf/MathExtras.h
trunk/Source/WTF/wtf/StdLibExtras.h


Added Paths

trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.cpp
trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.h
trunk/Source/_javascript_Core/b3/B3PureCSE.cpp
trunk/Source/_javascript_Core/b3/B3PureCSE.h
trunk/Source/WTF/wtf/RangeSet.h




Diff

Modified: trunk/Source/_javascript_Core/CMakeLists.txt (195416 => 195417)

--- trunk/Source/_javascript_Core/CMakeLists.txt	2016-01-21 19:16:30 UTC (rev 195416)
+++ trunk/Source/_javascript_Core/CMakeLists.txt	2016-01-21 19:54:51 UTC (rev 195417)
@@ -120,6 +120,7 @@
 b3/B3DataSection.cpp
 b3/B3DuplicateTails.cpp
 b3/B3Effects.cpp
+b3/B3EliminateCommonSubexpressions.cpp
 b3/B3FixSSA.cpp
 b3/B3FoldPathConstants.cpp
 b3/B3FrequencyClass.cpp
@@ -142,6 +143,7 @@
 b3/B3PhaseScope.cpp
 b3/B3PhiChildren.cpp
 b3/B3Procedure.cpp
+b3/B3PureCSE.cpp
 b3/B3ReduceDoubleToFloat.cpp
 b3/B3ReduceStrength.cpp
 b3/B3SSACalculator.cpp


Modified: trunk/Source/_javascript_Core/ChangeLog (195416 => 195417)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-21 19:16:30 UTC (rev 195416)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-21 19:54:51 UTC (rev 195417)
@@ -1,3 +1,49 @@
+2016-01-21  Filip Pizlo  
+
+B3 should have load elimination
+https://bugs.webkit.org/show_bug.cgi?id=153288
+
+ 

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

2016-01-21 Thread fpizlo
Title: [195418] trunk/Source/_javascript_Core








Revision 195418
Author fpi...@apple.com
Date 2016-01-21 12:15:04 -0800 (Thu, 21 Jan 2016)


Log Message
Move32 should have an Imm, Tmp form
https://bugs.webkit.org/show_bug.cgi?id=153313

Reviewed by Mark Lam.

This enables some useful optimizations, like constant propagation in fixObviousSpills().

* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
(JSC::MacroAssemblerX86Common::move):
* b3/air/AirOpcode.opcodes:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h
trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes
trunk/Source/_javascript_Core/dfg/DFGCommon.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195417 => 195418)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-21 20:15:04 UTC (rev 195418)
@@ -1,5 +1,19 @@
 2016-01-21  Filip Pizlo  
 
+Move32 should have an Imm, Tmp form
+https://bugs.webkit.org/show_bug.cgi?id=153313
+
+Reviewed by Mark Lam.
+
+This enables some useful optimizations, like constant propagation in fixObviousSpills().
+
+* assembler/MacroAssemblerX86Common.h:
+(JSC::MacroAssemblerX86Common::zeroExtend32ToPtr):
+(JSC::MacroAssemblerX86Common::move):
+* b3/air/AirOpcode.opcodes:
+
+2016-01-21  Filip Pizlo  
+
 B3 should have load elimination
 https://bugs.webkit.org/show_bug.cgi?id=153288
 


Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h (195417 => 195418)

--- trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h	2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerX86Common.h	2016-01-21 20:15:04 UTC (rev 195418)
@@ -1351,6 +1351,11 @@
 {
 m_assembler.movl_rr(src, dest);
 }
+
+void zeroExtend32ToPtr(TrustedImm32 src, RegisterID dest)
+{
+m_assembler.movl_i32r(src.m_value, dest);
+}
 #else
 void move(RegisterID src, RegisterID dest)
 {


Modified: trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes (195417 => 195418)

--- trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes	2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/b3/air/AirOpcode.opcodes	2016-01-21 20:15:04 UTC (rev 195418)
@@ -431,6 +431,7 @@
 Index, Tmp as load32
 Tmp, Addr as store32
 Tmp, Index as store32
+x86: Imm, Tmp as zeroExtend32ToPtr
 x86: Imm, Addr as store32
 x86: Imm, Index as store32
 


Modified: trunk/Source/_javascript_Core/dfg/DFGCommon.h (195417 => 195418)

--- trunk/Source/_javascript_Core/dfg/DFGCommon.h	2016-01-21 19:54:51 UTC (rev 195417)
+++ trunk/Source/_javascript_Core/dfg/DFGCommon.h	2016-01-21 20:15:04 UTC (rev 195418)
@@ -38,7 +38,7 @@
 // We are in the middle of an experimental transition from LLVM to B3 as the backend for the FTL. We don't
 // yet know how it will turn out. For now, this flag will control whether FTL uses B3. Remember to set this
 // to 0 before committing!
-#define FTL_USES_B3 0
+#define FTL_USES_B3 1
 
 struct Node;
 






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


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

2016-01-21 Thread fpizlo
Title: [195419] trunk/Source/_javascript_Core








Revision 195419
Author fpi...@apple.com
Date 2016-01-21 12:16:01 -0800 (Thu, 21 Jan 2016)


Log Message
Unreviewed, undo DFGCommon.h change that accidentally enabled the B3 JIT.

* dfg/DFGCommon.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGCommon.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195418 => 195419)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-21 20:15:04 UTC (rev 195418)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-21 20:16:01 UTC (rev 195419)
@@ -1,5 +1,11 @@
 2016-01-21  Filip Pizlo  
 
+Unreviewed, undo DFGCommon.h change that accidentally enabled the B3 JIT.
+
+* dfg/DFGCommon.h:
+
+2016-01-21  Filip Pizlo  
+
 Move32 should have an Imm, Tmp form
 https://bugs.webkit.org/show_bug.cgi?id=153313
 


Modified: trunk/Source/_javascript_Core/dfg/DFGCommon.h (195418 => 195419)

--- trunk/Source/_javascript_Core/dfg/DFGCommon.h	2016-01-21 20:15:04 UTC (rev 195418)
+++ trunk/Source/_javascript_Core/dfg/DFGCommon.h	2016-01-21 20:16:01 UTC (rev 195419)
@@ -38,7 +38,7 @@
 // We are in the middle of an experimental transition from LLVM to B3 as the backend for the FTL. We don't
 // yet know how it will turn out. For now, this flag will control whether FTL uses B3. Remember to set this
 // to 0 before committing!
-#define FTL_USES_B3 1
+#define FTL_USES_B3 0
 
 struct Node;
 






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


[webkit-changes] [195426] tags/Safari-601.5.11/

2016-01-21 Thread bshafiei
Title: [195426] tags/Safari-601.5.11/








Revision 195426
Author bshaf...@apple.com
Date 2016-01-21 15:52:27 -0800 (Thu, 21 Jan 2016)


Log Message
New tag.

Added Paths

tags/Safari-601.5.11/




Diff

Property changes: tags/Safari-601.5.11



Added: svn:ignore
depcomp
compile
config.guess
GNUmakefile.in
config.sub
ltmain.sh
aconfig.h.in
autom4te.cache
missing
aclocal.m4
install-sh
autotoolsconfig.h.in
INSTALL
README
gtk-doc.make
out
Makefile.chromium
WebKitSupportLibrary.zip
WebKitBuild

Added: svn:mergeinfo




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


[webkit-changes] [195427] tags/Safari-601.1.46.93/

2016-01-21 Thread bshafiei
Title: [195427] tags/Safari-601.1.46.93/








Revision 195427
Author bshaf...@apple.com
Date 2016-01-21 15:52:58 -0800 (Thu, 21 Jan 2016)


Log Message
New tag.

Added Paths

tags/Safari-601.1.46.93/




Diff

Property changes: tags/Safari-601.1.46.93



Added: svn:ignore
depcomp
compile
config.guess
GNUmakefile.in
config.sub
ltmain.sh
aconfig.h.in
autom4te.cache
missing
aclocal.m4
install-sh
autotoolsconfig.h.in
INSTALL
README
gtk-doc.make
out
Makefile.chromium
WebKitSupportLibrary.zip
WebKitBuild

Added: svn:mergeinfo




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


[webkit-changes] [195428] trunk/LayoutTests

2016-01-21 Thread ryanhaddad
Title: [195428] trunk/LayoutTests








Revision 195428
Author ryanhad...@apple.com
Date 2016-01-21 15:57:35 -0800 (Thu, 21 Jan 2016)


Log Message
Rebaseline fast/block/float/overhanging-tall-block.html for ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=152440

Reviewed by Zalan Bujtas.

* platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (195427 => 195428)

--- trunk/LayoutTests/ChangeLog	2016-01-21 23:52:58 UTC (rev 195427)
+++ trunk/LayoutTests/ChangeLog	2016-01-21 23:57:35 UTC (rev 195428)
@@ -1,3 +1,12 @@
+2016-01-21  Ryan Haddad  
+
+Rebaseline fast/block/float/overhanging-tall-block.html for ios-simulator-wk2
+https://bugs.webkit.org/show_bug.cgi?id=152440
+
+Reviewed by Zalan Bujtas.
+
+* platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt:
+
 2016-01-21  Brady Eidson  
 
 Modern IDB: Make -private copies of each w3c IDB test.


Modified: trunk/LayoutTests/platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt (195427 => 195428)

--- trunk/LayoutTests/platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt	2016-01-21 23:52:58 UTC (rev 195427)
+++ trunk/LayoutTests/platform/ios-simulator-wk2/fast/block/float/overhanging-tall-block-expected.txt	2016-01-21 23:57:35 UTC (rev 195428)
@@ -1,11 +1,11 @@
 layer at (0,0) size 800x33554431
   RenderView at (0,0) size 800x600
-layer at (0,0) size 800x33554431 backgroundClip at (0,0) size 800x16777216 clip at (0,0) size 800x16777216 outlineClip at (0,0) size 800x16777216
+layer at (0,0) size 800x33554431
   RenderBlock {HTML} at (0,0) size 800x33554431
 RenderBody {BODY} at (8,8) size 784x33554423
   RenderBlock {DIV} at (0,0) size 784x33554431
   RenderBlock {DIV} at (0,33554431) size 784x0
   RenderBlock {DIV} at (0,33554431) size 784x0
-layer at (10,11) size 150x33554431 backgroundClip at (10,11) size 150x16777205 clip at (11,12) size 148x16777204 outlineClip at (0,0) size 800x16777216
+layer at (10,11) size 150x33554431 backgroundClip at (10,11) size 150x33554421 clip at (11,12) size 148x33554420 outlineClip at (0,0) size 800x33554431
   RenderTextControl {TEXTAREA} at (2,3) size 150x33554428 [bgcolor=#FF] [border: (1px solid #4C4C4C)]
 RenderBlock {DIV} at (3,3) size 144x14






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


[webkit-changes] [195424] trunk/Source/WebKit2

2016-01-21 Thread dino
Title: [195424] trunk/Source/WebKit2








Revision 195424
Author d...@apple.com
Date 2016-01-21 15:34:01 -0800 (Thu, 21 Jan 2016)


Log Message
[iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
https://bugs.webkit.org/show_bug.cgi?id=153326


Reviewed by Anders Carlsson.

UIKit's UIGestureRecognizer could call back into the WKContentView
after the associated WKWebView has disappeared. The fix is to
explicitly null the WKWebView reference as we deallocate.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]): Tell the WKContentView we are going away.
* UIProcess/ios/WKContentView.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _webViewDestroyed]):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
Only do something if the WKWebView is still around.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
trunk/Source/WebKit2/UIProcess/ios/WKContentView.h
trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (195423 => 195424)

--- trunk/Source/WebKit2/ChangeLog	2016-01-21 23:15:46 UTC (rev 195423)
+++ trunk/Source/WebKit2/ChangeLog	2016-01-21 23:34:01 UTC (rev 195424)
@@ -1,3 +1,24 @@
+2016-01-21  Dean Jackson  
+
+[iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
+https://bugs.webkit.org/show_bug.cgi?id=153326
+
+
+Reviewed by Anders Carlsson.
+
+UIKit's UIGestureRecognizer could call back into the WKContentView
+after the associated WKWebView has disappeared. The fix is to
+explicitly null the WKWebView reference as we deallocate.
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView dealloc]): Tell the WKContentView we are going away.
+* UIProcess/ios/WKContentView.h:
+* UIProcess/ios/WKContentView.mm:
+(-[WKContentView _webViewDestroyed]):
+* UIProcess/ios/WKContentViewInteraction.mm:
+(-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
+Only do something if the WKWebView is still around.
+
 2016-01-21  Beth Dakin  
 
 Add the ability to update WebKitAdditions to WK2


Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (195423 => 195424)

--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-21 23:15:46 UTC (rev 195423)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-21 23:34:01 UTC (rev 195424)
@@ -484,6 +484,8 @@
 #endif
 
 #if PLATFORM(IOS)
+[_contentView _webViewDestroyed];
+
 if (_remoteObjectRegistry)
 _page->process().processPool().removeMessageReceiver(Messages::RemoteObjectRegistry::messageReceiverName(), _page->pageID());
 


Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentView.h (195423 => 195424)

--- trunk/Source/WebKit2/UIProcess/ios/WKContentView.h	2016-01-21 23:15:46 UTC (rev 195423)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentView.h	2016-01-21 23:34:01 UTC (rev 195424)
@@ -75,6 +75,8 @@
 - (void)didZoomToScale:(CGFloat)scale;
 - (void)willStartZoomOrScroll;
 
+- (void)_webViewDestroyed;
+
 - (std::unique_ptr)_createDrawingAreaProxy;
 - (void)_processDidExit;
 - (void)_didRelaunchProcess;


Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm (195423 => 195424)

--- trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm	2016-01-21 23:15:46 UTC (rev 195423)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentView.mm	2016-01-21 23:34:01 UTC (rev 195424)
@@ -453,6 +453,11 @@
 }
 }
 
+- (void)_webViewDestroyed
+{
+_webView = nil;
+}
+
 #pragma mark PageClientImpl methods
 
 - (std::unique_ptr)_createDrawingAreaProxy






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


[webkit-changes] [195420] trunk/Source/WTF

2016-01-21 Thread fpizlo
Title: [195420] trunk/Source/WTF








Revision 195420
Author fpi...@apple.com
Date 2016-01-21 13:37:56 -0800 (Thu, 21 Jan 2016)


Log Message
REGRESSION(r195417): many tests crash
https://bugs.webkit.org/show_bug.cgi?id=153316

Reviewed by Saam Barati.

This rolls out the StdLibExtras.h change, and simplifies RangeSet to not use binary search.
That's fine for now, since B3 doesn't stress RangeSet enough right now.

* wtf/RangeSet.h:
(WTF::RangeSet::contains):
(WTF::RangeSet::overlaps):
(WTF::RangeSet::clear):
(WTF::RangeSet::findRange):
* wtf/StdLibExtras.h:
(WTF::binarySearchImpl):
(WTF::binarySearch):
(WTF::tryBinarySearch):
(WTF::approximateBinarySearch):

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/RangeSet.h
trunk/Source/WTF/wtf/StdLibExtras.h




Diff

Modified: trunk/Source/WTF/ChangeLog (195419 => 195420)

--- trunk/Source/WTF/ChangeLog	2016-01-21 20:16:01 UTC (rev 195419)
+++ trunk/Source/WTF/ChangeLog	2016-01-21 21:37:56 UTC (rev 195420)
@@ -1,5 +1,26 @@
 2016-01-21  Filip Pizlo  
 
+REGRESSION(r195417): many tests crash
+https://bugs.webkit.org/show_bug.cgi?id=153316
+
+Reviewed by Saam Barati.
+
+This rolls out the StdLibExtras.h change, and simplifies RangeSet to not use binary search.
+That's fine for now, since B3 doesn't stress RangeSet enough right now.
+
+* wtf/RangeSet.h:
+(WTF::RangeSet::contains):
+(WTF::RangeSet::overlaps):
+(WTF::RangeSet::clear):
+(WTF::RangeSet::findRange):
+* wtf/StdLibExtras.h:
+(WTF::binarySearchImpl):
+(WTF::binarySearch):
+(WTF::tryBinarySearch):
+(WTF::approximateBinarySearch):
+
+2016-01-21  Filip Pizlo  
+
 B3 should have load elimination
 https://bugs.webkit.org/show_bug.cgi?id=153288
 


Modified: trunk/Source/WTF/wtf/RangeSet.h (195419 => 195420)

--- trunk/Source/WTF/wtf/RangeSet.h	2016-01-21 20:16:01 UTC (rev 195419)
+++ trunk/Source/WTF/wtf/RangeSet.h	2016-01-21 21:37:56 UTC (rev 195420)
@@ -92,15 +92,8 @@
 return false;
 
 unsigned index = findRange(range);
-if (index + 1 < m_ranges.size()
-&& subsumesNonEmpty(m_ranges[index + 1], range))
-return true;
-if (index < m_ranges.size()
-&& subsumesNonEmpty(m_ranges[index], range))
-return true;
-if (static_cast(index - 1) < m_ranges.size()
-&& subsumesNonEmpty(m_ranges[index - 1], range))
-return true;
+if (index != UINT_MAX)
+return subsumesNonEmpty(m_ranges[index], range);
 return false;
 }
 
@@ -109,17 +102,7 @@
 if (range.begin() == range.end())
 return false;
 
-unsigned index = findRange(range);
-if (index + 1 < m_ranges.size()
-&& overlapsNonEmpty(m_ranges[index + 1], range))
-return true;
-if (index < m_ranges.size()
-&& overlapsNonEmpty(m_ranges[index], range))
-return true;
-if (static_cast(index - 1) < m_ranges.size()
-&& overlapsNonEmpty(m_ranges[index - 1], range))
-return true;
-return false;
+return findRange(range) != UINT_MAX;
 }
 
 void clear()
@@ -191,14 +174,13 @@
 {
 const_cast(this)->compact();
 
-const Range* found = approximateBinarySearch(
-m_ranges, m_ranges.size(), range.begin(), [&] (const Range* range) -> Type {
-return range->begin();
-});
-if (!found)
-return UINT_MAX;
-
-return found - m_ranges.begin();
+// FIXME: Once we start using this in anger, we will want this to be a binary search.
+for (unsigned i = 0; i < m_ranges.size(); ++i) {
+if (overlapsNonEmpty(m_ranges[i], range))
+return i;
+}
+
+return UINT_MAX;
 }
 
 Vector m_ranges;


Modified: trunk/Source/WTF/wtf/StdLibExtras.h (195419 => 195420)

--- trunk/Source/WTF/wtf/StdLibExtras.h	2016-01-21 20:16:01 UTC (rev 195419)
+++ trunk/Source/WTF/wtf/StdLibExtras.h	2016-01-21 21:37:56 UTC (rev 195420)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2008, 2016 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2008 Apple Inc. All Rights Reserved.
  * Copyright (C) 2013 Patrick Gansterer 
  *
  * Redistribution and use in source and binary forms, with or without
@@ -212,7 +212,7 @@
 ASSERT(mode != KeyMustBePresentInArray || size);
 }
 
-if (mode != KeyMustBePresentInArray && !size)
+if (mode == KeyMightNotBePresentInArray && !size)
 return 0;
 
 ArrayElementType* result = [offset];
@@ -230,38 +230,38 @@
 
 // If the element is not found, crash if asserts are enabled, and behave like approximateBinarySearch in release builds.
 template
-inline ArrayElementType* binarySearch(ArrayType& array, 

[webkit-changes] [195421] trunk/Source

2016-01-21 Thread bdakin
Title: [195421] trunk/Source








Revision 195421
Author bda...@apple.com
Date 2016-01-21 13:51:39 -0800 (Thu, 21 Jan 2016)


Log Message
Add the ability to update WebKitAdditions to WK2
https://bugs.webkit.org/show_bug.cgi?id=153320
-and corresponding-
rdar://problem/23639629

Reviewed by Anders Carlsson.

Source/WebCore:

This SPI is un-used now.
* platform/spi/mac/NSSpellCheckerSPI.h:

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
* UIProcess/API/mac/WKView.mm:
* UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::createWeakPtr):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::updateWebViewImplAdditions):
(WebKit::WebViewImpl::showCandidates):
(WebKit::WebViewImpl::webViewImplAdditionsWillDestroyView):
(WebKit::trackingAreaOptions):
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::becomeFirstResponder):
(WebKit::WebViewImpl::selectionDidChange):
(WebKit::WebViewImpl::handleRequestedCandidates):
(WebKit::textCheckingResultFromNSTextCheckingResult):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/spi/mac/NSSpellCheckerSPI.h
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm
trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.h
trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (195420 => 195421)

--- trunk/Source/WebCore/ChangeLog	2016-01-21 21:37:56 UTC (rev 195420)
+++ trunk/Source/WebCore/ChangeLog	2016-01-21 21:51:39 UTC (rev 195421)
@@ -1,3 +1,15 @@
+2016-01-21  Beth Dakin  
+
+Add the ability to update WebKitAdditions to WK2
+https://bugs.webkit.org/show_bug.cgi?id=153320
+-and corresponding-
+rdar://problem/23639629
+
+Reviewed by Anders Carlsson.
+
+This SPI is un-used now.
+* platform/spi/mac/NSSpellCheckerSPI.h:
+
 2016-01-21  Simon Fraser  
 
 GraphicsContext: low quality drawImage and drawImageBuffer should use InterpolationLow


Modified: trunk/Source/WebCore/platform/spi/mac/NSSpellCheckerSPI.h (195420 => 195421)

--- trunk/Source/WebCore/platform/spi/mac/NSSpellCheckerSPI.h	2016-01-21 21:37:56 UTC (rev 195420)
+++ trunk/Source/WebCore/platform/spi/mac/NSSpellCheckerSPI.h	2016-01-21 21:51:39 UTC (rev 195421)
@@ -31,7 +31,6 @@
 
 @interface NSSpellChecker ()
 - (NSInteger)requestCandidatesForSelectedRange:(NSRange)selectedRange inString:(NSString *)stringToCheck types:(NSTextCheckingTypes)checkingTypes options:(NSDictionary *)options inSpellDocumentWithTag:(NSInteger)tag completionHandler:(void (^)(NSInteger sequenceNumber, NSArray *candidates))completionHandler;
-- (void)showCandidates:(NSArray *)candidates forString:(NSString *)string inRect:(NSRect)rectOfTypedString view:(NSView *)view completionHandler:(void (^)(NSTextCheckingResult *acceptedCandidate))completionBlock;
 @end
 
 #endif // PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 102000


Modified: trunk/Source/WebKit2/ChangeLog (195420 => 195421)

--- trunk/Source/WebKit2/ChangeLog	2016-01-21 21:37:56 UTC (rev 195420)
+++ trunk/Source/WebKit2/ChangeLog	2016-01-21 21:51:39 UTC (rev 195421)
@@ -1,3 +1,27 @@
+2016-01-21  Beth Dakin  
+
+Add the ability to update WebKitAdditions to WK2
+https://bugs.webkit.org/show_bug.cgi?id=153320
+-and corresponding-
+rdar://problem/23639629
+
+Reviewed by Anders Carlsson.
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+* UIProcess/API/mac/WKView.mm:
+* UIProcess/Cocoa/WebViewImpl.h:
+(WebKit::WebViewImpl::createWeakPtr):
+* UIProcess/Cocoa/WebViewImpl.mm:
+(WebKit::WebViewImpl::updateWebViewImplAdditions):
+(WebKit::WebViewImpl::showCandidates):
+(WebKit::WebViewImpl::webViewImplAdditionsWillDestroyView):
+(WebKit::trackingAreaOptions):
+(WebKit::WebViewImpl::~WebViewImpl):
+(WebKit::WebViewImpl::becomeFirstResponder):
+(WebKit::WebViewImpl::selectionDidChange):
+(WebKit::WebViewImpl::handleRequestedCandidates):
+(WebKit::textCheckingResultFromNSTextCheckingResult):
+
 2016-01-19  Ada Chan  
 
 Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.


Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (195420 => 195421)

--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-21 21:37:56 UTC (rev 195420)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-21 21:51:39 UTC (rev 195421)
@@ -4347,4 +4347,8 @@
 #import 
 #endif
 
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200 && USE(APPLE_INTERNAL_SDK)
+#import 
+#endif
+
 #endif // WK_API_ENABLED


Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (195420 => 195421)

--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2016-01-21 21:37:56 UTC (rev 195420)
+++ 

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

2016-01-21 Thread benjamin
Title: [195422] trunk/Source/_javascript_Core








Revision 195422
Author benja...@webkit.org
Date 2016-01-21 14:56:21 -0800 (Thu, 21 Jan 2016)


Log Message
[JSC] foldPathConstants() makes invalid assumptions with Switch
https://bugs.webkit.org/show_bug.cgi?id=153324

Reviewed by Filip Pizlo.

If a Switch() has two cases pointing to the same basic block, foldPathConstants()
was adding two override for that block with two different constants.
If the block with the Switch dominates the target, both override were equally valid
and we were assuming any of the constants as the value in the target block.

See testSwitchTargettingSameBlockFoldPathConstant() for an example that breaks.

This patch adds checks to ignore any block that is reached more than
once by the control value.

* b3/B3FoldPathConstants.cpp:
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/testb3.cpp:
(JSC::B3::testSwitchTargettingSameBlock):
(JSC::B3::testSwitchTargettingSameBlockFoldPathConstant):
(JSC::B3::run):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/B3FoldPathConstants.cpp
trunk/Source/_javascript_Core/b3/B3Generate.cpp
trunk/Source/_javascript_Core/b3/testb3.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195421 => 195422)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-21 21:51:39 UTC (rev 195421)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-21 22:56:21 UTC (rev 195422)
@@ -1,3 +1,28 @@
+2016-01-21  Benjamin Poulain  
+
+[JSC] foldPathConstants() makes invalid assumptions with Switch
+https://bugs.webkit.org/show_bug.cgi?id=153324
+
+Reviewed by Filip Pizlo.
+
+If a Switch() has two cases pointing to the same basic block, foldPathConstants()
+was adding two override for that block with two different constants.
+If the block with the Switch dominates the target, both override were equally valid
+and we were assuming any of the constants as the value in the target block.
+
+See testSwitchTargettingSameBlockFoldPathConstant() for an example that breaks.
+
+This patch adds checks to ignore any block that is reached more than
+once by the control value.
+
+* b3/B3FoldPathConstants.cpp:
+* b3/B3Generate.cpp:
+(JSC::B3::generateToAir):
+* b3/testb3.cpp:
+(JSC::B3::testSwitchTargettingSameBlock):
+(JSC::B3::testSwitchTargettingSameBlockFoldPathConstant):
+(JSC::B3::run):
+
 2016-01-21  Filip Pizlo  
 
 Unreviewed, undo DFGCommon.h change that accidentally enabled the B3 JIT.


Modified: trunk/Source/_javascript_Core/b3/B3FoldPathConstants.cpp (195421 => 195422)

--- trunk/Source/_javascript_Core/b3/B3FoldPathConstants.cpp	2016-01-21 21:51:39 UTC (rev 195421)
+++ trunk/Source/_javascript_Core/b3/B3FoldPathConstants.cpp	2016-01-21 22:56:21 UTC (rev 195422)
@@ -90,6 +90,8 @@
 ControlValue* branch = block->last()->as();
 switch (branch->opcode()) {
 case Branch:
+if (branch->successorBlock(0) == branch->successorBlock(1))
+continue;
 addOverride(
 block, branch->child(0),
 Override::nonZero(branch->successorBlock(0)));
@@ -97,13 +99,21 @@
 block, branch->child(0),
 Override::constant(branch->successorBlock(1), 0));
 break;
-case Switch:
+case Switch: {
+HashMap targetUses;
+for (const SwitchCase& switchCase : *branch->as())
+targetUses.add(switchCase.targetBlock(), 0).iterator->value++;
+
 for (const SwitchCase& switchCase : *branch->as()) {
+if (targetUses.find(switchCase.targetBlock())->value != 1)
+continue;
+
 addOverride(
 block, branch->child(0),
 Override::constant(switchCase.targetBlock(), switchCase.caseValue()));
 }
 break;
+}
 default:
 break;
 }


Modified: trunk/Source/_javascript_Core/b3/B3Generate.cpp (195421 => 195422)

--- trunk/Source/_javascript_Core/b3/B3Generate.cpp	2016-01-21 21:51:39 UTC (rev 195421)
+++ trunk/Source/_javascript_Core/b3/B3Generate.cpp	2016-01-21 22:56:21 UTC (rev 195422)
@@ -91,7 +91,7 @@
 
 if (optLevel >= 1) {
 reduceStrength(procedure);
-
+
 // FIXME: Add more optimizations here.
 // https://bugs.webkit.org/show_bug.cgi?id=150507
 }


Modified: trunk/Source/_javascript_Core/b3/testb3.cpp (195421 => 195422)

--- trunk/Source/_javascript_Core/b3/testb3.cpp	2016-01-21 21:51:39 UTC (rev 195421)
+++ trunk/Source/_javascript_Core/b3/testb3.cpp	2016-01-21 22:56:21 UTC (rev 195422)
@@ -8429,6 +8429,66 @@
 

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

2016-01-21 Thread fpizlo
Title: [195435] trunk/Source/_javascript_Core








Revision 195435
Author fpi...@apple.com
Date 2016-01-21 19:36:44 -0800 (Thu, 21 Jan 2016)


Log Message
Unreviewed, fix build.

* b3/B3EliminateCommonSubexpressions.cpp:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195434 => 195435)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-22 03:31:32 UTC (rev 195434)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-22 03:36:44 UTC (rev 195435)
@@ -1,5 +1,11 @@
 2016-01-21  Filip Pizlo  
 
+Unreviewed, fix build.
+
+* b3/B3EliminateCommonSubexpressions.cpp:
+
+2016-01-21  Filip Pizlo  
+
 B3 CSE should be able to match a full redundancy even if none of the matches dominate the value in question
 https://bugs.webkit.org/show_bug.cgi?id=153321
 


Modified: trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.cpp (195434 => 195435)

--- trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.cpp	2016-01-22 03:31:32 UTC (rev 195434)
+++ trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.cpp	2016-01-22 03:36:44 UTC (rev 195435)
@@ -216,8 +216,8 @@
 fixups.append(mask);
 Value* zext = m_proc.add(
 BitAnd, m_value->origin(), match->child(0), mask);
-fixups.append(sext);
-return sext;
+fixups.append(zext);
+return zext;
 }
 return nullptr;
 });
@@ -256,8 +256,8 @@
 fixups.append(mask);
 Value* zext = m_proc.add(
 BitAnd, m_value->origin(), match->child(0), mask);
-fixups.append(sext);
-return sext;
+fixups.append(zext);
+return zext;
 }
 return nullptr;
 });






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


[webkit-changes] [195429] trunk/Source/WebKit2

2016-01-21 Thread dino
Title: [195429] trunk/Source/WebKit2








Revision 195429
Author d...@apple.com
Date 2016-01-21 16:47:00 -0800 (Thu, 21 Jan 2016)


Log Message
Move _allowsDoubleTapGestures implementation out of category
https://bugs.webkit.org/show_bug.cgi?id=153329


Reviewed by Simon Fraser.

We were generating a linker warning because the implementation
was located inside the WKPrivate category.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _allowsDoubleTapGestures]): Move this out of
the category.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm




Diff

Modified: trunk/Source/WebKit2/ChangeLog (195428 => 195429)

--- trunk/Source/WebKit2/ChangeLog	2016-01-21 23:57:35 UTC (rev 195428)
+++ trunk/Source/WebKit2/ChangeLog	2016-01-22 00:47:00 UTC (rev 195429)
@@ -1,5 +1,20 @@
 2016-01-21  Dean Jackson  
 
+Move _allowsDoubleTapGestures implementation out of category
+https://bugs.webkit.org/show_bug.cgi?id=153329
+
+
+Reviewed by Simon Fraser.
+
+We were generating a linker warning because the implementation
+was located inside the WKPrivate category.
+
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView _allowsDoubleTapGestures]): Move this out of
+the category.
+
+2016-01-21  Dean Jackson  
+
 [iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
 https://bugs.webkit.org/show_bug.cgi?id=153326
 


Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (195428 => 195429)

--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-21 23:57:35 UTC (rev 195428)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-22 00:47:00 UTC (rev 195429)
@@ -1586,6 +1586,22 @@
 [_contentView setBackgroundColor:backgroundColor];
 }
 
+- (BOOL)_allowsDoubleTapGestures
+{
+if (_fastClickingIsDisabled)
+return YES;
+
+// If the page is not user scalable, we don't allow double tap gestures.
+if (![_scrollView isZoomEnabled] || [_scrollView minimumZoomScale] >= [_scrollView maximumZoomScale])
+return NO;
+
+// For scalable viewports, only disable double tap gestures if the viewport width is device width.
+if (_viewportMetaTagWidth != WebCore::ViewportArguments::ValueDeviceWidth)
+return YES;
+
+return !areEssentiallyEqualAsFloat(contentZoomScale(self), _initialScaleFactor);
+}
+
 #pragma mark - UIScrollViewDelegate
 
 - (BOOL)usesStandardContentView
@@ -4055,22 +4071,6 @@
 return [(WKPDFView *)_customContentView.get() suggestedFilename];
 }
 
-- (BOOL)_allowsDoubleTapGestures
-{
-if (_fastClickingIsDisabled)
-return YES;
-
-// If the page is not user scalable, we don't allow double tap gestures.
-if (![_scrollView isZoomEnabled] || [_scrollView minimumZoomScale] >= [_scrollView maximumZoomScale])
-return NO;
-
-// For scalable viewports, only disable double tap gestures if the viewport width is device width.
-if (_viewportMetaTagWidth != WebCore::ViewportArguments::ValueDeviceWidth)
-return YES;
-
-return !areEssentiallyEqualAsFloat(contentZoomScale(self), _initialScaleFactor);
-}
-
 - (_WKWebViewPrintFormatter *)_webViewPrintFormatter
 {
 UIViewPrintFormatter *viewPrintFormatter = self.viewPrintFormatter;






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


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

2016-01-21 Thread akling
Title: [195430] trunk/Source/WebCore








Revision 195430
Author akl...@apple.com
Date 2016-01-21 18:00:42 -0800 (Thu, 21 Jan 2016)


Log Message
CGImageSource sometimes retains temporary SharedBuffer data indefinitely, doubling memory cost.


Reviewed by Anders Carlsson.

After a resource has finished downloading, and has been cached to disk cache,
we mmap() the disk cached version so we can throw out the temporary download buffer.

Due to the way CGImageSource works on Mac/iOS, it's not possible to replace the data
being decoded once the image has been fully decoded once. When doing the replacement,
we'd end up with the SharedBuffer wrapping the mmap() data, and the CGImageSource
keeping the old SharedBuffer::DataBuffer alive, effectively doubling the memory cost.

This patch adds a CachedResource::didReplaceSharedBufferContents() callback that
CachedImage implements to throw out the decoded data. This is currently the only way
to make CGImageSource drop the retain it holds on the SharedBuffer::DataBuffer.
The downside of this approach is that we'll sometimes incur the cost of one additional
image decode after an image downloads and is cached for the first time.

I put a FIXME in there since we could do better with a little help from CGImageSource.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::didReplaceSharedBufferContents):
* loader/cache/CachedImage.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::tryReplaceEncodedData):
* loader/cache/CachedResource.h:
(WebCore::CachedResource::didReplaceSharedBufferContents):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/loader/cache/CachedImage.cpp
trunk/Source/WebCore/loader/cache/CachedImage.h
trunk/Source/WebCore/loader/cache/CachedResource.cpp
trunk/Source/WebCore/loader/cache/CachedResource.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (195429 => 195430)

--- trunk/Source/WebCore/ChangeLog	2016-01-22 00:47:00 UTC (rev 195429)
+++ trunk/Source/WebCore/ChangeLog	2016-01-22 02:00:42 UTC (rev 195430)
@@ -1,3 +1,34 @@
+2016-01-21  Andreas Kling  
+
+CGImageSource sometimes retains temporary SharedBuffer data indefinitely, doubling memory cost.
+
+
+Reviewed by Anders Carlsson.
+
+After a resource has finished downloading, and has been cached to disk cache,
+we mmap() the disk cached version so we can throw out the temporary download buffer.
+
+Due to the way CGImageSource works on Mac/iOS, it's not possible to replace the data
+being decoded once the image has been fully decoded once. When doing the replacement,
+we'd end up with the SharedBuffer wrapping the mmap() data, and the CGImageSource
+keeping the old SharedBuffer::DataBuffer alive, effectively doubling the memory cost.
+
+This patch adds a CachedResource::didReplaceSharedBufferContents() callback that
+CachedImage implements to throw out the decoded data. This is currently the only way
+to make CGImageSource drop the retain it holds on the SharedBuffer::DataBuffer.
+The downside of this approach is that we'll sometimes incur the cost of one additional
+image decode after an image downloads and is cached for the first time.
+
+I put a FIXME in there since we could do better with a little help from CGImageSource.
+
+* loader/cache/CachedImage.cpp:
+(WebCore::CachedImage::didReplaceSharedBufferContents):
+* loader/cache/CachedImage.h:
+* loader/cache/CachedResource.cpp:
+(WebCore::CachedResource::tryReplaceEncodedData):
+* loader/cache/CachedResource.h:
+(WebCore::CachedResource::didReplaceSharedBufferContents):
+
 2016-01-21  Beth Dakin  
 
 Add the ability to update WebKitAdditions to WK2


Modified: trunk/Source/WebCore/loader/cache/CachedImage.cpp (195429 => 195430)

--- trunk/Source/WebCore/loader/cache/CachedImage.cpp	2016-01-22 00:47:00 UTC (rev 195429)
+++ trunk/Source/WebCore/loader/cache/CachedImage.cpp	2016-01-22 02:00:42 UTC (rev 195430)
@@ -436,6 +436,16 @@
 CachedResource::finishLoading(data);
 }
 
+void CachedImage::didReplaceSharedBufferContents()
+{
+if (m_image) {
+// Let the Image know that the SharedBuffer has been rejigged, so it can let go of any references to the heap-allocated resource buffer.
+// FIXME(rdar://problem/24275617): It would be better if we could somehow tell the Image's decoder to swap in the new contents without destroying anything.
+m_image->destroyDecodedData(true);
+}
+CachedResource::didReplaceSharedBufferContents();
+}
+
 void CachedImage::error(CachedResource::Status status)
 {
 checkShouldPaintBrokenImage();


Modified: trunk/Source/WebCore/loader/cache/CachedImage.h (195429 => 195430)

--- trunk/Source/WebCore/loader/cache/CachedImage.h	2016-01-22 00:47:00 UTC (rev 195429)
+++ trunk/Source/WebCore/loader/cache/CachedImage.h	2016-01-22 02:00:42 

[webkit-changes] [195432] trunk/Source/WebInspectorUI

2016-01-21 Thread commit-queue
Title: [195432] trunk/Source/WebInspectorUI








Revision 195432
Author commit-qu...@webkit.org
Date 2016-01-21 18:06:49 -0800 (Thu, 21 Jan 2016)


Log Message
Web Inspector: Add toggle-able list of classes for each element
https://bugs.webkit.org/show_bug.cgi?id=152678

Patch by Devin Rousso  on 2016-01-21
Reviewed by Timothy Hatcher.

Adds a button to the CSS sidebar that, when toggled, displays a section
directly above it containing all the classes for the selected node that,
when toggled, adds or removes the class from the node.

* Localizations/en.lproj/localizedStrings.js:

* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject.prototype.callFunction.mycallback):
(WebInspector.RemoteObject.prototype.callFunction):
Add extra handling of arguments to allow nicer looking calls by other classes.

* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
Changed next-sibling selector (+) to general-sibling selector (~).

(.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
(.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) ~ :matches(.options-container, .class-list-container)):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container[hidden]):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class:not(.active) > .class-name-input):
(.sidebar > .panel.details.css-style > .content ~ .class-list-container > *:matches(.new-class, .class-toggle)):

* UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
(WebInspector.CSSStyleDetailsSidebarPanel):
Also changed the few instances of "var" to "let".

(WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeModified):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeRemoved):
Adds listeners to the DOMNode specifically listening for changes to the
class attribute and repopulates the class toggle list if fired.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassContainerClicked):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputKeyPressed):
If the Enter key is pressed, add a new class equal to the input value.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles):
Loops through all the classes, including previously removed ones, for the
selected node and creates a toggle for each.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName):
Creates a toggle element for the given className and adds it to the container.

(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode):
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass):
Uses the Element.classList to toggle the given className on the selected node.

Modified Paths

trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
trunk/Source/WebInspectorUI/UserInterface/Protocol/RemoteObject.js
trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.css
trunk/Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js




Diff

Modified: trunk/Source/WebInspectorUI/ChangeLog (195431 => 195432)

--- trunk/Source/WebInspectorUI/ChangeLog	2016-01-22 02:05:28 UTC (rev 195431)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-01-22 02:06:49 UTC (rev 195432)
@@ -1,3 +1,68 @@
+2016-01-21  Devin Rousso  
+
+Web Inspector: Add toggle-able list of classes for each element
+https://bugs.webkit.org/show_bug.cgi?id=152678
+
+Reviewed by Timothy Hatcher.
+
+Adds a button to the CSS sidebar that, when toggled, displays a section

[webkit-changes] [195431] trunk

2016-01-21 Thread commit-queue
Title: [195431] trunk








Revision 195431
Author commit-qu...@webkit.org
Date 2016-01-21 18:05:28 -0800 (Thu, 21 Jan 2016)


Log Message
[INTL] Implement Array.prototype.toLocaleString in ECMA-402
https://bugs.webkit.org/show_bug.cgi?id=147614

Patch by Andy VanWagoner  on 2016-01-21
Reviewed by Benjamin Poulain.

Source/_javascript_Core:

The primary changes in the ECMA-402 version, and the existing implementation
are passing the arguments on to each element's toLocaleString call, and
missing/undefined/null elements become empty string instead of being skipped.

* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncToLocaleString):

LayoutTests:

* js/array-toLocaleString-expected.txt: Added.
* js/array-toLocaleString.html: Added.
* js/script-tests/array-toLocaleString.js: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/ArrayPrototype.cpp


Added Paths

trunk/LayoutTests/js/array-toLocaleString-expected.txt
trunk/LayoutTests/js/array-toLocaleString.html
trunk/LayoutTests/js/script-tests/array-toLocaleString.js




Diff

Modified: trunk/LayoutTests/ChangeLog (195430 => 195431)

--- trunk/LayoutTests/ChangeLog	2016-01-22 02:00:42 UTC (rev 195430)
+++ trunk/LayoutTests/ChangeLog	2016-01-22 02:05:28 UTC (rev 195431)
@@ -1,3 +1,14 @@
+2016-01-21  Andy VanWagoner  
+
+[INTL] Implement Array.prototype.toLocaleString in ECMA-402
+https://bugs.webkit.org/show_bug.cgi?id=147614
+
+Reviewed by Benjamin Poulain.
+
+* js/array-toLocaleString-expected.txt: Added.
+* js/array-toLocaleString.html: Added.
+* js/script-tests/array-toLocaleString.js: Added.
+
 2016-01-21  Ryan Haddad  
 
 Rebaseline fast/block/float/overhanging-tall-block.html for ios-simulator-wk2


Added: trunk/LayoutTests/js/array-toLocaleString-expected.txt (0 => 195431)

--- trunk/LayoutTests/js/array-toLocaleString-expected.txt	(rev 0)
+++ trunk/LayoutTests/js/array-toLocaleString-expected.txt	2016-01-22 02:05:28 UTC (rev 195431)
@@ -0,0 +1,23 @@
+This test checks the behavior of Array.prototype.toLocaleString as described in the ECMAScript Internationalization API Specification (ECMA-402 2.0).
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS Array.prototype.toLocaleString.length is 0
+PASS Object.getOwnPropertyDescriptor(Array.prototype, 'toLocaleString').enumerable is false
+PASS Object.getOwnPropertyDescriptor(Array.prototype, 'toLocaleString').configurable is true
+PASS Object.getOwnPropertyDescriptor(Array.prototype, 'toLocaleString').writable is true
+PASS Array.prototype.toLocaleString.call() threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.toLocaleString.call()').
+PASS Array.prototype.toLocaleString.call(undefined) threw exception TypeError: undefined is not an object (evaluating 'Array.prototype.toLocaleString.call(undefined)').
+PASS Array.prototype.toLocaleString.call(null) threw exception TypeError: null is not an object (evaluating 'Array.prototype.toLocaleString.call(null)').
+PASS Array.prototype.toLocaleString.call({ length: 5, 0: 'zero', 1: 1, 3: 'three', 5: 'five' }) is "zero,1,,three,"
+PASS [].toLocaleString() is ""
+PASS Array(5).toLocaleString() is ""
+PASS [ null, null ].toLocaleString() is ","
+PASS [ undefined, undefined ].toLocaleString() is ","
+PASS [ new Date ].toLocaleString('i') threw exception RangeError: invalid language tag: i.
+PASS [ new Date(NaN), new Date(0) ].toLocaleString('zh-Hans-CN-u-nu-hanidec', { timeZone: 'UTC' }) is "Invalid Date,一九七〇/一/一 上午一二:〇〇:〇〇"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/js/array-toLocaleString.html (0 => 195431)

--- trunk/LayoutTests/js/array-toLocaleString.html	(rev 0)
+++ trunk/LayoutTests/js/array-toLocaleString.html	2016-01-22 02:05:28 UTC (rev 195431)
@@ -0,0 +1,11 @@
+
+
+
+

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

2016-01-21 Thread fpizlo
Title: [195434] trunk/Source/_javascript_Core








Revision 195434
Author fpi...@apple.com
Date 2016-01-21 19:31:32 -0800 (Thu, 21 Jan 2016)


Log Message
B3 CSE should be able to match a full redundancy even if none of the matches dominate the value in question
https://bugs.webkit.org/show_bug.cgi?id=153321

Reviewed by Benjamin Poulain.

I once learned that LLVM's GVN can manufacture Phi functions. I don't know the details
but I'm presuming that it involves:

if (p)
tmp1 = *ptr
else
tmp2 = *ptr
tmp3 = *ptr // Replace this with Phi(tmp1, tmp2).

This adds such an optimization to our CSE. The idea is that we search through basic
blocks until we find the value we want, a side effect, or the start of the procedure. If
we find a value that matches our search criteria, we record it and ignore the
predecessors. If we find a side effect or the start of the procedure, we give up the
whole search. This ensures that if we come out of the search without giving up, we'll
have a set of matches that are fully redundant.

CSE could then create a Phi graph by using SSACalculator. But the recent work on FixSSA
revealed a much more exciting option: create a stack slot! In case there is more than one
match, CSE now creates a stack slot that each match stores to, and replaces the redundant
instruction with a loadfrom the stack slot. The stack slot is anonymous, which ensures
that FixSSA will turn it into an optimal Phi graph or whatever.

This is a significant speed-up on Octane/richards.

* b3/B3DuplicateTails.cpp:
* b3/B3EliminateCommonSubexpressions.cpp:
* b3/B3FixSSA.cpp:
(JSC::B3::fixSSA):
* b3/B3Generate.cpp:
(JSC::B3::generateToAir):
* b3/B3Procedure.h:
(JSC::B3::Procedure::setFrontendData):
(JSC::B3::Procedure::frontendData):
* b3/testb3.cpp:
* ftl/FTLState.cpp:
(JSC::FTL::State::State):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp
trunk/Source/_javascript_Core/b3/B3EliminateCommonSubexpressions.cpp
trunk/Source/_javascript_Core/b3/B3FixSSA.cpp
trunk/Source/_javascript_Core/b3/B3Generate.cpp
trunk/Source/_javascript_Core/b3/B3Procedure.h
trunk/Source/_javascript_Core/b3/testb3.cpp
trunk/Source/_javascript_Core/ftl/FTLState.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195433 => 195434)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-22 02:21:22 UTC (rev 195433)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-22 03:31:32 UTC (rev 195434)
@@ -1,5 +1,49 @@
 2016-01-21  Filip Pizlo  
 
+B3 CSE should be able to match a full redundancy even if none of the matches dominate the value in question
+https://bugs.webkit.org/show_bug.cgi?id=153321
+
+Reviewed by Benjamin Poulain.
+
+I once learned that LLVM's GVN can manufacture Phi functions. I don't know the details
+but I'm presuming that it involves:
+
+if (p)
+tmp1 = *ptr
+else
+tmp2 = *ptr
+tmp3 = *ptr // Replace this with Phi(tmp1, tmp2).
+
+This adds such an optimization to our CSE. The idea is that we search through basic
+blocks until we find the value we want, a side effect, or the start of the procedure. If
+we find a value that matches our search criteria, we record it and ignore the
+predecessors. If we find a side effect or the start of the procedure, we give up the
+whole search. This ensures that if we come out of the search without giving up, we'll
+have a set of matches that are fully redundant.
+
+CSE could then create a Phi graph by using SSACalculator. But the recent work on FixSSA
+revealed a much more exciting option: create a stack slot! In case there is more than one
+match, CSE now creates a stack slot that each match stores to, and replaces the redundant
+instruction with a loadfrom the stack slot. The stack slot is anonymous, which ensures
+that FixSSA will turn it into an optimal Phi graph or whatever.
+
+This is a significant speed-up on Octane/richards.
+
+* b3/B3DuplicateTails.cpp:
+* b3/B3EliminateCommonSubexpressions.cpp:
+* b3/B3FixSSA.cpp:
+(JSC::B3::fixSSA):
+* b3/B3Generate.cpp:
+(JSC::B3::generateToAir):
+* b3/B3Procedure.h:
+(JSC::B3::Procedure::setFrontendData):
+(JSC::B3::Procedure::frontendData):
+* b3/testb3.cpp:
+* ftl/FTLState.cpp:
+(JSC::FTL::State::State):
+
+2016-01-21  Filip Pizlo  
+
 Air should know that CeilDouble has the partial register stall issue
 https://bugs.webkit.org/show_bug.cgi?id=153338
 


Modified: trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp (195433 => 195434)

--- trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp	2016-01-22 02:21:22 UTC (rev 195433)
+++ trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp	2016-01-22 03:31:32 UTC 

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

2016-01-21 Thread rniwa
Title: [195438] trunk/Source/WebCore








Revision 195438
Author rn...@webkit.org
Date 2016-01-21 19:47:37 -0800 (Thu, 21 Jan 2016)


Log Message
createElementFromSavedToken shouldn't have the code to create a non-HTML element
https://bugs.webkit.org/show_bug.cgi?id=153327

Reviewed by Chris Dumez.

Since HTMLConstructionSite::createElementFromSavedToken is only used to instantiate a formatting element,
there is no need for it to support creating a non-HTML elements. Remove the branch and assert that this
is indeed the case.

createElementFromSavedToken is called in HTMLTreeBuilder::callTheAdoptionAgency and HTMLConstructionSite's
reconstructTheActiveFormattingElements. In both cases, the stack item passed to createElementFromSavedToken
is guaranteed to be in the list of active formatting elements, which only contains formatting elements.

No new tests since there is no behavioral change.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
(WebCore::HTMLConstructionSite::insertFormattingElement):
(WebCore::HTMLConstructionSite::createElement): Returns Ref instead of PassRefPtr.
(WebCore::HTMLConstructionSite::createHTMLElement): Ditto.
(WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto. Removed the code to instantiate
a non-HTML element. Also assert that an element created by this function is a formatting tag.
* html/parser/HTMLConstructionSite.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLConstructionSite::isFormattingTag): Put into HTMLConstructionSite to add an assertion.
(WebCore::HTMLTreeBuilder::processEndTagForInBody):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp
trunk/Source/WebCore/html/parser/HTMLConstructionSite.h
trunk/Source/WebCore/html/parser/HTMLTreeBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (195437 => 195438)

--- trunk/Source/WebCore/ChangeLog	2016-01-22 03:40:16 UTC (rev 195437)
+++ trunk/Source/WebCore/ChangeLog	2016-01-22 03:47:37 UTC (rev 195438)
@@ -1,3 +1,33 @@
+2016-01-21  Ryosuke Niwa  
+
+createElementFromSavedToken shouldn't have the code to create a non-HTML element
+https://bugs.webkit.org/show_bug.cgi?id=153327
+
+Reviewed by Chris Dumez.
+
+Since HTMLConstructionSite::createElementFromSavedToken is only used to instantiate a formatting element,
+there is no need for it to support creating a non-HTML elements. Remove the branch and assert that this
+is indeed the case.
+
+createElementFromSavedToken is called in HTMLTreeBuilder::callTheAdoptionAgency and HTMLConstructionSite's
+reconstructTheActiveFormattingElements. In both cases, the stack item passed to createElementFromSavedToken
+is guaranteed to be in the list of active formatting elements, which only contains formatting elements.
+
+No new tests since there is no behavioral change.
+
+* html/parser/HTMLConstructionSite.cpp:
+(WebCore::HTMLConstructionSite::insertHTMLHeadElement):
+(WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
+(WebCore::HTMLConstructionSite::insertFormattingElement):
+(WebCore::HTMLConstructionSite::createElement): Returns Ref instead of PassRefPtr.
+(WebCore::HTMLConstructionSite::createHTMLElement): Ditto.
+(WebCore::HTMLConstructionSite::createElementFromSavedToken): Ditto. Removed the code to instantiate
+a non-HTML element. Also assert that an element created by this function is a formatting tag.
+* html/parser/HTMLConstructionSite.h:
+* html/parser/HTMLTreeBuilder.cpp:
+(WebCore::HTMLConstructionSite::isFormattingTag): Put into HTMLConstructionSite to add an assertion.
+(WebCore::HTMLTreeBuilder::processEndTagForInBody):
+
 2016-01-21  Andreas Kling  
 
 CGImageSource sometimes retains temporary SharedBuffer data indefinitely, doubling memory cost.


Modified: trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp (195437 => 195438)

--- trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp	2016-01-22 03:40:16 UTC (rev 195437)
+++ trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp	2016-01-22 03:47:37 UTC (rev 195438)
@@ -51,11 +51,11 @@
 
 using namespace HTMLNames;
 
-static inline void setAttributes(Element* element, AtomicHTMLToken* token, ParserContentPolicy parserContentPolicy)
+static inline void setAttributes(Element& element, AtomicHTMLToken* token, ParserContentPolicy parserContentPolicy)
 {
 if (!scriptingContentIsAllowed(parserContentPolicy))
-element->stripScriptingAttributes(token->attributes());
-element->parserSetAttributes(token->attributes());
+element.stripScriptingAttributes(token->attributes());
+element.parserSetAttributes(token->attributes());
 }
 
 static bool 

[webkit-changes] [195436] branches/safari-601-branch/Source

2016-01-21 Thread bshafiei
Title: [195436] branches/safari-601-branch/Source








Revision 195436
Author bshaf...@apple.com
Date 2016-01-21 19:40:10 -0800 (Thu, 21 Jan 2016)


Log Message
Versioning.

Modified Paths

branches/safari-601-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-601-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-601-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-601-branch/Source/WebKit/mac/Configurations/Version.xcconfig
branches/safari-601-branch/Source/WebKit2/Configurations/Version.xcconfig




Diff

Modified: branches/safari-601-branch/Source/_javascript_Core/Configurations/Version.xcconfig (195435 => 195436)

--- branches/safari-601-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-01-22 03:36:44 UTC (rev 195435)
+++ branches/safari-601-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 601;
 MINOR_VERSION = 5;
-TINY_VERSION = 11;
+TINY_VERSION = 12;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-601-branch/Source/WebCore/Configurations/Version.xcconfig (195435 => 195436)

--- branches/safari-601-branch/Source/WebCore/Configurations/Version.xcconfig	2016-01-22 03:36:44 UTC (rev 195435)
+++ branches/safari-601-branch/Source/WebCore/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 601;
 MINOR_VERSION = 5;
-TINY_VERSION = 11;
+TINY_VERSION = 12;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-601-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (195435 => 195436)

--- branches/safari-601-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-01-22 03:36:44 UTC (rev 195435)
+++ branches/safari-601-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 5;
-TINY_VERSION = 11;
+TINY_VERSION = 12;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-601-branch/Source/WebKit/mac/Configurations/Version.xcconfig (195435 => 195436)

--- branches/safari-601-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-01-22 03:36:44 UTC (rev 195435)
+++ branches/safari-601-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 601;
 MINOR_VERSION = 5;
-TINY_VERSION = 11;
+TINY_VERSION = 12;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-601-branch/Source/WebKit2/Configurations/Version.xcconfig (195435 => 195436)

--- branches/safari-601-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-01-22 03:36:44 UTC (rev 195435)
+++ branches/safari-601-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 601;
 MINOR_VERSION = 5;
-TINY_VERSION = 11;
+TINY_VERSION = 12;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);






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


[webkit-changes] [195437] branches/safari-601.1.46-branch/Source

2016-01-21 Thread bshafiei
Title: [195437] branches/safari-601.1.46-branch/Source








Revision 195437
Author bshaf...@apple.com
Date 2016-01-21 19:40:16 -0800 (Thu, 21 Jan 2016)


Log Message
Versioning.

Modified Paths

branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig
branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig




Diff

Modified: branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig (195436 => 195437)

--- branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
+++ branches/safari-601.1.46-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-01-22 03:40:16 UTC (rev 195437)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 93;
+MICRO_VERSION = 94;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig (195436 => 195437)

--- branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
+++ branches/safari-601.1.46-branch/Source/WebCore/Configurations/Version.xcconfig	2016-01-22 03:40:16 UTC (rev 195437)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 93;
+MICRO_VERSION = 94;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (195436 => 195437)

--- branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
+++ branches/safari-601.1.46-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-01-22 03:40:16 UTC (rev 195437)
@@ -1,7 +1,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 93;
+MICRO_VERSION = 94;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig (195436 => 195437)

--- branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
+++ branches/safari-601.1.46-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-01-22 03:40:16 UTC (rev 195437)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 93;
+MICRO_VERSION = 94;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 


Modified: branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig (195436 => 195437)

--- branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-01-22 03:40:10 UTC (rev 195436)
+++ branches/safari-601.1.46-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-01-22 03:40:16 UTC (rev 195437)
@@ -24,7 +24,7 @@
 MAJOR_VERSION = 601;
 MINOR_VERSION = 1;
 TINY_VERSION = 46;
-MICRO_VERSION = 93;
+MICRO_VERSION = 94;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION);
 






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


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

2016-01-21 Thread fpizlo
Title: [195433] trunk/Source/_javascript_Core








Revision 195433
Author fpi...@apple.com
Date 2016-01-21 18:21:22 -0800 (Thu, 21 Jan 2016)


Log Message
Air should know that CeilDouble has the partial register stall issue
https://bugs.webkit.org/show_bug.cgi?id=153338

Rubber stamped by Benjamin Poulain.

This is a 8% speed-up on Kraken with B3 enabled, mostly because of a 2.4x speed-up on
audio-oscillator.

* b3/air/AirFixPartialRegisterStalls.cpp:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/air/AirFixPartialRegisterStalls.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195432 => 195433)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-22 02:06:49 UTC (rev 195432)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-22 02:21:22 UTC (rev 195433)
@@ -1,3 +1,15 @@
+2016-01-21  Filip Pizlo  
+
+Air should know that CeilDouble has the partial register stall issue
+https://bugs.webkit.org/show_bug.cgi?id=153338
+
+Rubber stamped by Benjamin Poulain.
+
+This is a 8% speed-up on Kraken with B3 enabled, mostly because of a 2.4x speed-up on
+audio-oscillator.
+
+* b3/air/AirFixPartialRegisterStalls.cpp:
+
 2016-01-21  Andy VanWagoner  
 
 [INTL] Implement Array.prototype.toLocaleString in ECMA-402


Modified: trunk/Source/_javascript_Core/b3/air/AirFixPartialRegisterStalls.cpp (195432 => 195433)

--- trunk/Source/_javascript_Core/b3/air/AirFixPartialRegisterStalls.cpp	2016-01-22 02:06:49 UTC (rev 195432)
+++ trunk/Source/_javascript_Core/b3/air/AirFixPartialRegisterStalls.cpp	2016-01-22 02:21:22 UTC (rev 195433)
@@ -51,6 +51,7 @@
 case ConvertInt32ToDouble:
 case ConvertInt64ToDouble:
 case SqrtDouble:
+case CeilDouble:
 return true;
 default:
 break;






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


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

2016-01-21 Thread achristensen
Title: [195441] trunk/Source/WebCore








Revision 195441
Author achristen...@apple.com
Date 2016-01-21 21:49:26 -0800 (Thu, 21 Jan 2016)


Log Message
CMake build fix after r195302.

* PlatformMac.cmake:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/PlatformMac.cmake




Diff

Modified: trunk/Source/WebCore/ChangeLog (195440 => 195441)

--- trunk/Source/WebCore/ChangeLog	2016-01-22 05:22:29 UTC (rev 195440)
+++ trunk/Source/WebCore/ChangeLog	2016-01-22 05:49:26 UTC (rev 195441)
@@ -1,3 +1,9 @@
+2016-01-21  Alex Christensen  
+
+CMake build fix after r195302.
+
+* PlatformMac.cmake:
+
 2016-01-21  Ryosuke Niwa  
 
 createElementFromSavedToken shouldn't have the code to create a non-HTML element


Modified: trunk/Source/WebCore/PlatformMac.cmake (195440 => 195441)

--- trunk/Source/WebCore/PlatformMac.cmake	2016-01-22 05:22:29 UTC (rev 195440)
+++ trunk/Source/WebCore/PlatformMac.cmake	2016-01-22 05:49:26 UTC (rev 195441)
@@ -335,6 +335,7 @@
 platform/cocoa/TelephoneNumberDetectorCocoa.cpp
 platform/cocoa/ThemeCocoa.cpp
 platform/cocoa/VNodeTrackerCocoa.cpp
+platform/cocoa/WebCoreNSErrorExtras.mm
 
 platform/graphics/DisplayRefreshMonitor.cpp
 platform/graphics/DisplayRefreshMonitorManager.cpp






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


[webkit-changes] [195442] trunk

2016-01-21 Thread nvasilyev
Title: [195442] trunk








Revision 195442
Author nvasil...@apple.com
Date 2016-01-21 21:54:31 -0800 (Thu, 21 Jan 2016)


Log Message
REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
https://bugs.webkit.org/show_bug.cgi?id=153269


Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Bring back object.hasOwnProperty("_listeners") check.

* UserInterface/Base/Object.js:
(WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
(WebInspector.Object.prototype.dispatchEventToListeners):
(WebInspector.Object):
Check !object._listeners before !object.hasOwnProperty("_listeners")
because !object._listeners is more common case thus we can exit earlier
most of the time.

LayoutTests:

* inspector/unit-tests/object-expected.txt: Added.
* inspector/unit-tests/object.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Base/Object.js


Added Paths

trunk/LayoutTests/inspector/unit-tests/object-expected.txt
trunk/LayoutTests/inspector/unit-tests/object.html




Diff

Modified: trunk/LayoutTests/ChangeLog (195441 => 195442)

--- trunk/LayoutTests/ChangeLog	2016-01-22 05:49:26 UTC (rev 195441)
+++ trunk/LayoutTests/ChangeLog	2016-01-22 05:54:31 UTC (rev 195442)
@@ -1,3 +1,14 @@
+2016-01-21  Nikita Vasilyev  
+
+REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
+https://bugs.webkit.org/show_bug.cgi?id=153269
+
+
+Reviewed by Timothy Hatcher.
+
+* inspector/unit-tests/object-expected.txt: Added.
+* inspector/unit-tests/object.html: Added.
+
 2016-01-21  Yusuke Suzuki  
 
 [ES6] Catch parameter should accept BindingPattern


Added: trunk/LayoutTests/inspector/unit-tests/object-expected.txt (0 => 195442)

--- trunk/LayoutTests/inspector/unit-tests/object-expected.txt	(rev 0)
+++ trunk/LayoutTests/inspector/unit-tests/object-expected.txt	2016-01-22 05:54:31 UTC (rev 195442)
@@ -0,0 +1,7 @@
+Testing WebInspector.Object.
+
+
+== Running test suite: Object
+-- Running test case: Events propagation
+Dispatch count: 1
+


Added: trunk/LayoutTests/inspector/unit-tests/object.html (0 => 195442)

--- trunk/LayoutTests/inspector/unit-tests/object.html	(rev 0)
+++ trunk/LayoutTests/inspector/unit-tests/object.html	2016-01-22 05:54:31 UTC (rev 195442)
@@ -0,0 +1,36 @@
+
+
+
+
+function test()
+{
+let suite = InspectorTest.createSyncSuite("Object");
+
+suite.addTestCase({
+name: "Events propagation",
+description: "WebInspector.Object shouldn't dispatch constructor-level events multiple times",
+test: function() {
+class Parent extends WebInspector.Object {}
+class Child extends Parent {}
+
+const eventName = "clicked";
+let dispatchCount = 0;
+
+Parent.addEventListener(eventName, () => dispatchCount++);
+
+let child = new Child;
+child.dispatchEventToListeners(eventName);
+
+InspectorTest.log("Dispatch count: " + dispatchCount);
+}
+});
+
+suite.runTestCasesAndFinish();
+}
+
+
+
+Testing WebInspector.Object.
+
+


Modified: trunk/Source/WebInspectorUI/ChangeLog (195441 => 195442)

--- trunk/Source/WebInspectorUI/ChangeLog	2016-01-22 05:49:26 UTC (rev 195441)
+++ trunk/Source/WebInspectorUI/ChangeLog	2016-01-22 05:54:31 UTC (rev 195442)
@@ -1,3 +1,21 @@
+2016-01-21  Nikita Vasilyev  
+
+REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
+https://bugs.webkit.org/show_bug.cgi?id=153269
+
+
+Reviewed by Timothy Hatcher.
+
+Bring back object.hasOwnProperty("_listeners") check.
+
+* UserInterface/Base/Object.js:
+(WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
+(WebInspector.Object.prototype.dispatchEventToListeners):
+(WebInspector.Object):
+Check !object._listeners before !object.hasOwnProperty("_listeners")
+because !object._listeners is more common case thus we can exit earlier
+most of the time.
+
 2016-01-21  Devin Rousso  
 
 Web Inspector: Add toggle-able list of classes for each element


Modified: trunk/Source/WebInspectorUI/UserInterface/Base/Object.js (195441 => 195442)

--- trunk/Source/WebInspectorUI/UserInterface/Base/Object.js	2016-01-22 05:49:26 UTC (rev 195441)
+++ trunk/Source/WebInspectorUI/UserInterface/Base/Object.js	2016-01-22 05:54:31 UTC (rev 195442)
@@ -139,12 +139,16 @@
 
 function dispatch(object)
 {
-if (!object || !object._listeners || event._stoppedPropagation)
+if (!object || event._stoppedPropagation)
 return;
 
-   

[webkit-changes] [195443] trunk

2016-01-21 Thread beidson
Title: [195443] trunk








Revision 195443
Author beid...@apple.com
Date 2016-01-21 22:39:57 -0800 (Thu, 21 Jan 2016)


Log Message
Modern IDB: Support populating/extracting database metadata with SQLite backend.
Source/WebCore:

Nhttps://bugs.webkit.org/show_bug.cgi?id=153318

Reviewed by Alex Christensen.

No new tests (Covered by current tests).

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/client/IDBDatabaseImpl.cpp:
(WebCore::IDBClient::IDBDatabase::willAbortTransaction): Committing transactions can abort if the commit
  ends in error.

* Modules/indexeddb/client/IDBTransactionImpl.cpp:
(WebCore::IDBClient::IDBTransaction::didCommit): Before a committing transaction is aborted, notify the
  IDBDatabase that it aborted.

Copied over from WK2:
* Modules/indexeddb/server/IDBSerialization.cpp: Added.
(WebCore::serializeIDBKeyPath):
(WebCore::deserializeIDBKeyPath):
(WebCore::serializeIDBKeyData):
(WebCore::deserializeIDBKeyData):
* Modules/indexeddb/server/IDBSerialization.h: Added.

* Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::createBackingStore): Optionally create a SQLite backing store.

Mostly copied over verbatim from WebKit2's UniqueIDBDatabaseBackingStoreSQLite.cpp:
* Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::idbKeyCollate):
(WebCore::IDBServer::v1RecordsTableSchema):
(WebCore::IDBServer::v1RecordsTableSchemaAlternate):
(WebCore::IDBServer::v2RecordsTableSchema):
(WebCore::IDBServer::v2RecordsTableSchemaAlternate):
(WebCore::IDBServer::createOrMigrateRecordsTableIfNecessary):
(WebCore::IDBServer::SQLiteIDBBackingStore::ensureValidRecordsTable):
(WebCore::IDBServer::SQLiteIDBBackingStore::createAndPopulateInitialDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::extractExistingDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::unregisterCursor):
* Modules/indexeddb/server/SQLiteIDBBackingStore.h:

Copied over from WK2:
* Modules/indexeddb/server/SQLiteIDBCursor.cpp: Added.
(WebCore::IDBServer::SQLiteIDBCursor::maybeCreate):
(WebCore::IDBServer::SQLiteIDBCursor::SQLiteIDBCursor):
(WebCore::IDBServer::buildIndexStatement):
(WebCore::IDBServer::buildObjectStoreStatement):
(WebCore::IDBServer::SQLiteIDBCursor::establishStatement):
(WebCore::IDBServer::SQLiteIDBCursor::createSQLiteStatement):
(WebCore::IDBServer::SQLiteIDBCursor::objectStoreRecordsChanged):
(WebCore::IDBServer::SQLiteIDBCursor::resetAndRebindStatement):
(WebCore::IDBServer::SQLiteIDBCursor::bindArguments):
(WebCore::IDBServer::SQLiteIDBCursor::advance):
(WebCore::IDBServer::SQLiteIDBCursor::advanceUnique):
(WebCore::IDBServer::SQLiteIDBCursor::advanceOnce):
(WebCore::IDBServer::SQLiteIDBCursor::internalAdvanceOnce):
(WebCore::IDBServer::SQLiteIDBCursor::iterate):
* Modules/indexeddb/server/SQLiteIDBCursor.h: Added.
(WebCore::IDBServer::SQLiteIDBCursor::identifier):
(WebCore::IDBServer::SQLiteIDBCursor::transaction):
(WebCore::IDBServer::SQLiteIDBCursor::objectStoreID):
(WebCore::IDBServer::SQLiteIDBCursor::currentKey):
(WebCore::IDBServer::SQLiteIDBCursor::currentPrimaryKey):
(WebCore::IDBServer::SQLiteIDBCursor::currentValueBuffer):
(WebCore::IDBServer::SQLiteIDBCursor::didError):

Copied over from WK2:
* Modules/indexeddb/server/SQLiteIDBTransaction.cpp: Added.
(WebCore::IDBServer::SQLiteIDBTransaction::SQLiteIDBTransaction):
(WebCore::IDBServer::SQLiteIDBTransaction::~SQLiteIDBTransaction):
(WebCore::IDBServer::SQLiteIDBTransaction::begin):
(WebCore::IDBServer::SQLiteIDBTransaction::commit):
(WebCore::IDBServer::SQLiteIDBTransaction::reset):
(WebCore::IDBServer::SQLiteIDBTransaction::rollback):
(WebCore::IDBServer::SQLiteIDBTransaction::maybeOpenCursor):
(WebCore::IDBServer::SQLiteIDBTransaction::closeCursor):
(WebCore::IDBServer::SQLiteIDBTransaction::notifyCursorsOfChanges):
(WebCore::IDBServer::SQLiteIDBTransaction::clearCursors):
(WebCore::IDBServer::SQLiteIDBTransaction::inProgress):
* Modules/indexeddb/server/SQLiteIDBTransaction.h: Added.
(WebCore::IDBServer::SQLiteIDBTransaction::transactionIdentifier):
(WebCore::IDBServer::SQLiteIDBTransaction::mode):
(WebCore::IDBServer::SQLiteIDBTransaction::sqliteTransaction):

* page/Page.cpp:
(WebCore::Page::setSessionID): If the new SessionID is different from the last one,
  clear the IDBConnectionToServer.
(WebCore::Page::idbConnection): Always ask the DatabaseProvider; It handles whether or not
  the session is ephemeral.

LayoutTests:

https://bugs.webkit.org/show_bug.cgi?id=153318

Reviewed by Alex Christensen.

* platform/mac-wk1/TestExpectations: Skip all of the tests that run against the
  SQLite backend and currently fail (which is most of them!)


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

2016-01-21 Thread benjamin
Title: [195446] trunk/Source/_javascript_Core








Revision 195446
Author benja...@webkit.org
Date 2016-01-21 23:24:36 -0800 (Thu, 21 Jan 2016)


Log Message
[JSC] The IRC allocator can mess up the degree of Tmps interfering with move-related Tmps
https://bugs.webkit.org/show_bug.cgi?id=153340

Reviewed by Filip Pizlo.

The _javascript_Core tests uncovered an interested bug in the iterated register
coalescing allocator. When coalescing a move under the right conditions, it is
possible to mess-up the graph for the Tmps interfering with the coalesced Tmps.

Some context first:
-When coalescing a move, we alias one Tmp to another. Let say that we had
 Move X, Y
 the coalescing may alias Y to X: Y->X.
-Since X and Y are equivalent after coalescing, any interference
 edge with Y is "moved" to X.
 The way this was done was to add an edge to X for every edge there was with Y.
 Say we had an edge R--Y, we add an edge R--X.
 Adding an edge increases the degree of R and Y. The degree of R was then
 fixed by calling decrementDegree() on it.
-decrementDegree() is non trivial. It will move the Tmp to the right list
 for further processing if the Tmp's degree becomes lower than the number
 of available registers.

The bug appear in a particular case. Say we have 3 Tmp, A, B, and C.
-A and B are move related, they can be coalesced.
-A has an interference edge with C.
-B does not have and interfence edge with C.
-C's degree is exactly the number of avaialble registers/colors minus one (k - 1).
 -> This implies C is already in its list.

We coalesce A and B into B (A->B).
-The first step, addEdgeDistinct() adds an edge between B and C. The degrees of
 B and C are increased by one. The degree of C becomes k.
-Next, decrementDegree() is called on C. Its degree decreases to k-1.
 Because of the change from k to k-1, decrementDegree() adds C to a list again.

We have two kinds of bugs depending on the test:
-A Tmp can be added to the simplifyWorklist several time.
-A Tmp can be in both simplifyWorklist and freezeWorklist (because its move-related
 status changed since the last decrementDegree()).
In both cases, the Tmps interfering with the duplicated Tmp will end up with
a degree lower than their real value.

* b3/air/AirIteratedRegisterCoalescing.cpp:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/b3/air/AirIteratedRegisterCoalescing.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195445 => 195446)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-22 06:45:05 UTC (rev 195445)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-22 07:24:36 UTC (rev 195446)
@@ -1,3 +1,50 @@
+2016-01-21  Benjamin Poulain  
+
+[JSC] The IRC allocator can mess up the degree of Tmps interfering with move-related Tmps
+https://bugs.webkit.org/show_bug.cgi?id=153340
+
+Reviewed by Filip Pizlo.
+
+The _javascript_Core tests uncovered an interested bug in the iterated register
+coalescing allocator. When coalescing a move under the right conditions, it is
+possible to mess-up the graph for the Tmps interfering with the coalesced Tmps.
+
+Some context first:
+-When coalescing a move, we alias one Tmp to another. Let say that we had
+ Move X, Y
+ the coalescing may alias Y to X: Y->X.
+-Since X and Y are equivalent after coalescing, any interference
+ edge with Y is "moved" to X.
+ The way this was done was to add an edge to X for every edge there was with Y.
+ Say we had an edge R--Y, we add an edge R--X.
+ Adding an edge increases the degree of R and Y. The degree of R was then
+ fixed by calling decrementDegree() on it.
+-decrementDegree() is non trivial. It will move the Tmp to the right list
+ for further processing if the Tmp's degree becomes lower than the number
+ of available registers.
+
+The bug appear in a particular case. Say we have 3 Tmp, A, B, and C.
+-A and B are move related, they can be coalesced.
+-A has an interference edge with C.
+-B does not have and interfence edge with C.
+-C's degree is exactly the number of avaialble registers/colors minus one (k - 1).
+ -> This implies C is already in its list.
+
+We coalesce A and B into B (A->B).
+-The first step, addEdgeDistinct() adds an edge between B and C. The degrees of
+ B and C are increased by one. The degree of C becomes k.
+-Next, decrementDegree() is called on C. Its degree decreases to k-1.
+ Because of the change from k to k-1, decrementDegree() adds C to a list again.
+
+We have two kinds of bugs depending on the test:
+-A Tmp can be added to the simplifyWorklist several time.
+-A Tmp can be in both simplifyWorklist and freezeWorklist (because its move-related
+ status changed since the last decrementDegree()).
+ 

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

2016-01-21 Thread akling
Title: [195440] trunk/Source/_javascript_Core








Revision 195440
Author akl...@apple.com
Date 2016-01-21 21:22:29 -0800 (Thu, 21 Jan 2016)


Log Message
Add some missing WTF_MAKE_FAST_ALLOCATED in _javascript_Core.


Reviewed by Alex Christensen.

Saw these things getting system malloc()'ed in an Instruments trace.

* inspector/InspectorAgentBase.h:
* jit/CallFrameShuffleData.h:
* jit/CallFrameShuffler.h:
* jit/RegisterAtOffsetList.h:
* runtime/GenericOffset.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/inspector/InspectorAgentBase.h
trunk/Source/_javascript_Core/jit/CallFrameShuffleData.h
trunk/Source/_javascript_Core/jit/CallFrameShuffler.h
trunk/Source/_javascript_Core/jit/RegisterAtOffsetList.h
trunk/Source/_javascript_Core/runtime/GenericOffset.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195439 => 195440)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-22 04:21:36 UTC (rev 195439)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-22 05:22:29 UTC (rev 195440)
@@ -1,3 +1,18 @@
+2016-01-21  Andreas Kling  
+
+Add some missing WTF_MAKE_FAST_ALLOCATED in _javascript_Core.
+
+
+Reviewed by Alex Christensen.
+
+Saw these things getting system malloc()'ed in an Instruments trace.
+
+* inspector/InspectorAgentBase.h:
+* jit/CallFrameShuffleData.h:
+* jit/CallFrameShuffler.h:
+* jit/RegisterAtOffsetList.h:
+* runtime/GenericOffset.h:
+
 2016-01-21  Yusuke Suzuki  
 
 [ES6] Catch parameter should accept BindingPattern


Modified: trunk/Source/_javascript_Core/inspector/InspectorAgentBase.h (195439 => 195440)

--- trunk/Source/_javascript_Core/inspector/InspectorAgentBase.h	2016-01-22 04:21:36 UTC (rev 195439)
+++ trunk/Source/_javascript_Core/inspector/InspectorAgentBase.h	2016-01-22 05:22:29 UTC (rev 195440)
@@ -63,6 +63,7 @@
 };
 
 class InspectorAgentBase {
+WTF_MAKE_FAST_ALLOCATED;
 public:
 virtual ~InspectorAgentBase() { }
 


Modified: trunk/Source/_javascript_Core/jit/CallFrameShuffleData.h (195439 => 195440)

--- trunk/Source/_javascript_Core/jit/CallFrameShuffleData.h	2016-01-22 04:21:36 UTC (rev 195439)
+++ trunk/Source/_javascript_Core/jit/CallFrameShuffleData.h	2016-01-22 05:22:29 UTC (rev 195440)
@@ -34,6 +34,8 @@
 namespace JSC {
 
 struct CallFrameShuffleData {
+WTF_MAKE_FAST_ALLOCATED;
+public:
 unsigned numLocals;
 ValueRecovery callee;
 Vector args;


Modified: trunk/Source/_javascript_Core/jit/CallFrameShuffler.h (195439 => 195440)

--- trunk/Source/_javascript_Core/jit/CallFrameShuffler.h	2016-01-22 04:21:36 UTC (rev 195439)
+++ trunk/Source/_javascript_Core/jit/CallFrameShuffler.h	2016-01-22 05:22:29 UTC (rev 195440)
@@ -38,6 +38,7 @@
 namespace JSC {
 
 class CallFrameShuffler {
+WTF_MAKE_FAST_ALLOCATED;
 public:
 CallFrameShuffler(CCallHelpers&, const CallFrameShuffleData&);
 


Modified: trunk/Source/_javascript_Core/jit/RegisterAtOffsetList.h (195439 => 195440)

--- trunk/Source/_javascript_Core/jit/RegisterAtOffsetList.h	2016-01-22 04:21:36 UTC (rev 195439)
+++ trunk/Source/_javascript_Core/jit/RegisterAtOffsetList.h	2016-01-22 05:22:29 UTC (rev 195440)
@@ -34,6 +34,7 @@
 namespace JSC {
 
 class RegisterAtOffsetList {
+WTF_MAKE_FAST_ALLOCATED;
 public:
 enum OffsetBaseType { FramePointerBased, ZeroBased };
 


Modified: trunk/Source/_javascript_Core/runtime/GenericOffset.h (195439 => 195440)

--- trunk/Source/_javascript_Core/runtime/GenericOffset.h	2016-01-22 04:21:36 UTC (rev 195439)
+++ trunk/Source/_javascript_Core/runtime/GenericOffset.h	2016-01-22 05:22:29 UTC (rev 195440)
@@ -34,6 +34,7 @@
 // A mixin for creating the various kinds of variable offsets that our engine supports.
 template
 class GenericOffset {
+WTF_MAKE_FAST_ALLOCATED;
 public:
 static const unsigned invalidOffset = UINT_MAX;
 






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


[webkit-changes] [195445] trunk

2016-01-21 Thread simon . fraser
Title: [195445] trunk








Revision 195445
Author simon.fra...@apple.com
Date 2016-01-21 22:45:05 -0800 (Thu, 21 Jan 2016)


Log Message
REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
https://bugs.webkit.org/show_bug.cgi?id=136019

Reviewed by Dan Bernstein.

Source/WebCore:

In horizontal-bt documents (where the page starts scrolled to the bottom, and scrolling up goes into negative scroll positions),
the position of the root content layer would be set incorrectly by the scrolling thread, resulting in misplaced
content.

Fix by having the renamed "yPositionForRootContentLayer" take scroll origin into
account, and being more consistent about using scrollOrigin to position this layer.

Test: fast/scrolling/programmatic-horizontal-bt-document-scroll.html

* page/FrameView.cpp:
(WebCore::FrameView::yPositionForFooterLayer): Moved
(WebCore::FrameView::positionForRootContentLayer): Take scrollOrigin, and subtract it from the computed value.
(WebCore::FrameView::yPositionForRootContentLayer): Renamed.
* page/FrameView.h:
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll): We've already pushed the new scrollPosition onto the FrameView,
so we can just use the member function to compute the positionForContentsLayer.
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition): This is the bug fix; FrameView::positionForRootContentLayer()
now takes scrollOrigin into account.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateRootLayerPosition): Rather than using the documentRect, position the root content layer
in terms of the scroll origin (which is -documentRect.location()).

Source/WebKit2:

Now call frameView.positionForRootContentLayer(), and add a FIXME questioning the
behavior in horizontal b-t documents. However, this code isn't hit now that we always
do extended backgrounds, so never have shadow layers.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::shadowLayerPositionForFrame):

LayoutTests:

Test that scrolls a horizontal-bt document.

* fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html: Added.
* fast/scrolling/programmatic-horizontal-bt-document-scroll.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/FrameView.cpp
trunk/Source/WebCore/page/FrameView.h
trunk/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
trunk/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm
trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm


Added Paths

trunk/LayoutTests/fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html
trunk/LayoutTests/fast/scrolling/programmatic-horizontal-bt-document-scroll.html




Diff

Modified: trunk/LayoutTests/ChangeLog (195444 => 195445)

--- trunk/LayoutTests/ChangeLog	2016-01-22 06:44:52 UTC (rev 195444)
+++ trunk/LayoutTests/ChangeLog	2016-01-22 06:45:05 UTC (rev 195445)
@@ -1,3 +1,15 @@
+2016-01-21  Simon Fraser  
+
+REGRESSION (r168244): Content in horizontal-bt page is offset such that only the end is viewable and there is a white gap at the top
+https://bugs.webkit.org/show_bug.cgi?id=136019
+
+Reviewed by Dan Bernstein.
+
+Test that scrolls a horizontal-bt document.
+
+* fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html: Added.
+* fast/scrolling/programmatic-horizontal-bt-document-scroll.html: Added.
+
 2016-01-21  Brady Eidson  
 
 Modern IDB: Support populating/extracting database metadata with SQLite backend.


Added: trunk/LayoutTests/fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html (0 => 195445)

--- trunk/LayoutTests/fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html	(rev 0)
+++ trunk/LayoutTests/fast/scrolling/programmatic-horizontal-bt-document-scroll-expected.html	2016-01-22 06:45:05 UTC (rev 195445)
@@ -0,0 +1,32 @@
+
+
+
+body {
+margin: 0;
+height: 1100px;
+}
+.origin {
+position: absolute;
+top: 500px;
+left: 0;
+width: 10px;
+height: 10px;
+background-color: blue;
+}
+
+#indicator {
+position: absolute;
+left: 0;
+top: 0;
+width: 100px;
+height: 100px;
+background-color: green;
+}
+
+
+
+
+
+
+
+


Added: trunk/LayoutTests/fast/scrolling/programmatic-horizontal-bt-document-scroll.html (0 => 195445)

--- 

[webkit-changes] [195444] trunk/Tools

2016-01-21 Thread simon . fraser
Title: [195444] trunk/Tools








Revision 195444
Author simon.fra...@apple.com
Date 2016-01-21 22:44:52 -0800 (Thu, 21 Jan 2016)


Log Message
Fix the lldb WebCoreLayoutUnitProvider to not dynamically look up the LayoutUnit denominator
https://bugs.webkit.org/show_bug.cgi?id=153334

Reviewed by Zalan Bujtas.

Evaluating expressions in the LayoutUnit summary provider seems to cause
re-entrancy problems in lldb python bindings, so just hardcode the LayoutUnit
denominator to 64.

* lldb/lldb_webkit.py:
(WebCoreLayoutUnitProvider.to_string):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/lldb/lldb_webkit.py




Diff

Modified: trunk/Tools/ChangeLog (195443 => 195444)

--- trunk/Tools/ChangeLog	2016-01-22 06:39:57 UTC (rev 195443)
+++ trunk/Tools/ChangeLog	2016-01-22 06:44:52 UTC (rev 195444)
@@ -1,3 +1,17 @@
+2016-01-21  Simon Fraser  
+
+Fix the lldb WebCoreLayoutUnitProvider to not dynamically look up the LayoutUnit denominator
+https://bugs.webkit.org/show_bug.cgi?id=153334
+
+Reviewed by Zalan Bujtas.
+
+Evaluating expressions in the LayoutUnit summary provider seems to cause
+re-entrancy problems in lldb python bindings, so just hardcode the LayoutUnit
+denominator to 64.
+
+* lldb/lldb_webkit.py:
+(WebCoreLayoutUnitProvider.to_string):
+
 2016-01-21  Filip Pizlo  
 
 display-profiler-output should be able to display code blocks sorted by machine counts


Modified: trunk/Tools/lldb/lldb_webkit.py (195443 => 195444)

--- trunk/Tools/lldb/lldb_webkit.py	2016-01-22 06:39:57 UTC (rev 195443)
+++ trunk/Tools/lldb/lldb_webkit.py	2016-01-22 06:44:52 UTC (rev 195444)
@@ -277,11 +277,7 @@
 
 def to_string(self):
 layoutUnitValue = self.valobj.GetChildMemberWithName('m_value').GetValueAsSigned(0)
-# figure out the layout unit denominator by checking infinite IntRect's value. It ensures that this function works even when subpixel is off.
-infiniteWidth = self.valobj.GetFrame().EvaluateExpression('IntRect::infiniteRect()').GetChildMemberWithName('m_size').GetChildMemberWithName('m_width').GetValueAsSigned(0)
-# denominator = maxint / current infinite width value
-denominator = int(2147483647 / infiniteWidth) if infiniteWidth else 64
-return "%gpx (%d)" % (float(layoutUnitValue) / denominator, layoutUnitValue)
+return "%gpx (%d)" % (float(layoutUnitValue) / 64, layoutUnitValue)
 
 
 class WebCoreLayoutSizeProvider:






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


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

2016-01-21 Thread keith_miller
Title: [195416] trunk/Source/_javascript_Core








Revision 195416
Author keith_mil...@apple.com
Date 2016-01-21 11:16:30 -0800 (Thu, 21 Jan 2016)


Log Message
Fix bug in TypedArray.prototype.set and add tests
https://bugs.webkit.org/show_bug.cgi?id=153309

Reviewed by Michael Saboff.

This patch fixes an issue with TypedArray.prototype.set where we would
assign a double to an unsigned without checking that the double was
in the range of the unsigned. Additionally, the patch also adds
tests for set for cases that were not covered before.

* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSet):
* tests/stress/typedarray-set.js: Added.

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewPrototypeFunctions.h


Added Paths

trunk/Source/_javascript_Core/tests/stress/typedarray-set.js




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195415 => 195416)

--- trunk/Source/_javascript_Core/ChangeLog	2016-01-21 19:00:33 UTC (rev 195415)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-21 19:16:30 UTC (rev 195416)
@@ -1,3 +1,19 @@
+2016-01-21  Keith Miller  
+
+Fix bug in TypedArray.prototype.set and add tests
+https://bugs.webkit.org/show_bug.cgi?id=153309
+
+Reviewed by Michael Saboff.
+
+This patch fixes an issue with TypedArray.prototype.set where we would
+assign a double to an unsigned without checking that the double was
+in the range of the unsigned. Additionally, the patch also adds
+tests for set for cases that were not covered before.
+
+* runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
+(JSC::genericTypedArrayViewProtoFuncSet):
+* tests/stress/typedarray-set.js: Added.
+
 2016-01-19  Ada Chan  
 
 Make it possible to enable VIDEO_PRESENTATION_MODE on other Cocoa platforms.


Modified: trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewPrototypeFunctions.h (195415 => 195416)

--- trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewPrototypeFunctions.h	2016-01-21 19:00:33 UTC (rev 195415)
+++ trunk/Source/_javascript_Core/runtime/JSGenericTypedArrayViewPrototypeFunctions.h	2016-01-21 19:16:30 UTC (rev 195416)
@@ -75,7 +75,7 @@
 return JSValue::encode(jsUndefined());
 if (offsetNumber < 0)
 return throwVMRangeError(exec, "Offset should not be negative");
-offset = offsetNumber;
+offset = static_cast(std::min(offsetNumber, static_cast(std::numeric_limits::max(;
 } else
 offset = 0;
 


Added: trunk/Source/_javascript_Core/tests/stress/typedarray-set.js (0 => 195416)

--- trunk/Source/_javascript_Core/tests/stress/typedarray-set.js	(rev 0)
+++ trunk/Source/_javascript_Core/tests/stress/typedarray-set.js	2016-01-21 19:16:30 UTC (rev 195416)
@@ -0,0 +1,27 @@
+load("./resources/typedarray-test-helper-functions.js");
+description("This test checks the behavior of the TypedArray.prototype.set function");
+
+shouldBe("Int32Array.prototype.set.length", "1");
+shouldBe("Int32Array.prototype.set.name", "'set'");
+
+shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('set')");
+shouldBeTrue("testPrototypeReceivesArray('set', [undefined, this, { }, [ ], true, ''])");
+debug("");
+
+debug("1.0 Normal Calls");
+shouldBeTrue("testPrototypeFunction('set', '([2, 3, 4])', [1, 2, 3, 4, 5], undefined, [2, 3, 4, 4, 5])");
+debug("This next should pass because -.1 when converted to an integer is -0");
+shouldBeTrue("testPrototypeFunction('set', '([2, 3, 4], -.1)', [1, 2, 3, 4, 5], undefined, [2, 3, 4, 4, 5])");
+shouldBeTrue("testPrototypeFunction('set', '([2, 3, 4], 2)', [1, 2, 3, 4, 5], undefined, [1, 2, 2, 3, 4])");
+shouldBeTrue("testPrototypeFunction('set', '([], 5)', [1, 2, 3, 4, 5], undefined, [1, 2, 3, 4, 5])");
+shouldBeTrue("testPrototypeFunction('set', '([])', [1, 2, 3, 4, 5], undefined, [1, 2, 3, 4, 5])");
+debug("");
+
+debug("2.0 Bad Range Test");
+shouldThrow("testPrototypeFunction('set', '([], -1)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Offset should not be negative'");
+shouldThrow("testPrototypeFunction('set', '([2, 3, 4], -1)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Offset should not be negative'");
+shouldThrow("testPrototypeFunction('set', '([2, 3, 4], -1.23412)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Offset should not be negative'");
+shouldThrow("testPrototypeFunction('set', '([2, 3, 4], 1000)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Range consisting of offset and length are out of bounds'");
+shouldThrow("testPrototypeFunction('set', '([2, 3, 4], 1e42*1.2434325231)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Range consisting of offset and length are out of bounds'");
+
+finishJSTest();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org