WebKit-https.git
11 years agoBug 28420 - Re-enable fast/ruby layout tests after the issue with mixedContent was...
rolandsteiner@chromium.org [Wed, 20 Jan 2010 09:29:00 +0000 (09:29 +0000)]
Bug 28420 - Re-enable fast/ruby layout tests after the issue with mixedContent was fixed.
(https://bugs.webkit.org/show_bug.cgi?id=28420, patch 5a)

Reviewed by Darin Adler.

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

* platform/mac/Skipped:

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

11 years agoOn Linux link QtWebKit with -no-undefined to catch build breakages due to missing
hausmann@webkit.org [Wed, 20 Jan 2010 08:54:32 +0000 (08:54 +0000)]
On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
files in the .pro file, resulting in unresolved symbols.

Reviewed by Tor Arne Vestbø.

* WebCore.pro:

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

11 years ago[Qt] Make it possible to link with -no-undefined.
hausmann@webkit.org [Wed, 20 Jan 2010 08:54:19 +0000 (08:54 +0000)]
[Qt] Make it possible to link with -no-undefined.

Reviewed by Tor Arne Vestbø.

* WebCore.pro: Add missing explicit dependency to libXrender due to the
use of XRenderFindVisualFormat in the X11 plugin code.

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

11 years agoAdd missing files to the build.
hausmann@webkit.org [Wed, 20 Jan 2010 08:43:26 +0000 (08:43 +0000)]
Add missing files to the build.

Reviewed by Tor Arne Vestbø.

* WebCore.pro:

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

11 years ago2010-01-20 Shinichiro Hamaji <hamaji@chromium.org>
hamaji@chromium.org [Wed, 20 Jan 2010 08:26:18 +0000 (08:26 +0000)]
2010-01-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] computePageRectsForFrame seems to be unnecessary
        https://bugs.webkit.org/show_bug.cgi?id=33881

        * WebCore.gypi: Removed FrameChromium.h
        * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
        * page/chromium/FrameChromium.h: Removed.
2010-01-20  Shinichiro Hamaji  <hamaji@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] computePageRectsForFrame seems to be unnecessary
        https://bugs.webkit.org/show_bug.cgi?id=33881

        * src/WebFrameImpl.cpp: Stop including FrameChromium.h

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

11 years ago[Qt] Don't use QSocketNotifier in the DRT for reading stdin
vestbo@webkit.org [Wed, 20 Jan 2010 08:20:59 +0000 (08:20 +0000)]
[Qt] Don't use QSocketNotifier in the DRT for reading stdin

Reviewed by Simon Hausmann.

QSocketNotifier is not available on Windows. Instead we read
stdin synchronously after each test using signals and slots.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
* DumpRenderTree/qt/DumpRenderTreeQt.h:
* DumpRenderTree/qt/main.cpp:

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

11 years agoBug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8...
rolandsteiner@chromium.org [Wed, 20 Jan 2010 07:46:52 +0000 (07:46 +0000)]
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.

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

11 years agoBuild fix after r53514
mitz@apple.com [Wed, 20 Jan 2010 05:57:26 +0000 (05:57 +0000)]
Build fix after r53514

* WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.

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

11 years ago2010-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 20 Jan 2010 05:45:39 +0000 (05:45 +0000)]
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):

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

11 years agoWebKit: Redo DumpRenderTree build fix without making WebTypesInternal.h a private...
mitz@apple.com [Wed, 20 Jan 2010 05:34:30 +0000 (05:34 +0000)]
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.

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

11 years ago2010-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 20 Jan 2010 05:18:25 +0000 (05:18 +0000)]
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:

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

11 years ago<rdar://problem/7068584> Crash at NetscapePluginHostProxy::processRequests
mitz@apple.com [Wed, 20 Jan 2010 05:08:46 +0000 (05:08 +0000)]
<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.

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

11 years agoTiger build fix.
sullivan@apple.com [Wed, 20 Jan 2010 04:09:07 +0000 (04:09 +0000)]
Tiger build fix.

* WebView/WebHTMLRepresentation.h:
Added #import for WebTypesInternal.h so NSUInteger will be defined on Tiger.

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

11 years ago2010-01-19 Adam Barth <abarth@webkit.org>
abarth@webkit.org [Wed, 20 Jan 2010 03:43:39 +0000 (03:43 +0000)]
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:

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

11 years agoUnreviewed build fix.
mjs@apple.com [Wed, 20 Jan 2010 03:24:28 +0000 (03:24 +0000)]
Unreviewed build fix.

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

* WebCore.base.exp:

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

11 years agoJavaScriptCore: When JavaScriptCore calls Debugger::Exception, have it pass a
bweinstein@apple.com [Wed, 20 Jan 2010 03:05:25 +0000 (03:05 +0000)]
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):

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

11 years agoChromium build fix.
jhoneycutt@apple.com [Wed, 20 Jan 2010 02:27:30 +0000 (02:27 +0000)]
Chromium build fix.

* public/WebAccessibilityRole.h:
(WebKit::):
Correct enum names.

* src/LocalizedStrings.cpp:
(WebCore::AXMenuListPopupActionVerb):
Stubbed.
(WebCore::AXMenuListActionVerb):
Stubbed.

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

11 years ago2010-01-18 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Wed, 20 Jan 2010 02:25:21 +0000 (02:25 +0000)]
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.

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

11 years agoChromium build fix.
jhoneycutt@apple.com [Wed, 20 Jan 2010 02:03:19 +0000 (02:03 +0000)]
Chromium build fix.

WebCore:

* accessibility/chromium/AccessibilityObjectChromium.cpp:
(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
Call correct function.

WebKit/chromium:

* public/WebAccessibilityRole.h:
(WebKit::):

* src/AssertMatchingEnums.cpp:

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

11 years agoMSAA: The child <option> elements of a non-multiple <select> are not
jhoneycutt@apple.com [Wed, 20 Jan 2010 01:43:26 +0000 (01:43 +0000)]
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.

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

11 years ago2010-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 20 Jan 2010 01:10:15 +0000 (01:10 +0000)]
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.

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

11 years ago<rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the...
mrowe@apple.com [Wed, 20 Jan 2010 00:58:55 +0000 (00:58 +0000)]
<rdar://problem/7555330> <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):

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

11 years ago2010-01-19 Victor Wang <victorw@chromium.org>
eric@webkit.org [Wed, 20 Jan 2010 00:57:28 +0000 (00:57 +0000)]
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:

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

11 years ago2010-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Wed, 20 Jan 2010 00:37:23 +0000 (00:37 +0000)]
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.

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

11 years ago2010-01-19 Carol Szabo <carol.szabo@nokia.com>
eric@webkit.org [Wed, 20 Jan 2010 00:09:18 +0000 (00:09 +0000)]
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.

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

11 years agoUnreviewed. Shared library versioning bump for 1.1.19.
kov@webkit.org [Tue, 19 Jan 2010 23:59:11 +0000 (23:59 +0000)]
Unreviewed. Shared library versioning bump for 1.1.19.

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

11 years ago Land correct expected results - forgot to update them after changing test...
ap@apple.com [Tue, 19 Jan 2010 23:53:07 +0000 (23:53 +0000)]
    Land correct expected results - forgot to update them after changing test output.

        * fast/dom/Attr/child-nodes-cache-expected.txt:

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

11 years agoUnreviewed. Build fixes for make distcheck.
kov@webkit.org [Tue, 19 Jan 2010 23:51:17 +0000 (23:51 +0000)]
Unreviewed. Build fixes for make distcheck.

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

11 years ago2010-01-19 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Tue, 19 Jan 2010 23:49:05 +0000 (23:49 +0000)]
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:

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

11 years ago Reviewed by Oliver Hunt.
ap@apple.com [Tue, 19 Jan 2010 23:32:15 +0000 (23:32 +0000)]
    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.

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33854
sullivan@apple.com [Tue, 19 Jan 2010 23:22:12 +0000 (23:22 +0000)]
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.

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

11 years ago2010-01-19 Jakob Petsovits <jpetsovits@rim.com>
jpetsovits@rim.com [Tue, 19 Jan 2010 23:09:14 +0000 (23:09 +0000)]
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):

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

11 years ago2010-01-19 Kent Tamura <tkent@chromium.org>
eric@webkit.org [Tue, 19 Jan 2010 22:50:50 +0000 (22:50 +0000)]
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:]):

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

11 years agoRenames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
steveblock@google.com [Tue, 19 Jan 2010 22:36:14 +0000 (22:36 +0000)]
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:

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

11 years ago2010-01-19 Adam Barth <abarth@webkit.org>
eric@webkit.org [Tue, 19 Jan 2010 22:30:22 +0000 (22:30 +0000)]
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:

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

11 years ago2010-01-19 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Tue, 19 Jan 2010 22:18:22 +0000 (22:18 +0000)]
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):

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

11 years agoWebCore: REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
enrica@apple.com [Tue, 19 Jan 2010 22:17:32 +0000 (22:17 +0000)]
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.

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

11 years ago2010-01-19 Kristian Amlie <kristian.amlie@nokia.com>
eric@webkit.org [Tue, 19 Jan 2010 22:14:29 +0000 (22:14 +0000)]
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.

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

11 years ago2010-01-15 Ojan Vafai <ojan@chromium.org>
ojan@chromium.org [Tue, 19 Jan 2010 22:14:03 +0000 (22:14 +0000)]
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.

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

11 years agoAdding myself to committers.py.
jpetsovits@rim.com [Tue, 19 Jan 2010 22:10:50 +0000 (22:10 +0000)]
Adding myself to committers.py.

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

11 years ago2010-01-19 Daniel Bates <dbates@rim.com>
dbates@webkit.org [Tue, 19 Jan 2010 21:53:43 +0000 (21:53 +0000)]
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]).

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

11 years agoFixes style in WebCore/bridge/jni/jsc/JavaClassJSC
steveblock@google.com [Tue, 19 Jan 2010 21:51:07 +0000 (21:51 +0000)]
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.

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

11 years ago2010-01-19 Jaime Yap <jaimeyap@google.com>
eric@webkit.org [Tue, 19 Jan 2010 21:49:30 +0000 (21:49 +0000)]
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:

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

11 years ago2010-01-19 Joanmarie Diggs <joanmarie.diggs@gmail.com>
eric@webkit.org [Tue, 19 Jan 2010 21:31:01 +0000 (21:31 +0000)]
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):

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

11 years ago2010-01-19 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Tue, 19 Jan 2010 21:07:50 +0000 (21:07 +0000)]
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.

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

11 years ago2010-01-19 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Tue, 19 Jan 2010 21:04:42 +0000 (21:04 +0000)]
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:

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

11 years ago2010-01-19 Eric Seidel <eric@webkit.org>
eric@webkit.org [Tue, 19 Jan 2010 20:53:54 +0000 (20:53 +0000)]
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.

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

11 years agoVersioning.
mrowe@apple.com [Tue, 19 Jan 2010 20:40:39 +0000 (20:40 +0000)]
Versioning.

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

11 years ago Reviewed by Xan Lopez.
kov@webkit.org [Tue, 19 Jan 2010 20:22:17 +0000 (20:22 +0000)]
    Reviewed by Xan Lopez.

        News items for 1.1.19.

        * NEWS:

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

11 years agoFix for crash on large TransparencyWin allocation. The fix is
senorblanco@chromium.org [Tue, 19 Jan 2010 20:19:12 +0000 (20:19 +0000)]
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.

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

11 years ago2010-01-19 Laszlo Gombos <laszlo.1.gombos@nokia.com>
laszlo.1.gombos@nokia.com [Tue, 19 Jan 2010 19:48:36 +0000 (19:48 +0000)]
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):

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

11 years ago2010-01-19 Eric Carlson <eric.carlson@apple.com>
eric.carlson@apple.com [Tue, 19 Jan 2010 19:31:49 +0000 (19:31 +0000)]
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.

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

11 years ago Reviewed by Xan Lopez.
kov@webkit.org [Tue, 19 Jan 2010 19:11:23 +0000 (19:11 +0000)]
    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):

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

11 years ago2010-01-19 Daniel Bates <dbates@rim.com>
dbates@webkit.org [Tue, 19 Jan 2010 18:48:18 +0000 (18:48 +0000)]
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.

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

11 years agoWindows build fix
aroben@apple.com [Tue, 19 Jan 2010 18:29:44 +0000 (18:29 +0000)]
Windows build fix

* WebScriptWorld.cpp: Added missing #include.

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

11 years agoBuild bustage fix. Land modified WebCore.base.exp file that includes export of curre...
hyatt@apple.com [Tue, 19 Jan 2010 18:26:14 +0000 (18:26 +0000)]
Build bustage fix.  Land modified WebCore.base.exp file that includes export of currentWorld().

* WebCore.base.exp:

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

11 years agoBuild bustage fix. Make sure the newly added scriptWorldForGlobalContext function...
hyatt@apple.com [Tue, 19 Jan 2010 18:24:20 +0000 (18:24 +0000)]
Build bustage fix. Make sure the newly added scriptWorldForGlobalContext function is [local] in the IDL.

* Interfaces/IWebScriptWorld.idl:

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

11 years agoCrash in Page::backForwardList when using History object from a detached window
beidson@apple.com [Tue, 19 Jan 2010 18:17:50 +0000 (18:17 +0000)]
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.

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

11 years agoTouch WebKit.idl to fix build.
sfalken@apple.com [Tue, 19 Jan 2010 18:11:28 +0000 (18:11 +0000)]
Touch WebKit.idl to fix build.

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

11 years agoWebKit/mac: Add an API to obtain the WebScriptWorld for a given JSGlobalContextRef.
hyatt@apple.com [Tue, 19 Jan 2010 17:53:23 +0000 (17:53 +0000)]
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:

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

11 years ago2010-01-19 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Tue, 19 Jan 2010 17:00:49 +0000 (17:00 +0000)]
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:

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

11 years agoUnreviewed build fix.
steveblock@google.com [Tue, 19 Jan 2010 14:50:57 +0000 (14:50 +0000)]
Unreviewed build fix.

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

* Plugins/Hosted/WebHostedNetscapePluginView.mm: Modified. Import <WebCore/Bridge.h>

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

11 years ago2010-01-19 Yury Semikhatsky <yurys@chromium.org>
yurys@chromium.org [Tue, 19 Jan 2010 14:27:58 +0000 (14:27 +0000)]
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:

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

11 years ago2010-01-19 MORITA Hajime <morrita@gmail.com>
hamaji@chromium.org [Tue, 19 Jan 2010 14:04:21 +0000 (14:04 +0000)]
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.

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

11 years agoUnreviewed build fix.
steveblock@google.com [Tue, 19 Jan 2010 12:30:19 +0000 (12:30 +0000)]
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:

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

11 years agoRenames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
steveblock@google.com [Tue, 19 Jan 2010 11:51:03 +0000 (11:51 +0000)]
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.

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

11 years ago[Qt] REGRESSION (r53450): 3 tests fail on Qt bot
ossy@webkit.org [Tue, 19 Jan 2010 11:04:08 +0000 (11:04 +0000)]
[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.

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

11 years ago2010-01-19 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Tue, 19 Jan 2010 09:06:37 +0000 (09:06 +0000)]
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:

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

11 years ago2010-01-19 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Tue, 19 Jan 2010 08:56:33 +0000 (08:56 +0000)]
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.

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

11 years agoJavaScriptCore: REGRESSION (52082): Crash on worker thread when reloading http:/...
ggaren@apple.com [Tue, 19 Jan 2010 08:39:04 +0000 (08:39 +0000)]
JavaScriptCore: REGRESSION (52082): Crash on worker thread when reloading 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.

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

11 years agoReverting r53455, breaks 2 javascriptcore tests.
barraclough@apple.com [Tue, 19 Jan 2010 08:25:22 +0000 (08:25 +0000)]
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.

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

11 years agoForgot to add this test result.
ggaren@apple.com [Tue, 19 Jan 2010 08:14:13 +0000 (08:14 +0000)]
Forgot to add this test result.

* fast/workers/worker-gc2-expected.txt: Added.

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

11 years ago2010-01-19 Xan Lopez <xlopez@igalia.com>
xan@webkit.org [Tue, 19 Jan 2010 08:05:49 +0000 (08:05 +0000)]
2010-01-19  Xan Lopez  <xlopez@igalia.com>

        Skip tests generating new results.

        * platform/gtk/Skipped:

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

11 years agoRevert r53454, since it causes much sadness in this world.
barraclough@apple.com [Tue, 19 Jan 2010 07:22:51 +0000 (07:22 +0000)]
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):

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

11 years ago2010-01-18 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Tue, 19 Jan 2010 07:00:38 +0000 (07:00 +0000)]
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.

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33731
barraclough@apple.com [Tue, 19 Jan 2010 05:51:40 +0000 (05:51 +0000)]
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):

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

11 years ago2010-01-18 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Tue, 19 Jan 2010 04:32:13 +0000 (04:32 +0000)]
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.

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

11 years ago2010-01-18 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Tue, 19 Jan 2010 03:10:41 +0000 (03:10 +0000)]
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.

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

11 years ago2010-01-18 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Tue, 19 Jan 2010 03:08:24 +0000 (03:08 +0000)]
2010-01-18  Daniel Bates  <dbates@webkit.org>

        Unreviewed, fix misspelling of the word maximum in comment.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::maximum):

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

11 years agoRubber-stamped by Sam Weinig.
mitz@apple.com [Tue, 19 Jan 2010 02:59:21 +0000 (02:59 +0000)]
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:

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

11 years agoMoves JSC-specific implementation of JavaString to a private implementation class.
steveblock@google.com [Tue, 19 Jan 2010 02:56:44 +0000 (02:56 +0000)]
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):

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

11 years ago2010-01-18 Yuzo Fujishima <yuzo@google.com>
eric@webkit.org [Tue, 19 Jan 2010 02:53:16 +0000 (02:53 +0000)]
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:

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

11 years agohttps://bugs.webkit.org/show_bug.cgi?id=33731
barraclough@apple.com [Tue, 19 Jan 2010 02:22:37 +0000 (02:22 +0000)]
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):

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

11 years ago2010-01-18 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 19 Jan 2010 02:17:28 +0000 (02:17 +0000)]
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.

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

11 years ago2010-01-18 Kent Tamura <tkent@chromium.org>
tkent@chromium.org [Tue, 19 Jan 2010 01:49:42 +0000 (01:49 +0000)]
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:

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

11 years agoFix build by reverting the previous change.
darin@apple.com [Tue, 19 Jan 2010 01:19:37 +0000 (01:19 +0000)]
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.

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

11 years agoScript attributes are copied and pasted, making cross-domain attacks possible (30019)
steveblock@google.com [Tue, 19 Jan 2010 01:12:43 +0000 (01:12 +0000)]
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):

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

11 years agoScript attributes are copied and pasted, making cross-domain attacks possible (30019)
enrica@apple.com [Tue, 19 Jan 2010 01:07:49 +0000 (01:07 +0000)]
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.

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

11 years ago<https://bugs.webkit.org/show_bug.cgi?id=33816>
sfalken@apple.com [Tue, 19 Jan 2010 01:05:47 +0000 (01:05 +0000)]
<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.

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

11 years agoRubber-stamped by Sam Weinig.
sfalken@apple.com [Tue, 19 Jan 2010 01:03:54 +0000 (01:03 +0000)]
Rubber-stamped by Sam Weinig.

Add missing export for Geolocation.

* WebKit.exp:

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

11 years ago Reviewed by Darin Adler.
ap@apple.com [Tue, 19 Jan 2010 00:53:39 +0000 (00:53 +0000)]
    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 .

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

11 years ago2010-01-18 Zoltan Horvath <zoltan@webkit.org>
eric@webkit.org [Tue, 19 Jan 2010 00:50:58 +0000 (00:50 +0000)]
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:

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

11 years agoAdd some ALWAYS_INLINE for key functions not inlined by some versions of GCC.
darin@apple.com [Tue, 19 Jan 2010 00:02:40 +0000 (00:02 +0000)]
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.

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

11 years ago2010-01-18 Steve Block <steveblock@google.com>
eric@webkit.org [Mon, 18 Jan 2010 23:49:35 +0000 (23:49 +0000)]
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

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

11 years agoRubber-stamped by Tim Hatcher.
bweinstein@apple.com [Mon, 18 Jan 2010 23:14:03 +0000 (23:14 +0000)]
Rubber-stamped by Tim Hatcher.

Updated Windows results after r53424.

* platform/win/fast/css/zoom-body-scroll-expected.txt: Added.

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

11 years ago https://bugs.webkit.org/show_bug.cgi?id=30073
cmarrin@apple.com [Mon, 18 Jan 2010 23:09:22 +0000 (23:09 +0000)]
    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

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

11 years ago Reviewed by Geoffrey Garen.
ap@apple.com [Mon, 18 Jan 2010 22:51:22 +0000 (22:51 +0000)]
    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.

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

11 years agoREGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
mitz@apple.com [Mon, 18 Jan 2010 22:20:13 +0000 (22:20 +0000)]
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.

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

11 years ago[Qt] Unreviewed trivial buildfix. (r53429)
ossy@webkit.org [Mon, 18 Jan 2010 22:14:44 +0000 (22:14 +0000)]
[Qt] Unreviewed trivial buildfix. (r53429)

* WebCore.pri: missing XMLNS_NAMES added.

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

11 years ago2010-01-18 Geoffrey Garen <ggaren@apple.com>
ggaren@apple.com [Mon, 18 Jan 2010 22:12:12 +0000 (22:12 +0000)]
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:

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