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

2011-12-19 Thread adamk
Title: [103307] trunk/Source/WebCore








Revision 103307
Author ad...@chromium.org
Date 2011-12-19 23:49:14 -0800 (Mon, 19 Dec 2011)


Log Message
Make all calls to NamedNodeMap::setAttributes go through Element
https://bugs.webkit.org/show_bug.cgi?id=74895

Reviewed by Ryosuke Niwa.

There are two reasons for this change. One is an optimization: some
callers were previously always creating a NamedNodeMap even if the
source didn't have any attributes.

The other reason is forward-looking: setAttributes' behavior is subtly
wrong in the presence of MutationObservers. This doesn't matter
for most callers since the element on which setAttributesFromElement
is called is newly-created. In the editing case, however, it could
make a difference in behavior, which I hope to fix in a future change
without sacrificing the performance of cloneNode() on an Element
(which is what NamedNodeMap::setAttributes is designed for).

No new tests, no change in behavior.

* dom/Element.cpp:
(WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
* dom/Element.h:
(WebCore::Element::setAttributesFromElement): Create new inline helper method
which conditionally forwards to NamedNodeMap::setAttribute.
* dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
(WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
and make use of ASSERT_NO_EXCEPTION to make code easier to read.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/dom/NamedNodeMap.h
trunk/Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
trunk/Source/WebCore/svg/SVGUseElement.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (103306 => 103307)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 07:31:00 UTC (rev 103306)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 07:49:14 UTC (rev 103307)
@@ -1,3 +1,39 @@
+2011-12-19  Adam Klein  
+
+Make all calls to NamedNodeMap::setAttributes go through Element
+https://bugs.webkit.org/show_bug.cgi?id=74895
+
+Reviewed by Ryosuke Niwa.
+
+There are two reasons for this change. One is an optimization: some
+callers were previously always creating a NamedNodeMap even if the
+source didn't have any attributes.
+
+The other reason is forward-looking: setAttributes' behavior is subtly
+wrong in the presence of MutationObservers. This doesn't matter
+for most callers since the element on which setAttributesFromElement
+is called is newly-created. In the editing case, however, it could
+make a difference in behavior, which I hope to fix in a future change
+without sacrificing the performance of cloneNode() on an Element
+(which is what NamedNodeMap::setAttributes is designed for).
+
+No new tests, no change in behavior.
+
+* dom/Element.cpp:
+(WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
+* dom/Element.h:
+(WebCore::Element::setAttributesFromElement): Create new inline helper method
+which conditionally forwards to NamedNodeMap::setAttribute.
+* dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
+* editing/ReplaceNodeWithSpanCommand.cpp:
+(WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
+* inspector/InspectorDOMAgent.cpp:
+(WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
+* svg/SVGUseElement.cpp:
+(WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
+(WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
+and make use of ASSERT_NO_EXCEPTION to make code easier to read.
+
 2011-12-19  Leo Yang  
 
 [BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp


Modified: trunk/Source/WebCore/dom/Element.cpp (103306 => 103307)

--- trunk/Source/WebCore/dom/Element.cpp	2011-12-20 07:31:00 UTC (rev 103306)
+++ trunk/Source/WebCore/dom/Element.cpp	2011-12-20 07:49:14 UTC (rev 103307)
@@ -163,10 +163,7 @@
 // This is a sanity check as HTML overloads some of the DOM methods.
 ASSERT(isHTMLElement() == clone->isHTMLElement());
 
-// Call attributes(true) to force attribute synchronization to occur for SVG and style attributes.
-if (NamedNodeMap* attributeMap = attributes(true))
-clone->attributes()->setAttributes

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

2011-12-19 Thread leo . yang
Title: [103305] trunk/Source/WebCore








Revision 103305
Author leo.y...@torchmobile.com.cn
Date 2011-12-19 22:22:39 -0800 (Mon, 19 Dec 2011)


Log Message
[BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
https://bugs.webkit.org/show_bug.cgi?id=74910

Reviewed by Daniel Bates.

No functionality change to the existing code, no new tests.

* platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (103304 => 103305)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 05:43:21 UTC (rev 103304)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 06:22:39 UTC (rev 103305)
@@ -1,5 +1,17 @@
 2011-12-19  Leo Yang  
 
+[BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
+https://bugs.webkit.org/show_bug.cgi?id=74910
+
+Reviewed by Daniel Bates.
+
+No functionality change to the existing code, no new tests.
+
+* platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
+initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.
+
+2011-12-19  Leo Yang  
+
 [BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
 https://bugs.webkit.org/show_bug.cgi?id=74904
 


Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (103304 => 103305)

--- trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp	2011-12-20 05:43:21 UTC (rev 103304)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp	2011-12-20 06:22:39 UTC (rev 103305)
@@ -449,7 +449,7 @@
 m_resourceRequestUpdated = true;
 }
 
-#if !PLATFORM(MAC) && !USE(CFNETWORK) && !USE(SOUP) && !PLATFORM(CHROMIUM) && !PLATFORM(QT)
+#if !PLATFORM(MAC) && !USE(CFNETWORK) && !USE(SOUP) && !PLATFORM(CHROMIUM) && !PLATFORM(QT) && !PLATFORM(BLACKBERRY)
 unsigned initializeMaximumHTTPConnectionCountPerHost()
 {
 // This is used by the loader to control the number of issued parallel load requests. 






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


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

2011-12-19 Thread leo . yang
Title: [103304] trunk/Source/WebCore








Revision 103304
Author leo.y...@torchmobile.com.cn
Date 2011-12-19 21:43:21 -0800 (Mon, 19 Dec 2011)


Log Message
[BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
https://bugs.webkit.org/show_bug.cgi?id=74904

Reviewed by Daniel Bates.

No functionality change to existing code, no new tests.

* platform/network/NetworkStateNotifier.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/network/NetworkStateNotifier.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (103303 => 103304)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 05:26:56 UTC (rev 103303)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 05:43:21 UTC (rev 103304)
@@ -1,3 +1,14 @@
+2011-12-19  Leo Yang  
+
+[BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
+https://bugs.webkit.org/show_bug.cgi?id=74904
+
+Reviewed by Daniel Bates.
+
+No functionality change to existing code, no new tests.
+
+* platform/network/NetworkStateNotifier.h:
+
 2011-12-19  Yael Aharon  
 
 Update dropzone implementation per spec update


Modified: trunk/Source/WebCore/platform/network/NetworkStateNotifier.h (103303 => 103304)

--- trunk/Source/WebCore/platform/network/NetworkStateNotifier.h	2011-12-20 05:26:56 UTC (rev 103303)
+++ trunk/Source/WebCore/platform/network/NetworkStateNotifier.h	2011-12-20 05:43:21 UTC (rev 103304)
@@ -67,6 +67,10 @@
 void setOnLine(bool);
 #endif
 
+#if PLATFORM(BLACKBERRY)
+void networkStateChange(bool online);
+#endif
+
 private:
 bool m_isOnLine;
 void (*m_networkStateChangedFunction)();
@@ -96,7 +100,7 @@
 #endif
 };
 
-#if !PLATFORM(MAC) && !PLATFORM(WIN) && !(PLATFORM(QT) && !defined(QT_NO_BEARERMANAGEMENT))
+#if !PLATFORM(MAC) && !PLATFORM(WIN) && !(PLATFORM(QT) && !defined(QT_NO_BEARERMANAGEMENT)) && !PLATFORM(BLACKBERRY)
 
 inline NetworkStateNotifier::NetworkStateNotifier()
 : m_isOnLine(true)






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


[webkit-changes] [103303] trunk

2011-12-19 Thread yael . aharon
Title: [103303] trunk








Revision 103303
Author yael.aha...@nokia.com
Date 2011-12-19 21:26:56 -0800 (Mon, 19 Dec 2011)


Log Message
Update dropzone implementation per spec update
https://bugs.webkit.org/show_bug.cgi?id=74834

Reviewed by Tony Chang.

Source/WebCore:

Update support for dropzone attribute to use file: and string: instead of f: and s:.
http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute

No new tests. Existing tests cover this and were updated.

* dom/Clipboard.cpp:
(WebCore::Clipboard::hasDropZoneType):

LayoutTests:

Update the tests per spec change.

* fast/events/dropzone-001.html:
* fast/events/dropzone-002.html:
* fast/events/dropzone-003.html:
* fast/events/dropzone-004.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/events/dropzone-001.html
trunk/LayoutTests/fast/events/dropzone-002.html
trunk/LayoutTests/fast/events/dropzone-003.html
trunk/LayoutTests/fast/events/dropzone-004.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Clipboard.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (103302 => 103303)

--- trunk/LayoutTests/ChangeLog	2011-12-20 05:10:02 UTC (rev 103302)
+++ trunk/LayoutTests/ChangeLog	2011-12-20 05:26:56 UTC (rev 103303)
@@ -1,3 +1,17 @@
+2011-12-19  Yael Aharon  
+
+Update dropzone implementation per spec update
+https://bugs.webkit.org/show_bug.cgi?id=74834
+
+Reviewed by Tony Chang.
+
+Update the tests per spec change.
+
+* fast/events/dropzone-001.html:
+* fast/events/dropzone-002.html:
+* fast/events/dropzone-003.html:
+* fast/events/dropzone-004.html:
+
 2011-12-16  Gavin Barraclough  
 
 https://bugs.webkit.org/show_bug.cgi?id=74903


Modified: trunk/LayoutTests/fast/events/dropzone-001.html (103302 => 103303)

--- trunk/LayoutTests/fast/events/dropzone-001.html	2011-12-20 05:10:02 UTC (rev 103302)
+++ trunk/LayoutTests/fast/events/dropzone-001.html	2011-12-20 05:26:56 UTC (rev 103303)
@@ -34,7 +34,7 @@
 
 function changeDropZone()
 {
-dropTarget.setAttribute("webkitdropzone", dropEffectElem.options[dropEffectElem.selectedIndex].value + " s:text/plain");
+dropTarget.setAttribute("webkitdropzone", dropEffectElem.options[dropEffectElem.selectedIndex].value + " string:text/plain");
 }
 
 function dragStart(e)


Modified: trunk/LayoutTests/fast/events/dropzone-002.html (103302 => 103303)

--- trunk/LayoutTests/fast/events/dropzone-002.html	2011-12-20 05:10:02 UTC (rev 103302)
+++ trunk/LayoutTests/fast/events/dropzone-002.html	2011-12-20 05:26:56 UTC (rev 103303)
@@ -32,7 +32,7 @@
 
 function changeDropZone()
 {
-dropTarget.setAttribute("webkitdropzone", " S:text/plain s:url " + dropEffectElem.options[dropEffectElem.selectedIndex].value);
+dropTarget.setAttribute("webkitdropzone", " StRinG:text/plain sTrING:url " + dropEffectElem.options[dropEffectElem.selectedIndex].value);
 }
 
 function printDropEvent(e)


Modified: trunk/LayoutTests/fast/events/dropzone-003.html (103302 => 103303)

--- trunk/LayoutTests/fast/events/dropzone-003.html	2011-12-20 05:10:02 UTC (rev 103302)
+++ trunk/LayoutTests/fast/events/dropzone-003.html	2011-12-20 05:26:56 UTC (rev 103303)
@@ -32,7 +32,7 @@
 
 function changeDropZone()
 {
-dropTarget.setAttribute("webkitdropzone", dropEffectElem.options[dropEffectElem.selectedIndex].value + " s:text/plain s:any/type");
+dropTarget.setAttribute("webkitdropzone", dropEffectElem.options[dropEffectElem.selectedIndex].value + " string:text/plain string:any/type");
 }
 
 function printDropEvent(e)


Modified: trunk/LayoutTests/fast/events/dropzone-004.html (103302 => 103303)

--- trunk/LayoutTests/fast/events/dropzone-004.html	2011-12-20 05:10:02 UTC (rev 103302)
+++ trunk/LayoutTests/fast/events/dropzone-004.html	2011-12-20 05:26:56 UTC (rev 103303)
@@ -29,7 +29,7 @@
 
 function changeDropZone()
 {
-dropTarget.setAttribute("webkitdropzone", dropEffectElem.options[dropEffectElem.selectedIndex].value + " f:text/html");
+dropTarget.setAttribute("webkitdropzone", dropEffectElem.options[dropEffectElem.selectedIndex].value + " file:text/html");
 }
 
 function printDropEvent(e)


Modified: trunk/Source/WebCore/ChangeLog (103302 => 103303)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 05:10:02 UTC (rev 103302)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 05:26:56 UTC (rev 103303)
@@ -1,3 +1,18 @@
+2011-12-19  Yael Aharon  
+
+Update dropzone implementation per spec update
+https://bugs.webkit.org/show_bug.cgi?id=74834
+
+Reviewed by Tony Chang.
+
+Update support for dropzone attribute to use file: and string: instead of f: and s:. 
+http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute
+
+No new tests. Existing tests cover this and were updated.
+
+* dom/Clipboard.cpp:
+(WebCore::Clipboard::hasDropZoneType):
+
 2011-12-19  Sam Weinig  
 
 Add support for scrollLineDown: and scrollLineUp: NSRes

[webkit-changes] [103302] trunk

2011-12-19 Thread weinig
Title: [103302] trunk








Revision 103302
Author wei...@apple.com
Date 2011-12-19 21:10:02 -0800 (Mon, 19 Dec 2011)


Log Message
Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
https://bugs.webkit.org/show_bug.cgi?id=74907

Reviewed by Dan Bernstein.

Source/WebCore:

Added API test: WebKit2.ScrollByLineCommands

* editing/EditorCommand.cpp:
(WebCore::executeScrollLineUp):
(WebCore::executeScrollLineDown):
(WebCore::createCommandMap):
Add implementations for scrollLineUp/Down. Do not expose
these to execCommand.

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:
Add implementations for scrollLineDown: and scrollLineUp: using our
fun macros.

Tools:

Add ScrollByLineCommands API test.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm: Added.
* TestWebKitAPI/Tests/WebKit2/simple-tall.html: Added.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/editing/EditorCommand.cpp
trunk/Source/WebKit2/ChangeLog
trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm
trunk/Tools/TestWebKitAPI/Tests/WebKit2/simple-tall.html




Diff

Modified: trunk/Source/WebCore/ChangeLog (103301 => 103302)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 05:01:09 UTC (rev 103301)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 05:10:02 UTC (rev 103302)
@@ -1,3 +1,19 @@
+2011-12-19  Sam Weinig  
+
+Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
+https://bugs.webkit.org/show_bug.cgi?id=74907
+
+Reviewed by Dan Bernstein.
+
+Added API test: WebKit2.ScrollByLineCommands
+
+* editing/EditorCommand.cpp:
+(WebCore::executeScrollLineUp):
+(WebCore::executeScrollLineDown):
+(WebCore::createCommandMap):
+Add implementations for scrollLineUp/Down. Do not expose
+these to execCommand
+
 2011-12-19  Huang Dongsung  
 
 [QT] WebGL can not make the frame buffer with the stencil buffer.


Modified: trunk/Source/WebCore/editing/EditorCommand.cpp (103301 => 103302)

--- trunk/Source/WebCore/editing/EditorCommand.cpp	2011-12-20 05:01:09 UTC (rev 103301)
+++ trunk/Source/WebCore/editing/EditorCommand.cpp	2011-12-20 05:10:02 UTC (rev 103302)
@@ -955,6 +955,16 @@
 return frame->eventHandler()->logicalScrollRecursively(ScrollBlockDirectionForward, ScrollByPage);
 }
 
+static bool executeScrollLineUp(Frame* frame, Event*, EditorCommandSource, const String&)
+{
+return frame->eventHandler()->scrollRecursively(ScrollUp, ScrollByLine);
+}
+
+static bool executeScrollLineDown(Frame* frame, Event*, EditorCommandSource, const String&)
+{
+return frame->eventHandler()->scrollRecursively(ScrollDown, ScrollByLine);
+}
+
 static bool executeScrollToBeginningOfDocument(Frame* frame, Event*, EditorCommandSource, const String&)
 {
 return frame->eventHandler()->logicalScrollRecursively(ScrollBlockDirectionBackward, ScrollByDocument);
@@ -1514,6 +1524,8 @@
 { "RemoveFormat", { executeRemoveFormat, supported, enabledRangeInEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
 { "ScrollPageBackward", { executeScrollPageBackward, supportedFromMenuOrKeyBinding, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
 { "ScrollPageForward", { executeScrollPageForward, supportedFromMenuOrKeyBinding, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
+{ "ScrollLineUp", { executeScrollLineUp, supportedFromMenuOrKeyBinding, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
+{ "ScrollLineDown", { executeScrollLineDown, supportedFromMenuOrKeyBinding, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
 { "ScrollToBeginningOfDocument", { executeScrollToBeginningOfDocument, supportedFromMenuOrKeyBinding, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
 { "ScrollToEndOfDocument", { executeScrollToEndOfDocument, supportedFromMenuOrKeyBinding, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
 { "SelectAll", { executeSelectAll, supported, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },


Modified: trunk/Source/WebKit2/ChangeLog (103301 => 103302)

--- trunk/Source/WebKit2/ChangeLog	2011-12-20 05:01:09 UTC (rev 103301)
+++ trunk/Source/WebKit2/ChangeLog	2011-12-20 05:10:02 UTC (rev 103302)
@@ -1,5 +1,16 @@
 2011-12-19  Sam Weinig  
 
+Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
+https://bugs.webkit.org/show_bug.cgi?id=74907
+
+Reviewed by Dan Bernstein.
+
+* UIProcess/API/mac/WKView.mm:
+Add imple

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

2011-12-19 Thread commit-queue
Title: [103301] trunk/Source/WebCore








Revision 103301
Author commit-qu...@webkit.org
Date 2011-12-19 21:01:09 -0800 (Mon, 19 Dec 2011)


Log Message
[QT] WebGL can not make the frame buffer with the stencil buffer.
https://bugs.webkit.org/show_bug.cgi?id=74783

When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
and stencil buffers separately, as opposed to the combined depth-stencil buffer
we initialize for desktop GL.

This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
work in OpenGL ES 2.

Patch by Huang Dongsung  on 2011-12-19
Reviewed by Noam Rosenthal.

* platform/graphics/GraphicsContext3D.h:
* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::reshape):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h
trunk/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (103300 => 103301)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 04:34:36 UTC (rev 103300)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 05:01:09 UTC (rev 103301)
@@ -1,3 +1,23 @@
+2011-12-19  Huang Dongsung  
+
+[QT] WebGL can not make the frame buffer with the stencil buffer.
+https://bugs.webkit.org/show_bug.cgi?id=74783
+
+When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
+and stencil buffers separately, as opposed to the combined depth-stencil buffer
+we initialize for desktop GL.
+
+This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
+work in OpenGL ES 2.
+
+Reviewed by Noam Rosenthal.
+
+* platform/graphics/GraphicsContext3D.h:
+* platform/graphics/qt/GraphicsContext3DQt.cpp:
+(WebCore::GraphicsContext3D::GraphicsContext3D):
+(WebCore::GraphicsContext3D::~GraphicsContext3D):
+(WebCore::GraphicsContext3D::reshape):
+
 2011-12-19  Ami Fischman  
 
 Teach VideoLayerChromium how to render native texture (to support HW video decode).


Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h (103300 => 103301)

--- trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h	2011-12-20 04:34:36 UTC (rev 103300)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext3D.h	2011-12-20 05:01:09 UTC (rev 103301)
@@ -933,7 +933,12 @@
 
 GC3Duint m_texture, m_compositorTexture;
 GC3Duint m_fbo;
+#if PLATFORM(QT) && defined(QT_OPENGL_ES_2)
+GC3Duint m_depthBuffer;
+GC3Duint m_stencilBuffer;
+#else
 GC3Duint m_depthStencilBuffer;
+#endif
 bool m_layerComposited;
 GC3Duint m_internalColorFormat;
 


Modified: trunk/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp (103300 => 103301)

--- trunk/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp	2011-12-20 04:34:36 UTC (rev 103300)
+++ trunk/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp	2011-12-20 05:01:09 UTC (rev 103301)
@@ -307,7 +307,12 @@
 , m_texture(0)
 , m_compositorTexture(0)
 , m_fbo(0)
+#if defined(QT_OPENGL_ES_2)
+, m_depthBuffer(0)
+, m_stencilBuffer(0)
+#else
 , m_depthStencilBuffer(0)
+#endif
 , m_layerComposited(false)
 , m_internalColorFormat(0)
 , m_boundFBO(0)
@@ -318,9 +323,7 @@
 , m_multisampleColorBuffer(0)
 , m_private(adoptPtr(new GraphicsContext3DPrivate(this, hostWindow)))
 {
-#if defined(QT_OPENGL_ES_2)
-m_attrs.stencil = false;
-#else
+#if !defined(QT_OPENGL_ES_2)
 validateAttributes();
 #endif
 
@@ -364,8 +367,15 @@
 // Bind canvas FBO.
 glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
 m_boundFBO = m_fbo;
+#if defined(QT_OPENGL_ES_2)
+if (m_attrs.depth)
+glGenRenderbuffers(1, &m_depthBuffer);
+if (m_attrs.stencil)
+glGenRenderbuffers(1, &m_stencilBuffer);
+#else
 if (m_attrs.stencil || m_attrs.depth)
 glGenRenderbuffers(1, &m_depthStencilBuffer);
+#endif
 }
 
 #if !defined(QT_OPENGL_ES_2)
@@ -404,8 +414,16 @@
 glDeleteFramebuffers(1, &m_multisampleFBO);
 if (m_attrs.stencil || m_attrs.depth)
 glDeleteRenderbuffers(1, &m_multisampleDepthStencilBuffer);
-} else if (m_attrs.stencil || m_attrs.depth)
+} else if (m_attrs.stencil || m_attrs.depth) {
+#if defined(QT_OPENGL_ES_2)
+if (m_attrs.depth)
+glDeleteRenderbuffers(1, &m_depthBuffer);
+if (m_attrs.stencil)
+glDeleteRenderbuffers(1, &m_stencilBuffer);
+#else
 glDeleteRenderbuffers(1, &m_depthStencilBuffer);
+#endif
+}
 }
 
 PlatformGraphicsContext3D GraphicsContext3D::platformGraphicsContext3D()
@@ -465,27 +483,45 @@
 glTexImage2D(GraphicsContext3D::TEXTURE_2D, /* level */ 0, GraphicsContext3D::RGB, width, height, /* border */ 0, GraphicsContext3D::RG

[webkit-changes] [103300] trunk/Source/WebKit/chromium

2011-12-19 Thread jamesr
Title: [103300] trunk/Source/WebKit/chromium








Revision 103300
Author jam...@google.com
Date 2011-12-19 20:34:36 -0800 (Mon, 19 Dec 2011)


Log Message
Compile fix for chromium on windows due to collision of testing::NotNull from gtest and NotNull from Vector.h

* tests/WebLayerTest.cpp:

Modified Paths

trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/tests/WebLayerTest.cpp




Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (103299 => 103300)

--- trunk/Source/WebKit/chromium/ChangeLog	2011-12-20 04:33:36 UTC (rev 103299)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-12-20 04:34:36 UTC (rev 103300)
@@ -1,3 +1,9 @@
+2011-12-19  James Robinson  
+
+Compile fix for chromium on windows due to collision of testing::NotNull from gtest and NotNull from Vector.h
+
+* tests/WebLayerTest.cpp:
+
 2011-12-19  Ami Fischman  
 
 Teach VideoLayerChromium how to render native texture (to support HW video decode).


Modified: trunk/Source/WebKit/chromium/tests/WebLayerTest.cpp (103299 => 103300)

--- trunk/Source/WebKit/chromium/tests/WebLayerTest.cpp	2011-12-20 04:33:36 UTC (rev 103299)
+++ trunk/Source/WebKit/chromium/tests/WebLayerTest.cpp	2011-12-20 04:34:36 UTC (rev 103300)
@@ -40,7 +40,11 @@
 #include 
 
 using namespace WebKit;
-using namespace testing;
+using testing::AnyNumber;
+using testing::AtLeast;
+using testing::Mock;
+using testing::Test;
+using testing::_;
 
 namespace {
 






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


[webkit-changes] [103298] trunk/Source

2011-12-19 Thread commit-queue
Title: [103298] trunk/Source








Revision 103298
Author commit-qu...@webkit.org
Date 2011-12-19 20:27:53 -0800 (Mon, 19 Dec 2011)


Log Message
Source/WebCore: Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043

Patch by Ami Fischman  on 2011-12-19
Reviewed by James Robinson.

Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
VideoLayerChromium would acquire the lease for the duration of copying the frame,
even if that was only a texture ID, and immediately return the lease, while
CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
texture optimistically.  This change makes it so that CCVideoLayerImpl holds
the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

Existing test coverage (compositing/video/, LayoutTests).  HW render of
HW-decoded textures is not yet tested explicitly.

* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::VideoLayerChromium):
(WebCore::VideoLayerChromium::~VideoLayerChromium):
(WebCore::VideoLayerChromium::createCCLayerImpl):
(WebCore::VideoLayerChromium::releaseProvider):
* platform/graphics/chromium/VideoLayerChromium.h:
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::setProvider):
(WebCore::convertVFCFormatToGC3DFormat):
(WebCore::CCVideoLayerImpl::draw):
(WebCore::CCVideoLayerImpl::copyFrameToTextures):
(WebCore::CCVideoLayerImpl::copyPlaneToTexture):
(WebCore::computeVisibleSize):
(WebCore::CCVideoLayerImpl::reserveTextures):
(WebCore::CCVideoLayerImpl::drawYUV):
(WebCore::CCVideoLayerImpl::drawCommon):
(WebCore::CCVideoLayerImpl::drawRGBA):
(WebCore::CCVideoLayerImpl::drawNativeTexture):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:

Source/WebKit/chromium: Teach VideoLayerChromium how to render native texture (to support HW video decode).
https://bugs.webkit.org/show_bug.cgi?id=73043

Patch by Ami Fischman  on 2011-12-19
Reviewed by James Robinson.

Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
VideoLayerChromium would acquire the lease for the duration of copying the frame,
even if that was only a texture ID, and immediately return the lease, while
CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
texture optimistically.  This change makes it so that CCVideoLayerImpl holds
the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::getCurrentFrame):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/VideoFrameProvider.h
trunk/Source/WebCore/platform/graphics/chromium/VideoLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/VideoLayerChromium.h
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (103297 => 103298)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 04:08:24 UTC (rev 103297)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 04:27:53 UTC (rev 103298)
@@ -1,3 +1,43 @@
+2011-12-19  Ami Fischman  
+
+Teach VideoLayerChromium how to render native texture (to support HW video decode).
+https://bugs.webkit.org/show_bug.cgi?id=73043
+
+Reviewed by James Robinson.
+
+Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
+VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
+VideoLayerChromium would acquire the lease for the duration of copying the frame,
+even if that was only a texture ID, and immediately return the lease, while
+CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
+texture optimistically.  This change makes it so that CCVideoLayerImpl holds
+the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.
+
+Existing test coverage (compositing/video/, LayoutTests).  HW render of
+HW-decoded textures is not yet tested explicitly.
+
+* platform/graphics/chromium/VideoLayerChromium.cpp:
+(WebCore::VideoLayerChromium::VideoLayerChromium):
+(WebCore::VideoLayerChromium::~VideoLayerChromium):
+(WebCore::VideoLayerChromium::createCCLayerImpl):
+(WebCore::VideoLayerChromium::releaseProvider):
+* platform/gr

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

2011-12-19 Thread adamk
Title: [103296] trunk/Source/WebCore








Revision 103296
Author ad...@chromium.org
Date 2011-12-19 19:42:22 -0800 (Mon, 19 Dec 2011)


Log Message
Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
https://bugs.webkit.org/show_bug.cgi?id=74740

Reviewed by Ryosuke Niwa.

Updated lots of callers to remove third argument. The list of changes
below only lists things other than updating callers.

* dom/Document.cpp:
(WebCore::Document::importNode):
* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::setAttributeNS):
(WebCore::Element::setIntegralAttribute):
(WebCore::Element::setUnsignedIntegralAttribute):
* dom/Element.h: Removed third arg from method, removed old two-arg
overload which now has an identical signature.
* editing/mac/EditorMac.mm: Updated caller and used
ASSERT_NO_EXCEPTION for nearby code.
(WebCore::styleForSelectionStart):
* html/HTMLElement.cpp:
(WebCore::HTMLElement::setContentEditable):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::setAttributesAsText):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
* svg/SVGElement.idl: Removed 'setter raises(DOMException)'
* svg/SVGGlyphRefElement.idl: ditto.
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::setType):
(WebCore::SVGStyleElement::setMedia):
(WebCore::SVGStyleElement::setTitle):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processAttributes):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/dom/Element.cpp
trunk/Source/WebCore/dom/Element.h
trunk/Source/WebCore/editing/mac/EditorMac.mm
trunk/Source/WebCore/html/HTMLElement.cpp
trunk/Source/WebCore/inspector/InspectorDOMAgent.cpp
trunk/Source/WebCore/svg/SVGAnimationElement.cpp
trunk/Source/WebCore/svg/SVGElement.idl
trunk/Source/WebCore/svg/SVGGlyphRefElement.idl
trunk/Source/WebCore/svg/SVGStyleElement.cpp
trunk/Source/WebCore/xml/parser/XMLTreeBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (103295 => 103296)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 03:36:51 UTC (rev 103295)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 03:42:22 UTC (rev 103296)
@@ -1,3 +1,40 @@
+2011-12-19  Adam Klein  
+
+Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
+https://bugs.webkit.org/show_bug.cgi?id=74740
+
+Reviewed by Ryosuke Niwa.
+
+Updated lots of callers to remove third argument. The list of changes
+below only lists things other than updating callers.
+
+* dom/Document.cpp:
+(WebCore::Document::importNode):
+* dom/Element.cpp:
+(WebCore::Element::setAttribute):
+(WebCore::Element::setAttributeNS):
+(WebCore::Element::setIntegralAttribute):
+(WebCore::Element::setUnsignedIntegralAttribute):
+* dom/Element.h: Removed third arg from method, removed old two-arg
+overload which now has an identical signature.
+* editing/mac/EditorMac.mm: Updated caller and used
+ASSERT_NO_EXCEPTION for nearby code.
+(WebCore::styleForSelectionStart):
+* html/HTMLElement.cpp:
+(WebCore::HTMLElement::setContentEditable):
+* inspector/InspectorDOMAgent.cpp:
+(WebCore::InspectorDOMAgent::setAttributesAsText):
+* svg/SVGAnimationElement.cpp:
+(WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
+* svg/SVGElement.idl: Removed 'setter raises(DOMException)'
+* svg/SVGGlyphRefElement.idl: ditto.
+* svg/SVGStyleElement.cpp:
+(WebCore::SVGStyleElement::setType):
+(WebCore::SVGStyleElement::setMedia):
+(WebCore::SVGStyleElement::setTitle):
+* xml/parser/XMLTreeBuilder.cpp:
+(WebCore::XMLTreeBuilder::processAttributes):
+
 2011-12-19  Kentaro Hara  
 
 Unreviewed. Rebaselined run-bindings-tests results.


Modified: trunk/Source/WebCore/dom/Document.cpp (103295 => 103296)

--- trunk/Source/WebCore/dom/Document.cpp	2011-12-20 03:36:51 UTC (rev 103295)
+++ trunk/Source/WebCore/dom/Document.cpp	2011-12-20 03:42:22 UTC (rev 103296)
@@ -839,9 +839,7 @@
 unsigned length = attrs->length();
 for (unsigned i = 0; i < length; i++) {
 Attribute* attr = attrs->attributeItem(i);
-newElement->setAttribute(attr->name(), attr->value().impl(), ec);
-if (ec)
-return 0;
+newElement->setAttribute(attr->name(), attr->value().impl());
 }
 }
 


Modified: trunk/Source/WebCore/dom/Element.cpp (103295 => 103296)

--- trunk/Source/WebCore/dom/Element.cpp	2011-12-20 03:36:51 UTC (rev 103295)
+++ trunk/Source/WebCore/dom/Element.cpp	2011-12-20 03:42:22 UTC (rev 103296)
@@ -201,12 +201,6 @@
 }
 }
 
-void Element::setAttribute(const QualifiedName& name, const AtomicString& value)
-{
-ExceptionCode ec;
-setAttribute(name, va

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

2011-12-19 Thread haraken
Title: [103295] trunk/Source/WebCore








Revision 103295
Author hara...@chromium.org
Date 2011-12-19 19:36:51 -0800 (Mon, 19 Dec 2011)


Log Message
Unreviewed. Rebaselined run-bindings-tests results.

* bindings/scripts/test/JS/JSFloat64Array.h:
(WebCore::JSFloat64Array::create):
(WebCore::JSFloat64ArrayPrototype::create):
(WebCore::JSFloat64ArrayConstructor::create):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::create):
(WebCore::JSTestEventConstructorPrototype::create):
(WebCore::JSTestEventConstructorConstructor::create):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterface::create):
(WebCore::JSTestInterfacePrototype::create):
(WebCore::JSTestInterfaceConstructor::create):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::create):
(WebCore::JSTestMediaQueryListListenerPrototype::create):
(WebCore::JSTestMediaQueryListListenerConstructor::create):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::create):
(WebCore::JSTestNamedConstructorPrototype::create):
(WebCore::JSTestNamedConstructorConstructor::create):
(WebCore::JSTestNamedConstructorNamedConstructor::create):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::create):
(WebCore::JSTestObjPrototype::create):
(WebCore::JSTestObjConstructor::create):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::create):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.h
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.h
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestMediaQueryListListener.h
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.h
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestObj.h
trunk/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (103294 => 103295)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 03:16:21 UTC (rev 103294)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 03:36:51 UTC (rev 103295)
@@ -1,3 +1,37 @@
+2011-12-19  Kentaro Hara  
+
+Unreviewed. Rebaselined run-bindings-tests results.
+
+* bindings/scripts/test/JS/JSFloat64Array.h:
+(WebCore::JSFloat64Array::create):
+(WebCore::JSFloat64ArrayPrototype::create):
+(WebCore::JSFloat64ArrayConstructor::create):
+* bindings/scripts/test/JS/JSTestEventConstructor.h:
+(WebCore::JSTestEventConstructor::create):
+(WebCore::JSTestEventConstructorPrototype::create):
+(WebCore::JSTestEventConstructorConstructor::create):
+* bindings/scripts/test/JS/JSTestInterface.h:
+(WebCore::JSTestInterface::create):
+(WebCore::JSTestInterfacePrototype::create):
+(WebCore::JSTestInterfaceConstructor::create):
+* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
+(WebCore::JSTestMediaQueryListListener::create):
+(WebCore::JSTestMediaQueryListListenerPrototype::create):
+(WebCore::JSTestMediaQueryListListenerConstructor::create):
+* bindings/scripts/test/JS/JSTestNamedConstructor.h:
+(WebCore::JSTestNamedConstructor::create):
+(WebCore::JSTestNamedConstructorPrototype::create):
+(WebCore::JSTestNamedConstructorConstructor::create):
+(WebCore::JSTestNamedConstructorNamedConstructor::create):
+* bindings/scripts/test/JS/JSTestObj.h:
+(WebCore::JSTestObj::create):
+(WebCore::JSTestObjPrototype::create):
+(WebCore::JSTestObjConstructor::create):
+* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
+(WebCore::JSTestSerializedScriptValueInterface::create):
+(WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
+(WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
+
 2011-12-19  James Robinson  
 
 [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired


Modified: trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.h (103294 => 103295)

--- trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.h	2011-12-20 03:16:21 UTC (rev 103294)
+++ trunk/Source/WebCore/bindings/scripts/test/JS/JSFloat64Array.h	2011-12-20 03:36:51 UTC (rev 103295)
@@ -33,7 +33,7 @@
 typedef JSArrayBufferView Base;
 static JSFloat64Array* create(JSC::Structure* structure, JSDOMGlobalObject* globalObject, PassRefPtr impl)
 {
-JSFloat64Array* ptr = new (JSC::allocateCell(globalObject->globalData().heap)) JSFloat64Array(structure, globalObject, impl);
+JSFloat64Array* ptr = new (NotNull, JSC::alloca

[webkit-changes] [103294] trunk

2011-12-19 Thread barraclough
Title: [103294] trunk








Revision 103294
Author barraclo...@apple.com
Date 2011-12-19 19:16:21 -0800 (Mon, 19 Dec 2011)


Log Message
https://bugs.webkit.org/show_bug.cgi?id=74903
Exceptions not thrown correctly from DFG JIT on 32bit

Reviewed by Oliver Hunt.

Arguments for lookupExceptionHandler are not setup correctly.
In the case of ARMv7 we rely on lr being preserved over a call,
this in invalid. On x86 we don't should be poking the arguments onto the stack!

Source/_javascript_Core: 

* bytecode/CodeBlock.h:
(JSC::CodeBlock::bytecodeOffsetForCallAtIndex):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
* dfg/DFGGPRInfo.h:
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileBody):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::addExceptionCheck):
(JSC::DFG::JITCompiler::addFastExceptionCheck):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:

LayoutTests: 

* fast/js/dfg-exception-expected.txt: Added.
* fast/js/dfg-exception.html: Added.
* fast/js/script-tests/dfg-exception.js: Added.
(doesntDFGCompile):
(test):

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/bytecode/CodeBlock.h
trunk/Source/_javascript_Core/dfg/DFGAssemblyHelpers.h
trunk/Source/_javascript_Core/dfg/DFGGPRInfo.h
trunk/Source/_javascript_Core/dfg/DFGJITCompiler.cpp
trunk/Source/_javascript_Core/dfg/DFGJITCompiler.h
trunk/Source/_javascript_Core/dfg/DFGOperations.cpp
trunk/Source/_javascript_Core/dfg/DFGOperations.h


Added Paths

trunk/LayoutTests/fast/js/dfg-exception-expected.txt
trunk/LayoutTests/fast/js/dfg-exception.html
trunk/LayoutTests/fast/js/script-tests/dfg-exception.js




Diff

Modified: trunk/LayoutTests/ChangeLog (103293 => 103294)

--- trunk/LayoutTests/ChangeLog	2011-12-20 02:54:49 UTC (rev 103293)
+++ trunk/LayoutTests/ChangeLog	2011-12-20 03:16:21 UTC (rev 103294)
@@ -1,3 +1,20 @@
+2011-12-16  Gavin Barraclough  
+
+https://bugs.webkit.org/show_bug.cgi?id=74903
+Exceptions not thrown correctly from DFG JIT on 32bit
+
+Reviewed by Oliver Hunt.
+
+Arguments for lookupExceptionHandler are not setup correctly.
+In the case of ARMv7 we rely on lr being preserved over a call,
+this in invalid. On x86 we don't should be poking the arguments onto the stack!
+
+* fast/js/dfg-exception-expected.txt: Added.
+* fast/js/dfg-exception.html: Added.
+* fast/js/script-tests/dfg-exception.js: Added.
+(doesntDFGCompile):
+(test):
+
 2011-12-19  James Robinson  
 
 [chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly


Added: trunk/LayoutTests/fast/js/dfg-exception-expected.txt (0 => 103294)

--- trunk/LayoutTests/fast/js/dfg-exception-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/js/dfg-exception-expected.txt	2011-12-20 03:16:21 UTC (rev 103294)
@@ -0,0 +1,10 @@
+This tests that exceptions are thrown correctly.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS caughtException is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/js/dfg-exception.html (0 => 103294)

--- trunk/LayoutTests/fast/js/dfg-exception.html	(rev 0)
+++ trunk/LayoutTests/fast/js/dfg-exception.html	2011-12-20 03:16:21 UTC (rev 103294)
@@ -0,0 +1,10 @@
+
+
+
+

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

2011-12-19 Thread fpizlo
Title: [103292] trunk/Source/_javascript_Core








Revision 103292
Author fpi...@apple.com
Date 2011-12-19 18:42:06 -0800 (Mon, 19 Dec 2011)


Log Message
If we detect that we can use the JIT, don't use computed opcode lookups
https://bugs.webkit.org/show_bug.cgi?id=74899


Reviewed by Gavin Barraclough.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::initialize):
(JSC::Interpreter::privateExecute):
* interpreter/Interpreter.h:
(JSC::Interpreter::getOpcode):
(JSC::Interpreter::getOpcodeID):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::JSGlobalData):

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/interpreter/Interpreter.cpp
trunk/Source/_javascript_Core/interpreter/Interpreter.h
trunk/Source/_javascript_Core/runtime/JSGlobalData.cpp




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (103291 => 103292)

--- trunk/Source/_javascript_Core/ChangeLog	2011-12-20 02:01:16 UTC (rev 103291)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-12-20 02:42:06 UTC (rev 103292)
@@ -1,3 +1,21 @@
+2011-12-19  Filip Pizlo  
+
+If we detect that we can use the JIT, don't use computed opcode lookups
+https://bugs.webkit.org/show_bug.cgi?id=74899
+
+
+Reviewed by Gavin Barraclough.
+
+* interpreter/Interpreter.cpp:
+(JSC::Interpreter::Interpreter):
+(JSC::Interpreter::initialize):
+(JSC::Interpreter::privateExecute):
+* interpreter/Interpreter.h:
+(JSC::Interpreter::getOpcode):
+(JSC::Interpreter::getOpcodeID):
+* runtime/JSGlobalData.cpp:
+(JSC::JSGlobalData::JSGlobalData):
+
 2011-12-19  Geoffrey Garen  
 
 Try to fix the Qt build.


Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (103291 => 103292)

--- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2011-12-20 02:01:16 UTC (rev 103291)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp	2011-12-20 02:42:06 UTC (rev 103292)
@@ -540,13 +540,43 @@
 Interpreter::Interpreter()
 : m_sampleEntryDepth(0)
 , m_reentryDepth(0)
+#if !ASSERT_DISABLED
+, m_initialized(false)
+#endif
+, m_enabled(false)
 {
+}
+
+void Interpreter::initialize(bool canUseJIT)
+{
 #if ENABLE(COMPUTED_GOTO_INTERPRETER)
-privateExecute(InitializeAndReturn, 0, 0);
-
-for (int i = 0; i < numOpcodeIDs; ++i)
-m_opcodeIDTable.add(m_opcodeTable[i], static_cast(i));
+if (canUseJIT) {
+// If the JIT is present, don't use jump destinations for opcodes.
+
+for (int i = 0; i < numOpcodeIDs; ++i) {
+Opcode opcode = bitwise_cast(static_cast(i));
+m_opcodeTable[i] = opcode;
+m_opcodeIDTable.add(opcode, static_cast(i));
+}
+} else {
+privateExecute(InitializeAndReturn, 0, 0);
+
+for (int i = 0; i < numOpcodeIDs; ++i)
+m_opcodeIDTable.add(m_opcodeTable[i], static_cast(i));
+
+m_enabled = true;
+}
+#else
+UNUSED_PARAM(canUseJIT);
+#if ENABLE(INTERPRETER)
+m_enabled = true;
+#else
+m_enabled = false;
+#endif
 #endif // ENABLE(COMPUTED_GOTO_INTERPRETER)
+#if !ASSERT_DISABLED
+m_initialized = true;
+#endif
 
 #if ENABLE(OPCODE_SAMPLING)
 enableSampler();
@@ -1653,6 +1683,9 @@
 return JSValue();
 }
 
+ASSERT(m_initialized);
+ASSERT(m_enabled);
+
 #if ENABLE(JIT)
 #if ENABLE(INTERPRETER)
 // Mixing Interpreter + JIT is not supported.


Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.h (103291 => 103292)

--- trunk/Source/_javascript_Core/interpreter/Interpreter.h	2011-12-20 02:01:16 UTC (rev 103291)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.h	2011-12-20 02:42:06 UTC (rev 103292)
@@ -94,26 +94,35 @@
 friend class CachedCall;
 public:
 Interpreter();
+
+void initialize(bool canUseJIT);
 
 RegisterFile& registerFile() { return m_registerFile; }
 
 Opcode getOpcode(OpcodeID id)
 {
-#if ENABLE(COMPUTED_GOTO_INTERPRETER)
-return m_opcodeTable[id];
-#else
-return id;
-#endif
+ASSERT(m_initialized);
+#if ENABLE(COMPUTED_GOTO_INTERPRETER)
+return m_opcodeTable[id];
+#else
+return id;
+#endif
 }
 
 OpcodeID getOpcodeID(Opcode opcode)
 {
-#if ENABLE(COMPUTED_GOTO_INTERPRETER)
-ASSERT(isOpcode(opcode));
-return m_opcodeIDTable.get(opcode);
-#else
-return opcode;
-#endif
+ASSERT(m_initialized);
+#if ENABLE(COMPUTED_GOTO_INTERPRETER)
+ASSERT(isOpcode(opcode));
+if (!m_enabled) {
+OpcodeID result = static_cast(bitwise_cast(opcode));
+ASSERT(result == m_opcodeIDTable.get(opcode));
+return result;
+}

[webkit-changes] [103290] trunk

2011-12-19 Thread jamesr
Title: [103290] trunk








Revision 103290
Author jam...@google.com
Date 2011-12-19 17:35:53 -0800 (Mon, 19 Dec 2011)


Log Message
[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
https://bugs.webkit.org/show_bug.cgi?id=74477

Reviewed by Kenneth Russell.

Source/WebCore:

This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
lazily setting it in the paintContents loop. There are two invariants:
1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
refers to that CCLayerTreeHost
2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
CCLayerTreeHost pointer is nil.

Covered by several new layout tests in LayerChromiumTest

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::setParent):
(WebCore::LayerChromium::setMaskLayer):
(WebCore::LayerChromium::setReplicaLayer):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::createTile):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:

Source/WebKit/chromium:

Add some new tests for LayerChromium::m_layerTreeHost behavior.

* tests/CCLayerTreeHostTest.cpp:
(::MockLayerTreeHost::create):
(::MockLayerTreeHost::MockLayerTreeHost):
(::CCLayerTreeHostTestShortlived1::beginTest):
(::CCLayerTreeHostTestShortlived2::beginTest):
(::CCLayerTreeHostTestShortlived3::beginTest):
* tests/LayerChromiumTest.cpp:

LayoutTests:

* platform/chromium/test_expectations.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/test_expectations.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h
trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
trunk/Source/WebKit/chromium/ChangeLog
trunk/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
trunk/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
trunk/Source/WebKit/chromium/tests/LayerChromiumTest.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (103289 => 103290)

--- trunk/LayoutTests/ChangeLog	2011-12-20 01:16:29 UTC (rev 103289)
+++ trunk/LayoutTests/ChangeLog	2011-12-20 01:35:53 UTC (rev 103290)
@@ -1,3 +1,12 @@
+2011-12-19  James Robinson  
+
+[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
+https://bugs.webkit.org/show_bug.cgi?id=74477
+
+Reviewed by Kenneth Russell.
+
+* platform/chromium/test_expectations.txt:
+
 2011-12-19  Jer Noble  
 
 Rebaseline results from https://bugs.webkit.org/show_bug.cgi?id=74870


Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (103289 => 103290)

--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-12-20 01:16:29 UTC (rev 103289)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-12-20 01:35:53 UTC (rev 103290)
@@ -2843,6 +2843,10 @@
 BUGWK49629 SKIP : platform/chromium/compositing/lots-of-img-layers-with-opacity.html = PASS
 BUGWK49629 SKIP : compositing/iframes/page-cache-layer-tree.html = PASS
 
+// Needs an image-only rebaseline since we no longer invalidate when setting the replica layer
+// to NULL when it already was NULL so we have no damage at the end of the test.
+BUGJAMESR : compositing/iframes/iframe-content-flipping.html = IMAGE
+
 BUGNONE SLOW WIN DEBUG GPU : fast/canvas/canvas-getImageData.html = PASS
 
 // Accelerated 2d for mac isn't supported yet, so SKIP this test for now.


Modified: trunk/Source/WebCore/ChangeLog (103289 => 103290)

--- trunk/Source/WebCore/ChangeLog	2011-12-20 01:16:29 UTC (rev 103289)
+++ trunk/Source/WebCore/ChangeLog	2011-12-20 01:35:53 UTC (rev 103290)
@@ -1,3 +1,34 @@
+2011-12-19  James Robinson  
+
+[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
+https://bugs.webkit.org/show_bug.cgi?id=74477
+
+Reviewed by Kenneth Russell.
+
+This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
+lazily setting it in the paintContents loop. There are two invariants:
+1.) If a LayerChromium 

[webkit-changes] [103289] trunk/Tools

2011-12-19 Thread dpranke
Title: [103289] trunk/Tools








Revision 103289
Author dpra...@chromium.org
Date 2011-12-19 17:16:29 -0800 (Mon, 19 Dec 2011)


Log Message
webkitpy: remove port.executive, port.filesystem, port.user properties
https://bugs.webkit.org/show_bug.cgi?id=74896

Reviewed by Eric Seidel.

Following on the refactoring of the port and host objects, this
removes the public executive, filesystem, and user properties
from the Port interface (protected versions of executive and
filesystem still exist). There is still some more clean up to
make the code more consistent and rearrange some other files to
talk to Hosts directly instead of getting them off of the Port
class.

* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager.__init__):
(Manager.results_directory):
(Manager._log_worker_stack):
* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
(ManagerTest.test_fallback_path_in_config):
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_InlineManager.start_worker):
(_InlineWorkerConnection.__init__):
* Scripts/webkitpy/layout_tests/controllers/worker.py:
(Worker.safe_init):
* Scripts/webkitpy/layout_tests/models/test_configuration.py:
(TestConfiguration.from_port):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.__init__):
(Port.tests):
(Port.show_results_html_file):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_layout_tests_skipping):
(PortTest.test_test_dirs):
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(_set_up_derived_options):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner.__init__):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
(HtmlGenerator.__init__):
(HtmlGenerator.show_html):
(real_main):
* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py:
(TestHtmlGenerator.make_generator):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_unittest.py
trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py
trunk/Tools/Scripts/webkitpy/layout_tests/controllers/worker.py
trunk/Tools/Scripts/webkitpy/layout_tests/models/test_configuration.py
trunk/Tools/Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py
trunk/Tools/Scripts/webkitpy/layout_tests/port/base.py
trunk/Tools/Scripts/webkitpy/layout_tests/port/base_unittest.py
trunk/Tools/Scripts/webkitpy/layout_tests/port/webkit_unittest.py
trunk/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py
trunk/Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py
trunk/Tools/Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py
trunk/Tools/Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests_unittest.py




Diff

Modified: trunk/Tools/ChangeLog (103288 => 103289)

--- trunk/Tools/ChangeLog	2011-12-20 01:13:37 UTC (rev 103288)
+++ trunk/Tools/ChangeLog	2011-12-20 01:16:29 UTC (rev 103289)
@@ -1,3 +1,49 @@
+2011-12-19  Dirk Pranke  
+
+webkitpy: remove port.executive, port.filesystem, port.user properties
+https://bugs.webkit.org/show_bug.cgi?id=74896
+
+Reviewed by Eric Seidel.
+
+Following on the refactoring of the port and host objects, this
+removes the public executive, filesystem, and user properties
+from the Port interface (protected versions of executive and
+filesystem still exist). There is still some more clean up to
+make the code more consistent and rearrange some other files to
+talk to Hosts directly instead of getting them off of the Port
+class.
+
+* Scripts/webkitpy/layout_tests/controllers/manager.py:
+(Manager.__init__):
+(Manager.results_directory):
+(Manager._log_worker_stack):
+* Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
+(ManagerTest.test_fallback_path_in_config):
+* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
+(_InlineManager.start_worker):
+(_InlineWorkerConnection.__init__):
+* Scripts/webkitpy/layout_tests/controllers/worker.py:
+(Worker.safe_init):
+* Scripts/webkitpy/layout_tests/models/test_configuration.py:
+(TestConfiguration.from_port):
+* Scripts/webkitpy/layout_tests/port/base.py:
+(Port.__init__):
+(Port.tests):
+(Port.show_results_html_file):
+* Scripts/webkitpy/layout_tests/port/base_unittest.py:
+(PortTest.test_layout_tests_skipping):
+(PortTest.test_test_dirs):
+* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
+(_set_up_derived_options):
+* Scripts/webkitpy/performance_tests/perftestsrunner.py:
+(PerfTestsRunner.__init__):
+* Scripts/webkitpy/to_be_moved/rebaseline_chromium_webkit_tests.py:
+(HtmlGenerator.__init__):
+(HtmlGenerator.show_html):
+(real_main):
+  

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

2011-12-19 Thread ggaren
Title: [103287] trunk/Source/_javascript_Core








Revision 103287
Author gga...@apple.com
Date 2011-12-19 17:13:08 -0800 (Mon, 19 Dec 2011)


Log Message
Try to fix the Qt build.

Unreviewed.

* wtf/ThreadSpecific.h: #include!

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/wtf/ThreadSpecific.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (103286 => 103287)

--- trunk/Source/_javascript_Core/ChangeLog	2011-12-20 01:11:36 UTC (rev 103286)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-12-20 01:13:08 UTC (rev 103287)
@@ -1,3 +1,11 @@
+2011-12-19  Geoffrey Garen  
+
+Try to fix the Qt build.
+
+Unreviewed.
+
+* wtf/ThreadSpecific.h: #include!
+
 2011-12-18  Filip Pizlo  
 
 It should be possible to change the value of an Options variable without recompiling the world


Modified: trunk/Source/_javascript_Core/wtf/ThreadSpecific.h (103286 => 103287)

--- trunk/Source/_javascript_Core/wtf/ThreadSpecific.h	2011-12-20 01:11:36 UTC (rev 103286)
+++ trunk/Source/_javascript_Core/wtf/ThreadSpecific.h	2011-12-20 01:13:08 UTC (rev 103287)
@@ -42,6 +42,7 @@
 #define WTF_ThreadSpecific_h
 
 #include 
+#include 
 
 #if USE(PTHREADS)
 #include 






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


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

2011-12-19 Thread fpizlo
Title: [103286] trunk/Source/_javascript_Core








Revision 103286
Author fpi...@apple.com
Date 2011-12-19 17:11:36 -0800 (Mon, 19 Dec 2011)


Log Message
It should be possible to change the value of an Options variable without recompiling the world
https://bugs.webkit.org/show_bug.cgi?id=74807

Reviewed by Gavin Barraclough.

* runtime/Options.cpp:
(JSC::Options::initializeOptions):
* runtime/Options.h:

Modified Paths

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




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (103285 => 103286)

--- trunk/Source/_javascript_Core/ChangeLog	2011-12-20 01:06:30 UTC (rev 103285)
+++ trunk/Source/_javascript_Core/ChangeLog	2011-12-20 01:11:36 UTC (rev 103286)
@@ -1,3 +1,14 @@
+2011-12-18  Filip Pizlo  
+
+It should be possible to change the value of an Options variable without recompiling the world
+https://bugs.webkit.org/show_bug.cgi?id=74807
+
+Reviewed by Gavin Barraclough.
+
+* runtime/Options.cpp:
+(JSC::Options::initializeOptions):
+* runtime/Options.h:
+
 2011-12-19  Sheriff Bot  
 
 Unreviewed, rolling out r103250.


Modified: trunk/Source/_javascript_Core/runtime/Options.cpp (103285 => 103286)

--- trunk/Source/_javascript_Core/runtime/Options.cpp	2011-12-20 01:06:30 UTC (rev 103285)
+++ trunk/Source/_javascript_Core/runtime/Options.cpp	2011-12-20 01:11:36 UTC (rev 103286)
@@ -44,10 +44,52 @@
 
 namespace JSC { namespace Options {
 
-#define DEFINE(type, cname, default_val) type cname;
-FOR_EACH_OPTION(DEFINE)
-#undef DEFINE
+unsigned maximumOptimizationCandidateInstructionCount;
 
+unsigned maximumFunctionForCallInlineCandidateInstructionCount;
+unsigned maximumFunctionForConstructInlineCandidateInstructionCount;
+
+unsigned maximumInliningDepth;
+
+int32_t executionCounterValueForOptimizeAfterWarmUp;
+int32_t executionCounterValueForOptimizeAfterLongWarmUp;
+int32_t executionCounterValueForDontOptimizeAnytimeSoon;
+int32_t executionCounterValueForOptimizeSoon;
+int32_t executionCounterValueForOptimizeNextInvocation;
+
+int32_t executionCounterIncrementForLoop;
+int32_t executionCounterIncrementForReturn;
+
+unsigned desiredSpeculativeSuccessFailRatio;
+
+double likelyToTakeSlowCaseThreshold;
+double couldTakeSlowCaseThreshold;
+unsigned likelyToTakeSlowCaseMinimumCount;
+unsigned couldTakeSlowCaseMinimumCount;
+
+double osrExitProminenceForFrequentExitSite;
+
+unsigned largeFailCountThresholdBase;
+unsigned largeFailCountThresholdBaseForLoop;
+
+unsigned reoptimizationRetryCounterMax;
+unsigned reoptimizationRetryCounterStep;
+
+unsigned minimumOptimizationDelay;
+unsigned maximumOptimizationDelay;
+double desiredProfileLivenessRate;
+double desiredProfileFullnessRate;
+
+double doubleVoteRatioForDoubleFormat;
+
+unsigned minimumNumberOfScansBetweenRebalance;
+unsigned gcMarkStackSegmentSize;
+unsigned minimumNumberOfCellsToKeep;
+unsigned maximumNumberOfSharedSegments;
+unsigned sharedStackWakeupThreshold;
+unsigned numberOfGCMarkers;
+unsigned opaqueRootMergeThreshold;
+
 #if ENABLE(RUN_TIME_HEURISTICS)
 static bool parse(const char* string, int32_t& value)
 {
@@ -87,35 +129,67 @@
 
 void initializeOptions()
 {
-#define INIT(type, cname, default_val) SET(cname, default_val);
-FOR_EACH_OPTION(INIT)
-#undef INIT
+SET(maximumOptimizationCandidateInstructionCount, 1000);
+
+SET(maximumFunctionForCallInlineCandidateInstructionCount, 150);
+SET(maximumFunctionForConstructInlineCandidateInstructionCount, 80);
+
+SET(maximumInliningDepth, 5);
 
-// Now we initialize heuristics whose defaults are not known at
-// compile-time.
+SET(executionCounterValueForOptimizeAfterWarmUp, -1000);
+SET(executionCounterValueForOptimizeAfterLongWarmUp, -5000);
+SET(executionCounterValueForDontOptimizeAnytimeSoon, std::numeric_limits::min());
+SET(executionCounterValueForOptimizeSoon,-1000);
+SET(executionCounterValueForOptimizeNextInvocation,  0);
 
-if (!gcMarkStackSegmentSize)
-gcMarkStackSegmentSize = pageSize();
+SET(executionCounterIncrementForLoop,   1);
+SET(executionCounterIncrementForReturn, 15);
 
-if (!numberOfGCMarkers) {
-int cpusToUse = 1;
+SET(desiredSpeculativeSuccessFailRatio, 6);
+
+SET(likelyToTakeSlowCaseThreshold,0.15);
+SET(couldTakeSlowCaseThreshold,   0.05); // Shouldn't be zero because some ops will spuriously take slow case, for example for linking or caching.
+SET(likelyToTakeSlowCaseMinimumCount, 100);
+SET(couldTakeSlowCaseMinimumCount,10);
+
+SET(osrExitProminenceForFrequentExitSite, 0.3);
+
+SET(largeFailCountThresholdBase,20);
+SET(largeFailCountThresholdBaseForLoop, 1);
+
+SET(reoptimizationRetryCounterStep, 1);
+
+SET(minimumOptimizationDelay,   1);
+SET(maximumOptimizationDelay,   5);
+SET(desiredProfileLivenessRa

[webkit-changes] [103285] trunk/LayoutTests

2011-12-19 Thread jer . noble
Title: [103285] trunk/LayoutTests








Revision 103285
Author jer.no...@apple.com
Date 2011-12-19 17:06:30 -0800 (Mon, 19 Dec 2011)


Log Message
Rebaseline results from https://bugs.webkit.org/show_bug.cgi?id=74870

Unreviewed; rebaseline only.

* media/media-controller-playback-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/media/media-controller-playback-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (103284 => 103285)

--- trunk/LayoutTests/ChangeLog	2011-12-20 01:03:22 UTC (rev 103284)
+++ trunk/LayoutTests/ChangeLog	2011-12-20 01:06:30 UTC (rev 103285)
@@ -1,3 +1,11 @@
+2011-12-19  Jer Noble  
+
+Rebaseline results from https://bugs.webkit.org/show_bug.cgi?id=74870
+
+Unreviewed; rebaseline only.
+
+* media/media-controller-playback-expected.txt:
+
 2011-12-19  Tony Chang  
 
 [chromium] Unreviewed, mark svg/filters/big-sized-filter.svg as slow in debug.


Modified: trunk/LayoutTests/media/media-controller-playback-expected.txt (103284 => 103285)

--- trunk/LayoutTests/media/media-controller-playback-expected.txt	2011-12-20 01:03:22 UTC (rev 103284)
+++ trunk/LayoutTests/media/media-controller-playback-expected.txt	2011-12-20 01:06:30 UTC (rev 103285)
@@ -1,14 +1,14 @@
  
 RUN(controller = video.controller)
 EVENT(canplaythrough)
-RUN(controller.currentTime = 5)
-EXPECTED (video.currentTime == '5') OK
-EXPECTED (video2.currentTime == '5') OK
 RUN(video.play())
 RUN(video2.play())
 RUN(controller.play())
 EVENT(playing)
 EXPECTED (controller.paused == 'false') OK
+RUN(controller.currentTime = 5)
+EXPECTED (video.currentTime == '5') OK
+EXPECTED (video2.currentTime == '5') OK
 EVENT(ended)
 END OF TEST
 






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


[webkit-changes] [103284] trunk/LayoutTests

2011-12-19 Thread tony
Title: [103284] trunk/LayoutTests








Revision 103284
Author t...@chromium.org
Date 2011-12-19 17:03:22 -0800 (Mon, 19 Dec 2011)


Log Message
[chromium] Unreviewed, mark svg/filters/big-sized-filter.svg as slow in debug.

* platform/chromium/test_expectations.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/chromium/test_expectations.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (103283 => 103284)

--- trunk/LayoutTests/ChangeLog	2011-12-20 00:57:07 UTC (rev 103283)
+++ trunk/LayoutTests/ChangeLog	2011-12-20 01:03:22 UTC (rev 103284)
@@ -1,3 +1,9 @@
+2011-12-19  Tony Chang  
+
+[chromium] Unreviewed, mark svg/filters/big-sized-filter.svg as slow in debug.
+
+* platform/chromium/test_expectations.txt:
+
 2011-12-19  Joshua Bell  
 
 IndexedDB multiple calls to transaction.objectStore(name) should return the same instance


Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (103283 => 103284)

--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-12-20 00:57:07 UTC (rev 103283)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-12-20 01:03:22 UTC (rev 103284)
@@ -39,6 +39,7 @@
 BUGCR24182 SLOW SNOWLEOPARD DEBUG : fast/js/repeat-cached-vm-reentry.html = PASS
 BUGCR24182 SLOW SNOWLEOPARD DEBUG : fast/dom/Window/window-postmessage-clone-deep-array.html = PASS
 BUGCR24182 SLOW SNOWLEOPARD DEBUG : fast/frames/calculate-percentage.html = PASS
+BUGCR24182 SLOW DEBUG : svg/filters/big-sized-filter.svg = PASS
 // See BUGCR104797
 
 BUGWK74787 DEBUG SLOW : fast/js/dfg-poison-fuzz.html = PASS
@@ -2949,7 +2950,6 @@
 // Slow
 BUGCR76550 SLOW LINUX WIN DEBUG : fast/dom/Window/window-function-frame-getter-precedence.html = PASS
 BUGCR76550 MAC DEBUG : fast/dom/Window/window-function-frame-getter-precedence.html = PASS TIMEOUT
-BUGCR76578 LINUX DEBUG : svg/filters/big-sized-filter.svg = PASS TIMEOUT
 
 // New and flaky
 BUGCR76552 DEBUG : fast/dom/HTMLScriptElement/dont-load-unknown-type.html = PASS TEXT






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


[webkit-changes] [103283] trunk

2011-12-19 Thread commit-queue
Title: [103283] trunk








Revision 103283
Author commit-qu...@webkit.org
Date 2011-12-19 16:57:07 -0800 (Mon, 19 Dec 2011)


Log Message
IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
https://bugs.webkit.org/show_bug.cgi?id=60208

Patch by Joshua Bell  on 2011-12-19
Reviewed by Tony Chang.

Source/WebCore:

Ditto for calls to IDBObjectStore.index(). Calling these methods after the
enclosing transaction has finished now consistently throws an error, which
allows us to break reference cycles.

Test: storage/indexeddb/mozilla/object-identity.html

* storage/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
* storage/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::transactionFinished):
* storage/IDBObjectStore.h:
* storage/IDBTransaction.cpp:
(WebCore::IDBTransaction::objectStore):
(WebCore::IDBTransaction::objectStoreCreated):
(WebCore::IDBTransaction::dispatchEvent):
* storage/IDBTransaction.h:

LayoutTests:

* storage/indexeddb/mozilla/object-identity-expected.txt: Added.
* storage/indexeddb/mozilla/object-identity.html: Added.
* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
* storage/indexeddb/transaction-and-objectstore-calls.html:
* storage/indexeddb/tutorial.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls-expected.txt
trunk/LayoutTests/storage/indexeddb/transaction-and-objectstore-calls.html
trunk/LayoutTests/storage/indexeddb/tutorial.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/storage/IDBDatabase.cpp
trunk/Source/WebCore/storage/IDBObjectStore.cpp
trunk/Source/WebCore/storage/IDBObjectStore.h
trunk/Source/WebCore/storage/IDBTransaction.cpp
trunk/Source/WebCore/storage/IDBTransaction.h


Added Paths

trunk/LayoutTests/storage/indexeddb/mozilla/object-identity-expected.txt
trunk/LayoutTests/storage/indexeddb/mozilla/object-identity.html




Diff

Modified: trunk/LayoutTests/ChangeLog (103282 => 103283)

--- trunk/LayoutTests/ChangeLog	2011-12-20 00:52:59 UTC (rev 103282)
+++ trunk/LayoutTests/ChangeLog	2011-12-20 00:57:07 UTC (rev 103283)
@@ -1,3 +1,16 @@
+2011-12-19  Joshua Bell  
+
+IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
+https://bugs.webkit.org/show_bug.cgi?id=60208
+
+Reviewed by Tony Chang.
+
+* storage/indexeddb/mozilla/object-identity-expected.txt: Added.
+* storage/indexeddb/mozilla/object-identity.html: Added.
+* storage/indexeddb/transaction-and-objectstore-calls-expected.txt:
+* storage/indexeddb/transaction-and-objectstore-calls.html:
+* storage/indexeddb/tutorial.html:
+
 2011-12-19  Tony Chang  
 
 [chromium] Unreviewed, adding a bug number for svg/carto.net/selectionlist.svg.


Added: trunk/LayoutTests/storage/indexeddb/mozilla/object-identity-expected.txt (0 => 103283)

--- trunk/LayoutTests/storage/indexeddb/mozilla/object-identity-expected.txt	(rev 0)
+++ trunk/LayoutTests/storage/indexeddb/mozilla/object-identity-expected.txt	2011-12-20 00:57:07 UTC (rev 103283)
@@ -0,0 +1,34 @@
+Test IndexedDB: object identity
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;
+PASS indexedDB == null is false
+indexedDB.open(name, description)
+db = event.target.result
+request = db.setVersion('1')
+transaction = event.target.transaction;
+Deleted all object stores.
+objectStore1 = db.createObjectStore('foo');
+objectStore2 = transaction.objectStore('foo');
+PASS objectStore1 === objectStore2 is true
+index1 = objectStore1.createIndex('bar', 'key');
+index2 = objectStore2.index('bar');
+PASS index1 === index2 is true
+transaction._oncomplete_ = testIdentitySomeMore;
+transaction = db.transaction('foo');
+objectStore3 = transaction.objectStore('foo');
+objectStore4 = transaction.objectStore('foo');
+PASS objectStore3 === objectStore4 is true
+PASS objectStore3 === objectStore1 is false
+PASS objectStore4 === objectStore2 is false
+index3 = objectStore3.index('bar');
+index4 = objectStore4.index('bar');
+PASS index3 === index4 is true
+PASS index3 === index1 is false
+PASS index4 === index2 is false
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/storage/indexeddb/mozilla/object-identity.html (0 => 103283)

--- trunk/LayoutTests/storage/indexeddb/mozilla/object-identity.html	(rev 0)
+++ trunk/LayoutTests/storage/indexeddb/mozilla/object-identity.html	2011-12-20 00:57:07 UTC (rev 103283)
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+

+
+