Timeline


and

01/19/10:

23:46 Changeset [53525] by rolandsteiner@chromium.org
  • 7 edits
    28 adds
    2 deletes in trunk

Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
(https://bugs.webkit.org/show_bug.cgi?id=33266)

Reviewed by Dan Bernstein.

WebCore:

Ruby did not handle malformed cases correctly when the ruby base was in
block flow. Changed the code to handle all possible cases.
Also, added some simplification methods to RenderBlock.

Tests: fast/ruby/ruby-illegal-1.html

fast/ruby/ruby-illegal-2.html
fast/ruby/ruby-illegal-3.html
fast/ruby/ruby-illegal-4.html
fast/ruby/ruby-illegal-5.html
fast/ruby/ruby-illegal-6.html
fast/ruby/ruby-illegal-7.html
fast/ruby/ruby-illegal-combined.html
fast/ruby/rubyDOM-insert-rt-block-1.html
fast/ruby/rubyDOM-insert-rt-block-2.html
fast/ruby/rubyDOM-insert-rt-block-3.html
fast/ruby/rubyDOM-remove-rt-block-1.html
fast/ruby/rubyDOM-remove-rt-block-2.html
fast/ruby/rubyDOM-remove-rt-block-3.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
(WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo

  • rendering/RenderBlock.h:
  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
(WebCore::RenderRubyBase::moveChildren):
(WebCore::RenderRubyBase::moveInlineChildren):
(WebCore::RenderRubyBase::moveBlockChildren):
(WebCore::RenderRubyBase::mergeBlockChildren):

  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::addChild):
(WebCore::RenderRubyRun::removeChild):

LayoutTests:

Layout tests for ruby with malformed HTML.
Split up in individual tests, as well ass added a single combined test
(whose resulting render tree is probably completely different from what
you'd expect), since that combined test showed additional issues not
covered by the individual tests.

  • fast/ruby/ruby-illegal-1-expected.txt: Added.
  • fast/ruby/ruby-illegal-1.html: Added.
  • fast/ruby/ruby-illegal-2-expected.txt: Added.
  • fast/ruby/ruby-illegal-2.html: Added.
  • fast/ruby/ruby-illegal-3-expected.txt: Added.
  • fast/ruby/ruby-illegal-3.html: Added.
  • fast/ruby/ruby-illegal-4-expected.txt: Added.
  • fast/ruby/ruby-illegal-4.html: Added.
  • fast/ruby/ruby-illegal-5-expected.txt: Added.
  • fast/ruby/ruby-illegal-5.html: Added.
  • fast/ruby/ruby-illegal-6-expected.txt: Added.
  • fast/ruby/ruby-illegal-6.html: Added.
  • fast/ruby/ruby-illegal-7-expected.txt: Added.
  • fast/ruby/ruby-illegal-7.html: Added.
  • fast/ruby/ruby-illegal-combined-expected.txt: Added.
  • fast/ruby/ruby-illegal-combined.html: Added.
  • fast/ruby/ruby-illegal-expected.txt: Removed.
  • fast/ruby/ruby-illegal.html: Removed.
  • fast/ruby/rubyDOM-insert-rt-block-1-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-1.html: Added.
  • fast/ruby/rubyDOM-insert-rt-block-2-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-2.html: Added.
  • fast/ruby/rubyDOM-insert-rt-block-3-expected.txt: Added.
  • fast/ruby/rubyDOM-insert-rt-block-3.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-1-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-1.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-2-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-2.html: Added.
  • fast/ruby/rubyDOM-remove-rt-block-3-expected.txt: Added.
  • fast/ruby/rubyDOM-remove-rt-block-3.html: Added.
21:57 Changeset [53524] by mitz@apple.com
  • 2 edits in trunk/WebCore

Build fix after r53514

  • WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
21:45 Changeset [53523] by simon.fraser@apple.com
  • 2 edits in trunk/WebCore

2010-01-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

Avoid calling NSEqualRects() on the garbage rect obtained
by calling -frame on a null view.

  • platform/mac/WidgetMac.mm: (WebCore::Widget::setFrameRect):
21:34 Changeset [53522] by mitz@apple.com
  • 5 edits in trunk/WebKit

WebKit: Redo DumpRenderTree build fix without making WebTypesInternal.h a private header

  • WebKit.xcodeproj/project.pbxproj:

WebKit/mac: Redo Tiger build fix without making WebTypesInternal.h a private header

  • WebView/WebHTMLRepresentation.h: Define and use WebNSUInteger.
  • WebView/WebHTMLRepresentation.mm: Import WebTypesInternal.h.
21:18 Changeset [53521] by simon.fraser@apple.com
  • 2 edits in trunk/WebKit

2010-01-19 Simon Fraser <simon.fraser@apple.com>

Build fix, no review.

Fix build of DumpRenderTree by making the header WebTypesInternal.h Private
in WebKit.

  • WebKit.xcodeproj/project.pbxproj:
21:08 Changeset [53520] by mitz@apple.com
  • 5 edits in trunk/WebKit/mac

<rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests

Patch by Anders Carlsson <andersca@apple.com> on 2009-12-18
Reviewed by Dan Bernstein.

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:

(WebKit::NetscapePluginInstanceProxy::waitForReply): Wrapped with calls
to willCallPluginFunction/didCallPluginFunction. This prevents the plug-in
from being stopped while waiting for reply.

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::createBindingsInstance): Protect the
instance proxy in case the plug-in host crashes while waiting for reply.

  • Plugins/Hosted/ProxyInstance.h:

(WebKit::ProxyInstance::waitForReply): Added. Calls through to
NetscapePluginInstanceProxy::waitForReply(), but returns a null reply if the
proxy gets invalidated while waiting for the reply.

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyInstance::invoke): Use ProxyInstance::waitForReply().
(WebKit::ProxyInstance::supportsInvokeDefaultMethod): Ditto.
(WebKit::ProxyInstance::supportsConstruct): Ditto.
(WebKit::ProxyInstance::getPropertyNames): Ditto.
(WebKit::ProxyInstance::methodsNamed): Ditto.
(WebKit::ProxyInstance::fieldNamed): Ditto.
(WebKit::ProxyInstance::fieldValue): Ditto.
(WebKit::ProxyInstance::setFieldValue): Ditto.

20:09 Changeset [53519] by sullivan@apple.com
  • 2 edits in trunk/WebKit/mac

Tiger build fix.

  • WebView/WebHTMLRepresentation.h:

Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.

19:43 Changeset [53518] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Adam Barth <abarth@webkit.org>

Rubber stamped by Eric Seidel.

Move chromium-ews back to building release only to make the EWS faster.

  • Scripts/webkitpy/commands/early_warning_system.py:
19:24 Changeset [53517] by mjs@apple.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Remove currentWorld from the exports file again, since it is now inline.

  • WebCore.base.exp:
19:05 Changeset [53516] by bweinstein@apple.com
  • 9 edits in trunk

JavaScriptCore: When JavaScriptCore calls Debugger::Exception, have it pass a
hasHandler variable that represents if exception is being handled
in the same function (not in a parent on the call stack).

Reviewed by Tim Hatcher.

This just adds a new parameter, no behavior is changed.

  • debugger/Debugger.h:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::throwException):

WebCore: Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.

Reviewed by Tim Hatcher.

Update JavaScriptDebugServer::exception to take a hasHandler parameter,
so later we can differentiate between a caught and an uncaught exception.

This just adds a new parameter, no behavior is changed.

No change in functionality, so no tests.

  • inspector/JavaScriptDebugServer.cpp:

(WebCore::JavaScriptDebugServer::exception):

  • inspector/JavaScriptDebugServer.h:

WebKit/mac: Part of <http://webkit.org/b/28622>.
Caught exceptions still pause the debugger.

Reviewed by Tim Hatcher.

Update WebScriptDebugger::exception to have the hasHandler parameter.

This just adds a new parameter, no behavior is changed.

  • WebView/WebScriptDebugger.h:
  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::exception):

18:30 Writing Layout Tests for DumpRenderTree edited by tkent@chromium.org
Add description of parameters of eventSender.mouseDown(), and add … (diff)
18:27 Changeset [53515] by jhoneycutt@apple.com
  • 3 edits in trunk/WebKit/chromium

Chromium build fix.

  • public/WebAccessibilityRole.h:

(WebKit::):
Correct enum names.

  • src/LocalizedStrings.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

18:25 Changeset [53514] by mjs@apple.com
  • 23 edits in trunk

2010-01-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adam Barth.

Inline functions that are hot in DOM manipulation
https://bugs.webkit.org/show_bug.cgi?id=33820


(3% speedup on Dromaeo DOM Core tests)

  • runtime/WeakGCMap.h: (JSC::::get): inline

2010-01-18 Maciej Stachowiak <mjs@apple.com>

Reviewed by Adam Barth.

Inline functions that are hot in DOM manipulation
https://bugs.webkit.org/show_bug.cgi?id=33820

(3% speedup on Dromaeo DOM Core tests)

  • bindings/js/JSDOMBinding.h: (WebCore::currentWorld): Inlined. (WebCore::jsString): Inlined String& overload and split off slow case.
  • bindings/js/JSDOMBinding.cpp: (WebCore::jsStringSlowCase): Slow case for the above.
  • dom/Document.h: (WebCore::Document::isHTMLDocument): Use a bit and an inline method instead of a virtual method, since this is so hot and size of Document is not a prime concern. (WebCore::Document::create): Adapt for above. (WebCore::Document::createXHTML): ditto
  • dom/Document.cpp: (WebCore::Document::Document): ditto
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument): ditto
  • html/HTMLDocument.h: ditto
  • loader/PlaceholderDocument.h: (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
  • svg/SVGDocument.cpp: (WebCore::SVGDocument::SVGDocument): ditto
  • dom/Element.h: (WebCore::Element::attributes): Inlined. (WebCore::Element::updateId): Inlined.
  • dom/Element.cpp: (Remove inlined methods.)
  • dom/NamedAttrMap.h: (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
  • dom/NamedAttrMap.cpp: (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
  • inspector/InspectorController.cpp:
  • inspector/InspectorController.h: (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case early exit doesn't incur a function call. (WebCore::InspectorController::didRemoveDOMNode): ditto (WebCore::InspectorController::didModifyDOMAttr): ditto
  • platform/ThreadGlobalData.h: (WebCore::threadGlobalData): Inlined.
  • platform/ThreadGlobalData.cpp: (Removed inline methods).
  • platform/Timer.h: (WebCore::TimerBase::isActive): Inlined.
  • platform/Timer.cpp: (Removed inline methods).
  • WebCore.xcodeproj/project.pbxproj: Install new heares.
  • WebCore.base.exp: Add appropriate exports.
18:03 Changeset [53513] by jhoneycutt@apple.com
  • 5 edits in trunk

Chromium build fix.

WebCore:

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Call correct function.

WebKit/chromium:

  • public/WebAccessibilityRole.h:

(WebKit::):

  • src/AssertMatchingEnums.cpp:
17:43 Changeset [53512] by jhoneycutt@apple.com
  • 37 edits
    2 copies
    6 adds in trunk

MSAA: The child <option> elements of a non-multiple <select> are not
exposed

https://bugs.webkit.org/show_bug.cgi?id=33773
<rdar://problem/7550556>

WebCore:

Reviewed by Alice Liu.

This exposes the child <option> elements in a format similar to
Firefox's: the <select> element has one child, a hidden list object,
and this list has as its children the <option> elements.

  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Add new files to project.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):
If the element is a RenderMenuList, create an AccessibilityMenuList.
(WebCore::AXObjectCache::getOrCreate):
Add new types to create by role value.

  • accessibility/AccessibilityMenuList.cpp: Added.

(WebCore::AccessibilityMenuList::AccessibilityMenuList):
Call the base class constructor. Assert that the RenderObject passed
is a RenderMenuList.
(WebCore::AccessibilityMenuList::press):
Show or hide the popup menu.
(WebCore::AccessibilityMenuList::addChildren):
Create an AccessibilityMenuListPopup. If the platform ignores its
accessibility, remove it from the object cache and return early.
Otherwise, set its parent object to this object, add it to our list of
children, and tell it to add its children.
(WebCore::AccessibilityMenuList::childrenChanged):
Tell our child hidden list that its children changed.
(WebCore::AccessibilityMenuList::isCollapsed):
Return whether the popup menu is visible.

  • accessibility/AccessibilityMenuList.h: Added.

(WebCore::AccessibilityMenuList::create):
Adopt and return a new RenderMenuList.
(WebCore::AccessibilityMenuList::isMenuList):
(WebCore::AccessibilityMenuList::roleValue):
(WebCore::AccessibilityMenuList::accessibilityIsIgnored):
(WebCore::AccessibilityMenuList::canSetFocusAttribute):

  • accessibility/AccessibilityMenuListOption.cpp: Added.

(WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
Initialize the pointer to our parent popup menu.
(WebCore::AccessibilityMenuListOption::setElement):
Assert that the element is an <option> element.
(WebCore::AccessibilityMenuListOption::actionElement):
Return our element.
(WebCore::AccessibilityMenuListOption::parentObject):
Return our parent popup menu.
(WebCore::AccessibilityMenuListOption::isEnabled):
Return true if the element itself is enabled.
(WebCore::AccessibilityMenuListOption::isVisible):
Return true if the popup is visible, or return true if the popup is
collapsed but the element is selected.
(WebCore::AccessibilityMenuListOption::isOffScreen):
Return true if the object is invisible.
(WebCore::AccessibilityMenuListOption::isSelected):
(WebCore::AccessibilityMenuListOption::setSelected):
(WebCore::AccessibilityMenuListOption::nameForMSAA):
Return the <option> element's text.
(WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
Return true if enabled.
(WebCore::AccessibilityMenuListOption::elementRect):
Return the AccessibilityMenuList's rect.

  • accessibility/AccessibilityMenuListOption.h: Added.

(WebCore::AccessibilityMenuListOption::create):
Adopt and return a new AccessibilityMenuListOption.
(WebCore::AccessibilityMenuListOption::setParent):
(WebCore::AccessibilityMenuListOption::isMenuListOption):
(WebCore::AccessibilityMenuListOption::roleValue):
(WebCore::AccessibilityMenuListOption::canHaveChildren):
(WebCore::AccessibilityMenuListOption::size):

  • accessibility/AccessibilityMenuListPopup.cpp: Added.

(WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
Initialize the pointer to our parent list.
(WebCore::AccessibilityMenuListPopup::isVisible):
Return false; we're never considered visible.
(WebCore::AccessibilityMenuListPopup::isOffScreen):
Return true if the popup is collapsed.
(WebCore::AccessibilityMenuListPopup::parentObject):
Return our parent AccessibilityMenuList.
(WebCore::AccessibilityMenuListPopup::isEnabled):
Return true if our parent is enabled.
(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
If the element is an <option> element, create a list item for it, and
set the object's element to this element.
(WebCore::AccessibilityMenuListPopup::press):
Call our parent's press() function to show or hide the popup menu.
(WebCore::AccessibilityMenuListPopup::addChildren):
Walk the select element's children, and create list items for them. Add
them to our list of children.
(WebCore::AccessibilityMenuListPopup::childrenChanged):
If any of our children have been detached from the document, remove
them from the AXObjectCache and from our child list.
(WebCore::AccessibilityMenuListPopup::setMenuList):

  • accessibility/AccessibilityMenuListPopup.h: Added.

(WebCore::AccessibilityMenuListPopup::create):
Adopt and return an AccessibilityMenuListPopup.
(WebCore::AccessibilityMenuListPopup::isMenuListPopup):
(WebCore::AccessibilityMenuListPopup::elementRect):
(WebCore::AccessibilityMenuListPopup::size):
(WebCore::AccessibilityMenuListPopup::roleValue):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::actionVerb):
Add the menuListAction and menuListPopupAction verbs.

  • accessibility/AccessibilityObject.h:

(WebCore::):
Add new roles.
(WebCore::AccessibilityObject::isMenuList):
Stubbed.
(WebCore::AccessibilityObject::isMenuListHiddenList):
Stubbed.
(WebCore::AccessibilityObject::isMenuListOption):
Stubbed.
(WebCore::AccessibilityObject::isVisible):
Stubbed.

  • accessibility/chromium/AccessibilityObjectChromium.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ignore the new object type.

  • accessibility/gtk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/qt/AccessibilityObjectQt.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ditto.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Allow the new object types.

  • accessibility/wx/AccessibilityObjectWx.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Ignore the new object type.

  • accessibility/win/AccessibilityObjectWin.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
If the object is an AccessibilityMenuListHiddenList or
AccessibilityMenuListOption, include it.

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::disabled):
Call ownElementDisabled().

  • html/HTMLOptionElement.h:

(WebCore::HTMLOptionElement::ownElementDisabled):
Return the base class implementation of disabled, which returns
whether this <option> itself is disabled.

  • platform/LocalizedStrings.h:

Declare new localized string functions.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/haiku/LocalizedStringsHaiku.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/mac/LocalizedStringsMac.mm:

(WebCore::AXMenuListPopupActionVerb):
Call the view factory's method.
(WebCore::AXMenuListActionVerb):
Ditto.

  • platform/qt/Localizations.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

  • platform/wx/LocalizedStringsWx.cpp:

(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

WebKit:

Reviewed by Alice Liu.

  • English.lproj/Localizable.strings:

Add new localized strings.

WebKit/mac:

  • WebCoreSupport/WebViewFactory.mm:

(-[WebViewFactory AXMenuListPopupActionVerb]):
Stubbed.
(-[WebViewFactory AXMenuListActionVerb]):
Stubbed.

WebKit/win:

Reviewed by Alice Liu.

  • AccessibleBase.cpp:

(AccessibleBase::get_accState):
If the object is invisible, set the invisible state flag. If the object
is collapsed, set the collapsed state. If the object is a combo box,
set the has popup flag, and if it's not collapsed, set the expanded
flag.
(MSAARole):
Add new WebCore to MSAA role mappings.

  • WebCoreLocalizedStrings.cpp:

(WebCore::AXMenuListActionVerb):
Return the action verb that Firefox uses for <select> elements with
popups.
(WebCore::AXMenuListPopupActionVerb):
Return the verb that Firefox uses for a popup list.

WebKitTools:

Reviewed by Alice Liu.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(getIsVisibleCallback):
Call the object's isVisible() function.
(getIsOffScreenCallback):
Ditto, for isOffScreen().
(getIsCollapsedCallback):
Ditto, for isCollapsed().
(getHasPopupCallback):
Ditto, for hasPopup().
(AccessibilityUIElement::getJSClass):
Add isVisible and isOffScreen attributes.

  • DumpRenderTree/AccessibilityUIElement.h:

Declare new functions.

  • DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:

(AccessibilityUIElement::isVisible):
Stubbed.
(AccessibilityUIElement::isOffScreen):
Stubbed.
(AccessibilityUIElement::isCollapsed):
Stubbed.
(AccessibilityUIElement::hasPopup):
Stubbed.

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::isVisible):
Stubbed.
(AccessibilityUIElement::isOffScreen):
Stubbed.
(AccessibilityUIElement::isCollapsed):
Stubbed.
(AccessibilityUIElement::hasPopup):
Stubbed.

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::showMenu):
Call the object's accDoDefaultAction() to show its popup menu.
(AccessibilityUIElement::isEnabled):
Check that the object does not have the "unavailable" state.
(AccessibilityUIElement::isVisible):
Check that the object does not have the "invisible" state.
(AccessibilityUIElement::isOffScreen):
Check whether the object has the "offscreen" state.
(AccessibilityUIElement::isCollapsed):
Check whether the object has the "collapsed" state.
(AccessibilityUIElement::hasPopup):
Check whether the object has the "has popup" state.

LayoutTests:

Reviewed by Alice Liu.

  • platform/win/accessibility/single-select-children-expected.txt: Added.
  • platform/win/accessibility/single-select-children.html: Added.
17:16 Changeset [53511] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.1.19

Tagging 1.1.19.

17:10 Changeset [53510] by simon.fraser@apple.com
  • 8 edits
    4 adds in trunk

2010-01-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

Support reflections on WebGL
https://bugs.webkit.org/show_bug.cgi?id=33754

Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
WebGL content gets displayed, we correctly copy its content to the clone layers.

Test: compositing/webgl/webgl-reflection.html

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter which is the layer that displayed.
  • platform/graphics/mac/Canvas3DLayer.mm: (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
  • platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content layer, since we're setting it for WebGL layers now.

(WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
as well as the main layer now, getting the correct layer to copy contents from, and using
the correct clone map.

(WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
layers, because we need the didDisplay() callback.

  • platform/graphics/mac/WebLayer.mm: (-[WebLayer display]): didDisplay() takes a layer argument.
  • platform/graphics/mac/WebTiledLayer.mm: (-[WebTiledLayer display]): ditto.
16:58 Changeset [53509] by mrowe@apple.com
  • 2 edits in trunk/WebCore

<rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray

Reviewed by Oliver Hunt.

Rework toArray to extract elements in to a vector rather than handing out raw pointers. This prevents
callers from forgetting to free the memory, and gives them the option of using stack buffers for
sufficiently small allocations.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::texSubImage2D):
(WebCore::toVector):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

16:57 Changeset [53508] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Victor Wang <victorw@chromium.org>

Reviewed by Eric Seidel.

Correct committer name.
https://bugs.webkit.org/show_bug.cgi?id=33868

  • Scripts/webkitpy/committers.py:
16:37 Changeset [53507] by simon.fraser@apple.com
  • 3 edits in trunk/WebCore

2010-01-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

Occasional crash when interacting with page with reflected WebGL
https://bugs.webkit.org/show_bug.cgi?id=33863

If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
then we would determine that the layer does not require compositing, and tear down its
backing (without clearing replicaLayer() on the source layer's GraphicsLayer).

Fix by changing requiresCompositingLayer() on a reflection layer to always give the
same answer for a reflection and its original.

Also add various belt-and-brances code and null checks to ensure that if we ever end up
with a non-composited reflection layer, we won't crash.

No new tests, because the crash depends on timing issues that are hard to reproduce in a test.

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer pointer if tearing down backing store of a reflection.

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
(WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
use the source layer to answer the question.

16:09 Changeset [53506] by eric@webkit.org
  • 5 edits
    6 adds in trunk

2010-01-19 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Another crazy counters bug
https://bugs.webkit.org/show_bug.cgi?id=11031
Added tests for dynamic DOM changes affecting counters.

  • fast/css/counters/counter-increment-002.html: Added.
  • fast/css/counters/counter-reset-000.html: Added.
  • fast/css/counters/counter-reset-002.html: Added.
  • fast/css/counters/counter-increment-002-expected.txt: Added.
  • fast/css/counters/counter-reset-000-expected.txt: Added.
  • fast/css/counters/counter-reset-002-expected.txt: Added.

2010-01-19 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

Another crazy counters bug
https://bugs.webkit.org/show_bug.cgi?id=11031

This patch actually provides for counter updating when the style
of a renderer changes.

Tests: fast/css/counters/counter-increment-002.html

fast/css/counters/counter-reset-000.html
fast/css/counters/counter-reset-002.html

  • rendering/RenderCounter.cpp: (WebCore::RenderCounter::rendererStyleChanged): This function is added to update the counter hierarchy in response to changes to the style of a renderer.
  • rendering/RenderCounter.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleDidChange): For changes that may include the counter directives added a call to RenderCounter::rendererStyleChanged.
15:59 Changeset [53505] by kov@webkit.org
  • 2 edits in trunk

Unreviewed. Shared library versioning bump for 1.1.19.

15:53 Changeset [53504] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Land correct expected results - forgot to update them after changing test output.

  • fast/dom/Attr/child-nodes-cache-expected.txt:
15:51 Changeset [53503] by kov@webkit.org
  • 4 edits in trunk

Unreviewed. Build fixes for make distcheck.

15:49 Changeset [53502] by ojan@chromium.org
  • 6 edits in trunk/LayoutTests

2010-01-19 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

More flaky animation/transitions tests
https://bugs.webkit.org/show_bug.cgi?id=33872

Undo my previous changes decreasing test times. This ended up
increasing flakiness.

  • animations/change-one-anim-expected.txt:
  • animations/change-one-anim.html:
  • animations/combo-transform-translate+scale.html:
  • transitions/shorthand-border-transitions-expected.txt:
  • transitions/shorthand-border-transitions.html:
15:32 Changeset [53501] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Oliver Hunt.

https://bugs.webkit.org/show_bug.cgi?id=33850
Attr.childNodes does not get updated after DOM mutations

Test: fast/dom/Attr/child-nodes-cache.html

  • dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
15:22 Changeset [53500] by sullivan@apple.com
  • 15 edits in trunk

https://bugs.webkit.org/show_bug.cgi?id=33854
Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns
more info about where the result was found

WebCore:

Reviewed by Darin Adler.

No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.

  • WebCore.base.exp:

Updated mangled signature for export.

  • page/Frame.cpp:

(WebCore::Frame::searchForLabelsAboveCell):
Now fills in an out parameter with the number of characters from the start of the cell.
(WebCore::Frame::searchForLabelsBeforeElement):
Now fills in an out parameter with the distance as a number of characters, and another
with a bool for whether the result was in a table cell above the current cell (otherwise
it was found in the text before this element and after the previous element or start of form).

  • page/Frame.h:

Updated signatures.

  • page/mac/FrameMac.mm:

(WebCore::Frame::searchForNSLabelsAboveCell):
Same as above. This is a parallel copy of the function using Mac-specific data structures.
(WebCore::Frame::searchForLabelsBeforeElement):
Ditto

WebKit/mac:

Reviewed by Darin Adler

  • WebView/WebHTMLRepresentation.h:

Declare -searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation searchForLabels:beforeElement:]):
Now calls through to searchForLabels:beforeElement:resultDistance:resultIsInCellAbove.
(-[WebHTMLRepresentation searchForLabels:beforeElement:resultDistance:resultIsInCellAbove:]):
New method, calls through to WebCore.

WebKit/win:

Reviewed by Darin Adler

  • Interfaces/IWebHTMLRepresentation.idl:

Created variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

  • Interfaces/WebKit.idl:

Touched in order to get other idl change to propagate correctly.

  • WebHTMLRepresentation.cpp:

(WebHTMLRepresentation::deprecatedSearchForLabels):
Renamed since iDL doesn't support two functions with the same name but different signatures.
(WebHTMLRepresentation::searchForLabels):
Implemented variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

  • WebHTMLRepresentation.h:

Declared variant of searchForLabels that includes additional in/out parameters resultDistance and resultIsInCellAbove.

15:09 Changeset [53499] by jpetsovits@rim.com
  • 1 edit
    7 adds in trunk/WebCore

2010-01-19 Jakob Petsovits <jpetsovits@rim.com>

Reviewed by Nikolas Zimmermann.

[OpenVG] Add (EGL) surface/context management
https://bugs.webkit.org/show_bug.cgi?id=33403

The foundations for a new OpenVG port.

OpenVG is not tied to EGL per se, EGL just happens to be
the only usable backend for OpenVG state and painting
at the time of writing.

The purpose of the SurfaceOpenVG class is to provide
an EGL-independent interface for OpenVG-specific code.
The EGLDisplayOpenVG class takes care of keeping track
of EGL displays, surfaces and contexts. It also makes
sure that all created contexts are interoperable, and
that different surfaces use a single context if possible.

  • platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added. (WebCore::displayManagers): (WebCore::EGLDisplayOpenVG::currentSurface): (WebCore::EGLDisplayOpenVG::registerPlatformSurface): (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface): (WebCore::EGLDisplayOpenVG::setCurrentDisplay): (WebCore::EGLDisplayOpenVG::current): (WebCore::EGLDisplayOpenVG::forDisplay): (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG): (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig): (WebCore::EGLDisplayOpenVG::defaultPbufferConfig): (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig): (WebCore::EGLDisplayOpenVG::defaultWindowConfig): (WebCore::EGLDisplayOpenVG::sharedPlatformSurface): (WebCore::EGLDisplayOpenVG::createPbufferSurface): (WebCore::EGLDisplayOpenVG::surfaceForWindow): (WebCore::EGLDisplayOpenVG::surfacesCompatible): (WebCore::EGLDisplayOpenVG::destroySurface): (WebCore::EGLDisplayOpenVG::contextForSurface):
  • platform/graphics/openvg/EGLDisplayOpenVG.h: Added. (WebCore::EGLDisplayOpenVG::display):
  • platform/graphics/openvg/EGLUtils.h: Added. (toEGLErrorConstant):
  • platform/graphics/openvg/SurfaceOpenVG.cpp: Added. (WebCore::SurfaceOpenVG::currentSurface): (WebCore::SurfaceOpenVG::SurfaceOpenVG): (WebCore::SurfaceOpenVG::~SurfaceOpenVG): (WebCore::SurfaceOpenVG::isValid): (WebCore::SurfaceOpenVG::width): (WebCore::SurfaceOpenVG::height): (WebCore::SurfaceOpenVG::sharedSurface): (WebCore::SurfaceOpenVG::makeCurrent): (WebCore::SurfaceOpenVG::makeCompatibleCurrent): (WebCore::SurfaceOpenVG::flush):
  • platform/graphics/openvg/SurfaceOpenVG.h: Added. (WebCore::SurfaceOpenVG::eglDisplay): (WebCore::SurfaceOpenVG::eglSurface): (WebCore::SurfaceOpenVG::eglContext):
  • platform/graphics/openvg/VGUtils.h: Added. (toVGErrorConstant):
14:50 Changeset [53498] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

[DRT][Mac] Add modifiers parameter to eventSender.mouseDown() and eventSender.mouseUp()
https://bugs.webkit.org/show_bug.cgi?id=33783

Some listbox tests check selection behavior by click events with
"meta" or "shift" keys. Behaviors for such modifier keys are
platform-dependent. The new parameter of mouseDown() and mouseUp()
allows to specify not only concrete modifier keys such as
"shiftKey" "metaKey", but also functional names like
"addSelectionKey" "rangeSelectionKey".

  • DumpRenderTree/mac/EventSendingController.mm: (+[EventSendingController isSelectorExcludedFromWebScript:]): (+[EventSendingController webScriptNameForSelector:]): (buildModifierFlags): (-[EventSendingController mouseDown:withModifiers:]): (-[EventSendingController mouseDown:]): (-[EventSendingController mouseUp:withModifiers:]): (-[EventSendingController mouseUp:]): (-[EventSendingController keyDown:withModifiers:withLocation:]):
14:36 Changeset [53497] by steveblock@google.com
  • 15 edits
    4 moves in trunk/WebCore

Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
https://bugs.webkit.org/show_bug.cgi?id=33843

Reviewed by David Levin.

No new tests, refactoring only.

  • Android.jscbindings.mk:
  • Android.v8bindings.mk:
  • GNUmakefile.am:
  • WebCore.xcodeproj/project.pbxproj:
  • bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
  • bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
  • bridge/jni/jni_jsobject.mm:
  • bridge/jni/jni_objc.mm:
  • bridge/jni/jni_runtime.cpp:
  • bridge/jni/jni_runtime.h:
  • bridge/jni/jni_utility.cpp: Removed.
  • bridge/jni/jni_utility.h: Removed.
  • bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
  • bridge/jni/jsc/JavaClassJSC.cpp:
  • bridge/jni/jsc/JavaInstanceJSC.cpp:
  • bridge/jni/jsc/JavaStringJSC.h:
  • bridge/jni/jsc/jni_utility_private.cpp: Removed.
  • bridge/jni/jsc/jni_utility_private.h: Removed.
  • platform/android/GeolocationServiceBridge.cpp:
  • platform/android/GeolocationServiceBridge.h:
  • platform/android/TemporaryLinkStubs.cpp:
14:30 Changeset [53496] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-19 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Unbreak --request-commit
https://bugs.webkit.org/show_bug.cgi?id=33832

  • Scripts/webkitpy/bugzilla.py:
14:18 Changeset [53495] by simon.fraser@apple.com
  • 3 edits
    8 adds in trunk

2010-01-19 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein.

Some composited reflections incorrectly positioned
https://bugs.webkit.org/show_bug.cgi?id=33856

When setting the position of the replicated layer inside the reflection, we need to take
into account the bounds of the original layer, and the replica layer to get the
reflection in the right place.

Tests: compositing/reflections/nested-reflection-transformed2.html

compositing/reflections/reflection-positioning2.html

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
14:17 Changeset [53494] by enrica@apple.com
  • 3 edits
    2 adds in trunk

WebCore: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=33864
<rdar://problem/7552959>

Reviewed by Simon Fraser.

Regression has been introduced by changeset 53085.
The original fix had to be limited to editable content.

Test: editing/selection/selection-applet.html

  • dom/Position.cpp:

(WebCore::Position::getInlineBoxAndOffset):

LayoutTests: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
https://bugs.webkit.org/show_bug.cgi?id=33864
<rdar://problem/7552959>

Reviewed by Simon Fraser.

  • editing/selection/selection-applet-expected.txt: Added.
  • editing/selection/selection-applet.html: Added.
14:14 Changeset [53493] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Kristian Amlie <kristian.amlie@nokia.com>

Reviewed by Laszlo Gombos.

[Qt] Fix qmake warning with qmake in Qt for Symbian
https://bugs.webkit.org/show_bug.cgi?id=33786

  • WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
14:14 Changeset [53492] by ojan@chromium.org
  • 4 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

LayoutTests/animations/play-state.html and LayoutTests/transitions/cancel-transition.html are still flaky
https://bugs.webkit.org/show_bug.cgi?id=33748

  • animations/play-state-expected.txt:
  • animations/play-state.html: Undo my previous change of decreasing the length of the test. I think that made it more flaky. Also increase the tolerance.
  • transitions/cancel-transition.html: Undo my previous change of moving the setTimeout. It was correct where it was. Added a comment to make it more clear. The tolerances were increased since then though, so this test should no longer be flaky after this.
14:10 Changeset [53491] by jpetsovits@rim.com
  • 1 edit in trunk/WebKitTools/Scripts/webkitpy/committers.py

Adding myself to committers.py.

13:53 Changeset [53490] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Darin Adler.

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

Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
returns the rectangle of the document within the content view of
the scroll view (i.e. the rectangle not including scrollbars) when
the parameter includeScrollbars == true

Currently, this behavior contradicts both the comment in ScrollView.h
for method visibleContentRect as well as the behavior in
ScrollView::visibleContentRect() for a platform-independent scroll view.

Instead, it should return the rectangle whose dimensions include
the scrollbars.

Also, removes some extra whitespace at the end of the lines.

No tests included because we cannot test this using either DRT
or a manual test.

  • platform/mac/ScrollViewMac.mm: (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true then return the rectangle whose dimensions are that of the frame (i.e. -[NSScrollView frame]).
13:51 Changeset [53489] by steveblock@google.com
  • 3 edits in trunk/WebCore

Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
https://bugs.webkit.org/show_bug.cgi?id=33819

Reviewed by David Levin.

No new tests, style fixes only.

  • bridge/jni/jsc/JavaClassJSC.cpp: Modified.
  • bridge/jni/jsc/JavaClassJSC.h: Modified.
13:49 Changeset [53488] by eric@webkit.org
  • 10 edits in trunk

2010-01-19 Jaime Yap <jaimeyap@google.com>

Reviewed by Pavel Feldman.

Test changes to accomodate refactor of TimelineRecordFactory and InspectorTimelineAgent to
support reporting data when closing a record.

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

  • inspector/timeline-layout-expected.txt:
  • inspector/timeline-parse-html-expected.txt:
  • inspector/timeline-recalculate-styles-expected.txt:

2010-01-19 Jaime Yap <jaimeyap@google.com>

Reviewed by Pavel Feldman.

Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
when closing a record. Also includes grabbing the start and end line number for parse HTML
records as a reference use case for the above refactor

Tests updated:

inspector/timeline-parse-html-expected.txt
inspector/timeline-layout-expected.txt
inspector/timeline-recalculate-styles-expected.txt

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

  • html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
  • inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willDispatchEvent): (WebCore::InspectorTimelineAgent::willLayout): (WebCore::InspectorTimelineAgent::willRecalculateStyle): (WebCore::InspectorTimelineAgent::willPaint): (WebCore::InspectorTimelineAgent::willWriteHTML): (WebCore::InspectorTimelineAgent::didWriteHTML): (WebCore::InspectorTimelineAgent::didInstallTimer): (WebCore::InspectorTimelineAgent::didRemoveTimer): (WebCore::InspectorTimelineAgent::willFireTimer): (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): (WebCore::InspectorTimelineAgent::willLoadXHR): (WebCore::InspectorTimelineAgent::willEvaluateScript): (WebCore::InspectorTimelineAgent::willSendResourceRequest): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didFinishLoadingResource): (WebCore::InspectorTimelineAgent::didMarkTimeline): (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): (WebCore::InspectorTimelineAgent::pushCurrentRecord):
  • inspector/InspectorTimelineAgent.h: (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
  • inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createEventDispatchData): (WebCore::TimelineRecordFactory::createGenericTimerData): (WebCore::TimelineRecordFactory::createTimerInstallData): (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData): (WebCore::TimelineRecordFactory::createXHRLoadData): (WebCore::TimelineRecordFactory::createEvaluateScriptData): (WebCore::TimelineRecordFactory::createMarkTimelineData): (WebCore::TimelineRecordFactory::createResourceSendRequestData): (WebCore::TimelineRecordFactory::createResourceReceiveResponseData): (WebCore::TimelineRecordFactory::createResourceFinishData): (WebCore::TimelineRecordFactory::createPaintData): (WebCore::TimelineRecordFactory::createParseHTMLData):
  • inspector/TimelineRecordFactory.h:
13:31 Changeset [53487] by eric@webkit.org
  • 4 edits in trunk

2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30883
[Gtk] Implement AtkText for HTML elements which contain text

Moves the text assembling functionality from getPangoLayoutForAtk to
textForObject, which webkit_accessible_text_get_text now falls back on
when it comes up empty.

Adds a check in textForObject so that we don't double-add newlines
when we have a BR.

  • accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (textForObject): (getPangoLayoutForAtk): (webkit_accessible_text_get_text):

2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>

Reviewed by Xan Lopez.

https://bugs.webkit.org/show_bug.cgi?id=30883
[Gtk] Implement AtkText for HTML elements which contain text

Adds two news tests.

  • tests/testatk.c (testWebkitAtkGetTextInParagraphAndBodySimple): (testWebkitAtkGetTextInParagraphAndBodyModerate): (main):
13:07 Changeset [53486] by eric.carlson@apple.com
  • 3 edits
    2 adds in trunk

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

error events don't fire if no <source> elements passed to media engine
https://bugs.webkit.org/show_bug.cgi?id=33855

Test: media/video-source-error-no-candidate.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if there is no 'src' attribute and no <source> child elements at all.

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

error events don't fire if no <source> elements passed to media engine
https://bugs.webkit.org/show_bug.cgi?id=33855

  • media/video-source-error-no-candidate-expected.txt: Added.
  • media/video-source-error-no-candidate.html: Added.
13:04 Changeset [53485] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-19 Daniel Bates <dbates@webkit.org>

Reviewed by Adam Roben.

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

REGRESSION(r53273): Fixes redefinition of XFORM error when building
WebKit using Qt Windows with the MinGW compiler.


Note, MinGW has a slightly different declaration of the struct XFORM
from that in the Microsoft SDK. So, we need to substitute an alternative
typedef for XFORM when compiling with MinGW.

No functionality was changed. So, no new tests.

  • platform/graphics/transforms/TransformationMatrix.h:
12:53 Changeset [53484] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-19 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

validate-committer-lists throws exception and committers.py needs a refresh
https://bugs.webkit.org/show_bug.cgi?id=33831

  • Scripts/validate-committer-lists: use webkit_logging
  • Scripts/webkitpy/committers.py: Add recently minted committers. Fix Simon Hausmanns email address list to include his webkit-committers@lists address.
12:40 Changeset [53483] by mrowe@apple.com
  • 4 edits in trunk

Versioning.

12:39 Changeset [53482] by mrowe@apple.com
  • 1 copy in tags/Safari-532.8

New tag.

12:22 Changeset [53481] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

News items for 1.1.19.

  • NEWS:
12:19 Changeset [53480] by senorblanco@chromium.org
  • 2 edits in trunk/WebCore

Fix for crash on large TransparencyWin allocation. The fix is
to leave m_layerValid false when the allocPixels of
OwnedBuffers::m_referenceBitmap fails. Then TransparencyWin won't
attempt to use it.

Reviewed by Dimitri Glazkov.

Will be covered by a new unit test in Chromium's test_shell_tests (when
this is rolled into Chromium).

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

  • platform/graphics/chromium/TransparencyWin.cpp:

(WebCore::TransparencyWin::initializeNewContext):
Early return when m_referenceBitmap or its pixels is NULL, leaving
m_layerValid false.

11:48 Changeset [53479] by laszlo.1.gombos@nokia.com
  • 2 edits in trunk/JavaScriptCore

2010-01-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>

Unreviewed build fix for JIT with RVCT.

Remove IMPORT statement; cti_vm_throw is already defined in JITStubs.h.
Remove extra ')'.

  • jit/JITStubs.cpp: (JSC::ctiVMThrowTrampoline):
11:31 Changeset [53478] by eric.carlson@apple.com
  • 4 edits
    2 adds in trunk

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
https://bugs.webkit.org/show_bug.cgi?id=33744

Test: media/video-source-none-supported.html

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if

there are no valid source elements.

(WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
(WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie

hasn't reached HAVE_METADATA and there are no more <source> elements to try.

  • html/HTMLMediaElement.h: Declare waitForSourceChange.

2010-01-19 Eric Carlson <eric.carlson@apple.com>

Reviewed by Adam Roben.

video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
https://bugs.webkit.org/show_bug.cgi?id=33744

  • media/video-source-none-supported-expected.txt: Added.
  • media/video-source-none-supported.html: Added.
11:11 Changeset [53477] by kov@webkit.org
  • 3 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

[GTK] More crashes related to the clipboard management
https://bugs.webkit.org/show_bug.cgi?id=33746

Pass the WebKitWebView object (which is a GObject, thus
ref-counted) to the clipboard functions instead of passing the
Page - this allows us to explicitely protect the object inbetween
the clipboard call and its callbacks, which fixes the crash.

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::EditorClient::respondToChangedSelection):
  • WebCoreSupport/PasteboardHelperGtk.cpp: (WebKit::getClipboardContentsCallback): (WebKit::clearClipboardContentsCallback): (WebKit::PasteboardHelperGtk::writeClipboardContents):
10:48 Changeset [53476] by dbates@webkit.org
  • 4 edits
    10 adds in trunk

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Adam Treat.

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

Implements an optimization to ignore fixed background images
(i.e. background-attachment: fixed) when a page does not contain
any fixed position elements so as to allow fast repaints (via bit
blit) when scrolling a page.

Currently, if a page has elements that specify either a fixed
background or a fixed position then we perform a slow repaint
(i.e disable blitting) so as to avoid rendering artifacts.
However, on low-powered/mobile devices slow repaints can cause
noticeable delays when scrolling a page with a fixed background
image. By sacrificing support for fixed background images when
there are no fixed elements on the page and with come care, we
don't need to force slow repaints and can avoid rendering artifacts.
Hence, on such devices we can improve the responsiveness of
scrolling a page with a fixed background image.

Note, this optimization is only enabled if the WebKit is built
with FAST_MOBILE_SCROLLING enabled.

Tests: fast/fast-mobile-scrolling/fixed-position-element.html

fast/fast-mobile-scrolling/no-fixed-position-elements.html

  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Disable fixed background attachment if we can blit on scroll.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):

2010-01-19 Daniel Bates <dbates@rim.com>

Reviewed by Adam Treat.

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

Tests that fixed background images are ignored when there are no
fixed elements on a page and honored otherwise.

Note, includes expected failure results for the test
fast/fast-mobile-scrolling/no-fixed-position-elements.html, since
the Mac and Windows ports do not support FAST_MOBILE_SCROLLING.

  • fast/fast-mobile-scrolling: Added.
  • fast/fast-mobile-scrolling/fixed-position-element.html: Added.
  • fast/fast-mobile-scrolling/no-fixed-position-elements.html: Added.
  • platform/mac/fast/fast-mobile-scrolling: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.checksum: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.png: Added.
  • platform/mac/fast/fast-mobile-scrolling/fixed-position-element-expected.txt: Added.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.checksum: Added.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.png: Added. Expected failure result since the Mac port does not enable FAST_MOBILE_SCROLLING.
  • platform/mac/fast/fast-mobile-scrolling/no-fixed-position-elements-expected.txt: Added. Expected failure result since the Mac port does not enable FAST_MOBILE_SCROLLING.
10:29 Changeset [53475] by aroben@apple.com
  • 2 edits in trunk/WebKit/win

Windows build fix

  • WebScriptWorld.cpp: Added missing #include.
10:26 Changeset [53474] by hyatt@apple.com
  • 2 edits in trunk/WebCore

Build bustage fix. Land modified WebCore.base.exp file that includes export of currentWorld().

  • WebCore.base.exp:
10:24 Changeset [53473] by hyatt@apple.com
  • 2 edits in trunk/WebKit/win

Build bustage fix. Make sure the newly added scriptWorldForGlobalContext function is [local] in the IDL.

  • Interfaces/IWebScriptWorld.idl:
10:17 Changeset [53472] by beidson@apple.com
  • 3 edits
    2 adds in trunk

Crash in Page::backForwardList when using History object from a detached window
<rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828

Reviewed by Alexey Proskuryakov.

WebCore:

Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html

  • page/History.cpp:

(WebCore::History::stateObjectAdded): Do an early return when detached. The spec

doesn't really cover expected behavior and we already do something similar in
other places, such as in History::length().

LayoutTests:

  • fast/loader/stateobjects/state-api-on-detached-frame-crash-expected.txt: Added.
  • fast/loader/stateobjects/state-api-on-detached-frame-crash.html: Added.
10:11 Changeset [53471] by sfalken@apple.com
  • 1 edit in trunk/WebKit/win/Interfaces/WebKit.idl

Touch WebKit.idl to fix build.

09:53 Changeset [53470] by hyatt@apple.com
  • 7 edits in trunk/WebKit

WebKit/mac: Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.

Reviewed by Adam Roben.

  • WebView/WebScriptWorld.h:
  • WebView/WebScriptWorld.mm:

(+[WebScriptWorld scriptWorldForGlobalContext:]):

WebKit/win: Add an API to obtain a WebScriptWorld from a JSGlobalContextRef.

Reviewed by Adam Roben.

  • Interfaces/IWebScriptWorld.idl:
  • WebScriptWorld.cpp:

(WebScriptWorld::scriptWorldForGlobalContext):

  • WebScriptWorld.h:
09:00 Changeset [53469] by yurys@chromium.org
  • 42 edits in trunk

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by NOBODY (build fix).

Revert r53467. Browser crashes on opening inspector if there
are messages in console.

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::inspectedWindow): (WebCore::JSInjectedScriptHost::wrapCallback): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::wrapObject): (WebCore::JSInjectedScriptHost::unwrapObject): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptController.cpp:
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h:
  • bindings/js/ScriptValue.cpp: (WebCore::ScriptValue::quarantineValue):
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h:
  • bindings/v8/ScriptValue.h: (WebCore::ScriptValue::quarantineValue):
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp: (WebCore::V8InjectedScriptHost::inspectedWindowCallback): (WebCore::V8InjectedScriptHost::wrapCallbackCallback): (WebCore::V8InjectedScriptHost::wrapObjectCallback): (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::wrapObject): (WebCore::InjectedScriptHost::unwrapObject):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::wrapObject): (WebCore::InspectorController::unwrapObject): (WebCore::InspectorController::releaseWrapperObjectGroup): (WebCore::InspectorController::resetInjectedScript):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.completions): (WebInspector.ConsoleView.prototype.doEvalInWindow): (WebInspector.ConsoleView.prototype._formatnode): (WebInspector.ConsoleView.prototype._formatarray):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (InjectedScript.dispatch): (InjectedScript.toggleStyleEnabled): (InjectedScript._serializeRule): (InjectedScript._serializeStyle): (InjectedScript.getProperties): (InjectedScript.setPropertyValue): (InjectedScript._evaluateAndWrap): (InjectedScript.getCallFrames): (InjectedScript._inspectObject): (InjectedScript._ensureCommandLineAPIInstalled): (InjectedScript._resolveObject): (InjectedScript._window): (InjectedScript._objectForId): (InjectedScript.createProxyObject): (InjectedScript.executeSql): (InjectedScript.executeSql.errorCallback): (InjectedScript.executeSql.queryTransaction): (Object.type): (String.prototype.escapeCharacters):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback): (WebInspector.MetricsSidebarPane.prototype.update): (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
  • inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectPropertiesSection.prototype.update): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy): (WebInspector.ObjectProxy.getPropertiesAsync):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback): (WebInspector.PropertiesSidebarPane.prototype.update):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylesSidebarPane.prototype.update): (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by NOBODY (build fix).

Revert r53467. Browser crashes on opening inspector if there
are messages in console.

  • inspector/styles-iframe.html:
07:48 Companies and Organizations that have contributed to WebKit edited by xan@webkit.org
(diff)
06:50 Changeset [53468] by steveblock@google.com
  • 2 edits in trunk/WebKit/mac

Unreviewed build fix.

Fixes Snow Leopard build due to http://trac.webkit.org/changeset/53464

  • Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>
06:27 Changeset [53467] by yurys@chromium.org
  • 42 edits in trunk

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

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

  • bindings/js/JSInjectedScriptHostCustom.cpp: (WebCore::JSInjectedScriptHost::databaseForId): (WebCore::JSInjectedScriptHost::currentCallFrame): (WebCore::JSInjectedScriptHost::nodeForId): (WebCore::JSInjectedScriptHost::pushNodePathToFrontend): (WebCore::JSInjectedScriptHost::selectDatabase): (WebCore::JSInjectedScriptHost::selectDOMStorage):
  • bindings/js/ScriptController.cpp: (WebCore::ScriptController::mainWorldScriptState):
  • bindings/js/ScriptController.h:
  • bindings/js/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/js/ScriptValue.cpp:
  • bindings/js/ScriptValue.h:
  • bindings/v8/ScriptObject.h: (WebCore::ScriptObject::scriptState):
  • bindings/v8/ScriptValue.h:
  • bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
  • inspector/ConsoleMessage.cpp: (WebCore::ConsoleMessage::ConsoleMessage): (WebCore::ConsoleMessage::addToConsole): (WebCore::ConsoleMessage::isEqual):
  • inspector/ConsoleMessage.h:
  • inspector/InjectedScriptHost.cpp: (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
  • inspector/InjectedScriptHost.h:
  • inspector/InjectedScriptHost.idl:
  • inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::setInjectedScriptSource): (WebCore::InspectorBackend::dispatchOnInjectedScript): (WebCore::InspectorBackend::releaseWrapperObjectGroup):
  • inspector/InspectorBackend.h:
  • inspector/InspectorBackend.idl:
  • inspector/InspectorController.cpp: (WebCore::InspectorController::InspectorController): (WebCore::InspectorController::clearConsoleMessages): (WebCore::InspectorController::inspectedWindowScriptObjectCleared): (WebCore::InspectorController::windowScriptObjectAvailable): (WebCore::InspectorController::scriptObjectReady): (WebCore::InspectorController::setFrontendProxyObject): (WebCore::InspectorController::close): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didPause): (WebCore::InspectorController::injectedScriptForNodeId):
  • inspector/InspectorController.h:
  • inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::addConsoleMessage): (WebCore::InspectorFrontend::pausedScript):
  • inspector/InspectorFrontend.h:
  • inspector/front-end/AuditsPanel.js: (WebInspector.AuditsPanel.prototype._reloadResources):
  • inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype.requestClearMessages): (WebInspector.ConsoleView.prototype.doEvalInWindow):
  • inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): (WebInspector.CSSStyleDeclaration): (WebInspector.CSSStyleDeclaration.parseRule):
  • inspector/front-end/Database.js: (WebInspector.Database.prototype.executeSql):
  • inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode): (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): (WebInspector.ElementsPanel.prototype.setDocument): (WebInspector.ElementsPanel.prototype.searchCanceled): (WebInspector.ElementsPanel.prototype.performSearch):
  • inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
  • inspector/front-end/EventListenersSidebarPane.js: ():
  • inspector/front-end/InjectedScript.js: (injectedScriptConstructor): (injectedScriptConstructor.):
  • inspector/front-end/InjectedScriptAccess.js: (InjectedScriptAccess): (InjectedScriptAccess.getDefault): (get InjectedScriptAccess): (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName): (InjectedScriptAccess._installHandler):
  • inspector/front-end/MetricsSidebarPane.js: (WebInspector.MetricsSidebarPane): (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/ObjectProxy.js: (WebInspector.ObjectProxy):
  • inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
  • inspector/front-end/ScriptsPanel.js:
  • inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype):
  • inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update):
  • inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.pausedScript): (WebInspector.addConsoleMessage): (WebInspector.log.logMessage): (WebInspector.log):

2010-01-19 Yury Semikhatsky <yurys@chromium.org>

Reviewed by Pavel Feldman.

Inject inspector script directly into the inspected context. All the
communication between the script and the frontend is serialized into
JSON strings. It allows to get rid of object quarantines in Web Inspector.

Refactor test case due to InjectedScriptAccess changes.

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

  • inspector/styles-iframe.html:
06:04 Changeset [53466] by hamaji@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-19 MORITA Hajime <morrita@gmail.com>

Reviewed by Shinichiro Hamaji.

[Chromium] layout_test on linux fails on doubleclick-beside-cr-span.html

Place larger margins before clicking position to grab certain words
instead of clicking blank, whitespaces or tabs before that words.
Note that widths of rendered tab characters are hard to predict,
So such margins are particularly helpful with them.

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

  • editing/selection/doubleclick-beside-cr-span.html: Fix to compute click position using actual character width.
04:30 Changeset [53465] by steveblock@google.com
  • 2 edits in trunk/WebCore

Unreviewed build fix.

Fixes Windows build due to http://trac.webkit.org/changeset/53464
Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]

No new tests, build fix only.

  • WebCore.vcproj/WebCore.vcproj:
03:51 Changeset [53464] by steveblock@google.com
  • 43 edits
    2 moves in trunk

Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33801

Reviewed by Adam Barth.

03:04 Changeset [53463] by ossy@webkit.org
  • 3 edits in trunk/LayoutTests

[Qt] REGRESSION (r53450): 3 tests fail on Qt bot
https://bugs.webkit.org/show_bug.cgi?id=33834

Reviewed by Kenneth Rohde Christiansen.

  • platform/qt/Skipped:
    • css1/box_properties/acid_test.html skipped.
    • fast/forms/textarea-scrollbar-height.html skipped.
  • platform/qt/css1/font_properties/font-expected.txt: updated.
02:50 WebKit Team edited by ossy@webkit.org
typo fix (diff)
01:06 Changeset [53462] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-19 Xan Lopez <xlopez@igalia.com>

svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
https://bugs.webkit.org/show_bug.cgi?id=33835

Skip flakey test.

  • platform/gtk/Skipped:
00:56 Changeset [53461] by xan@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

2010-01-19 Xan Lopez <xlopez@igalia.com>

New baseline for failing test.

  • platform/gtk/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
00:39 Changeset [53460] by ggaren@apple.com
  • 7 edits
    2 adds in trunk

JavaScriptCore: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.

  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp:

(JSC::Heap::destroy): Moved ASSERTs to here.
(JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its
setter to the function that does the shrinking.
(JSC::Heap::freeBlocks): Implemented above algorithm.
(JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

WebCore: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController): Removed some
ASSERTs that have moved to JavaScriptCore.

LayoutTests: REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Reviewed by Oliver Hunt.

Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added.

(Dummy):

  • fast/workers/worker-gc2.html: Added.
00:25 Changeset [53459] by barraclough@apple.com
  • 6 edits
    2 deletes in trunk

Reverting r53455, breaks 2 javascriptcore tests.

Reviewed by NOBODY (build fix).

JavaScriptCore:

  • API/JSContextRef.cpp:
  • runtime/Collector.cpp:

(JSC::Heap::destroy):
(JSC::Heap::freeBlock):
(JSC::Heap::freeBlocks):
(JSC::Heap::shrinkBlocks):

WebCore:

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):

LayoutTests:

  • fast/workers/resources/worker-gc2.js: Removed.
  • fast/workers/worker-gc2.html: Removed.
00:25 WebKit Team edited by eric@webkit.org
(diff)
00:20 WebKit Team edited by abarth@webkit.org
(diff)
00:19 WebKit Team edited by abarth@webkit.org
(diff)
00:14 Changeset [53458] by ggaren@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Forgot to add this test result.

  • fast/workers/worker-gc2-expected.txt: Added.
00:05 Changeset [53457] by xan@webkit.org
  • 2 edits in trunk/LayoutTests

2010-01-19 Xan Lopez <xlopez@igalia.com>

Skip tests generating new results.

  • platform/gtk/Skipped:

01/18/10:

23:58 WebKit Team edited by abarth@webkit.org
(diff)
23:22 Changeset [53456] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

Revert r53454, since it causes much sadness in this world.

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by NOBODY (build fix).

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

23:00 Changeset [53455] by ggaren@apple.com
  • 6 edits
    2 adds in trunk

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

This bug was caused by a GC-protected object being destroyed early by
Heap::destroy. Clients of the GC protect APIs (reasonably) expect pointers
to GC-protected memory to be valid.

The solution is to do two passes of tear-down in Heap::destroy. The first
pass tears down all unprotected objects. The second pass ASSERTs that all
previously protected objects are now unprotected, and then tears down
all perviously protected objects. These two passes simulate the two passes
that would have been required to free a protected object during normal GC.


  • API/JSContextRef.cpp: Removed some ASSERTs that have moved into Heap.
  • runtime/Collector.cpp: (JSC::Heap::destroy): Moved ASSERTs to here. (JSC::Heap::freeBlock): Tidied up the use of didShrink by moving its setter to the function that does the shrinking. (JSC::Heap::freeBlocks): Implemented above algorithm. (JSC::Heap::shrinkBlocks): Tidied up the use of didShrink.

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826

Test: fast/workers/worker-gc2.html

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::~WorkerScriptController): Removed some ASSERTs that have moved to JavaScriptCore.

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
https://bugs.webkit.org/show_bug.cgi?id=33826


Added a test for this edge case.

  • fast/workers/resources/worker-gc2.js: Added. (Dummy):
  • fast/workers/worker-gc2.html: Added.
21:51 Changeset [53454] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Patch by Gavin Barraclough <barraclough@apple.com> on 2010-01-18
Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

20:32 Changeset [53453] by dbates@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

2010-01-18 Daniel Bates <dbates@webkit.org>

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

Unreviewed. Add expected results for Windows.

  • platform/win/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
19:10 Changeset [53452] by dbates@webkit.org
  • 10 edits
    2 adds in trunk

2010-01-18 Daniel Bates <dbates@webkit.org>

Reviewed by Darin Adler.

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

Implements all of the alphabetic CSS3 list-style-types as per
section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.

Test: fast/lists/w3-css3-list-styles-alphabetic.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseValue): Updated comment to include added list-style-types.
  • css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types, alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
  • css/CSSValueKeywords.in:
  • inspector/front-end/CSSSourceSyntaxHighlighter.js: (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types and alphabetized array valueKeywords.
  • platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
  • rendering/RenderListMarker.cpp: (WebCore::toAlphabetic): (WebCore::listMarkerSuffix): Added. (WebCore::listMarkerText): (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix. (WebCore::RenderListMarker::calcPrefWidths): Ditto. (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
  • rendering/style/RenderStyle.h: (WebCore::):
  • rendering/style/RenderStyleConstants.h: (WebCore::):

2010-01-18 Daniel Bates <dbates@webkit.org>

Reviewed by Darin Adler.

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

Tests that all of the alphabetic CSS3 list-style-types are supported.

  • fast/lists/w3-css3-list-styles-alphabetic.html: Added.
  • platform/mac/fast/lists/w3-css3-list-styles-alphabetic-expected.txt: Added.
19:08 Changeset [53451] by dbates@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@webkit.org>

Unreviewed, fix misspelling of the word maximum in comment.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::maximum):
18:59 Changeset [53450] by mitz@apple.com
  • 17 edits in trunk

Rubber-stamped by Sam Weinig.

<rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change

WebCore:

Reverted r49567.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeLogicalBoxHeights):

  • rendering/RenderBR.cpp:

(WebCore::RenderBR::lineHeight):

  • rendering/style/RenderStyle.h:

(WebCore::InheritedFlags::computedLineHeight):

LayoutTests:

Reverted r49567, but left in the test added in that revision, now with a failing result.

  • css1/font_properties/font.html:
  • fast/css/line-height-rounding-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-00-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-01-d-g-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-02-d-expected.txt:
  • platform/mac/css2.1/t090501-c414-flt-ln-03-d-expected.txt:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.checksum:
  • platform/mac/svg/custom/scrolling-embedded-svg-file-image-repaint-problem-expected.txt:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.checksum:
  • platform/mac/svg/custom/svg-fonts-in-html-expected.txt:
18:56 Changeset [53449] by steveblock@google.com
  • 4 edits
    1 add in trunk/WebCore

Moves JSC-specific implementation of JavaString to a private implementation class.
https://bugs.webkit.org/show_bug.cgi?id=33558

Reviewed by Adam Barth.

Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.

No new tests, refactoring only.

  • WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
  • bridge/jni/jni_class.cpp: Modified.

(JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.

  • bridge/jni/jni_runtime.h: Modified.

(JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
(JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
(JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
(JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.

  • bridge/jni/jsc/JavaStringJSC.h: Added.

(JSC::Bindings::JavaStringImpl::~JavaStringImpl):
(JSC::Bindings::JavaStringImpl::init):
(JSC::Bindings::JavaStringImpl::UTF8String):
(JSC::Bindings::JavaStringImpl::uchars):
(JSC::Bindings::JavaStringImpl::length):
(JSC::Bindings::JavaStringImpl::uString):

18:53 Changeset [53448] by eric@webkit.org
  • 4 edits in trunk

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • fast/css/parsing-error-recovery.html:

2010-01-18 Yuzo Fujishima <yuzo@google.com>

Reviewed by Darin Adler.

Skip an error after invalid blocks in a CSS expression.
https://bugs.webkit.org/show_bug.cgi?id=33650

  • css/CSSGrammar.y:
18:22 Changeset [53447] by barraclough@apple.com
  • 5 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler & Oliver Hunt.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):

18:20 WikiStart edited by skyul@company100.net
(diff)
18:17 Changeset [53446] by zimmermann@webkit.org
  • 32 edits
    12 adds in trunk

2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml

svg/custom/relative-sized-shadow-tree-content.xhtml

Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)

Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.

Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.

updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
lazily recloning the shadow tree if necessary.

Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.

Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
as expected, and resize on window changes - affecting lots of testcases.

The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.

  • Android.mk: Add new files to build.
  • GNUmakefile.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.pro: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement. (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer): (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates. (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
  • rendering/RenderSVGShadowTreeRootContainer.h: Added. (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
  • rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise). (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement): (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements. (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement): (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
  • rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree). (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here. (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree. (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node. (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
  • svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree. (WebCore::SVGElement::SVGElement): (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
  • svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
  • svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say. (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag. (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
  • svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
  • svg/SVGGElement.h: (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
  • svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
  • svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked. (WebCore::SVGStyledElement::instanceUpdatesBlocked): (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
  • svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above. (WebCore::SVGUseElement::SVGUseElement): (WebCore::SVGUseElement::instanceRoot): (WebCore::SVGUseElement::insertedIntoDocument): (WebCore::SVGUseElement::removedFromDocument): (WebCore::SVGUseElement::svgAttributeChanged): (WebCore::updateContainerOffset): (WebCore::SVGUseElement::updateContainerOffsets): (WebCore::SVGUseElement::recalcStyle): (WebCore::dumpInstanceTree): (WebCore::SVGUseElement::buildPendingResource): (WebCore::SVGUseElement::buildShadowAndInstanceTree): (WebCore::SVGUseElement::createRenderer): (WebCore::updateFromElementCallback): (WebCore::SVGUseElement::attach): (WebCore::SVGUseElement::detach): (WebCore::SVGUseElement::toClipPath): (WebCore::SVGUseElement::buildInstanceTree): (WebCore::SVGUseElement::handleDeepUseReferencing): (WebCore::SVGUseElement::buildShadowTree): (WebCore::SVGUseElement::expandUseElementsInShadowTree): (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): (WebCore::SVGUseElement::instanceForShadowTreeElement): (WebCore::SVGUseElement::invalidateShadowTree): (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
  • svg/SVGUseElement.h: (WebCore::SVGUseElement::isPendingResource):

2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>

Reviewed by Dirk Schulze.

Rewrite SVG <use> support in a modern-fashion
https://bugs.webkit.org/show_bug.cgi?id=33776

Update some test results, after rewriting <use> support.

  • platform/mac/svg/W3C-SVG-1.1/animate-elem-40-t-expected.txt:
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-deep-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.checksum: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.png: Added.
  • platform/mac/svg/custom/relative-sized-shadow-tree-content-expected.txt: Added.
  • platform/mac/svg/custom/use-events-crash-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-1-expected.txt:
  • platform/mac/svg/custom/use-on-disallowed-foreign-object-3-expected.txt:
  • platform/mac/svg/custom/use-on-non-svg-namespaced-element-expected.txt:
  • platform/mac/svg/custom/use-recursion-1-expected.txt:
  • platform/mac/svg/custom/use-recursion-2-expected.txt:
  • platform/mac/svg/custom/use-recursion-3-expected.txt:
  • platform/mac/svg/custom/use-recursion-4-expected.txt:
  • platform/mac/svg/hixie/error/017-expected.txt:
  • platform/mac/svg/text/text-text-05-t-expected.checksum:
  • platform/mac/svg/text/text-text-05-t-expected.png:
  • svg/custom/relative-sized-deep-shadow-tree-content.xhtml: Added.
  • svg/custom/relative-sized-shadow-tree-content.xhtml: Added.
  • svg/text/text-text-05-t.svg: Remove possible race-condition, between selecting & dumping.
17:49 Changeset [53445] by tkent@chromium.org
  • 14 edits in trunk

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Expose the following functions to be used by WebCore:

  • WTF::msToyear()
  • WTF::dayInYear()
  • WTF::monthFromDayInYear()
  • WTF::dayInMonthFromDayInYear()
  • JavaScriptCore.exp:
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • wtf/DateMath.cpp: (WTF::msToYear): Remove "static inline". (WTF::dayInYear): Remove "static inline". (WTF::monthFromDayInYear): Remove "static inline". (WTF::dayInMonthFromDayInYear): Remove "static inline".
  • wtf/DateMath.h: Declare the above functions.

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Add setter tests to input-valueasdate-month.js, and update the
expectation.

  • fast/forms/input-valueasdate-expected.txt:
  • fast/forms/input-valueasdate-month-expected.txt:
  • fast/forms/script-tests/input-valueasdate-month.js:
  • fast/forms/script-tests/input-valueasdate.js:

2010-01-18 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

HTMLInputElement::valueAsDate setter support for type=month.
https://bugs.webkit.org/show_bug.cgi?id=33021

Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
toString() for the Month type, and HTMLInputElement::setValueAsDate()
calls them.

  • html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setValueAsDate):
  • html/ISODateTime.cpp: (WebCore::beforeGregorianStartDate): (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate(). (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate(). (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal): (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth): (WebCore::ISODateTime::toString): Implement only for the Month type.
  • html/ISODateTime.h:
17:19 Changeset [53444] by darin@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix build by reverting the previous change.

  • runtime/UString.h: Rolled out the FastAllocBase base class.

It was making UString larger, and therefore JSString larger,
and too big for a garbage collection cell.

This raises the unpleasant possibility that many classes became
larger because we added the FastAllocBase base class. I am
worried about this, and it needs to be investigated.

17:12 Changeset [53443] by steveblock@google.com
  • 5 edits
    2 moves in trunk/WebCore

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Patch by Enrica Casucci <enrica@apple.com> on 2010-01-18
Reviewed by Darin Adler.

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

17:07 Changeset [53442] by enrica@apple.com
  • 23 edits
    2 adds in trunk

Script attributes are copied and pasted, making cross-domain attacks possible (30019)
<rdar://problem/6008809>
https://bugs.webkit.org/show_bug.cgi?id=30019

Reviewed by Darin Adler.

WebCore:

When we create the document fragment from a markup string,
either to perform a paste operation or a drag and drop, we
want to remove all the event handlers and any attribute that contain
a value that leads to code execution.
The HTMLParser class is now aware of the needs of stripping these attributes.
I've modified the call to createMarkupString for every platform.

Test: editing/pasteboard/paste-noscript.html

  • WebCore.base.exp:
  • dom/Element.cpp:

(WebCore::isEventHandlerAttribute):
(WebCore::Element::setAttributeMap):

  • dom/Element.h:
  • dom/MappedAttributeEntry.h:

(WebCore::):

  • editing/markup.cpp:

(WebCore::createFragmentFromMarkup):

  • editing/markup.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::createContextualFragment):

  • html/HTMLElement.h:
  • html/HTMLParser.cpp:

(WebCore::HTMLParser::HTMLParser):
(WebCore::HTMLParser::parseToken):

  • html/HTMLParser.h:
  • html/HTMLTokenizer.cpp:

(WebCore::HTMLTokenizer::HTMLTokenizer):
(WebCore::parseHTMLDocumentFragment):

  • html/HTMLTokenizer.h:
  • platform/chromium/DragDataChromium.cpp:

(WebCore::DragData::asFragment):

  • platform/chromium/PasteboardChromium.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::documentFragment):

  • platform/qt/DragDataQt.cpp:

(WebCore::DragData::asFragment):

  • platform/qt/PasteboardQt.cpp:

(WebCore::Pasteboard::documentFragment):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::fragmentFromCF_HTML):
(WebCore::fragmentFromHTML):

WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]): Modified the call to createMarkupString.

LayoutTests:

  • editing/pasteboard/paste-noscript-expected.txt: Added.
  • editing/pasteboard/paste-noscript.html: Added.
17:05 Changeset [53441] by sfalken@apple.com
  • 3 edits in trunk/WebCore

<https://bugs.webkit.org/show_bug.cgi?id=33816>
Crashes in Geolocation code due to refcounting, observer balance issues.

Reviewed by Sam Weinig.

Hold a ref to the GeoNotifier while dispatching a callback. The code was
copying a data member to avoid accessing a freed this ptr, but was still
using the this ptr.

Geolocation::removeObserver calls are not always balanced with addObserver.
Instead of asserting and continuing, don't try to remove non-existant
observers.

  • page/Geolocation.cpp:

(WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.

  • page/GeolocationController.cpp:

(WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.

17:03 Changeset [53440] by sfalken@apple.com
  • 2 edits in trunk/WebKit/mac

Rubber-stamped by Sam Weinig.

Add missing export for Geolocation.

  • WebKit.exp:
16:53 Changeset [53439] by ap@apple.com
  • 5 edits
    2 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33815
Crash when using DOMTimer from a detached frame

Test: fast/dom/Window/timer-null-script-execution-context.html

  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::setTimeout): (WebCore::JSDOMWindow::setInterval):
  • page/DOMWindow.h:
  • page/DOMWindow.idl: Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both IE and Firefox do raise an exception in this situation, although different ones.
  • page/DOMWindow.cpp: (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is null (meaning that the window is detached). (WebCore::DOMWindow::setInterval): Ditto. (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution context. (WebCore::DOMWindow::clearInterval): Ditto. Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
16:50 Changeset [53438] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.

Allow custom memory allocation control for UString class
https://bugs.webkit.org/show_bug.cgi?id=27831

Inherits the following class from FastAllocBase because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at:
classs UString - JavaScriptCore/runtime/UString.cpp:160

  • runtime/UString.h:
16:02 Changeset [53437] by darin@apple.com
  • 4 edits in trunk/JavaScriptCore

Add some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
rdar://problem/7553780

Patch by Evan Cheng <evan.cheng@apple.com> on 2010-01-18
Reviewed by Darin Adler.

  • runtime/JSObject.h:

(JSC::JSObject::getPropertySlot): ALWAYS_INLINE both overloads.

  • runtime/JSString.h:

(JSC::JSString::JSString): ALWAYS_INLINE the version that takes a UString.

  • runtime/UString.h:

(JSC::operator==): ALWAYS_INLINE the version that compares two UString objects.

15:49 Changeset [53436] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
https://bugs.webkit.org/show_bug.cgi?id=33792

No new tests, style fixes only.

  • bridge/jni/jni_runtime.cpp: Modified. (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jni_runtime.h: Modified. (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
  • bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
15:14 Changeset [53435] by bweinstein@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Tim Hatcher.

Updated Windows results after r53424.

  • platform/win/fast/css/zoom-body-scroll-expected.txt: Added.
15:09 Changeset [53434] by cmarrin@apple.com
  • 2 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=30073
Moved reshape to HTMLCanvasElement::reset and have it always
set the size to the canvas width and height attrs.

This is not testable with LayoutTests, so I instead added logic
to the demo at:

https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html

14:51 Changeset [53433] by ap@apple.com
  • 3 edits
    2 adds in trunk

Reviewed by Geoffrey Garen.

https://bugs.webkit.org/show_bug.cgi?id=33813
<rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame

Test: http/tests/appcache/destroyed-frame.html

  • loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
14:20 Changeset [53432] by mitz@apple.com
  • 3 edits
    4 adds in trunk

REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
https://bugs.webkit.org/show_bug.cgi?id=33809

Reviewed by Darin Adler.

WebCore:

Test: fast/repaint/trailing-floats-root-line-box-overflow.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
root box to the trailing floats box, which is becoming the last root box. This is
needed because painting code assumes that the last line in a block is the one with the
lowest overflow bottom.

LayoutTests:

  • fast/repaint/trailing-floats-root-line-box-overflow-expected.checksum: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.png: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow-expected.txt: Added.
  • fast/repaint/trailing-floats-root-line-box-overflow.html: Added.
14:14 Changeset [53431] by ossy@webkit.org
  • 2 edits in trunk/WebCore

[Qt] Unreviewed trivial buildfix. (r53429)

  • WebCore.pri: missing XMLNS_NAMES added.
14:12 Changeset [53430] by ggaren@apple.com
  • 5 edits in trunk/WebCore

2010-01-18 Geoffrey Garen <ggaren@apple.com>

Reviewed by Darin Adler.

Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
https://bugs.webkit.org/show_bug.cgi?id=33811

This change simplifies a bunch of code, and also reduces
the number of places that use the difficult-to-understand and possibly
crashy-null scriptExecutionContext() idiom.

  • bindings/js/JSDOMGlobalObject.cpp:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSEventListener.h: (WebCore::createJSAttributeEventListener):
  • bindings/scripts/CodeGeneratorJS.pm:
14:05 Changeset [53429] by ap@apple.com
  • 18 edits
    1 add in trunk/WebCore

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33787
Add constants for more XML strings

No change in functionality, so no tests.

  • WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
  • platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
  • platform/text/AtomicString.h: Added atomic strings for "xml" and "xmlns".
  • page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Document.cpp: (WebCore::Document::hasPrefixNamespaceMismatch): (WebCore::Document::createAttributeNS):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): (WebCore::Node::isDefaultNamespace): (WebCore::Node::lookupNamespaceURI): (WebCore::Node::lookupNamespacePrefix):
  • dom/XMLTokenizerLibxml2.cpp: (WebCore::XMLTokenizer::XMLTokenizer): (WebCore::handleElementNamespaces):
  • editing/markup.cpp: (WebCore::shouldAddNamespaceAttr): (WebCore::appendNamespace):
  • xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): (WebCore::XPath::Step::nodesInAxis): Use the new constants.
  • Android.derived.mk:
  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl: Added the new files to projects.
14:04 Changeset [53428] by andersca@apple.com
  • 2 edits in trunk/WebCore

Fix !ENABLE(3D_CANVAS) build.

  • rendering/RenderLayerBacking.cpp:

(WebCore::is3DCanvas):

13:58 Changeset [53427] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Rubber-stamped by Adam Roben.

Change a newly added WebSocket test to work on Windows.

  • websocket/tests/multiple-connections.html: Decrease the number of simultaneous connections from 100 to 50. On Windows buildbot, only ~70 connections are allowed for some reason - but we only need much fewer to compare to HTTP simultaneous connection limit anyway.
13:54 Changeset [53426] by ossy@webkit.org
  • 2 edits in trunk/LayoutTests

[Qt] Skip test introduced in r53423 because of missing layoutTestController.setDomainRelaxationForbiddenForURLScheme()

  • platform/qt/Skipped: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html added.
13:47 Changeset [53425] by ossy@webkit.org
  • 1 edit
    1 copy in trunk/LayoutTests

[Qt] Add platform dependent expected file because of different font size.

Reviewed by Ariya Hidayat.

  • platform/qt/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Copied from LayoutTests/fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt.
13:36 Porting Macros plan edited by dbates@webkit.org
Changed OS(WIN) to OS(WINDOWS) since there is no such macro definition … (diff)
13:30 Changeset [53424] by timothy@apple.com
  • 4 edits in trunk

Adjust the scroll position when doing a full page zoom, so the content
stays in relatively the same position.

<rdar://problem/6150099> Zooming should keep the page content in the same place

Reviewed by Oliver Hunt.

  • page/Frame.cpp:

(WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
the scroll position, only when doing a full page zoom.

13:26 Changeset [53423] by aroben@apple.com
  • 22 edits
    2 adds in trunk

Add WebKit SPI to disallow setting document.domain from certain URL schemes

Fixes <http://webkit.org/b/33806> <rdar://problem/7552837> Would like
API to disallow setting of document.domain for pages with certain URL
schemes

Reviewed by Sam Weinig.

WebCore:

Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
respect it

Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html

  • WebCore.base.exp: Export

SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.

  • dom/Document.cpp:

(WebCore::Document::setDomain): If domain relaxation is forbidden for
our security origin's scheme, throw an exception and don't allow
the domain to be set.

  • page/SecurityOrigin.cpp:

(WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
global set of schemes.
(WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
appropriate.
(WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.

  • page/SecurityOrigin.h: Added

{set,is}DomainRelaxationForbiddenForURLScheme.

WebKit/mac:

Add +[WebView _setDomainRelaxationForbidden:forURLScheme:]

  • WebView/WebView.mm:

(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):

  • WebView/WebViewPrivate.h:

Added. Calls through to SecurityOrigin.

WebKit/win:

Add IWebViewPrivate::setDomainRelaxationForbiddenForURLScheme

  • Interfaces/IWebViewPrivate.idl: Added

setDomainRelaxationForbiddenForURLScheme.

  • Interfaces/WebKit.idl: Touched to force a build.
  • WebView.cpp:

(WebView::setDomainRelaxationForbiddenForURLScheme):

  • WebView.h:

Added. Calls through to SecurityOrigin.

WebKitTools:

Add LayoutTestController support for calling new WebKit SPI to
disallow setting document.domain

  • DumpRenderTree/LayoutTestController.cpp:

(setDomainRelaxationForbiddenForURLSchemeCallback): Added. Calls
through to LayoutTestController.
(LayoutTestController::staticFunctions): Added
setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/LayoutTestController.h: Added

setDomainRelaxationForbiddenForURLScheme.

  • DumpRenderTree/mac/LayoutTestControllerMac.mm:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Added. Calls through to WebKit.

  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):

  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

(LayoutTestController::setDomainRelaxationForbiddenForURLScheme):
Stubbed out.

LayoutTests:

Add tests for new WebKit SPI to disallow setting document.domain

  • http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt: Added.
  • http/tests/security/setDomainRelaxationForbiddenForURLScheme.html: Added.
  • platform/gtk/Skipped: Skip the new test since WebKitGtk doesn't have

this API.

13:18 Changeset [53422] by eric@webkit.org
  • 2 edits in trunk/JavaScriptCore

2010-01-18 Csaba Osztrogonác <ossy@webkit.org>

Reviewed by Darin Adler.

Delete dftables-xxxxxxxx.in files automatically.
https://bugs.webkit.org/show_bug.cgi?id=33796

  • pcre/dftables: unlink unnecessary temporary file.
12:57 Changeset [53421] by mitz@apple.com
  • 2 edits in trunk/WebCore

Address review comments on the last change

  • rendering/TrailingFloatsRootInlineBox.h:

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):

12:55 Changeset [53420] by mitz@apple.com
  • 7 edits
    5 adds in trunk

<rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
<rdar://problem/7546035> Second right floated image misplacment
https://bugs.webkit.org/show_bug.cgi?id=33245

Reviewed by Darin Adler.

WebCore:

Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html

When the last line of a block contains a line break and there are floats
after the line break, it is incorrect to put those floats in the last line's
floats vector (along with floats from before the break). Instead, create
an additional line box (a TrailingFloatsRootInlineBox) and put those floats
in its floats vector.

  • WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
parameter, which is the highest line to dirty.

  • rendering/RenderBlock.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
for the floats occurring after the line break on the last line.
(WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
above the first dirty line.

  • rendering/TrailingFloatsRootInlineBox.h: Added.

(WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
setHasVirtualHeight().
(WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.

LayoutTests:

  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.checksum: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.png: Added.
  • fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2-expected.txt: Added.
11:56 Changeset [53419] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33804
Test that WebSocket is not subject to HTTP connection limit

  • websocket/tests/multiple-connections-expected.txt: Added.
  • websocket/tests/multiple-connections.html: Added.
11:56 QtWebKitBackportingFixes edited by laszlo.1.gombos@nokia.com
(diff)
11:44 Changeset [53418] by barraclough@apple.com
  • 12 edits in trunk/WebCore

Eeeep! reverting r53416 & r53417, more to be done to fix windows.

Reviewed by NOBODY (build fix).

  • WebCore.base.exp:
  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/sql/chromium/SQLiteFileSystemChromium.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::charactersWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::operator new):
(WebCore::StringImpl::operator delete):
(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::createWithTerminatingNullCharacter):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::hasTerminatingNullCharacter):
(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):
(WebCore::StringImpl::):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

  • storage/OriginUsageRecord.cpp:

(WebCore::OriginUsageRecord::addDatabase):
(WebCore::OriginUsageRecord::markDatabase):

11:40 Changeset [53417] by barraclough@apple.com
  • 2 edits in trunk/WebCore
  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

Reviewed by NOBODY (windows build fix).

11:27 Changeset [53416] by barraclough@apple.com
  • 11 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from WebCore::StringImpl.

Reviewed by Darin Adler.

These break the OS X Leaks tool. Move the management of null-terminated copies
out from StringImpl to String, and use a bit stolen from the refCount to hold the
'InTable' flag.

  • platform/sql/SQLiteFileSystem.cpp:

(WebCore::SQLiteFileSystem::openDatabase):

  • platform/sql/SQLiteStatement.cpp:

(WebCore::SQLiteStatement::prepare):

  • platform/sql/SQLiteStatement.h:
  • platform/text/PlatformString.h:
  • platform/text/String.cpp:

(WebCore::String::copyWithNullTermination):

  • platform/text/StringImpl.cpp:

(WebCore::StringImpl::StringImpl):
(WebCore::StringImpl::~StringImpl):
(WebCore::StringImpl::create):
(WebCore::StringImpl::crossThreadString):
(WebCore::StringImpl::sharedBuffer):

  • platform/text/StringImpl.h:

(WebCore::StringImpl::inTable):
(WebCore::StringImpl::setInTable):

10:48 Changeset [53415] by cmarrin@apple.com
  • 5 edits in trunk

Made root compositing layer scroll rather than scroll parent.
https://bugs.webkit.org/show_bug.cgi?id=32279


There's some general cleanup here so the frames, bounds and
positions of all the associated layers are correct.
I also changed API of setScrollFrame to use an IntRect.

10:36 Changeset [53414] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Adam Roben.

Rename patches-to-commit to patches-in-commit-queue
https://bugs.webkit.org/show_bug.cgi?id=33789

The command really lists the patches in the commit-queue not all the
patches that are pending-commit (as the FIXME commands).

  • Scripts/webkitpy/commands/queries.py:
  • Scripts/webkitpy/commands/queries_unittest.py:
10:31 Changeset [53413] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Ilya Tikhonovsky <loislo@chromium.org>

Reviewed by Pavel Feldman.

WebInspector: Timeline panel scrolling speed can be 2 times faster.
https://bugs.webkit.org/show_bug.cgi?id=33794

10:15 Changeset [53412] by eric@webkit.org
  • 6 edits
    2 moves in trunk/WebCore

2010-01-18 Steve Block <steveblock@google.com>

Reviewed by Adam Barth.

Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
https://bugs.webkit.org/show_bug.cgi?id=33672

No new tests, refactoring only.

  • Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
  • GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
  • WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
  • bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jni_instance.cpp: Removed.
  • bridge/jni/jni_instance.h: Removed.
  • bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
  • bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
  • bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
09:46 Changeset [53411] by pkasting@chromium.org
  • 9 edits in trunk/WebCore

Simplify image decoders slightly by using OwnPtr instead of raw pointers
and eliminating a basically-useless wrapper class in the GIF decoder.
https://bugs.webkit.org/show_bug.cgi?id=28751

Reviewed by Adam Barth.

  • platform/graphics/qt/ImageDecoderQt.cpp:

(WebCore::ImageDecoderQt::ImageDecoderQt):
(WebCore::ImageDecoderQt::~ImageDecoderQt):
(WebCore::ImageDecoderQt::setData):
(WebCore::ImageDecoderQt::internalReadImage):
(WebCore::ImageDecoderQt::failRead):

  • platform/graphics/qt/ImageDecoderQt.h:
  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::~GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::repetitionCount):
(WebCore::GIFImageDecoder::decode):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore::GIFImageDecoder::initFrameBuffer):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::gifComplete):

  • platform/image-decoders/gif/GIFImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageDecoder::JPEGImageDecoder):
(WebCore::JPEGImageDecoder::~JPEGImageDecoder):
(WebCore::JPEGImageDecoder::setData):
(WebCore::JPEGImageDecoder::decode):

  • platform/image-decoders/jpeg/JPEGImageDecoder.h:
  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::PNGImageDecoder):
(WebCore::PNGImageDecoder::~PNGImageDecoder):
(WebCore::PNGImageDecoder::setData):
(WebCore::PNGImageDecoder::decode):
(WebCore::PNGImageDecoder::headerAvailable):
(WebCore::PNGImageDecoder::rowAvailable):

  • platform/image-decoders/png/PNGImageDecoder.h:
09:20 Changeset [53410] by aroben@apple.com
  • 6 edits in trunk

DataTransfer interface broken on Windows--types member is always undefined, and getData() does not work.

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

Patch by Daniel Cheng <dcheng@google.com> on 2010-01-18
Reviewed by Adam Roben.

WebCore:

  • platform/win/ClipboardWin.cpp:

(WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
(WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
(WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.

LayoutTests:

  • fast/events/drag-and-drop-dataTransfer-types-nocrash-expected.txt: Updated test expectations.
  • fast/events/drag-and-drop-dataTransfer-types-nocrash.html: Added test cases.
  • platform/win/Skipped: Re-enabled fast/events/drag-and-drop-dataTransfer-types-nocrash.html
08:58 Changeset [53409] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Timothy Hatcher.

Don't show Profiles welcome screen on panel switch,
if a profile view is shown.

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

  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.show):
07:11 Changeset [53408] by vestbo@webkit.org
  • 6 edits in trunk

[Qt] Force qmake to generate a single makefile for DerivedSources.pro

Reviewed by Simon Hausmann.

JavaScriptCore:

  • DerivedSources.pro:

WebCore:

  • DerivedSources.pro:

WebKitTools:

  • Scripts/webkitdirs.pm:
07:05 Changeset [53407] by aroben@apple.com
  • 3 edits in trunk/WebKitTools

Clean up use of /useenv when invoking Visual C++

This change reverts things to their pre-r49485 state. That revision
(and, subsequently, r49664 and r51788) started passing /useenv to
Visual C++, even in cases where we don't want to do so (such as when
invoking Visual C++ Express), in the name of making the Chromium build
work. Now that Chromium isn't using buildVisualStudioProject or
pdevenv, we can put things back they way they were.

Fixes <http://webkit.org/b/33797> build-webkit fails with VC++ Express
(due to /useenv flag)

Reviewed by Sam Weinig.

  • Scripts/pdevenv: Always pass /useenv. Chromium doesn't use this

script anymore.

  • Scripts/webkitdirs.pm:

(buildVisualStudioProject): Never pass /useenv anymore. pdevenv takes
care of this itself, and we don't want to pass /useenv when not using
pdevenv (e.g., when using VC++ Express, because that will cause it to
ignore the Platform SDK).

06:37 Changeset [53406] by eric@webkit.org
  • 8 edits
    1 copy in trunk

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • WebCore.gypi:
  • bindings/v8/RuntimeEnabledFeatures.cpp:
  • bindings/v8/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled): (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
  • bindings/v8/custom/V8NavigatorCustom.cpp: Added. (WebCore::V8Navigator::GeolocationEnabled):
  • page/Navigator.cpp: (WebCore::Navigator::geolocation):
  • page/Navigator.idl:

2010-01-18 Jonathan Dixon <joth@chromium.org>

Reviewed by Adam Barth.

Add support for enabling navigator.geolocation at runtime in the V8 bindings.
Adds the [EnabledAtRuntime] modifier to the navigator IDL.
https://bugs.webkit.org/show_bug.cgi?id=33467

  • public/WebRuntimeFeatures.h:
  • src/WebRuntimeFeatures.cpp: (WebKit::WebRuntimeFeatures::enableGeolocation): (WebKit::WebRuntimeFeatures::isGeolocationEnabled):
06:20 Changeset [53405] by eric@webkit.org
  • 4 edits in trunk/WebCore

2010-01-18 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Improve Resources panel performance for lots of resources

DOM properties are extracted into const's, comparisons are faster.
https://bugs.webkit.org/show_bug.cgi?id=33790

  • inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
  • inspector/front-end/Resource.js: (WebInspector.Resource.CompareByStartTime): (WebInspector.Resource.CompareByResponseReceivedTime): (WebInspector.Resource.CompareByEndTime): (WebInspector.Resource.CompareByDuration): (WebInspector.Resource.CompareByLatency): (WebInspector.Resource.CompareBySize):
  • inspector/front-end/ResourcesPanel.js: (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
06:05 Changeset [53404] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

webkit-patch land-safely should obsolete old patches
https://bugs.webkit.org/show_bug.cgi?id=33788

When posting a commit-queue+ patch with land-safely, we should
obsolete the old patches on the bug. They're really confusing
because the main use case is to address reviewer feedback on a
previous patch.

  • Scripts/webkitpy/commands/upload.py:
  • Scripts/webkitpy/commands/upload_unittest.py:
05:49 Changeset [53403] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by David Levin.

webkit-patch should authenticate more often
https://bugs.webkit.org/show_bug.cgi?id=33701

This makes it easier to work with security patches.

  • Scripts/webkitpy/bugzilla.py:
05:33 Changeset [53402] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-18 Daniel Bates <dbates@rim.com>

Reviewed by Eric Seidel.

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

Following up on changes made with respect to bug #33498, we should
fix the the style errors found by the style bot.

Moreover, this fixes all the style errors found by check-webkit-style
except the use of an underline in the variable name _niflags. We should
fix this in a second run through for all the other variables names that
contain an underline because there are many.

No functionality was changed. So, no new tests.

  • rendering/style/SVGRenderStyle.h: (WebCore::SVGRenderStyle::create): (WebCore::SVGRenderStyle::copy): (WebCore::SVGRenderStyle::operator!=): (WebCore::SVGRenderStyle::hasStroke): (WebCore::SVGRenderStyle::hasFill): (WebCore::SVGRenderStyle::InheritedFlags::operator==): (WebCore::SVGRenderStyle::InheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::operator==): (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=): (WebCore::SVGRenderStyle::NonInheritedFlags::): (WebCore::SVGRenderStyle::): (WebCore::SVGRenderStyle::setBitDefaults):
04:54 Changeset [53401] by benm@google.com
  • 2 edits in trunk/WebCore

[Android] DOMWrapperMap::Visitor needs virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=33675

Patch by Andrei Popescu <andreip@google.com> on 2010-01-18
Reviewed by Adam Barth.

Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.

No new tests needed, functionality not changed.

  • bindings/v8/V8DOMMap.h:

(WebCore::DOMWrapperMap::Visitor::~Visitor): Added.

04:14 Changeset [53400] by ossy@webkit.org
  • 9 edits in trunk/JavaScriptCore

Rubber-stamped by Gustavo Noronha Silva.

Rolling out r53391 and r53392 because of random crashes on buildbots.
https://bugs.webkit.org/show_bug.cgi?id=33731

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.cpp:

(JSC::UString::spliceSubstringsWithSeparators):
(JSC::UString::replaceRange):

  • runtime/UString.h:
  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::baseSharedBuffer):
(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UntypedPtrAndBitfield::UntypedPtrAndBitfield):
(JSC::UntypedPtrAndBitfield::asPtr):
(JSC::UntypedPtrAndBitfield::operator&=):
(JSC::UntypedPtrAndBitfield::operator|=):
(JSC::UntypedPtrAndBitfield::operator&):
(JSC::UStringImpl::create):
(JSC::UStringImpl::cost):
(JSC::UStringImpl::isIdentifier):
(JSC::UStringImpl::setIsIdentifier):
(JSC::UStringImpl::ref):
(JSC::UStringImpl::deref):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::bufferOwnership):
(JSC::UStringImpl::isStatic):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

02:13 Changeset [53399] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style checker needs to know about GObject-specific requirements
inside WebCore/bindings/gobject/
https://bugs.webkit.org/show_bug.cgi?id=33606

Add an exception to the underscore rule for certain
GObject-specific names.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
02:13 Changeset [53398] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Reviewed by Shinichiro Hamaji.

[check-webkit-style] does understand ResourceHandleWin.h
https://bugs.webkit.org/show_bug.cgi?id=32975

I'm not 100% convinced this fix is correct, but without more examples,
it's hard to generalize. We can always generalize the fix in the
future.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
01:54 Changeset [53397] by hausmann@webkit.org
  • 2 edits in trunk/JavaScriptCore

Fix the build with strict gcc and RVCT versions: It's not legal to cast a
pointer to a function to a void* without an intermediate cast to a non-pointer
type. A cast to a ptrdiff_t inbetween fixes it.

Reviewed by Kenneth Rohde Christiansen.

  • runtime/JSString.h:

(JSC::Fiber::JSString):

01:29 Changeset [53396] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Unreviewed "build" fix.

  • Scripts/webkitpy/bugzilla.py:
01:15 Changeset [53395] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-18 Adam Barth <abarth@webkit.org>

Unreviewed. Actually make land-safely mark commit-queue+ as
discussed with Eric.

  • Scripts/webkitpy/bugzilla.py:
  • Scripts/webkitpy/steps/postdiffforcommit.py:
01:02 Changeset [53394] by hausmann@webkit.org
  • 2 edits in trunk/WebCore

Unreviewed Symbian build fix.

If we don't link with def files, then we have to pass EXPORTUNFROZEN,
so that the build system still creates the .dso files in
release/armv5/lib and we can actually link against the created QtWebKit
dlls.

Thanks Iain for the help!

  • WebCore.pro:

01/17/10:

23:47 Changeset [53393] by ossy@webkit.org
  • 1 edit
    1 add in trunk/LayoutTests

Rubber-stamped by Eric Seidel.

[Qt] Platform dependent expected file added for r53388. (similar to original one, only styles differ)
https://bugs.webkit.org/show_bug.cgi?id=33784 (need to unify path dumping)

  • platform/qt/svg/custom/transformedMaskFails-expected.txt: Added.
23:36 Changeset [53392] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove UntypedPtrAndBitfield from UStringImpl (akin to PtrAndFlags).

Reviewed by Oliver Hunt.

This break the OS X Leaks tool. Instead, free up some more bits from the refCount.

  • runtime/UStringImpl.cpp:

(JSC::UStringImpl::sharedBuffer):
(JSC::UStringImpl::~UStringImpl):

  • runtime/UStringImpl.h:

(JSC::UStringImpl::cost):
(JSC::UStringImpl::checkConsistency):
(JSC::UStringImpl::UStringImpl):
(JSC::UStringImpl::bufferOwnerString):
(JSC::UStringImpl::):

  • wtf/StringHashFunctions.h:

(WTF::stringHash):

23:28 Changeset [53391] by barraclough@apple.com
  • 5 edits in trunk/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=33731
Remove uses of PtrAndFlags from JIT data stuctures.

Reviewed by Oliver Hunt.

These break the OS X Leaks tool. Free up a bit in CallLinkInfo, and invalid
permutation of pointer states in MethodCallLinkInfo to represent the removed bits.

  • bytecode/CodeBlock.h:

(JSC::CallLinkInfo::seenOnce):
(JSC::CallLinkInfo::setSeen):
(JSC::MethodCallLinkInfo::MethodCallLinkInfo):
(JSC::MethodCallLinkInfo::seenOnce):
(JSC::MethodCallLinkInfo::setSeen):

  • jit/JIT.cpp:

(JSC::JIT::unlinkCall):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::patchMethodCallProto):

  • runtime/UString.h:
21:41 Changeset [53390] by laszlo.1.gombos@nokia.com
  • 2 edits in trunk/WebCore

2010-01-17 Srinidhi Shreedhara <srinidhi.shreedhara@nokia.com>

Reviewed by Simon Hausmann.

[Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
https://bugs.webkit.org/show_bug.cgi?id=33573

  • plugins/symbian/PluginViewSymbian.cpp: (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative coordinates for early return.
20:53 Changeset [53389] by eric@webkit.org
  • 3 edits in trunk/WebKit/chromium

2010-01-17 Kent Tamura <tkent@chromium.org>

Reviewed by Shinichiro Hamaji.

[Chromium] Remove an old runFileChooser() method.
https://bugs.webkit.org/show_bug.cgi?id=33778

Chromium code switched to new runFileChooser() introduced by
r53269. The old one is not needed anymore.

  • public/WebViewClient.h:
  • src/ChromeClientImpl.cpp: (WebKit::ChromeClientImpl::runOpenPanel):
19:59 Changeset [53388] by oliver@apple.com
  • 3 edits
    3 adds in trunk

2010-01-17 Oliver Hunt <oliver@apple.com>

Reviewed by Dan Bernstein.

REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
https://bugs.webkit.org/show_bug.cgi?id=33782

Testcase for a mask containing transformed elements

  • platform/mac/svg/custom/transformedMaskFails-expected.png: Added.
  • svg/custom/transformedMaskFails-expected.txt: Added.
  • svg/custom/transformedMaskFails.svg: Added.

2010-01-17 Oliver Hunt <oliver@apple.com>

Reviewed by Dan Bernstein.

REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
https://bugs.webkit.org/show_bug.cgi?id=33782

Test: svg/custom/transformedMaskFails.svg

When computing the bounds for elements in a mask, we iterate through
all of our children requesting their repaint bounds using
repaintRectInLocalCoordinates(), but we were not converting that
rect into our own coordinate system, thus leading to an incorrect
repaint rect. This patch simply adds the missing localToParent
transform.

  • svg/SVGMaskElement.cpp: (WebCore::SVGMaskElement::drawMaskerContent):
19:28 Changeset [53387] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style-queue complains about one-line macros that include multiple statements
https://bugs.webkit.org/show_bug.cgi?id=33173

Add an exception for multiple statements on a line that starts a macro.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
19:11 Changeset [53386] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

[check-webkit-style] qt unit testing false positives
https://bugs.webkit.org/show_bug.cgi?id=32833

Exempt the Qt API and unit tests from the style checker.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
18:58 Changeset [53385] by mitz@apple.com
  • 91 edits in trunk/LayoutTests/platform

Set the svn:mime-type property of recently-added PNG files to image/png.

18:47 Changeset [53384] by mjs@apple.com
  • 2 edits in trunk/WebCore

2010-01-17 Maciej Stachowiak <mjs@apple.com>

Reviewed by Dan Bernstein.

Avoid slow access to AX objects on attribute access when AX is off
https://bugs.webkit.org/show_bug.cgi?id=33779

~4% Dromaeo attributes test speedup

  • dom/Element.cpp: (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of AX object cache unless accessibility is on and an AX-related attribute is changed.
18:39 Changeset [53383] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style-check script reports loads of errors on gtk2drawing.c
https://bugs.webkit.org/show_bug.cgi?id=33771

Exempt WebCore/platform/gtk/gtk2drawing.c and
WebCore/platform/gtk/gtk2drawing.h from style checks.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
18:22 Changeset [53382] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>

Reviewed by Shinichiro Hamaji.

Finished eliminating _cpp_style_state global state variable from
check-webkit-style code and eliminating _CppStyleState class.

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

  • Scripts/webkitpy/style/checker.py:
    • Minor updates caused by changes to cpp_style.py.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed _CppStyleState class.
    • Removed verbose_level functions.
    • Added verbosity as a parameter to _FunctionState constructor.
    • Added verbosity as a parameter to process_file().
    • Added verbosity as a parameter to process_file_data().
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Added helper functions to set verbosity while running tests.
18:06 Changeset [53381] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Shinichiro Hamaji.

check-webkit-style underscore check should be disabled for Qt methods starting with qt_
https://bugs.webkit.org/show_bug.cgi?id=33663

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
17:49 Changeset [53380] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

style-queue complains about missing #include of config.h for non-WebCore projects
https://bugs.webkit.org/show_bug.cgi?id=33170

WebKitAPITests are consumers of the WebKit API and therefore do not
need to follow the same include discipline as the rest of WebKit. This
patch exempts them from the include checks.

  • Scripts/webkitpy/style/cpp_style.py:
  • Scripts/webkitpy/style/cpp_style_unittest.py:
17:33 Changeset [53379] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

EWS (Early Warning Systems) should build both debug and release
https://bugs.webkit.org/show_bug.cgi?id=33681

Build both debug and release for chromium-ews.

  • Scripts/webkitpy/commands/early_warning_system.py:
16:36 Changeset [53378] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2010-01-17 Adam Barth <abarth@webkit.org>

Reviewed by Darin Adler.

style-queue should include instructions for how to file bugs against check-webkit-style
https://bugs.webkit.org/show_bug.cgi?id=32345

Added some text to the error message asking folks to file bugs against
false positives.

  • Scripts/webkitpy/commands/queues.py:
16:31 Changeset [53377] by mrowe@apple.com
  • 4 edits in tags/Safari-6531.21.11/WebKit

Merge r53195.

16:31 Changeset [53376] by mrowe@apple.com
  • 4 edits in tags/Safari-6531.21.11

Versioning.

16:29 Changeset [53375] by mrowe@apple.com
  • 1 copy in tags/Safari-6531.21.11

New tag.

16:04 Changeset [53374] by eric@webkit.org
  • 6 edits in trunk/WebKitTools

2010-01-17 Chris Jerdonek <cjerdonek@webkit.org>

Reviewed by Adam Barth.

Eliminated the error_count global variable and related
check-webkit-style refactoring.

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

  • Scripts/check-webkit-style:
    • Updated to use webkit_argument_defaults().
    • Renamed styleChecker to style_checker.
  • Scripts/webkitpy/style/checker.py:
    • Prefixed the three default arguments with WEBKIT_DEFAULT.
    • Added webkit_argument_defaults().
    • Added default filter_rules parameter to CategoryFilter constructor.
    • Added ne() to CategoryFilter class.
    • Added eq() and ne() to ProcessorOptions class.
    • Added error_count and _write_error attributes to StyleChecker class.
    • Made StyleChecker._handle_error() increment the error count.
  • Scripts/webkitpy/style/checker_unittest.py:
    • Improved CategoryFilterTest.test_eq().
    • Added CategoryFilterTest.test_ne().
    • Added test_eq() and test_ne() to ProcessorOptionsTest class.
    • Updated unit tests to use webkit_argument_defaults().
    • Added StyleCheckerTest class.
  • Scripts/webkitpy/style/cpp_style.py:
    • Removed references to global error_count.
  • Scripts/webkitpy/style/cpp_style_unittest.py:
    • Removed CppStyleStateTest class.
15:39 Changeset [53373] by kevino@webkit.org
  • 2 edits in trunk/WebCore

Reviewed by Kevin Ollivier.

[wx] On Win and GTK, we need to manually apply the transforms when falling back
to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.

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

09:54 Changeset [53372] by eric@webkit.org
  • 5 edits in trunk/WebCore

2010-01-17 Martin Robinson <martin.james.robinson@gmail.com>

Reviewed by Gustavo Noronha Silva.

[GTK] GtkWebKit incompatible with rgba colormaps
https://bugs.webkit.org/show_bug.cgi?id=20736

Fix GTK theme rendering onto drawables with RGBA colormaps. Now
each type of colormap has its own collection of GtkWidgets.

This fix does not introduce any functionality changes, so does not
includes new tests.

  • platform/gtk/RenderThemeGtk.cpp: (WebCore::RenderThemeGtk::RenderThemeGtk): (WebCore::RenderThemeGtk::~RenderThemeGtk): (WebCore::RenderThemeGtk::partsForDrawable): (WebCore::adjustMozillaStyle): (WebCore::setMozillaState): (WebCore::paintMozillaGtkWidget): (WebCore::setToggleSize): (WebCore::RenderThemeGtk::setCheckboxSize): (WebCore::RenderThemeGtk::paintCheckbox): (WebCore::RenderThemeGtk::setRadioSize): (WebCore::RenderThemeGtk::paintRadio): (WebCore::RenderThemeGtk::paintButton): (WebCore::RenderThemeGtk::adjustMenuListStyle): (WebCore::RenderThemeGtk::paintMenuList): (WebCore::RenderThemeGtk::adjustTextFieldStyle): (WebCore::RenderThemeGtk::paintTextField): (WebCore::RenderThemeGtk::paintSearchFieldResultsButton): (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/gtk2drawing.c: (moz_gtk_use_theme_parts): (ensure_window_widget): (setup_widget_prototype): (ensure_button_widget): (ensure_hpaned_widget): (ensure_vpaned_widget): (ensure_toggle_button_widget): (ensure_button_arrow_widget): (ensure_checkbox_widget): (ensure_radiobutton_widget): (ensure_scrollbar_widget): (ensure_spin_widget): (ensure_scale_widget): (ensure_entry_widget): (moz_gtk_get_combo_box_inner_button): (moz_gtk_get_combo_box_button_inner_widgets): (ensure_combo_box_widgets): (moz_gtk_get_combo_box_entry_inner_widgets): (moz_gtk_get_combo_box_entry_arrow): (ensure_combo_box_entry_widgets): (ensure_handlebox_widget): (ensure_toolbar_widget): (ensure_toolbar_separator_widget): (ensure_tooltip_widget): (ensure_tab_widget): (ensure_progress_widget): (ensure_statusbar_widget): (ensure_frame_widget): (ensure_menu_bar_widget): (ensure_menu_bar_item_widget): (ensure_menu_popup_widget): (ensure_menu_item_widget): (ensure_image_menu_item_widget): (ensure_menu_separator_widget): (ensure_check_menu_item_widget): (ensure_tree_view_widget): (ensure_tree_header_cell_widget): (ensure_expander_widget): (ensure_scrolled_window_widget): (moz_gtk_checkbox_get_metrics): (moz_gtk_radio_get_metrics): (moz_gtk_splitter_get_metrics): (moz_gtk_toggle_paint): (moz_gtk_scrollbar_button_paint): (moz_gtk_scrollbar_trough_paint): (moz_gtk_scrollbar_thumb_paint): (moz_gtk_spin_paint): (moz_gtk_spin_updown_paint): (moz_gtk_scale_paint): (moz_gtk_scale_thumb_paint): (moz_gtk_gripper_paint): (moz_gtk_hpaned_paint): (moz_gtk_vpaned_paint): (moz_gtk_caret_paint): (moz_gtk_treeview_paint): (moz_gtk_tree_header_cell_paint): (moz_gtk_tree_header_sort_arrow_paint): (moz_gtk_treeview_expander_paint): (moz_gtk_expander_paint): (moz_gtk_combo_box_paint): (moz_gtk_downarrow_paint): (moz_gtk_combo_box_entry_button_paint): (moz_gtk_container_paint): (moz_gtk_toggle_label_paint): (moz_gtk_toolbar_paint): (moz_gtk_toolbar_separator_paint): (moz_gtk_tooltip_paint): (moz_gtk_resizer_paint): (moz_gtk_frame_paint): (moz_gtk_progressbar_paint): (moz_gtk_progress_chunk_paint): (moz_gtk_get_tab_thickness): (moz_gtk_tab_paint): (moz_gtk_tabpanels_paint): (moz_gtk_tab_scroll_arrow_paint): (moz_gtk_menu_bar_paint): (moz_gtk_menu_popup_paint): (moz_gtk_menu_separator_paint): (moz_gtk_menu_item_paint): (moz_gtk_menu_arrow_paint): (moz_gtk_check_menu_item_paint): (moz_gtk_window_paint): (moz_gtk_get_widget_border): (moz_gtk_get_combo_box_entry_button_size): (moz_gtk_get_tab_scroll_arrow_size): (moz_gtk_get_downarrow_size): (moz_gtk_get_toolbar_separator_width): (moz_gtk_get_expander_size): (moz_gtk_get_treeview_expander_size): (moz_gtk_get_menu_separator_height): (moz_gtk_get_scalethumb_metrics): (moz_gtk_get_scrollbar_metrics): (moz_gtk_images_in_menus): (moz_gtk_widget_paint): (moz_gtk_get_scrollbar_widget): (moz_gtk_shutdown): (moz_gtk_destroy_theme_parts_widgets):
  • platform/gtk/gtkdrawing.h:

01/16/10:

23:18 Changeset [53371] by mjs@apple.com
  • 12 edits in trunk

2010-01-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>

  • runtime/JSString.h: (JSC::jsStringWithFinalizer): Added new mechanism for a string to have an optional finalizer callback, for the benefit of weak-referencing caches. (JSC::): (JSC::Fiber::JSString): (JSC::Fiber::~JSString):
  • runtime/JSString.cpp: (JSC::JSString::resolveRope): Clear fibers so this doesn't look like a string with a finalizer.
  • runtime/WeakGCMap.h: Include "Collector.h" to make this header includable by itself.

2010-01-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::stringValue): Explicitly make a String, since char* is now ambiguous.

2010-01-16 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

Cache JS string values made from DOM strings (Dromaeo speedup)
https://bugs.webkit.org/show_bug.cgi?id=33768
<rdar://problem/7353576>

Added a new cache for JSString values that are created from Strings or AtomicStrings
in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
and it is wasteful to make a new JS-level string value every time.


The string cache is per-world, and thus thread-safe and not a
vector for accidental information exchange.


~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.

  • bindings/js/JSDOMBinding.cpp: (WebCore::jsStringCache): Helper function to get the string cache for the current world. (WebCore::jsString): Some new overloads including the caching version. (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
  • bindings/js/JSDOMBinding.h: (WebCore::jsString): Prototype new overloads (and define a few inline).
  • bindings/js/JSJavaScriptCallFrameCustom.cpp: (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
  • bindings/js/ScriptFunctionCall.cpp: (WebCore::ScriptFunctionCall::appendArgument): Ditto.
  • WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
18:31 Changeset [53370] by oliver@apple.com
  • 2 edits in trunk/WebCore

2010-01-16 Oliver Hunt <oliver@apple.com>

Reviewed by Nikolas Zimmermann.

SVG Markers are getting culled incorrectly
https://bugs.webkit.org/show_bug.cgi?id=33767

Use applyTransformToPaintInfo to transform the paintInfo, otherwise
the paint rect is not updated leading to incorrect culling.

  • svg/graphics/SVGResourceMarker.cpp: (WebCore::SVGResourceMarker::draw):
17:42 Changeset [53369] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

MSAA: Screen rect for <option> elements is always the zero rect

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

Reviewed by Oliver Hunt.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::accLocation):
Use elementRect() rather than boundingBoxRect(), which
AccessibilityListBoxOption overrides.

LayoutTests:

  • platform/win/accessibility/option-element-position-and-size-expected.txt: Added.
  • platform/win/accessibility/option-element-position-and-size.html: Added.
17:42 Changeset [53368] by jhoneycutt@apple.com
  • 5 edits
    2 adds in trunk

get_accParent should try to retrieve parent AccessibilityObject, before
calling upon window

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

Reviewed by Darin Adler.

WebKit/win:

  • AccessibleBase.cpp:

(AccessibleBase::get_accParent):
If the object has a parent object, return it. If not, return the
accessible for the WebView window.

WebKitTools:

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::parentElement):
Get the object's parent. Query it for IAccessible, and return it.

LayoutTests:

  • platform/win/accessibility/parent-element-expected.txt: Added.
  • platform/win/accessibility/parent-element.html: Added.
17:03 Changeset [53367] by sullivan@apple.com
  • 3 edits in trunk/WebCore

https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
Zip code field is misidentified as street address because id attribute isn't checked.

Reviewed by Darin Adler

No new tests. I believe this code is used only by Safari AutoFill, but in any case
it does not affect page rendering or anything else at the WebCore/WebKit level.

  • page/Frame.cpp:

(WebCore::matchLabelsAgainstString):
New function, split out from matchLabelsAgainstElement.
(WebCore::Frame::matchLabelsAgainstElement):
Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.

  • page/mac/FrameMac.mm:

(WebCore::matchLabelsAgainstString):
Same as above. This is a parallel copy of the function using Mac-specific data structures.
(WebCore::Frame::matchLabelsAgainstElement):
Ditto.

15:30 Changeset [53366] by timothy@apple.com
  • 8 edits in trunk/WebCore

Use String.trim() instead of a regex in the Web Inspector.

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

Reviewed by George Staikos.

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel.prototype.performSearch): Use .trim().

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.

  • inspector/front-end/ProfileView.js:
  • inspector/front-end/SourceFrame.js:

(WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype): Ditto.

  • inspector/front-end/utilities.js:

(String.prototype.trimLeadingWhitespace): Removed.
(String.prototype.trimTrailingWhitespace): Removed.
(String.prototype.trimWhitespace): Removed.

15:04 Changeset [53365] by oliver@apple.com
  • 15 edits in trunk/WebCore

2010-01-16 Oliver Hunt <oliver@apple.com>

Reviewed by Nikolas Zimmermann.

Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
https://bugs.webkit.org/show_bug.cgi?id=33766

Make localToParentTransform return by reference to avid copy overhead.
This is a little gnarly in places as it means we need to be able to
return temporary values in a few implementations, so we have to add
class fields to hold them, heppily the classes that these effect are

sufficiently uncommon for this to be okay.

  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::localToParentTransform):
  • rendering/RenderForeignObject.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::localTransform): (WebCore::RenderObject::localToParentTransform):
  • rendering/RenderObject.h:
  • rendering/RenderPath.cpp: (WebCore::RenderPath::localToParentTransform): (WebCore::RenderPath::nodeAtFloatPoint):
  • rendering/RenderPath.h:
  • rendering/RenderSVGImage.h: (WebCore::RenderSVGImage::localToParentTransform):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::localToParentTransform):
  • rendering/RenderSVGRoot.h:
  • rendering/RenderSVGText.h: (WebCore::RenderSVGText::localToParentTransform):
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::localToParentTransform):
  • rendering/RenderSVGTransformableContainer.h:
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::localToParentTransform):
  • rendering/RenderSVGViewportContainer.h:
13:36 Changeset [53364] by darin@apple.com
  • 5 edits
    2 adds in trunk

ValidityState can hold a stale pointer to control
https://bugs.webkit.org/show_bug.cgi?id=33729
rdar://problem/7545114

Reviewed by Oliver Hunt and Alexey Proskuryakov.

WebCore:

Test: fast/forms/ValidityState-removed-control.html

  • html/HTMLFormControlElement.h: Use OwnPtr instead of

RefPtr to point to the ValidityState object.

  • html/ValidityState.cpp: Use a constant instead of a

macro for the email validation regular expression.
(WebCore::ValidityState::validationMessage): Use
m_control instead of control function; we don't need
a function for this. Also marked const.
(WebCore::ValidityState::typeMismatch): Ditto.
Fixed some minor style problems.
(WebCore::ValidityState::rangeUnderflow): Ditto.
(WebCore::ValidityState::rangeOverflow): Ditto.
(WebCore::ValidityState::stepMismatch): Ditto.
(WebCore::ValidityState::valid): Ditto.
(WebCore::ValidityState::isValidEmailAddress):
Changed local variable names for clarity. Got rid of
an unneeded global variable.

  • html/ValidityState.h: Removed RefCounted as a base

class, deriving from Noncopyable instead. Changed
creation to use PassOwnPtr instead of PassRefPtr.
Eliminated unneeded control function. Added ref and
deref functions that forward the reference counting
to the control. Moved constructor here and made it
inline.

LayoutTests:

  • fast/forms/ValidityState-removed-control-expected.txt: Added.
  • fast/forms/ValidityState-removed-control.html: Added.
12:53 Changeset [53363] by ap@apple.com
  • 5 edits
    5 adds in trunk

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=33752
Assertion failure when getting a href attribute with prefix

This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
disabled during introduction of QualifiedName, but never re-enabled.

Tests: fast/dom/bad-href-attribute.html

fast/dom/node-prefix-setter-namespace-exception.html

  • dom/Attr.cpp: (WebCore::Attr::setPrefix):
  • dom/Element.cpp: (WebCore::Element::setPrefix):
  • dom/Node.cpp: (WebCore::Node::checkSetPrefix): Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox (DOM 3 Core spec says this behavior is implementation defined).
11:29 Changeset [53362] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

<rdar://problem/7529519> DumpRenderTree crashes in makeLargeMallocFailSilently()

Reviewed by Mark Rowe.

  • DumpRenderTree/mac/CheckedMalloc.cpp:

(makeLargeMallocFailSilently): Temporarily allow writing to the default
malloc zone structure while modifying it.

11:18 Changeset [53361] by beidson@apple.com
  • 10 edits in trunk

<rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
History traversals to a new document do not get the popstate event

Reviewed by Darin Adler.

WebCore:

State objects now live-on in their HistoryItem indefinitely.
This means any back/forward navigation might result in a popstate event, not just to
pre-existing documents as was previously the case.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it

on to the Document after the Document is created.

(WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,

set it as the FrameLoad's pending state object.

  • loader/FrameLoader.h:


  • page/Page.cpp:

(WebCore::Page::goToItem): Remove a now-invalid ASSERT.

LayoutTests:

Updated existing tests to match new correct behavior.

  • fast/loader/stateobjects/document-destroyed-navigate-back-expected.txt:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll-expected.txt:
  • fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html:
  • fast/loader/stateobjects/document-destroyed-navigate-back.html:
07:20 Changeset [53360] by ddkilzer@apple.com
  • 3 edits in trunk/WebKitTools

Added back removed properties to iExploder input files

While the update-iexploder-cssproperties script works great to
add new properties, it has the side-effect of removing old
properties that once were parsed.

  • iExploder/htdocs/cssproperties.in: Added back removed

properties into their own section.

  • iExploder/htdocs/htmlattrs.in: Ditto.
06:58 Changeset [53359] by ddkilzer@apple.com
  • 1 edit in trunk/WebKitTools/ChangeLog

Added bug url to ChangeLog for r53358.

06:44 Changeset [53358] by eric@webkit.org
  • 4 edits in trunk/WebKitTools

2010-01-16 Holger Hans Peter Freyther <zecke@selfish.org>

Reviewed by David Kilzer.

Update iExploder/htdocs/*.in by running update-iexploder-cssproperties

  • iExploder/htdocs/cssproperties.in: New CSS attributes
  • iExploder/htdocs/htmlattrs.in: New HTML attributes
  • iExploder/htdocs/htmltags.in: New HTML tags
00:51 QtWebKitMirrorGuide edited by zecke@selfish.org
Mention the manipulate-content.py script for post-processing. (diff)
00:48 QtWebKitPerformanceUtilities edited by zecke@selfish.org
Add an example to post-process the db. (diff)
00:40 QtWebKitPerformanceToolBackLog: edited by zecke@selfish.org
Add some new commits (diff)
00:35 QtWebKitReleases edited by zecke@selfish.org
(diff)

01/15/10:

23:38 QtWebKitReleases edited by zecke@selfish.org
add some ideas on release engineering (diff)
21:07 Changeset [53357] by simon.fraser@apple.com
  • 13 edits
    72 adds in trunk

2010-01-15 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dan Bernstein and Adele Peterson.

Support reflections on composited layers
https://bugs.webkit.org/show_bug.cgi?id=31885

Implement reflections (via -webkit-box-reflect:) on compositing layers.

We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
The replica layer is not parented in the tree, but referenced by another layer.
RenderLayerBacking sets this up when it finds RenderLayers for reflections.

GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
and copying their properties, including animations and contents. Deep reflections
are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
the path down the tree to each replica instance.

When GraphicsLayerCA properties are changed, in most cases the clones must also
be updated.

Tests: compositing/masks/direct-image-mask.html

compositing/reflections/animation-inside-reflection.html
compositing/reflections/compositing-change-inside-reflection.html
compositing/reflections/deeply-nested-reflections.html
compositing/reflections/masked-reflection-on-composited.html
compositing/reflections/nested-reflection-anchor-point.html
compositing/reflections/nested-reflection-animated.html
compositing/reflections/nested-reflection-mask-change.html
compositing/reflections/nested-reflection-on-overflow.html
compositing/reflections/nested-reflection-opacity.html
compositing/reflections/nested-reflection-size-change.html
compositing/reflections/nested-reflection-transformed.html
compositing/reflections/nested-reflection-transition.html
compositing/reflections/nested-reflection.html
compositing/reflections/reflection-opacity.html
compositing/reflections/reflection-ordering.html
compositing/reflections/reflection-positioning.html
compositing/reflections/transform-inside-reflection.html

  • platform/graphics/GraphicsLayer.h: (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer. (WebCore::GraphicsLayer::replicatedLayerPosition): (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be special-cased; we cannot just copy the position of the original. (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed, which gives us a chance to update clone layers. (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer. (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating. (WebCore::GraphicsLayer::setReplicatedLayer):
  • platform/graphics/GraphicsLayer.cpp: (WebCore::GraphicsLayer::GraphicsLayer): (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer. (WebCore::GraphicsLayer::dumpProperties):
  • platform/graphics/mac/GraphicsLayerCA.h: (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers. (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the root of a replica tree. (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.

(WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
down the tree during recursion, to build cloneID paths.

(WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.

  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers. (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too. (WebCore::GraphicsLayerCA::addChild): ditto (WebCore::GraphicsLayerCA::addChildAtIndex): ditto (WebCore::GraphicsLayerCA::addChildBelow): ditto (WebCore::GraphicsLayerCA::addChildAbove): ditto (WebCore::GraphicsLayerCA::replaceChild): ditto (WebCore::GraphicsLayerCA::removeFromParent): ditto (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas() (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed. (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations. (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto. (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged() (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged() (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers. (WebCore::GraphicsLayerCA::recursiveCommitChanges): (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be

committed before we recurse on children.

(WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be

committed after we recurse on children, like clones.

(WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
(WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
(WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
(WebCore::GraphicsLayerCA::updateLayerSize): ditto
(WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
(WebCore::GraphicsLayerCA::updateTransform): ditto
(WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
(WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
(WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
(WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
(WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
(WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
(WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
flattening, or CATransformLayers for preserve-3d.
(WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
(WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
(WebCore::GraphicsLayerCA::updateContentsImage): ditto
(WebCore::GraphicsLayerCA::updateContentsRect): ditto
(WebCore::GraphicsLayerCA::updateMaskLayer): ditto
(WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
and its children, and attach them as sublayers.
(WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
string serves to identify clones in the hash map.
(WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
and return it.
(WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
(WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
(WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
(WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
(WebCore::GraphicsLayerCA::suspendAnimations): update clones.
(WebCore::GraphicsLayerCA::resumeAnimations): ditto
(WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
(WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
(WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
(WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
since it doesn't just copy those properties from the original.
(WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
(WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
the root of the clone tree.
(WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
(WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
(WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
(WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
(WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.

  • platform/graphics/mac/WebLayer.mm: (-[WebLayer display]): override -display so we know when to update the contents of clone layers
  • platform/graphics/mac/WebTiledLayer.mm: (-[WebTiledLayer display]): ditto.
  • rendering/RenderLayer.h: (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::RenderLayer): initialize m_isReflection (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer. (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection. (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect). Also hook up updating the reflection layer geometry, and the relica position.

(WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.

  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic. (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected. (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer. (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces a reflection ancestor to composite now. (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything. (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode for masks or reflections any more. (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
  • rendering/RenderObject.h: (WebCore::RenderObject::isReplica):
  • rendering/RenderReplica.h: (WebCore::RenderReplica::isReplica): New method used to determine if a render is a replica.
21:05 Changeset [53356] by eric@webkit.org
  • 4 edits in trunk/LayoutTests

2010-01-15 Doug Muir <dmuir@google.com>

Fix some Layout Test timeouts when run under valgrind.

  • http/tests/history/redirect-js-form-submit-0-seconds.html:
  • http/tests/history/redirect-js-form-submit-2-seconds.html:
  • http/tests/misc/timer-vs-loading.html:
18:14 Changeset [53355] by eric@webkit.org
  • 6 edits
    2 adds in trunk

2010-01-15 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

CSS2.1 Counters not updated when new elements are inserted in the DOM.
https://bugs.webkit.org/show_bug.cgi?id=32884

  • fast/css/counters/adding-nodes-expected.txt: Added.
  • fast/css/counters/adding-nodes.html: Added.

2010-01-15 Carol Szabo <carol.szabo@nokia.com>

Reviewed by Darin Adler.

CSS2.1 Counters not updated when new elements are inserted in the DOM.
https://bugs.webkit.org/show_bug.cgi?id=32884

Test: fast/css/counters/adding-nodes.html

  • rendering/CounterNode.cpp: (WebCore::CounterNode::insertAfter): Modified to handle the addition of nodes with children. Needed when formerly root nodes become descendants of a new node.
  • rendering/RenderCounter.cpp: (WebCore::makeCounterNode): Changed to handle the case when root counter nodes lose their root status as a result of a new root counter node creation. (WebCore::destroyCounterNodeWithoutMapRemoval): Refactored more code into destroyCounterNodeChildren and renamed the function according to its new action. (WebCore::RenderCounter::destroyCounterNodes): Simplified to share more code with the new destroyCounterNode. (WebCore::RenderCounter::destroyCounterNode): Added to allow for selective counterNode destruction. (WebCore::RenderCounter::rendererSubtreeAttached): Added to refresh counter values in response to DOM changes. For renderers with no attached counters the execution time of this function cannot be discerned in comparison with the time needed to add a node or change the style of a node. (WebCore::updateCounters): Helper function for rendererSubtreeAttached. Updates the counters attached to a Renderer in response to the renderer or its ancestors being attached to the renderer tree.
  • rendering/RenderCounter.h:
  • rendering/RenderObject.cpp: (WebCore::RenderObject::addChild): Changed to update counter values if needed.
17:56 Changeset [53354] by weinig@apple.com
  • 2 edits in trunk/JavaScriptCore

Fix for <rdar://problem/7548432>
Add ALWAYS_INLINE to jsLess for a 1% speedup on llvm-gcc.

Reviewed by Maciej Stachowiak.

  • runtime/Operations.h:

(JSC::jsLess):

17:24 Changeset [53353] by kevino@webkit.org
  • 3 edits in trunk/WebKit/wx

Reviewed by Alexey Proskuryakov.

Move the code adding the child frame to the FrameTree into wxWebFrame constructor
so that it happens before we call init() on the new frame. Fixes asserts checking
frame count consistency.

17:18 Changeset [53352] by darin@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-15 Darin Fisher <darin@chromium.org>

Fix flakey test.

Add a call to clearBackForwardList.

  • fast/history/history-length.html:
17:13 Changeset [53351] by eric@webkit.org
  • 7 edits in trunk

2010-01-15 Alejandro G. Castro <alex@igalia.com>

Reviewed by Xan Lopez.

Original patch by David Ronis <david.ronis@mcgill.ca>

Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=33486

Deprecated symbols replaced for gtk+ versions over 2.18.

  • platform/gtk/PlatformScreenGtk.cpp: (WebCore::getVisual): (WebCore::screenRect):

2010-01-15 Alejandro G. Castro <alex@igalia.com>

Reviewed by Xan Lopez.

Original patch by David Ronis <david.ronis@mcgill.ca>

Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
https://bugs.webkit.org/show_bug.cgi?id=33486

Deprecated symbols replaced for gtk+ versions over 2.18.

  • WebCoreSupport/ChromeClientGtk.cpp: (WebKit::ChromeClient::windowRect):
  • webkit/webkitprivate.cpp: (currentToplevelCallback):
  • webkit/webkitwebframe.cpp: (webkit_web_frame_print_full): (webkit_web_frame_print):
  • webkit/webkitwebview.cpp: (webkit_web_view_focus_in_event):
16:58 Changeset [53350] by darin@chromium.org
  • 2 edits
    1 move in trunk/LayoutTests

2010-01-15 Darin Fisher <darin@chromium.org>

Reviewed by Dimitri Glazkov.

Disable page cache and add diagnostic output in the failure case.
https://bugs.webkit.org/show_bug.cgi?id=33749

  • fast/history/history-length-expected.txt:
  • fast/history/history-length.html: Copied from fast/history/history-length.html-disabled.
  • fast/history/history-length.html-disabled: Removed.
16:16 Changeset [53349] by oliver@apple.com
  • 2 edits in trunk/WebCore

2010-01-15 Oliver Hunt <oliver@apple.com>

Reviewed by Sam Weinig.

Bad DOM performance in large SVG files
https://bugs.webkit.org/show_bug.cgi?id=30055

Improve the performance of the early culling check by avoiding save/restore
of graphics state in culled case.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
15:21 Changeset [53348] by darin@chromium.org
  • 1 edit
    1 move in trunk/LayoutTests

2010-01-15 Darin Fisher <darin@chromium.org>

Disable this test temporarily since it is failing on all of the
builders.

  • fast/history/history-length.html: Removed.
  • fast/history/history-length.html-disabled: Copied from fast/history/history-length.html.
14:37 Changeset [53347] by eric@webkit.org
  • 16 edits
    1 delete in trunk

2010-01-15 Eric Seidel <eric@webkit.org>

No review, rolling out r53344.
http://trac.webkit.org/changeset/53344
https://bugs.webkit.org/show_bug.cgi?id=32920

Broke the Chromium Mac builder.

  • WebCore.gypi:
  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/SerializedScriptValue.cpp: Removed.
  • bindings/v8/SerializedScriptValue.h: (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::release): (WebCore::SerializedScriptValue::toString): (WebCore::SerializedScriptValue::SerializedScriptValue):
  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::postMessageCallback):
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  • bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback):
  • bindings/v8/custom/V8MessageEventCustom.cpp: (WebCore::V8MessageEvent::initMessageEventCallback):
  • bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback):
  • bindings/v8/custom/V8PopStateEventCustom.cpp: (WebCore::V8PopStateEvent::initPopStateEventCallback): (WebCore::V8PopStateEvent::stateAccessorGetter):
  • bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback):

2010-01-15 Eric Seidel <eric@webkit.org>

No review, rolling out r53344.
http://trac.webkit.org/changeset/53344
https://bugs.webkit.org/show_bug.cgi?id=32920

Broke the Chromium Mac builder.

  • src/PlatformMessagePortChannel.cpp: (WebCore::PlatformMessagePortChannel::postMessageToRemote): (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
  • src/WebWorkerBase.cpp: (WebKit::WebWorkerBase::postMessageToWorkerObject):
  • src/WebWorkerClientImpl.cpp: (WebKit::WebWorkerClientImpl::postMessageToWorkerContext): (WebKit::WebWorkerClientImpl::postMessageToWorkerObjectTask):
  • src/WebWorkerImpl.cpp: (WebKit::WebWorkerImpl::postMessageToWorkerContextTask):
14:08 Changeset [53346] by darin@chromium.org
  • 5 edits
    2 adds in trunk

2010-01-15 Darin Fisher <darin@chromium.org>

Reviewed by Brady Eidson.

history.length does not return number of elements in history list
https://bugs.webkit.org/show_bug.cgi?id=24472

Test: fast/history/history-length.html

  • page/Page.cpp: (WebCore::Page::getHistoryLength):
13:47 Changeset [53345] by dimich@chromium.org
  • 3 edits in trunk/WebCore

Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
https://bugs.webkit.org/show_bug.cgi?id=31633

Reviewed by Darin Adler.

Don't see a way to add test for it, we don't have a way to reproduce the issue currently.

  • dom/Document.cpp:

(WebCore::DocumentWeakReference::DocumentWeakReference):
(WebCore::DocumentWeakReference::document):
(WebCore::DocumentWeakReference::clear):
(WebCore::Document::Document): Create a weak reference to this Document.
(WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
(WebCore::PerformTaskContext::PerformTaskContext):
(WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
(WebCore::Document::postTask):

  • dom/Document.h:

(WebCore::DocumentWeakReference::create):

13:28 Changeset [53344] by eric@webkit.org
  • 16 edits
    1 add in trunk

2010-01-15 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by David Levin.

[V8] Support SerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=32920
http://crbug.com/30620

Initial implementation of SerializedScriptValue which is used to
to create a serialized representation of JavaScript objects. This
representation is needed for structured clones and worker messages.

  • WebCore.gypi: Added SerializedScriptValue.cpp.
  • bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
  • bindings/v8/SerializedScriptValue.cpp: Added. (WebCore::): (WebCore::ZigZag::encode): (WebCore::ZigZag::decode): (WebCore::Writer::Writer): (WebCore::Writer::writeUndefined): (WebCore::Writer::writeNull): (WebCore::Writer::writeTrue): (WebCore::Writer::writeFalse): (WebCore::Writer::writeString): (WebCore::Writer::writeInt32): (WebCore::Writer::writeNumber): (WebCore::Writer::endComposite): (WebCore::Writer::data): (WebCore::Writer::doWriteUint32): (WebCore::Writer::append): (WebCore::Writer::ensureSpace): (WebCore::Writer::fillHole): (WebCore::Writer::charAt): (WebCore::Serializer::Serializer): (WebCore::Serializer::serialize): (WebCore::Serializer::StateBase::~StateBase): (WebCore::Serializer::StateBase::nextState): (WebCore::Serializer::StateBase::setNextState): (WebCore::Serializer::StateBase::composite): (WebCore::Serializer::StateBase::StateBase): (WebCore::Serializer::State::composite): (WebCore::Serializer::State::tag): (WebCore::Serializer::State::State): (WebCore::Serializer::StackCleaner::StackCleaner): (WebCore::Serializer::StackCleaner::~StackCleaner): (WebCore::Serializer::ArrayState::ArrayState): (WebCore::Serializer::ArrayState::done): (WebCore::Serializer::ArrayState::advance): (WebCore::Serializer::ObjectState::ObjectState): (WebCore::Serializer::ObjectState::done): (WebCore::Serializer::ObjectState::advance): (WebCore::Serializer::ObjectState::nextProperty): (WebCore::Serializer::doSerialize): (WebCore::Serializer::push): (WebCore::Serializer::top): (WebCore::Serializer::pop): (WebCore::Serializer::checkComposite): (WebCore::Reader::Reader): (WebCore::Reader::isEof): (WebCore::Reader::read): (WebCore::Reader::readTag): (WebCore::Reader::readString): (WebCore::Reader::readInt32): (WebCore::Reader::readNumber): (WebCore::Reader::doReadUint32): (WebCore::Deserializer::Deserializer): (WebCore::Deserializer::deserialize): (WebCore::Deserializer::doDeserialize): (WebCore::Deserializer::push): (WebCore::Deserializer::pop): (WebCore::Deserializer::stackDepth): (WebCore::Deserializer::element): (WebCore::SerializedScriptValue::SerializedScriptValue): (WebCore::SerializedScriptValue::deserialize):
  • bindings/v8/SerializedScriptValue.h: (WebCore::SerializedScriptValue::create): (WebCore::SerializedScriptValue::createFromWire): (WebCore::SerializedScriptValue::release): (WebCore::SerializedScriptValue::toWireString):

Updated uses of SerializedScriptValue:

  • bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::V8DOMWindow::postMessageCallback):
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: (WebCore::V8DedicatedWorkerContext::postMessageCallback):
  • bindings/v8/custom/V8HistoryCustom.cpp: (WebCore::V8History::pushStateCallback): (WebCore::V8History::replaceStateCallback):
  • bindings/v8/custom/V8MessageEventCustom.cpp: (WebCore::V8MessageEvent::initMessageEventCallback):
  • bindings/v8/custom/V8MessagePortCustom.cpp: (WebCore::V8MessagePort::postMessageCallback):
  • bindings/v8/custom/V8WorkerCustom.cpp: (WebCore::V8Worker::postMessageCallback):

2010-01-15 Vitaly Repeshko <vitalyr@chromium.org>

Reviewed by David Levin.

[V8] Support SerializedScriptValue.
https://bugs.webkit.org/show_bug.cgi?id=32920
http://crbug.com/30620

Updated uses of SerializedScriptValue:

  • src/PlatformMessagePortChannel.cpp: (WebCore::PlatformMessagePortChannel::postMessageToRemote): (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
  • src/WebWorkerBase.cpp: (WebKit::WebWorkerBase::postMessageToWorkerObject):
  • src/WebWorkerClientImpl.cpp: (WebKit::WebWorkerClientImpl::postMessageToWorkerContext): (WebKit::WebWorkerClientImpl::postMessageToWorkerObjectTask):
  • src/WebWorkerImpl.cpp: (WebKit::WebWorkerImpl::postMessageToWorkerContextTask):
13:12 WebKit Team edited by cjerdonek@webkit.org
Added myself. (diff)
12:54 Changeset [53343] by oliver@apple.com
  • 3 edits in trunk/WebCore

2010-01-15 Oliver Hunt <oliver@apple.com>

Reviewed by Dirk Schulze.

Bad DOM performance in large SVG files
https://bugs.webkit.org/show_bug.cgi?id=30055

Add an early return when we go to paint a RenderPath that
isn't in the current clip.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::draw):
12:53 Changeset [53342] by eric@webkit.org
  • 3 edits in trunk/WebCore

2010-01-15 Steve Block <steveblock@google.com>

Reviewed by Eric Seidel.

Make Geolocation::suspend/resume public.
https://bugs.webkit.org/show_bug.cgi?id=33679

These were made private in Bug 32499, but are required by Android to be public.

No new tests, build fix only.

  • page/Geolocation.cpp: Modified (WebCore::Geolocation::suspend): Added back in (WebCore::Geolocation::resume): Added back in
  • page/Geolocation.h: Modified. Make suspend and resume public
12:48 Changeset [53341] by ggaren@apple.com
  • 5 edits
    2 adds in trunk

2010-01-14 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESISON: Google maps buttons not working properly
https://bugs.webkit.org/show_bug.cgi?id=31871

REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when
getting directions for a second time
https://bugs.webkit.org/show_bug.cgi?id=33446


SunSpider and v8 report no change.

  • interpreter/Interpreter.cpp: (JSC::Interpreter::tryCacheGetByID): Update our cached offset in case flattening the dictionary changed any of its offsets.
  • jit/JITStubs.cpp: (JSC::JITThunks::tryCacheGetByID): (JSC::DEFINE_STUB_FUNCTION):
  • runtime/Operations.h: (JSC::normalizePrototypeChain): ditto

2010-01-15 Geoffrey Garen <ggaren@apple.com>

Reviewed by Oliver Hunt.

REGRESISON: Google maps buttons not working properly
https://bugs.webkit.org/show_bug.cgi?id=31871

REGRESSION(r52948): JavaScript exceptions thrown on Google Maps when
getting directions for a second time
https://bugs.webkit.org/show_bug.cgi?id=33446


Added a test for these bugs.

  • fast/js/pic/undictionary-expected.txt: Added.
  • fast/js/pic/undictionary.html: Added.
12:36 Changeset [53340] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2010-01-15 Chris Jerdonek <chris.jerdonek@gmail.com>

Reviewed by David Kilzer.

Altered parseDiffHeader() to skip unrecognized lines and
other minor clean-ups.

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

  • Scripts/VCSUtils.pm:
    • Changed parseDiffHeader() as follows:
      • Skips over unrecognized lines.
      • Addressed FIXME to remove substitution for "diff" line.
      • Renamed "version" header hash key to "sourceRevision".
      • Eliminated "copiedFromVersion" header hash key.
      • Included "sourceRevision" also for copied files.
      • Checks that copy revision number matches "sourceRevision".
      • No longer returns $foundHeaderEnding.
      • Dies if header ending not found.
      • Diff header dividing line now always added.
  • Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl:
    • Made necessary changes in parseDiffHeader() unit tests.
    • Shortened the file paths in some test cases.
12:26 Changeset [53339] by wsiegrist@apple.com
  • 1 edit in trunk/WebKitTools/BuildSlaveSupport/build.webkit.org-config/public_html/index.html

2010-01-15 William Siegrist <wsiegrist@apple.com>

Cleanup buildbot main menu

12:20 Changeset [53338] by eric@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Alexander Pavlov <apavlov@chromium.org>

Reviewed by Pavel Feldman.

Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane

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

  • inspector/front-end/inspector.css:
12:20 Changeset [53337] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

svg/custom/marker-changes.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=33728

removing gratuitous setTimeout.

  • svg/custom/marker-changes.svg:
10:56 Changeset [53336] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

2010-01-15 Ojan Vafai <ojan@chromium.org>

Reviewed by Adam Barth.

transitions/shorthand-border-transitions.html is still flaky on slower bots
https://bugs.webkit.org/show_bug.cgi?id=33721

Increase the tolerance. The test still tests what it was meant to.

  • transitions/shorthand-border-transitions.html:
10:38 Changeset [53335] by japhet@chromium.org
  • 6 edits in trunk/WebCore

2010-01-15 Nate Chapin <japhet@chromium.org>

Reviewed by Dimitri Glazkov.

[V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.

  • bindings/scripts/CodeGeneratorV8.pm:
  • bindings/v8/V8Binding.cpp: (WebCore::getToStringName): (WebCore::constructorToString): (WebCore::getToStringTemplate):
  • bindings/v8/V8Binding.h:
  • bindings/v8/V8DOMWindowShell.cpp: (WebCore::V8DOMWindowShell::createNewContext):
  • bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate):
09:46 Changeset [53334] by dglazkov@chromium.org
  • 2 edits in trunk/WebCore

2010-01-15 Dimitri Glazkov <dglazkov@chromium.org>

No review, rolling out r53331.
http://trac.webkit.org/changeset/53331
https://bugs.webkit.org/show_bug.cgi?id=30055

Broke fast/borders/svg-as-border-image-3.html. Don't give up,
Oliver! You are really, really close.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
09:46 Changeset [53333] by ojan@chromium.org
  • 3 edits in trunk/LayoutTests

2010-01-14 Ojan Vafai <ojan@chromium.org>

Reviewed by Eric Seidel.

animations/combo-transform-translate+scale.html failed on Snow Leopard Debug Bot
https://bugs.webkit.org/show_bug.cgi?id=33461

Make test half as long. Remove a setTimeout and tweak tolerances to
reduce flakiness.

  • animations/combo-transform-translate+scale.html:
09:13 BuildingQtOnSymbian edited by hausmann@webkit.org
(diff)
09:13 BuildingQtOnSymbian edited by hausmann@webkit.org
(diff)
09:04 BuildingQtOnSymbian created by hausmann@webkit.org
08:46 Changeset [53332] by kov@webkit.org
  • 2 edits in trunk

Rubber-stamped by Xan Lopez.

Bump version to 1.1.19.

  • configure.ac:
08:43 QtWebKit edited by hausmann@webkit.org
(diff)
04:25 Changeset [53331] by oliver@apple.com
  • 2 edits in trunk/WebCore

2010-01-15 Oliver Hunt <oliver@apple.com>

Reviewed by Nikolas Zimmermann.

Bad DOM performance in large SVG files
https://bugs.webkit.org/show_bug.cgi?id=30055

Add an early return when we go to paint a RenderPath that
isn't in the current clip.

  • rendering/RenderPath.cpp: (WebCore::RenderPath::paint):
03:59 Changeset [53330] by vestbo@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>

Reviewed by Antti Koivisto.

Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform

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

  • page/NavigatorBase.cpp:
03:54 Changeset [53329] by philn@webkit.org
  • 2 edits in trunk/WebCore

2010-01-14 Philippe Normand <pnormand@igalia.com>

Reviewed by Xan Lopez.

[Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
https://bugs.webkit.org/show_bug.cgi?id=33575

Patch from Magnus Boman <captain.magnus@gmail.com>

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache): fix compiler warnings.
03:20 Changeset [53328] by pfeldman@chromium.org
  • 9 edits
    1 add in trunk/WebCore

2010-01-14 Mikhail Naganov <mnaganov@chromium.org>

Reviewed by Timothy Hatcher.

Add welcome screen to Profiles pane to provide some instructions for novices.

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

  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/front-end/ProfileView.js: (WebInspector.CPUProfileType.prototype.get welcomeMessage):
  • inspector/front-end/ProfilesPanel.js: (WebInspector.ProfileType.prototype.get welcomeMessage): (WebInspector.ProfilesPanel): (WebInspector.ProfilesPanel.prototype.show): (WebInspector.ProfilesPanel.prototype.registerProfileType): (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked): (WebInspector.ProfilesPanel.prototype._addWelcomeMessage): (WebInspector.ProfilesPanel.prototype.showProfile): (WebInspector.ProfilesPanel.prototype.closeVisibleView): (WebInspector.ProfilesPanel.prototype._updateInterface):
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/WelcomeView.js: Added. (WebInspector.WelcomeView): (WebInspector.WelcomeView.prototype._windowResized): (WebInspector.WelcomeView.prototype.addMessage):
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.html:
02:00 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
01:54 QtWebKitBackportingFixes edited by hausmann@webkit.org
(diff)
01:45 QtWebKitBackportingFixes edited by girish@forwardbias.in
(diff)
01:43 Changeset [53327] by girish@forwardbias.in
  • 2 edits in trunk/WebCore

[Qt/Win] Flash in QGraphicsWebView does not process hover correctly.

Reviewed by Simon Hausmann.

Mouse hover does not work as expected with the flash in some sites.

The problem appears to be that Flash queries NPNVnetscapeWindow on every
mouse hover. I do not how flash uses this value but returning 0 when flash
is in windowless mode solves the problem (When using QGraphicsWebView we
inject wmode opaque, thereby putting the plugin in windowless mode).

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

00:30 Changeset [53326] by zoltan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Darin Adler.

Allow custom memory allocation control for Peer class
https://bugs.webkit.org/show_bug.cgi?id=33670

Inherits the following class from Noncopyable because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at: WebCore/'location'
class Peer - websockets/WebSocketChannelClient.h:38

  • websockets/WorkerThreadableWebSocketChannel.h:
00:23 Changeset [53325] by zoltan@webkit.org
  • 2 edits in trunk/WebCore

2010-01-15 Zoltan Horvath <zoltan@webkit.org>

Reviewed by Oliver Hunt.

[Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
https://bugs.webkit.org/show_bug.cgi?id=33669

Inherits the following class from Noncopyable because it is
instantiated by 'new' and no need to be copyable:

class name - instantiated at: WebCore/'location'
class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254

  • platform/graphics/qt/GraphicsContextQt.cpp:
00:20 Changeset [53324] by darin@chromium.org
  • 4 edits
    2 adds in trunk

2010-01-14 Darin Fisher <darin@chromium.org>

Reviewed by Brady Eidson.

history.pushState should clear the entire forward history
https://bugs.webkit.org/show_bug.cgi?id=33160

Test: fast/loader/stateobjects/pushstate-clears-forward-history.html

  • history/BackForwardList.cpp: (WebCore::BackForwardList::addItem): (WebCore::BackForwardList::pushStateItem):
  • history/BackForwardList.h:
Note: See TracTimeline for information about the timeline view.