[webkit-changes] [205222] releases/WebKitGTK/webkit-2.14/Source/JavaScriptCore

2016-08-30 Thread carlosgc
Title: [205222] releases/WebKitGTK/webkit-2.14/Source/_javascript_Core








Revision 205222
Author carlo...@webkit.org
Date 2016-08-30 22:59:02 -0700 (Tue, 30 Aug 2016)


Log Message
Unreviewed. Remove incorrect assert causing crashes in debug builds.

* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::AbstractValue):

Modified Paths

releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog
releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGAbstractValue.h




Diff

Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog (205221 => 205222)

--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog	2016-08-31 05:54:31 UTC (rev 205221)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/ChangeLog	2016-08-31 05:59:02 UTC (rev 205222)
@@ -1,3 +1,10 @@
+2016-08-30  Carlos Garcia Campos  
+
+Unreviewed. Remove incorrect assert causing crashes in debug builds.
+
+* dfg/DFGAbstractValue.h:
+(JSC::DFG::AbstractValue::AbstractValue):
+
 2016-08-29  Joseph Pecoraro  
 
 REGRESSION(r202568): Web Inspector: Expanding Array Prototype in Console shows no properties


Modified: releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGAbstractValue.h (205221 => 205222)

--- releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGAbstractValue.h	2016-08-31 05:54:31 UTC (rev 205221)
+++ releases/WebKitGTK/webkit-2.14/Source/_javascript_Core/dfg/DFGAbstractValue.h	2016-08-31 05:59:02 UTC (rev 205222)
@@ -55,17 +55,6 @@
 : m_type(SpecNone)
 , m_arrayModes(0)
 {
-#if USE(JSVALUE64) && !defined(NDEBUG)
-// The WTF Traits for AbstractValue allow the initialization of values with bzero().
-// We verify the correctness of this assumption here.
-static bool needsDefaultConstructorCheck = true;
-if (needsDefaultConstructorCheck) {
-needsDefaultConstructorCheck = false;
-
-for (unsigned i = 0; i < sizeof(AbstractValue); ++i)
-ASSERT(!(reinterpret_cast(this)[i]));
-}
-#endif
 }
 
 void clear()






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


[webkit-changes] [205221] branches/safari-602-branch/Source

2016-08-30 Thread bshafiei
Title: [205221] branches/safari-602-branch/Source








Revision 205221
Author bshaf...@apple.com
Date 2016-08-30 22:54:31 -0700 (Tue, 30 Aug 2016)


Log Message
Versioning.

Modified Paths

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




Diff

Modified: branches/safari-602-branch/Source/_javascript_Core/Configurations/Version.xcconfig (205220 => 205221)

--- branches/safari-602-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-08-31 05:18:54 UTC (rev 205220)
+++ branches/safari-602-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2016-08-31 05:54:31 UTC (rev 205221)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 602;
 MINOR_VERSION = 2;
-TINY_VERSION = 3;
+TINY_VERSION = 4;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-602-branch/Source/WebCore/Configurations/Version.xcconfig (205220 => 205221)

--- branches/safari-602-branch/Source/WebCore/Configurations/Version.xcconfig	2016-08-31 05:18:54 UTC (rev 205220)
+++ branches/safari-602-branch/Source/WebCore/Configurations/Version.xcconfig	2016-08-31 05:54:31 UTC (rev 205221)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 602;
 MINOR_VERSION = 2;
-TINY_VERSION = 3;
+TINY_VERSION = 4;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-602-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (205220 => 205221)

--- branches/safari-602-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-08-31 05:18:54 UTC (rev 205220)
+++ branches/safari-602-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2016-08-31 05:54:31 UTC (rev 205221)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 602;
 MINOR_VERSION = 2;
-TINY_VERSION = 3;
+TINY_VERSION = 4;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-602-branch/Source/WebKit/mac/Configurations/Version.xcconfig (205220 => 205221)

--- branches/safari-602-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-08-31 05:18:54 UTC (rev 205220)
+++ branches/safari-602-branch/Source/WebKit/mac/Configurations/Version.xcconfig	2016-08-31 05:54:31 UTC (rev 205221)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 602;
 MINOR_VERSION = 2;
-TINY_VERSION = 3;
+TINY_VERSION = 4;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-602-branch/Source/WebKit2/Configurations/Version.xcconfig (205220 => 205221)

--- branches/safari-602-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-08-31 05:18:54 UTC (rev 205220)
+++ branches/safari-602-branch/Source/WebKit2/Configurations/Version.xcconfig	2016-08-31 05:54:31 UTC (rev 205221)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 602;
 MINOR_VERSION = 2;
-TINY_VERSION = 3;
+TINY_VERSION = 4;
 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] [205220] trunk

2016-08-30 Thread rniwa
Title: [205220] trunk








Revision 205220
Author rn...@webkit.org
Date 2016-08-30 22:18:54 -0700 (Tue, 30 Aug 2016)


Log Message
Add "get" to CustomElementsRegistry
https://bugs.webkit.org/show_bug.cgi?id=161421

Reviewed by Yusuke Suzuki.

Source/WebCore:

Add the support for "get" method on CustomElementsRegistry, which returns the constructor
of the custom element with the given name:
https://html.spec.whatwg.org/multipage/scripting.html#dom-customelementregistry-get

Tests: fast/custom-elements/CustomElementRegistry.html

* dom/CustomElementRegistry.cpp:
(WebCore::CustomElementRegistry::get): Added.
* dom/CustomElementRegistry.h:
* dom/CustomElementRegistry.idl:

LayoutTests:

Added test cases for "get" method on CustomElementsRegistry.

* fast/custom-elements/CustomElementRegistry-expected.txt:
* fast/custom-elements/CustomElementRegistry.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/custom-elements/CustomElementRegistry-expected.txt
trunk/LayoutTests/fast/custom-elements/CustomElementRegistry.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/CustomElementRegistry.cpp
trunk/Source/WebCore/dom/CustomElementRegistry.h
trunk/Source/WebCore/dom/CustomElementRegistry.idl




Diff

Modified: trunk/LayoutTests/ChangeLog (205219 => 205220)

--- trunk/LayoutTests/ChangeLog	2016-08-31 05:03:10 UTC (rev 205219)
+++ trunk/LayoutTests/ChangeLog	2016-08-31 05:18:54 UTC (rev 205220)
@@ -1,3 +1,15 @@
+2016-08-30  Ryosuke Niwa  
+
+Add "get" to CustomElementsRegistry
+https://bugs.webkit.org/show_bug.cgi?id=161421
+
+Reviewed by Yusuke Suzuki.
+
+Added test cases for "get" method on CustomElementsRegistry.
+
+* fast/custom-elements/CustomElementRegistry-expected.txt:
+* fast/custom-elements/CustomElementRegistry.html:
+
 2016-08-30  Jiewen Tan  
 
 Unreviewed, update iOS simulator WK1 flaky tests.


Modified: trunk/LayoutTests/fast/custom-elements/CustomElementRegistry-expected.txt (205219 => 205220)

--- trunk/LayoutTests/fast/custom-elements/CustomElementRegistry-expected.txt	2016-08-31 05:03:10 UTC (rev 205219)
+++ trunk/LayoutTests/fast/custom-elements/CustomElementRegistry-expected.txt	2016-08-31 05:18:54 UTC (rev 205220)
@@ -17,4 +17,8 @@
 PASS customElements.define must rethrow an exception thrown while retrieving Symbol.iterator on observedAttributes 
 PASS customElements.define must not throw even if "observedAttributes" fails to convert if "attributeChangedCallback" is not defined 
 PASS customElements.define must define an instantiatable custom element 
+PASS CustomElementRegistry interface must have get as a method 
+PASS "get" must return undefined when the registry does not contain an entry with the given name 
+PASS "get" must return undefined when the registry does not contain an entry with the given name even if the name was not a valid custom element name 
+PASS "get" return the constructor of the entry with the given name when there is a matching entry. 
 


Modified: trunk/LayoutTests/fast/custom-elements/CustomElementRegistry.html (205219 => 205220)

--- trunk/LayoutTests/fast/custom-elements/CustomElementRegistry.html	2016-08-31 05:03:10 UTC (rev 205219)
+++ trunk/LayoutTests/fast/custom-elements/CustomElementRegistry.html	2016-08-31 05:18:54 UTC (rev 205220)
@@ -267,6 +267,30 @@
 
 }, 'customElements.define must define an instantiatable custom element');
 
+test(function () {
+assert_true('get' in CustomElementRegistry.prototype, '"get" exists on CustomElementRegistry.prototype');
+assert_true('get' in customElements, '"get" exists on window.customElements');
+}, 'CustomElementRegistry interface must have get as a method');
+
+test(function () {
+assert_equals(customElements.get('a-b'), undefined);
+}, '"get" must return undefined when the registry does not contain an entry with the given name');
+
+test(function () {
+assert_equals(customElements.get('html'), undefined);
+assert_equals(customElements.get('span'), undefined);
+assert_equals(customElements.get('div'), undefined);
+assert_equals(customElements.get('g'), undefined);
+assert_equals(customElements.get('ab'), undefined);
+}, '"get" must return undefined when the registry does not contain an entry with the given name even if the name was not a valid custom element name');
+
+test(function () {
+assert_equals(customElements.get('existing-custom-element'), undefined);
+class ExistingCustomElement extends HTMLElement {};
+customElements.define('existing-custom-element', ExistingCustomElement);
+assert_equals(customElements.get('existing-custom-element'), ExistingCustomElement);
+}, '"get" return the constructor of the entry with the given name when there is a matching entry.');
+
 
 
 


Modified: trunk/Source/WebCore/ChangeLog (205219 => 205220)

--- trunk/Source/WebCore/ChangeLog	2016-08-31 05:03:10 UTC (rev 205219)
+++ trunk/Source/WebCore/ChangeLog	

[webkit-changes] [205219] trunk/LayoutTests

2016-08-30 Thread jiewen_tan
Title: [205219] trunk/LayoutTests








Revision 205219
Author jiewen_...@apple.com
Date 2016-08-30 22:03:10 -0700 (Tue, 30 Aug 2016)


Log Message
Unreviewed, update iOS simulator WK1 flaky tests.

* platform/ios-simulator-wk1/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (205218 => 205219)

--- trunk/LayoutTests/ChangeLog	2016-08-31 02:37:12 UTC (rev 205218)
+++ trunk/LayoutTests/ChangeLog	2016-08-31 05:03:10 UTC (rev 205219)
@@ -1,3 +1,9 @@
+2016-08-30  Jiewen Tan  
+
+Unreviewed, update iOS simulator WK1 flaky tests.
+
+* platform/ios-simulator-wk1/TestExpectations:
+
 2016-08-30  Ryan Haddad  
 
 Marking inspector/debugger/breakpoint-action-with-exception.html as flaky.


Modified: trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations (205218 => 205219)

--- trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations	2016-08-31 02:37:12 UTC (rev 205218)
+++ trunk/LayoutTests/platform/ios-simulator-wk1/TestExpectations	2016-08-31 05:03:10 UTC (rev 205219)
@@ -1749,9 +1749,13 @@
 http/tests/security/xss-DENIED-xml-external-entity.xhtml [ Pass Failure ]
 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml [ Pass Failure ]
 http/tests/security/xss-DENIED-xsl-external-entity.xml [ Pass Failure ]
+imported/blink/compositing/ancestor-painted-layer-should-appear.html [ Pass ImageOnlyFailure ]
+imported/blink/compositing/invisible-subtree-compositing-and-preserves-3d.html [ Pass ImageOnlyFailure ]
+imported/blink/compositing/will-change/stacking-context-creation.html [ Pass ImageOnlyFailure ]
 imported/blink/fast/animation/last-child-assert.html [ Crash Pass Failure ]
 imported/blink/fast/multicol/hit-test-translate-z.html [ Pass Failure ]
 imported/blink/fast/sub-pixel/clip-sub-pixel-composited-layer.html [ Pass ImageOnlyFailure ]
+imported/blink/paint/invalidation/fixed-position-descendant-paint-offset-indirect.html [ Pass ImageOnlyFailure ]
 imported/blink/paint/tables/tbody-fixedposition.html [ Pass ImageOnlyFailure ]
 imported/blink/svg/hittest/rect-hittest.html [ Pass Failure ]
 imported/blink/svg/hittest/rect-miterlimit.html [ Pass Failure ]
@@ -1759,6 +1763,7 @@
 imported/mozilla/svg/dynamic-use-06.svg [ Pass ImageOnlyFailure ]
 imported/w3c/web-platform-tests/fetch/api/cors/cors-origin.html [ Pass Crash ]
 platform/ios-simulator/ios/plugin/youtube-flash-plugin-iframe.html [ Pass Failure ]
+svg/text/add-tspan-position-bug.html [ Pass ImageOnlyFailure ]
 security/contentSecurityPolicy/video-with-file-url-allowed-by-media-src-star.html [ Pass ImageOnlyFailure ]
 svg/text/hidpi-text-selection-rect-position.html [ Pass ImageOnlyFailure ]
 transforms/2d/perspective-not-fixed-container.html [ Pass ImageOnlyFailure ]






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


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

2016-08-30 Thread utatane . tea
Title: [205218] trunk/Source/WebCore








Revision 205218
Author utatane@gmail.com
Date 2016-08-30 19:37:12 -0700 (Tue, 30 Aug 2016)


Log Message
Make PendingScript as ref-counted
https://bugs.webkit.org/show_bug.cgi?id=161350

Reviewed by Ryosuke Niwa.

Currently, while PendingScript is copyable, PendingScript is also CachedResourceClient.
So when copying this, the client registration is done in PendingScript's operator= etc.
However, this copying functionality is not effectively used.
In this patch, we change this PendingScript to ref-counted class and make it noncopyable.
This change makes things simple (dropping this copying functionality), and drops unnecessary
addClient / removeClient calls. And we also simplify PendingScript class. Since we can offer
all the members at the construction time, we do not need any setters like setCachedScript,
setElement etc. This prevents us from accidentally generating the half-baked pending script.

Furthermore, by changing PendingScript noncopyable & ref-counted, we easily make it
observable. In this patch, we add PendingScriptClient to receive the notification from
PendingScript. Previously, we directly used CachedScript in PendingScript to receive the
notification. When introducing ScriptModuleGraph and making this PendingScript the container
of the both CachedScript and ScriptModuleGraph, hiding the raw CachedScript operations is
useful.

No behavior changes.

* WebCore.xcodeproj/project.pbxproj:
* dom/PendingScript.cpp:
(WebCore::PendingScript::create): These factory functions take all the information needed
to construct the PendingScript. So the setters of PendingScript are dropped. This is better
since we now do not expose any half-baked pending script accidentally.
(WebCore::PendingScript::PendingScript):
(WebCore::PendingScript::~PendingScript):
(WebCore::PendingScript::notifyClientFinished):
(WebCore::PendingScript::notifyFinished):
(WebCore::PendingScript::isLoaded): When introducing ScriptModuleGraph, this will query to
either CachedScript or ScriptModuleGraph. PendingScript will become the container for the
both types.
(WebCore::PendingScript::setClient):
(WebCore::PendingScript::clearClient): PendingScript is now observable by PendingScriptClient.
This avoids touching CachedScript in PendingScript directly. That is good when we introduce
ScriptModuleGraph and make PendingScript the container of the both CachedScript and ScriptModuleGraph.
(WebCore::PendingScript::releaseElementAndClear): Deleted. Previously, PendingScript is not ref-counted.
So when we would like to say "this pending script is empty", we used the pending script with
`m_element = nullptr`. This releaseElementAndClear cleared this m_element and made the pending
script empty. Now, we use RefPtr and empty one is just represented by the nullptr.
This function is no longer necessary. Dropped.
(WebCore::PendingScript::setCachedScript): Deleted. The fields are set in the constructor.
So this setter is no longer necessary. Dropped.
* dom/PendingScript.h:
* dom/PendingScriptClient.h: Copied from Source/WebCore/html/parser/HTMLScriptRunnerHost.h.
(WebCore::PendingScriptClient::~PendingScriptClient):
* dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::queueScriptForExecution):
(WebCore::ScriptRunner::notifyScriptReady):
(WebCore::ScriptRunner::timerFired): We use `std::exchange` to retrieve the RefPtr
and make the original vector element nullptr. Without this, all the PendingScript is held until
the iteration finishes. We keep the original semantics here that the pending script can be
released per iteration.
* dom/ScriptRunner.h:
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::watchForLoad):
(WebCore::HTMLDocumentParser::stopWatchingForLoad): Use PendingScript instead of touching
CachedScript directly.
(WebCore::HTMLDocumentParser::notifyFinished):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLScriptRunner.cpp:
(WebCore::HTMLScriptRunner::~HTMLScriptRunner):
(WebCore::HTMLScriptRunner::sourceFromPendingScript):
(WebCore::HTMLScriptRunner::isPendingScriptReady):
(WebCore::HTMLScriptRunner::executeParsingBlockingScript):
(WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent): As the previous comment describes,
we used releaseElementAndClear to make the current pending script empty. Instead of doing so, we now
explicitly clear executeParsingBlockingScript (by assigning nullptr to m_parserBlockingScript).
(WebCore::HTMLScriptRunner::watchForLoad):
(WebCore::HTMLScriptRunner::stopWatchingForLoad): Previously, we used CachedScript::addClient directly
in the m_host.watchForLoad. This means that we did not have a quick way to query whether the pending
script is watched. In the old implementation, we have the `m_watchingForLoad : bool` flag in PendingScript
to hold the watching status for the given pending script. This `pendingScript.setWatchingForLoad(true)`
just made this flag `true`. But now, we do not use CachedScript::addClient directly. Instead, we have
the 

[webkit-changes] [205217] trunk/LayoutTests

2016-08-30 Thread ryanhaddad
Title: [205217] trunk/LayoutTests








Revision 205217
Author ryanhad...@apple.com
Date 2016-08-30 19:01:07 -0700 (Tue, 30 Aug 2016)


Log Message
Marking inspector/debugger/breakpoint-action-with-exception.html as flaky.
https://bugs.webkit.org/show_bug.cgi?id=161387

Unreviewed test gardening.

* platform/mac/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (205216 => 205217)

--- trunk/LayoutTests/ChangeLog	2016-08-31 01:48:22 UTC (rev 205216)
+++ trunk/LayoutTests/ChangeLog	2016-08-31 02:01:07 UTC (rev 205217)
@@ -1,3 +1,12 @@
+2016-08-30  Ryan Haddad  
+
+Marking inspector/debugger/breakpoint-action-with-exception.html as flaky.
+https://bugs.webkit.org/show_bug.cgi?id=161387
+
+Unreviewed test gardening.
+
+* platform/mac/TestExpectations:
+
 2016-08-30  Johan K. Jensen  
 
 Web Inspector: Add resource timing model with timing information


Modified: trunk/LayoutTests/platform/mac/TestExpectations (205216 => 205217)

--- trunk/LayoutTests/platform/mac/TestExpectations	2016-08-31 01:48:22 UTC (rev 205216)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2016-08-31 02:01:07 UTC (rev 205217)
@@ -1201,6 +1201,7 @@
 webkit.org/b/148636 inspector/css/selector-dynamic-specificity.html [ Pass Timeout ]
 webkit.org/b/148636 inspector/css/selector-specificity.html [ Pass Timeout ]
 webkit.org/b/158742 [ Debug ] inspector/debugger/break-in-constructor-before-super.html [ Pass Timeout ]
+webkit.org/b/161387 inspector/debugger/breakpoint-action-with-exception.html [ Pass Failure ]
 webkit.org/b/148636 inspector/dom/content-flow-content-nodes.html [ Pass Timeout ]
 webkit.org/b/148636 inspector/dom/content-flow-content-removal.html [ Pass Timeout ]
 webkit.org/b/148636 inspector/dom/content-flow-list.html [ Pass Timeout ]






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


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

2016-08-30 Thread commit-queue
Title: [205216] trunk/Source/_javascript_Core








Revision 205216
Author commit-qu...@webkit.org
Date 2016-08-30 18:48:22 -0700 (Tue, 30 Aug 2016)


Log Message
[JSC] Some arith nodes are too pessimistic with the types supported on the fast path
https://bugs.webkit.org/show_bug.cgi?id=161410

Patch by Benjamin Poulain  on 2016-08-30
Reviewed by Geoffrey Garen.

* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
DoubleRep is able to convert numbers, undefined, booleans and null.
I was too pessimistic when I gated the double implementations
on number-or-boolean speculation. We can just let DoubleRep convert
the other cases as long as it is not a Cell.

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (205215 => 205216)

--- trunk/Source/_javascript_Core/ChangeLog	2016-08-31 01:34:29 UTC (rev 205215)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-08-31 01:48:22 UTC (rev 205216)
@@ -1,3 +1,17 @@
+2016-08-30  Benjamin Poulain  
+
+[JSC] Some arith nodes are too pessimistic with the types supported on the fast path
+https://bugs.webkit.org/show_bug.cgi?id=161410
+
+Reviewed by Geoffrey Garen.
+
+* dfg/DFGFixupPhase.cpp:
+(JSC::DFG::FixupPhase::fixupNode):
+DoubleRep is able to convert numbers, undefined, booleans and null.
+I was too pessimistic when I gated the double implementations
+on number-or-boolean speculation. We can just let DoubleRep convert
+the other cases as long as it is not a Cell.
+
 2016-08-30  Chris Dumez  
 
 Unreviewed, fix build after r205205.


Modified: trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp (205215 => 205216)

--- trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2016-08-31 01:34:29 UTC (rev 205215)
+++ trunk/Source/_javascript_Core/dfg/DFGFixupPhase.cpp	2016-08-31 01:48:22 UTC (rev 205216)
@@ -343,7 +343,7 @@
 break;
 }
 
-if (node->child1()->shouldSpeculateNumberOrBoolean()) {
+if (node->child1()->shouldSpeculateNotCell()) {
 fixDoubleOrBooleanEdge(node->child1());
 node->clearFlags(NodeMustGenerate);
 } else
@@ -400,7 +400,7 @@
 case ArithSin:
 case ArithSqrt: {
 Edge& child1 = node->child1();
-if (child1->shouldSpeculateNumberOrBoolean()) {
+if (child1->shouldSpeculateNotCell()) {
 fixDoubleOrBooleanEdge(child1);
 node->clearFlags(NodeMustGenerate);
 } else






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


[webkit-changes] [205215] trunk/Source/bmalloc

2016-08-30 Thread utatane . tea
Title: [205215] trunk/Source/bmalloc








Revision 205215
Author utatane@gmail.com
Date 2016-08-30 18:34:29 -0700 (Tue, 30 Aug 2016)


Log Message
Unreviewed, build fix for GCC ports

std::forward is declared in  header.

* bmalloc/ScopeExit.h:

Modified Paths

trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/bmalloc/ScopeExit.h




Diff

Modified: trunk/Source/bmalloc/ChangeLog (205214 => 205215)

--- trunk/Source/bmalloc/ChangeLog	2016-08-31 01:28:35 UTC (rev 205214)
+++ trunk/Source/bmalloc/ChangeLog	2016-08-31 01:34:29 UTC (rev 205215)
@@ -1,3 +1,11 @@
+2016-08-30  Yusuke Suzuki  
+
+Unreviewed, build fix for GCC ports
+
+std::forward is declared in  header.
+
+* bmalloc/ScopeExit.h:
+
 2016-08-30  Geoffrey Garen  
 
 bmalloc: speed up the lock slow path


Modified: trunk/Source/bmalloc/bmalloc/ScopeExit.h (205214 => 205215)

--- trunk/Source/bmalloc/bmalloc/ScopeExit.h	2016-08-31 01:28:35 UTC (rev 205214)
+++ trunk/Source/bmalloc/bmalloc/ScopeExit.h	2016-08-31 01:34:29 UTC (rev 205215)
@@ -24,6 +24,7 @@
  */
 
 #include 
+#include 
 
 namespace bmalloc {
 






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


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

2016-08-30 Thread commit-queue
Title: [205214] trunk/Source/WebCore








Revision 205214
Author commit-qu...@webkit.org
Date 2016-08-30 18:28:35 -0700 (Tue, 30 Aug 2016)


Log Message
"pluginReplacementEnabled" should be a Setting, not a RuntimeEnabledFeature
https://bugs.webkit.org/show_bug.cgi?id=161416


Patch by Ricky Mondello  on 2016-08-30
Reviewed by Simon Fraser.

Mostly mechanical. Tested by running LayoutTests/plugins/quicktime-plugin-replacement.html and manually toggling
defaultPluginReplacementEnabled and observing a behavior change.

* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::reset): Purged of the pluginReplacementEnabled setting.
* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled): Deleted.
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::requestObject): Use the setting.
* page/Settings.cpp: Supply different values for iOS and other platforms, matching the RuntimeEnabledFeature values,
enabled for iOS and disabled otherwise.
* page/Settings.in: Declare the setting.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup): Use the setting.
(WebCore::InternalSettings::Backup::restoreTo): Ditto.
(WebCore::InternalSettings::setPluginReplacementEnabled): Ditto.
* testing/InternalSettings.h: Can now throw an exception, like other Settings-backed members.
* testing/InternalSettings.idl: Declare this as possibly throwing an exception.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
trunk/Source/WebCore/html/HTMLPlugInElement.cpp
trunk/Source/WebCore/page/Settings.cpp
trunk/Source/WebCore/page/Settings.in
trunk/Source/WebCore/testing/InternalSettings.cpp
trunk/Source/WebCore/testing/InternalSettings.h
trunk/Source/WebCore/testing/InternalSettings.idl




Diff

Modified: trunk/Source/WebCore/ChangeLog (205213 => 205214)

--- trunk/Source/WebCore/ChangeLog	2016-08-31 00:37:59 UTC (rev 205213)
+++ trunk/Source/WebCore/ChangeLog	2016-08-31 01:28:35 UTC (rev 205214)
@@ -1,5 +1,33 @@
 2016-08-30  Ricky Mondello  
 
+"pluginReplacementEnabled" should be a Setting, not a RuntimeEnabledFeature
+https://bugs.webkit.org/show_bug.cgi?id=161416
+
+
+Reviewed by Simon Fraser.
+
+Mostly mechanical. Tested by running LayoutTests/plugins/quicktime-plugin-replacement.html and manually toggling
+defaultPluginReplacementEnabled and observing a behavior change.
+
+* bindings/generic/RuntimeEnabledFeatures.cpp:
+(WebCore::RuntimeEnabledFeatures::reset): Purged of the pluginReplacementEnabled setting.
+* bindings/generic/RuntimeEnabledFeatures.h:
+(WebCore::RuntimeEnabledFeatures::setPluginReplacementEnabled): Deleted.
+(WebCore::RuntimeEnabledFeatures::pluginReplacementEnabled): Deleted.
+* html/HTMLPlugInElement.cpp:
+(WebCore::HTMLPlugInElement::requestObject): Use the setting.
+* page/Settings.cpp: Supply different values for iOS and other platforms, matching the RuntimeEnabledFeature values,
+enabled for iOS and disabled otherwise.
+* page/Settings.in: Declare the setting.
+* testing/InternalSettings.cpp:
+(WebCore::InternalSettings::Backup::Backup): Use the setting.
+(WebCore::InternalSettings::Backup::restoreTo): Ditto.
+(WebCore::InternalSettings::setPluginReplacementEnabled): Ditto.
+* testing/InternalSettings.h: Can now throw an exception, like other Settings-backed members.
+* testing/InternalSettings.idl: Declare this as possibly throwing an exception.
+
+2016-08-30  Ricky Mondello  
+
 YouTubePluginReplacementTest's URL transformation logic should have tests
 https://bugs.webkit.org/show_bug.cgi?id=161406
 


Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp (205213 => 205214)

--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp	2016-08-31 00:37:59 UTC (rev 205213)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp	2016-08-31 01:28:35 UTC (rev 205214)
@@ -57,11 +57,6 @@
 m_isDeviceOrientationEnabled = true;
 m_isLinkPreloadEnabled = false;
 m_isLangAttributeAwareFormControlUIEnabled = false;
-#if PLATFORM(IOS)
-m_isPluginReplacementEnabled = true;
-#else
-m_isPluginReplacementEnabled = false;
-#endif
 m_isResourceTimingEnabled = false;
 #if ENABLE(INDEXED_DATABASE)
 m_isIndexedDBEnabled = true;


Modified: trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h (205213 => 205214)

--- trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h	2016-08-31 00:37:59 UTC (rev 205213)
+++ trunk/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h	2016-08-31 

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

2016-08-30 Thread andersca
Title: [205213] trunk/Source/WebKit2








Revision 205213
Author ander...@apple.com
Date 2016-08-30 17:37:59 -0700 (Tue, 30 Aug 2016)


Log Message
Try to fix the 32-bit build.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
* UIProcess/WebProcessProxy.h:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/WebProcessProxy.h




Diff

Modified: trunk/Source/WebKit2/ChangeLog (205212 => 205213)

--- trunk/Source/WebKit2/ChangeLog	2016-08-31 00:34:39 UTC (rev 205212)
+++ trunk/Source/WebKit2/ChangeLog	2016-08-31 00:37:59 UTC (rev 205213)
@@ -1,5 +1,14 @@
 2016-08-30  Anders Carlsson  
 
+Try to fix the 32-bit build.
+
+* UIProcess/WebProcessProxy.cpp:
+(WebKit::WebProcessProxy::deleteWebsiteData):
+(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
+* UIProcess/WebProcessProxy.h:
+
+2016-08-30  Anders Carlsson  
+
 Switch more messages over to Connection::sendWithReply
 https://bugs.webkit.org/show_bug.cgi?id=161415
 


Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (205212 => 205213)

--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-08-31 00:34:39 UTC (rev 205212)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-08-31 00:37:59 UTC (rev 205213)
@@ -722,7 +722,7 @@
 });
 }
 
-void WebProcessProxy::deleteWebsiteData(SessionID sessionID, OptionSet dataTypes, std::chrono::system_clock::time_point modifiedSince, std::function completionHandler)
+void WebProcessProxy::deleteWebsiteData(SessionID sessionID, OptionSet dataTypes, std::chrono::system_clock::time_point modifiedSince, Function completionHandler)
 {
 ASSERT(canSendMessage());
 
@@ -735,7 +735,7 @@
 });
 }
 
-void WebProcessProxy::deleteWebsiteDataForOrigins(SessionID sessionID, OptionSet dataTypes, const Vector& origins, std::function completionHandler)
+void WebProcessProxy::deleteWebsiteDataForOrigins(SessionID sessionID, OptionSet dataTypes, const Vector& origins, Function completionHandler)
 {
 ASSERT(canSendMessage());
 
@@ -746,7 +746,7 @@
 for (auto& origin : origins)
 originData.append(SecurityOriginData::fromSecurityOrigin(*origin));
 
-connection()->sendWithReply(Messages::WebProcess::DeleteWebsiteDataForOrigins(sessionID, dataTypes, originData), 0, RunLoop::main(), [this, token, completionHandler, sessionID](auto reply) {
+connection()->sendWithReply(Messages::WebProcess::DeleteWebsiteDataForOrigins(sessionID, dataTypes, originData), 0, RunLoop::main(), [this, token, completionHandler = WTFMove(completionHandler), sessionID](auto reply) {
 completionHandler();
 RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is releasing a background assertion because the Web process is done deleting Website data for several origins", this);
 });


Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.h (205212 => 205213)

--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.h	2016-08-31 00:34:39 UTC (rev 205212)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.h	2016-08-31 00:37:59 UTC (rev 205213)
@@ -120,8 +120,8 @@
 void releasePageCache();
 
 void fetchWebsiteData(WebCore::SessionID, OptionSet, Function completionHandler);
-void deleteWebsiteData(WebCore::SessionID, OptionSet, std::chrono::system_clock::time_point modifiedSince, std::function completionHandler);
-void deleteWebsiteDataForOrigins(WebCore::SessionID, OptionSet, const Vector& origins, std::function completionHandler);
+void deleteWebsiteData(WebCore::SessionID, OptionSet, std::chrono::system_clock::time_point modifiedSince, Function completionHandler);
+void deleteWebsiteDataForOrigins(WebCore::SessionID, OptionSet, const Vector& origins, Function completionHandler);
 
 void enableSuddenTermination();
 void disableSuddenTermination();






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


[webkit-changes] [205212] trunk

2016-08-30 Thread commit-queue
Title: [205212] trunk








Revision 205212
Author commit-qu...@webkit.org
Date 2016-08-30 17:34:39 -0700 (Tue, 30 Aug 2016)


Log Message
YouTubePluginReplacementTest's URL transformation logic should have tests
https://bugs.webkit.org/show_bug.cgi?id=161406


Patch by Ricky Mondello  on 2016-08-30
Reviewed by Eric Carlson.

Source/WebCore:

Refactor most of YouTubePluginReplacement::youTubeURL into a static method that can be used by TestWebKitAPI.

* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::YouTubePluginReplacement::youTubeURL): Now implemented in terms of youTubeURLFromAbsoluteURL.
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): Absorbs most of youTubeURL.
* Modules/plugins/YouTubePluginReplacement.h: Declare a public method, for the benefit of testing.
* WebCore.xcodeproj/project.pbxproj: Make some heads private for TestWebKitAPI's benefit.

Tools:

Add some very basic tests. Future patches should expand on these to find and fix bugs.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add YouTubePluginReplacement.cpp.
* TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp: Added.
(TestWebKitAPI::test): Added.
(TestWebKitAPI::TEST_F): Added.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp
trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebCore/YouTubePluginReplacement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (205211 => 205212)

--- trunk/Source/WebCore/ChangeLog	2016-08-31 00:27:27 UTC (rev 205211)
+++ trunk/Source/WebCore/ChangeLog	2016-08-31 00:34:39 UTC (rev 205212)
@@ -1,3 +1,19 @@
+2016-08-30  Ricky Mondello  
+
+YouTubePluginReplacementTest's URL transformation logic should have tests
+https://bugs.webkit.org/show_bug.cgi?id=161406
+
+
+Reviewed by Eric Carlson.
+
+Refactor most of YouTubePluginReplacement::youTubeURL into a static method that can be used by TestWebKitAPI.
+
+* Modules/plugins/YouTubePluginReplacement.cpp:
+(WebCore::YouTubePluginReplacement::youTubeURL): Now implemented in terms of youTubeURLFromAbsoluteURL.
+(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL): Absorbs most of youTubeURL.
+* Modules/plugins/YouTubePluginReplacement.h: Declare a public method, for the benefit of testing.
+* WebCore.xcodeproj/project.pbxproj: Make some heads private for TestWebKitAPI's benefit.
+
 2016-08-30  Frederic Wang  
 
 Move some code from MathMLElement to MathMLPresentationElement


Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp (205211 => 205212)

--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp	2016-08-31 00:27:27 UTC (rev 205211)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp	2016-08-31 00:34:39 UTC (rev 205212)
@@ -283,7 +283,11 @@
 String YouTubePluginReplacement::youTubeURL(const String& srcString)
 {
 URL srcURL = m_parentElement->document().completeURL(stripLeadingAndTrailingHTMLSpaces(srcString));
+return youTubeURLFromAbsoluteURL(srcURL, srcString);
+}
 
+String YouTubePluginReplacement::youTubeURLFromAbsoluteURL(const URL& srcURL, const String& srcString)
+{
 bool isYouTubeShortenedURL = false;
 URL youTubeURL = processAndCreateYouTubeURL(srcURL, isYouTubeShortenedURL);
 if (srcURL.isEmpty() || youTubeURL.isEmpty())


Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h (205211 => 205212)

--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h	2016-08-31 00:27:27 UTC (rev 205211)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.h	2016-08-31 00:34:39 UTC (rev 205212)
@@ -38,6 +38,8 @@
 
 typedef HashMap KeyValueMap;
 
+WEBCORE_EXPORT static String youTubeURLFromAbsoluteURL(const URL& srcURL, const String& srcString);
+
 private:
 YouTubePluginReplacement(HTMLPlugInElement&, const Vector& paramNames, const Vector& paramValues);
 static Ref create(HTMLPlugInElement&, const Vector& paramNames, const Vector& paramValues);


Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (205211 => 205212)

--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2016-08-31 00:27:27 UTC (rev 205211)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2016-08-31 00:34:39 UTC (rev 205212)
@@ -139,7 +139,7 @@
 		07297FA71C1881C5003F0735 /* UserMediaPermissionCheck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07297FA51C1881C5003F0735 /* UserMediaPermissionCheck.cpp */; };
 		07297FA81C1881C5003F0735 /* UserMediaPermissionCheck.h in Headers */ = {isa = PBXBuildFile; fileRef = 07297FA61C1881C5003F0735 /* 

[webkit-changes] [205211] trunk

2016-08-30 Thread commit-queue
Title: [205211] trunk








Revision 205211
Author commit-qu...@webkit.org
Date 2016-08-30 17:27:27 -0700 (Tue, 30 Aug 2016)


Log Message
Web Inspector: Add resource timing model with timing information
https://bugs.webkit.org/show_bug.cgi?id=161314

Patch by Johan K. Jensen  on 2016-08-30
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Add a resource timing data model and populate it with info from the
response from the backend.

* UserInterface/Controllers/FrameResourceManager.js:
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
Forward timing data from response to Resource.js.

* UserInterface/Main.html: Add new ResourceTimingData.js.
* UserInterface/Test.html: Add new ResourceTimingData.js.

* UserInterface/Models/Resource.js:
(WebInspector.Resource): Instantiate ResourceTimingData object.

(WebInspector.Resource.prototype.get timing):
(WebInspector.Resource.prototype.get firstTimestamp):
(WebInspector.Resource.prototype.get lastTimestamp):
(WebInspector.Resource.prototype.get duration):
(WebInspector.Resource.prototype.get latency):
(WebInspector.Resource.prototype.get receiveDuration):
Update getters to use new timing model.

(WebInspector.Resource.prototype.updateForResponse):
Update timing object with info from response.

(WebInspector.Resource.prototype.markAsFinished):
Log response end time.

* UserInterface/Models/ResourceTimelineRecord.js:
(WebInspector.ResourceTimelineRecord.prototype.get startTime):
(WebInspector.ResourceTimelineRecord.prototype.get activeStartTime):
(WebInspector.ResourceTimelineRecord.prototype.get endTime):
Update getters to use new timing model.

* UserInterface/Models/ResourceTimingData.js: Added.
(WebInspector.ResourceTimingData):
(WebInspector.ResourceTimingData.fromPayload):
(WebInspector.ResourceTimingData.prototype.get startTime):
(WebInspector.ResourceTimingData.prototype.get domainLookupStart):
(WebInspector.ResourceTimingData.prototype.get domainLookupEnd):
(WebInspector.ResourceTimingData.prototype.get connectStart):
(WebInspector.ResourceTimingData.prototype.get connectEnd):
(WebInspector.ResourceTimingData.prototype.get secureConnectionStart):
(WebInspector.ResourceTimingData.prototype.get requestStart):
(WebInspector.ResourceTimingData.prototype.get responseStart):
(WebInspector.ResourceTimingData.prototype.get responseEnd):
(WebInspector.ResourceTimingData.prototype.markResponseEndTime):
Add new ResourceTimingData model and fall back on old timestamps
for when data is unavailable.

LayoutTests:

Add tests for the Resource Timing Data model.

* http/tests/inspector/network/resource-timing-expected.txt: Added.
* http/tests/inspector/network/resource-timing.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Controllers/FrameResourceManager.js
trunk/Source/WebInspectorUI/UserInterface/Main.html
trunk/Source/WebInspectorUI/UserInterface/Models/Resource.js
trunk/Source/WebInspectorUI/UserInterface/Models/ResourceTimelineRecord.js
trunk/Source/WebInspectorUI/UserInterface/Test.html


Added Paths

trunk/LayoutTests/http/tests/inspector/network/resource-timing-expected.txt
trunk/LayoutTests/http/tests/inspector/network/resource-timing.html
trunk/Source/WebInspectorUI/UserInterface/Models/ResourceTimingData.js




Diff

Modified: trunk/LayoutTests/ChangeLog (205210 => 205211)

--- trunk/LayoutTests/ChangeLog	2016-08-31 00:15:50 UTC (rev 205210)
+++ trunk/LayoutTests/ChangeLog	2016-08-31 00:27:27 UTC (rev 205211)
@@ -1,3 +1,15 @@
+2016-08-30  Johan K. Jensen  
+
+Web Inspector: Add resource timing model with timing information
+https://bugs.webkit.org/show_bug.cgi?id=161314
+
+Reviewed by Joseph Pecoraro.
+
+Add tests for the Resource Timing Data model.
+
+* http/tests/inspector/network/resource-timing-expected.txt: Added.
+* http/tests/inspector/network/resource-timing.html: Added.
+
 2016-08-30  Chris Dumez  
 
 Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object


Added: trunk/LayoutTests/http/tests/inspector/network/resource-timing-expected.txt (0 => 205211)

--- trunk/LayoutTests/http/tests/inspector/network/resource-timing-expected.txt	(rev 0)
+++ trunk/LayoutTests/http/tests/inspector/network/resource-timing-expected.txt	2016-08-31 00:27:27 UTC (rev 205211)
@@ -0,0 +1,19 @@
+Tests that a resource has timing information.
+
+
+== Running test suite: ResourceTimingData
+-- Running test case: CheckResourceTimingInformationForResource
+PASS: Newly added resource should have a resource timing model.
+PASS: Newly added resource should have a start time.
+PASS: Resource should now contain timing information.
+PASS: Resource should have a start time.
+PASS: Resource should have 

[webkit-changes] [205210] trunk/Source/bmalloc

2016-08-30 Thread ggaren
Title: [205210] trunk/Source/bmalloc








Revision 205210
Author gga...@apple.com
Date 2016-08-30 17:15:50 -0700 (Tue, 30 Aug 2016)


Log Message
bmalloc: speed up the lock slow path
https://bugs.webkit.org/show_bug.cgi?id=161058

Unreviewed roll-in - with regression fixed.

Revert to using yield() instead of swtch() because very low priority
background tasks can cause priority inversion and deadlock. In the
network process, that happened with com.apple.WebKit.Cache.Storage.serialBackground.

Still a big speedup on MallocBench.

* bmalloc.xcodeproj/project.pbxproj:
* bmalloc/ScopeExit.h: Added.
(bmalloc::ScopeExit::ScopeExit):
(bmalloc::ScopeExit::~ScopeExit):
(bmalloc::makeScopeExit):
* bmalloc/StaticMutex.cpp:
(bmalloc::StaticMutex::lockSlowCase):
* bmalloc/StaticMutex.h:
(bmalloc::StaticMutex::init):

Modified Paths

trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/bmalloc/StaticMutex.cpp
trunk/Source/bmalloc/bmalloc/StaticMutex.h
trunk/Source/bmalloc/bmalloc.xcodeproj/project.pbxproj


Added Paths

trunk/Source/bmalloc/bmalloc/ScopeExit.h




Diff

Modified: trunk/Source/bmalloc/ChangeLog (205209 => 205210)

--- trunk/Source/bmalloc/ChangeLog	2016-08-31 00:11:33 UTC (rev 205209)
+++ trunk/Source/bmalloc/ChangeLog	2016-08-31 00:15:50 UTC (rev 205210)
@@ -1,3 +1,26 @@
+2016-08-30  Geoffrey Garen  
+
+bmalloc: speed up the lock slow path
+https://bugs.webkit.org/show_bug.cgi?id=161058
+
+Unreviewed roll-in - with regression fixed.
+
+Revert to using yield() instead of swtch() because very low priority
+background tasks can cause priority inversion and deadlock. In the
+network process, that happened with com.apple.WebKit.Cache.Storage.serialBackground.
+
+Still a big speedup on MallocBench.
+
+* bmalloc.xcodeproj/project.pbxproj:
+* bmalloc/ScopeExit.h: Added.
+(bmalloc::ScopeExit::ScopeExit):
+(bmalloc::ScopeExit::~ScopeExit):
+(bmalloc::makeScopeExit):
+* bmalloc/StaticMutex.cpp:
+(bmalloc::StaticMutex::lockSlowCase):
+* bmalloc/StaticMutex.h:
+(bmalloc::StaticMutex::init):
+
 2016-08-26  Geoffrey Garen  
 
 Unreviewed build fix.


Added: trunk/Source/bmalloc/bmalloc/ScopeExit.h (0 => 205210)

--- trunk/Source/bmalloc/bmalloc/ScopeExit.h	(rev 0)
+++ trunk/Source/bmalloc/bmalloc/ScopeExit.h	2016-08-31 00:15:50 UTC (rev 205210)
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#include 
+
+namespace bmalloc {
+
+template
+class ScopeExit {
+public:
+explicit ScopeExit(ExitFunction&& exitFunction)
+: m_exitFunction(exitFunction)
+{
+}
+
+~ScopeExit()
+{
+m_exitFunction();
+}
+
+private:
+ExitFunction m_exitFunction;
+};
+
+template
+ScopeExit makeScopeExit(ExitFunction&& exitFunction)
+{
+return ScopeExit(std::forward(exitFunction));
+}
+
+} // namespace bmalloc


Modified: trunk/Source/bmalloc/bmalloc/StaticMutex.cpp (205209 => 205210)

--- trunk/Source/bmalloc/bmalloc/StaticMutex.cpp	2016-08-31 00:11:33 UTC (rev 205209)
+++ trunk/Source/bmalloc/bmalloc/StaticMutex.cpp	2016-08-31 00:15:50 UTC (rev 205210)
@@ -23,6 +23,7 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
+#include "ScopeExit.h"
 #include "StaticMutex.h"
 #include 
 
@@ -30,6 +31,21 @@
 
 void StaticMutex::lockSlowCase()
 {
+// The longest critical section in bmalloc is much shorter than the
+// time it takes to make a system call to yield to the OS scheduler.
+// So, we try again a lot before we yield.
+static const size_t aLot = 256;
+

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

2016-08-30 Thread andersca
Title: [205209] trunk/Source/WebKit2








Revision 205209
Author ander...@apple.com
Date 2016-08-30 17:11:33 -0700 (Tue, 30 Aug 2016)


Log Message
Switch more messages over to Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161415

Reviewed by Tim Horton.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
(WebKit::WebProcessProxy::canTerminateChildProcess):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::generateCallbackID): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
(WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.
* UIProcess/WebProcessProxy.h:
* UIProcess/WebProcessProxy.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::deleteWebsiteData):
(WebKit::WebProcess::deleteWebsiteDataForOrigins):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/WebProcessProxy.h
trunk/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
trunk/Source/WebKit2/WebProcess/WebProcess.h
trunk/Source/WebKit2/WebProcess/WebProcess.messages.in




Diff

Modified: trunk/Source/WebKit2/ChangeLog (205208 => 205209)

--- trunk/Source/WebKit2/ChangeLog	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/ChangeLog	2016-08-31 00:11:33 UTC (rev 205209)
@@ -1,5 +1,29 @@
 2016-08-30  Anders Carlsson  
 
+Switch more messages over to Connection::sendWithReply
+https://bugs.webkit.org/show_bug.cgi?id=161415
+
+Reviewed by Tim Horton.
+
+* UIProcess/WebProcessProxy.cpp:
+(WebKit::WebProcessProxy::~WebProcessProxy):
+(WebKit::WebProcessProxy::processWillShutDown):
+(WebKit::WebProcessProxy::canTerminateChildProcess):
+(WebKit::WebProcessProxy::deleteWebsiteData):
+(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
+(WebKit::generateCallbackID): Deleted.
+(WebKit::WebProcessProxy::didDeleteWebsiteData): Deleted.
+(WebKit::WebProcessProxy::didDeleteWebsiteDataForOrigins): Deleted.
+* UIProcess/WebProcessProxy.h:
+* UIProcess/WebProcessProxy.messages.in:
+* WebProcess/WebProcess.cpp:
+(WebKit::WebProcess::deleteWebsiteData):
+(WebKit::WebProcess::deleteWebsiteDataForOrigins):
+* WebProcess/WebProcess.h:
+* WebProcess/WebProcess.messages.in:
+
+2016-08-30  Anders Carlsson  
+
 Add Connection::sendWithReply
 https://bugs.webkit.org/show_bug.cgi?id=161399
 


Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (205208 => 205209)

--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-08-30 23:01:13 UTC (rev 205208)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2016-08-31 00:11:33 UTC (rev 205209)
@@ -80,13 +80,6 @@
 return ++uniquePageID;
 }
 
-static uint64_t generateCallbackID()
-{
-static uint64_t callbackID;
-
-return ++callbackID;
-}
-
 static WebProcessProxy::WebPageProxyMap& globalPageMap()
 {
 ASSERT(RunLoop::isMain());
@@ -115,8 +108,6 @@
 
 WebProcessProxy::~WebProcessProxy()
 {
-ASSERT(m_pendingDeleteWebsiteDataCallbacks.isEmpty());
-ASSERT(m_pendingDeleteWebsiteDataForOriginsCallbacks.isEmpty());
 ASSERT(m_pageURLRetainCountMap.isEmpty());
 
 if (m_webConnection)
@@ -163,14 +154,6 @@
 {
 ASSERT_UNUSED(connection, this->connection() == );
 
-for (const auto& callback : m_pendingDeleteWebsiteDataCallbacks.values())
-callback();
-m_pendingDeleteWebsiteDataCallbacks.clear();
-
-for (const auto& callback : m_pendingDeleteWebsiteDataForOriginsCallbacks.values())
-callback();
-m_pendingDeleteWebsiteDataForOriginsCallbacks.clear();
-
 for (auto& page : m_pageMap.values())
 page->webProcessWillShutDown();
 
@@ -683,9 +666,6 @@
 if (!m_pageMap.isEmpty())
 return false;
 
-if (!m_pendingDeleteWebsiteDataCallbacks.isEmpty())
-return false;
-
 if (!m_processPool->shouldTerminate(this))
 return false;
 
@@ -701,18 +681,6 @@
 }
 }
 
-void WebProcessProxy::didDeleteWebsiteData(uint64_t callbackID)
-{
-auto callback = m_pendingDeleteWebsiteDataCallbacks.take(callbackID);
-callback();
-}
-
-void WebProcessProxy::didDeleteWebsiteDataForOrigins(uint64_t callbackID)
-{
-auto callback = m_pendingDeleteWebsiteDataForOriginsCallbacks.take(callbackID);
-callback();
-}
-
 void WebProcessProxy::updateTextCheckerState()
 {
 if (canSendMessage())
@@ -758,15 +726,13 @@
 {
 ASSERT(canSendMessage());
 
-uint64_t callbackID = generateCallbackID();
 auto token = throttler().backgroundActivityToken();
 RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), "%p - WebProcessProxy is 

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

2016-08-30 Thread cdumez
Title: [205208] trunk/Source/_javascript_Core








Revision 205208
Author cdu...@apple.com
Date 2016-08-30 16:01:13 -0700 (Tue, 30 Aug 2016)


Log Message
Unreviewed, fix build after r205205.

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):

Modified Paths

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




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (205207 => 205208)

--- trunk/Source/_javascript_Core/ChangeLog	2016-08-30 22:59:12 UTC (rev 205207)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-08-30 23:01:13 UTC (rev 205208)
@@ -1,5 +1,12 @@
 2016-08-30  Chris Dumez  
 
+Unreviewed, fix build after r205205.
+
+* runtime/ObjectConstructor.cpp:
+(JSC::objectConstructorSetPrototypeOf):
+
+2016-08-30  Chris Dumez  
+
 Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
 https://bugs.webkit.org/show_bug.cgi?id=161396
 


Modified: trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp (205207 => 205208)

--- trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp	2016-08-30 22:59:12 UTC (rev 205207)
+++ trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp	2016-08-30 23:01:13 UTC (rev 205208)
@@ -233,7 +233,7 @@
 return JSValue::encode(objectValue);
 
 if (!checkProtoSetterAccessAllowed(exec, object)) {
-throwTypeError(exec, ASCIILiteral("Permission denied"));
+throwTypeError(exec, scope, ASCIILiteral("Permission denied"));
 return JSValue::encode(objectValue);
 }
 






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


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

2016-08-30 Thread andersca
Title: [205207] trunk/Source/WebKit2








Revision 205207
Author ander...@apple.com
Date 2016-08-30 15:59:12 -0700 (Tue, 30 Aug 2016)


Log Message
Add Connection::sendWithReply
https://bugs.webkit.org/show_bug.cgi?id=161399

Reviewed by Tim Horton.

Connection::sendWithReply makes it easy to send a message and process its reply asynchronously on a given WorkQueue or RunLoop.
The reply handler is guaranteed to be called. If the reply is successfully received, it will consist of an std::tuple with the arguments,
otherwise it will be called with Nullopt.

* Platform/IPC/Connection.cpp:
(IPC::Connection::invalidate):
Go through all reply handlers and dispatch them with a null Decoder.

(IPC::Connection::sendMessageWithReply):
Add the reply handler to the m_replyHandlers hash map, and send the message.

(IPC::Connection::processIncomingSyncReply):
Check if the incoming reply has an entry in m_replyHandlers. If it does, dispatch its handler using the given dispatcher.

(IPC::Connection::connectionDidClose):
Go through all reply handlers and dispatch them with a null Decoder.

* Platform/IPC/Connection.h:
(IPC::Connection::sendWithReply):
Encode the message (we use the sync message ID infrastructure for this), then call sendMessageWithReply with a reply handler that
decodes the reply and calls the real reply handler.

* Platform/IPC/HandleMessage.h:
Forward declare Connection.

* UIProcess/Databases/DatabaseProcessProxy.h:
* UIProcess/Network/NetworkProcessProxy.h:
Forward declare WebsiteData.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::~WebProcessProxy):
(WebKit::WebProcessProxy::processWillShutDown):
Remove m_pendingFetchWebsiteDataCallbacks.

(WebKit::WebProcessProxy::fetchWebsiteData):
Use Connection::sendWithReply.

(WebKit::WebProcessProxy::didFetchWebsiteData): Deleted.

* UIProcess/WebProcessProxy.h:
Remove members.

* UIProcess/WebProcessProxy.messages.in:
Remove DidFetchWebsiteData.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::fetchWebsiteData):
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:
Update the FetchWebsiteData message to have a reply parameter.

Modified Paths

trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/Platform/IPC/Connection.cpp
trunk/Source/WebKit2/Platform/IPC/Connection.h
trunk/Source/WebKit2/Platform/IPC/HandleMessage.h
trunk/Source/WebKit2/UIProcess/Databases/DatabaseProcessProxy.h
trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h
trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp
trunk/Source/WebKit2/UIProcess/WebProcessProxy.h
trunk/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
trunk/Source/WebKit2/WebProcess/WebProcess.cpp
trunk/Source/WebKit2/WebProcess/WebProcess.h
trunk/Source/WebKit2/WebProcess/WebProcess.messages.in




Diff

Modified: trunk/Source/WebKit2/ChangeLog (205206 => 205207)

--- trunk/Source/WebKit2/ChangeLog	2016-08-30 22:54:41 UTC (rev 205206)
+++ trunk/Source/WebKit2/ChangeLog	2016-08-30 22:59:12 UTC (rev 205207)
@@ -1,3 +1,61 @@
+2016-08-30  Anders Carlsson  
+
+Add Connection::sendWithReply
+https://bugs.webkit.org/show_bug.cgi?id=161399
+
+Reviewed by Tim Horton.
+
+Connection::sendWithReply makes it easy to send a message and process its reply asynchronously on a given WorkQueue or RunLoop.
+The reply handler is guaranteed to be called. If the reply is successfully received, it will consist of an std::tuple with the arguments,
+otherwise it will be called with Nullopt.
+
+* Platform/IPC/Connection.cpp:
+(IPC::Connection::invalidate):
+Go through all reply handlers and dispatch them with a null Decoder.
+
+(IPC::Connection::sendMessageWithReply):
+Add the reply handler to the m_replyHandlers hash map, and send the message.
+
+(IPC::Connection::processIncomingSyncReply):
+Check if the incoming reply has an entry in m_replyHandlers. If it does, dispatch its handler using the given dispatcher.
+
+(IPC::Connection::connectionDidClose):
+Go through all reply handlers and dispatch them with a null Decoder.
+
+* Platform/IPC/Connection.h:
+(IPC::Connection::sendWithReply):
+Encode the message (we use the sync message ID infrastructure for this), then call sendMessageWithReply with a reply handler that
+decodes the reply and calls the real reply handler.
+
+* Platform/IPC/HandleMessage.h:
+Forward declare Connection.
+
+* UIProcess/Databases/DatabaseProcessProxy.h:
+* UIProcess/Network/NetworkProcessProxy.h:
+Forward declare WebsiteData.
+
+* UIProcess/WebProcessProxy.cpp:
+(WebKit::WebProcessProxy::~WebProcessProxy):
+(WebKit::WebProcessProxy::processWillShutDown):
+Remove m_pendingFetchWebsiteDataCallbacks.
+
+(WebKit::WebProcessProxy::fetchWebsiteData):
+Use Connection::sendWithReply.
+
+(WebKit::WebProcessProxy::didFetchWebsiteData): 

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

2016-08-30 Thread commit-queue
Title: [205206] trunk/Source/WebCore








Revision 205206
Author commit-qu...@webkit.org
Date 2016-08-30 15:54:41 -0700 (Tue, 30 Aug 2016)


Log Message
Move some code from MathMLElement to MathMLPresentationElement
https://bugs.webkit.org/show_bug.cgi?id=161377

Patch by Frederic Wang  on 2016-08-30
Reviewed by Darin Adler.

The following code is only used in presentation MathML classes. We then move it from
MathMLElement to MathMLPresentationElement:
- testing whether a child is a phrasing/flow element.
- parsing of length attributes.
- parsing of boolean attributes.
- parsing of mathvariant attributes.

No new tests, already covered by existing tests.

* mathml/MathMLElement.cpp:
(WebCore::MathMLElement::isPhrasingContent): Deleted.
(WebCore::MathMLElement::isFlowContent): Deleted.
(WebCore::MathMLElement::parseNumberAndUnit): Deleted.
(WebCore::MathMLElement::parseNamedSpace): Deleted.
(WebCore::MathMLElement::parseMathMLLength): Deleted.
(WebCore::MathMLElement::cachedMathMLLength): Deleted.
(WebCore::MathMLElement::cachedBooleanAttribute): Deleted.
(WebCore::MathMLElement::parseMathVariantAttribute): Deleted.
(WebCore::MathMLElement::specifiedDisplayStyle): Deleted.
(WebCore::MathMLElement::specifiedMathVariant): Deleted.
* mathml/MathMLElement.h:
(WebCore::MathMLElement::specifiedDisplayStyle):
(WebCore::MathMLElement::specifiedMathVariant):
(WebCore::MathMLElement::acceptsDisplayStyleAttribute): Deleted.
(WebCore::MathMLElement::acceptsMathVariantAttribute): Deleted.
(WebCore::MathMLElement::toOptionalBool): Deleted.
* mathml/MathMLPresentationElement.cpp:
(WebCore::MathMLPresentationElement::isPhrasingContent):
(WebCore::MathMLPresentationElement::isFlowContent):
(WebCore::MathMLPresentationElement::cachedBooleanAttribute):
(WebCore::MathMLPresentationElement::parseNumberAndUnit):
(WebCore::MathMLPresentationElement::parseNamedSpace):
(WebCore::MathMLPresentationElement::parseMathMLLength):
(WebCore::MathMLPresentationElement::cachedMathMLLength):
(WebCore::MathMLPresentationElement::specifiedDisplayStyle):
(WebCore::MathMLPresentationElement::parseMathVariantAttribute):
(WebCore::MathMLPresentationElement::specifiedMathVariant):
* mathml/MathMLPresentationElement.h:
(WebCore::MathMLPresentationElement::toOptionalBool):
(WebCore::MathMLPresentationElement::acceptsMathVariantAttribute):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/mathml/MathMLElement.cpp
trunk/Source/WebCore/mathml/MathMLElement.h
trunk/Source/WebCore/mathml/MathMLPresentationElement.cpp
trunk/Source/WebCore/mathml/MathMLPresentationElement.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (205205 => 205206)

--- trunk/Source/WebCore/ChangeLog	2016-08-30 22:49:45 UTC (rev 205205)
+++ trunk/Source/WebCore/ChangeLog	2016-08-30 22:54:41 UTC (rev 205206)
@@ -1,5 +1,53 @@
 2016-08-30  Frederic Wang  
 
+Move some code from MathMLElement to MathMLPresentationElement
+https://bugs.webkit.org/show_bug.cgi?id=161377
+
+Reviewed by Darin Adler.
+
+The following code is only used in presentation MathML classes. We then move it from
+MathMLElement to MathMLPresentationElement:
+- testing whether a child is a phrasing/flow element.
+- parsing of length attributes.
+- parsing of boolean attributes.
+- parsing of mathvariant attributes.
+
+No new tests, already covered by existing tests.
+
+* mathml/MathMLElement.cpp:
+(WebCore::MathMLElement::isPhrasingContent): Deleted.
+(WebCore::MathMLElement::isFlowContent): Deleted.
+(WebCore::MathMLElement::parseNumberAndUnit): Deleted.
+(WebCore::MathMLElement::parseNamedSpace): Deleted.
+(WebCore::MathMLElement::parseMathMLLength): Deleted.
+(WebCore::MathMLElement::cachedMathMLLength): Deleted.
+(WebCore::MathMLElement::cachedBooleanAttribute): Deleted.
+(WebCore::MathMLElement::parseMathVariantAttribute): Deleted.
+(WebCore::MathMLElement::specifiedDisplayStyle): Deleted.
+(WebCore::MathMLElement::specifiedMathVariant): Deleted.
+* mathml/MathMLElement.h:
+(WebCore::MathMLElement::specifiedDisplayStyle):
+(WebCore::MathMLElement::specifiedMathVariant):
+(WebCore::MathMLElement::acceptsDisplayStyleAttribute): Deleted.
+(WebCore::MathMLElement::acceptsMathVariantAttribute): Deleted.
+(WebCore::MathMLElement::toOptionalBool): Deleted.
+* mathml/MathMLPresentationElement.cpp:
+(WebCore::MathMLPresentationElement::isPhrasingContent):
+(WebCore::MathMLPresentationElement::isFlowContent):
+(WebCore::MathMLPresentationElement::cachedBooleanAttribute):
+(WebCore::MathMLPresentationElement::parseNumberAndUnit):
+(WebCore::MathMLPresentationElement::parseNamedSpace):
+(WebCore::MathMLPresentationElement::parseMathMLLength):
+

[webkit-changes] [205205] trunk

2016-08-30 Thread cdumez
Title: [205205] trunk








Revision 205205
Author cdu...@apple.com
Date 2016-08-30 15:49:45 -0700 (Tue, 30 Aug 2016)


Log Message
Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
https://bugs.webkit.org/show_bug.cgi?id=161396

Reviewed by Ryosuke Niwa.

Source/_javascript_Core:

Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object:
- https://html.spec.whatwg.org/#windowproxy-setprototypeof
- https://html.spec.whatwg.org/#location-setprototypeof
- https://tc39.github.io/ecma262/#sec-object.setprototypeof (step 5)

Firefox and Chrome already throw. However, WebKit merely ignores the call and logs an error message.

Note that technically, we should also throw in the same origin case.
However, not all browsers agree on this yet so I haven't not changed
the behavior for the same origin case.

* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorSetPrototypeOf):

LayoutTests:

Update / rebaseline existing test to reflect behavior change.

* http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
* http/tests/security/cross-frame-access-object-setPrototypeOf.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt
trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf.html
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/ObjectConstructor.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (205204 => 205205)

--- trunk/LayoutTests/ChangeLog	2016-08-30 22:43:12 UTC (rev 205204)
+++ trunk/LayoutTests/ChangeLog	2016-08-30 22:49:45 UTC (rev 205205)
@@ -1,3 +1,15 @@
+2016-08-30  Chris Dumez  
+
+Object.setPrototypeOf() should throw when used on a cross-origin Window / Location object
+https://bugs.webkit.org/show_bug.cgi?id=161396
+
+Reviewed by Ryosuke Niwa.
+
+Update / rebaseline existing test to reflect behavior change.
+
+* http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt:
+* http/tests/security/cross-frame-access-object-setPrototypeOf.html:
+
 2016-08-30  Jiewen Tan  
 
 Unreviewed, update iOS simulator WK1 flaky tests.


Modified: trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt (205204 => 205205)

--- trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt	2016-08-30 22:43:12 UTC (rev 205204)
+++ trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf-expected.txt	2016-08-30 22:49:45 UTC (rev 205205)
@@ -1,6 +1,18 @@
-CONSOLE MESSAGE: line 22: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
-This tests that you can't set the prototype of the window or history objects cross-origin using Object.setPrototypeOf().
+CONSOLE MESSAGE: line 1: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+CONSOLE MESSAGE: line 1: Blocked a frame with origin "http://127.0.0.1:8000" from accessing a frame with origin "http://localhost:8000". Protocols, domains, and ports must match.
+This tests that you can't set the prototype of the window or location objects cross-origin using Object.setPrototypeOf()
 
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
 PASS: targetWindow instanceof Array should be 'false' and is.
+PASS Object.setPrototypeOf(targetWindow, Array.prototype) threw exception TypeError: Permission denied.
 PASS: targetWindow instanceof Array should be 'false' and is.
+PASS: targetWindow.location instanceof Array should be 'false' and is.
+PASS Object.setPrototypeOf(targetWindow.location, Array.prototype) threw exception TypeError: Permission denied.
+PASS: targetWindow.location instanceof Array should be 'false' and is.
+PASS: successfullyParsed should be 'true' and is.
 
+TEST COMPLETE
+
+


Modified: trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf.html (205204 => 205205)

--- trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf.html	2016-08-30 22:43:12 UTC (rev 205204)
+++ trunk/LayoutTests/http/tests/security/cross-frame-access-object-setPrototypeOf.html	2016-08-30 22:49:45 UTC (rev 205205)
@@ -1,11 +1,10 @@
 
 
+