WebKit-https.git
12 years agoImprove peformance of local variable initialisation.
oliver@apple.com [Sat, 20 Sep 2008 03:00:43 +0000 (03:00 +0000)]
Improve peformance of local variable initialisation.

Reviewed by Maciej Stachowiak

Pull local and constant initialisation out of slideRegisterWindowForCall
and into its own opcode.  This allows the JIT to generate the initialisation
code for a function directly into the instruction stream and so avoids a few
branches on function entry.

Results a 1% progression in SunSpider, particularly in a number of the bitop
tests where the called functions are very fast.

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

12 years ago2008-09-19 Sam Weinig <sam@webkit.org>
weinig@apple.com [Sat, 20 Sep 2008 02:23:42 +0000 (02:23 +0000)]
2008-09-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Patch for https://bugs.webkit.org/show_bug.cgi?id=20928
        Speed up JS property enumeration by caching entire PropertyNameArray

        1.3% speedup on Sunspider, 30% on string-fasta.

        * JavaScriptCore.exp:
        * VM/JSPropertyNameIterator.cpp:
        (JSC::JSPropertyNameIterator::~JSPropertyNameIterator):
        (JSC::JSPropertyNameIterator::invalidate):
        * VM/JSPropertyNameIterator.h:
        (JSC::JSPropertyNameIterator::JSPropertyNameIterator):
        (JSC::JSPropertyNameIterator::create):
        * kjs/JSObject.cpp:
        (JSC::JSObject::getPropertyNames):
        * kjs/PropertyMap.cpp:
        (JSC::PropertyMap::getEnumerablePropertyNames):
        * kjs/PropertyMap.h:
        * kjs/PropertyNameArray.cpp:
        (JSC::PropertyNameArray::add):
        * kjs/PropertyNameArray.h:
        (JSC::PropertyNameArrayData::create):
        (JSC::PropertyNameArrayData::propertyNameVector):
        (JSC::PropertyNameArrayData::setCachedPrototypeChain):
        (JSC::PropertyNameArrayData::cachedPrototypeChain):
        (JSC::PropertyNameArrayData::begin):
        (JSC::PropertyNameArrayData::end):
        (JSC::PropertyNameArrayData::PropertyNameArrayData):
        (JSC::PropertyNameArray::PropertyNameArray):
        (JSC::PropertyNameArray::addKnownUnique):
        (JSC::PropertyNameArray::size):
        (JSC::PropertyNameArray::operator[]):
        (JSC::PropertyNameArray::begin):
        (JSC::PropertyNameArray::end):
        (JSC::PropertyNameArray::setData):
        (JSC::PropertyNameArray::data):
        (JSC::PropertyNameArray::releaseData):
        * kjs/ScopeChain.cpp:
        (JSC::ScopeChainNode::print):
        * kjs/StructureID.cpp:
        (JSC::structureIDChainsAreEqual):
        (JSC::StructureID::getEnumerablePropertyNames):
        (JSC::StructureID::clearEnumerationCache):
        (JSC::StructureID::createCachedPrototypeChain):
        * kjs/StructureID.h:

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

12 years agoFix a mismatched new[]/delete in JSObject::allocatePropertyStorage
zecke@webkit.org [Sat, 20 Sep 2008 01:54:18 +0000 (01:54 +0000)]
Fix a mismatched new[]/delete in JSObject::allocatePropertyStorage

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

12 years ago2008-09-19 Alice Liu <alice.liu@apple.com>
alice.liu@apple.com [Sat, 20 Sep 2008 01:22:19 +0000 (01:22 +0000)]
2008-09-19  Alice Liu  <alice.liu@apple.com>

        Fix crash when submitting form at bugreport.apple.com rdar://6234126

        Reviewed by Mark Rowe.

        * COMPropertyBag.h:
        (::GetPropertyInfo):
        correct mis-use of comma operator

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

12 years agoFix build bustage on Win.
hyatt@apple.com [Sat, 20 Sep 2008 01:08:47 +0000 (01:08 +0000)]
Fix build bustage on Win.

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

12 years ago2008-09-19 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 20 Sep 2008 01:05:35 +0000 (01:05 +0000)]
2008-09-19  Darin Adler  <darin@apple.com>

        - try to fix Qt build

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument.
        (JSC::Bindings::QtInstance::getRuntimeObject): Ditto.
        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt.
        * bridge/runtime_object.h: Ditto.

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

12 years agoFix build bustage.
hyatt@apple.com [Sat, 20 Sep 2008 00:57:34 +0000 (00:57 +0000)]
Fix build bustage.

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

12 years agoFix build bustage.
hyatt@apple.com [Sat, 20 Sep 2008 00:54:40 +0000 (00:54 +0000)]
Fix build bustage.

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

12 years ago2008-09-19 Chris Marrin <cmarrin@apple.com>
dino@apple.com [Sat, 20 Sep 2008 00:53:49 +0000 (00:53 +0000)]
2008-09-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Dave Hyatt.

        Transition starts running when it shouldn't
        https://bugs.webkit.org/show_bug.cgi?id=20892

        When there is a transition and an animation on the
        same element, make sure the animation wins.

        The fix is to save the unanimated style when an animation is started.
        Then, when starting a transition, check to see if there is a current
        animation on the same prop. If so, use the unanimated style as the
        fromStyle rather than the current style.

        Test: animations/transition-and-animation-1.html

        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::updateTransitions):
        (WebCore::CompositeAnimation::updateKeyframeAnimations):
        (WebCore::CompositeAnimation::animate):
        (WebCore::CompositeAnimation::getAnimationForProperty):
        * page/animation/CompositeAnimation.h:
        * page/animation/ImplicitAnimation.cpp:
        (WebCore::ImplicitAnimation::reset):
        * page/animation/ImplicitAnimation.h:
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::hasAnimationForProperty):
        * page/animation/KeyframeAnimation.h:
        (WebCore::KeyframeAnimation::KeyframeAnimation):
        (WebCore::KeyframeAnimation::unanimatedStyle):

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

12 years ago2008-09-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Sat, 20 Sep 2008 00:42:36 +0000 (00:42 +0000)]
2008-09-19  David Hyatt  <hyatt@apple.com>

        Add support for painting/hit testing of four possible scrollbar buttons.
        The Windows themes simply ignore the two parts that they will never
        show.  The Mac theme also ignores the other two buttons for now.

        The cross-platform base for all three themes, ScrollbarThemeComposite,
        has all the proper support though.

        Reviewed by Sam Weinig

        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::hitTest):
        (WebCore::ScrollbarThemeComposite::invalidatePart):
        * platform/ScrollbarThemeComposite.h:
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::backButtonRect):
        (WebCore::ScrollbarThemeMac::forwardButtonRect):
        (WebCore::ScrollbarThemeMac::paintButton):
        * platform/win/ScrollbarThemeSafari.cpp:
        (WebCore::ScrollbarThemeSafari::backButtonRect):
        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
        (WebCore::ScrollbarThemeSafari::paintButton):
        * platform/win/ScrollbarThemeSafari.h:
        * platform/win/ScrollbarThemeWin.cpp:
        (WebCore::ScrollbarThemeWin::backButtonRect):
        (WebCore::ScrollbarThemeWin::forwardButtonRect):
        (WebCore::ScrollbarThemeWin::paintButton):
        * platform/win/ScrollbarThemeWin.h:

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

12 years ago2008-09-19 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Sat, 20 Sep 2008 00:11:32 +0000 (00:11 +0000)]
2008-09-19  Matt Lilek  <webkit@mattlilek.com>

        Reviewed by Tim Hatcher.

        Bug 17772: Inspector should support point-and-click to select a node to inspect
        https://bugs.webkit.org/show_bug.cgi?id=17772
        <rdar://problem/5792395>

        * English.lproj/localizedStrings.js:
        * page/Chrome.cpp:
        (WebCore::Chrome::mouseDidMoveOverElement):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        * page/InspectorController.cpp:
        (WebCore::toggleNodeSearch):
        (WebCore::searchingForNode):
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::toggleSearchForNodeInPage):
        (WebCore::InspectorController::mouseDidMoveOverElement):
        (WebCore::InspectorController::handleMousePressOnNode):
        (WebCore::InspectorController::windowScriptObjectAvailable):
        * page/InspectorController.h:
        (WebCore::InspectorController::searchingForNodeInPage):
        * page/inspector/ElementsPanel.js:
        * page/inspector/Images/nodeSearchButtons.png: Added.
        * page/inspector/inspector.css:

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

12 years ago2008-09-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 23:39:26 +0000 (23:39 +0000)]
2008-09-19  David Hyatt  <hyatt@apple.com>

        Add new scrollbar parts to be able to represent back and forward buttons
        at either end of the scrollbar.  The current scrollbar still just draws
        a single button at either end, but the parts now exist.

        Reviewed by Sam Weinig

        * platform/ScrollTypes.h:
        (WebCore::):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::autoscrollTimerFired):
        (WebCore::Scrollbar::pressedPartScrollDirection):
        (WebCore::Scrollbar::pressedPartScrollGranularity):
        (WebCore::Scrollbar::handleMouseMoveEvent):
        * platform/ScrollbarTheme.h:
        (WebCore::ScrollbarTheme::buttonsPlacement):
        (WebCore::ScrollbarTheme::invalidateParts):
        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::paint):
        (WebCore::ScrollbarThemeComposite::hitTest):
        (WebCore::ScrollbarThemeComposite::invalidatePart):
        * platform/ScrollbarThemeComposite.h:

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

12 years agoWebCore:
bdakin@apple.com [Fri, 19 Sep 2008 23:02:03 +0000 (23:02 +0000)]
WebCore:

2008-09-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for <rdar://problem/6231308> crash in AutoTableLayout

        The code assumes later on that a TableSection's grid's row vector
        will never be empty. So make 1 the minimum number of columns.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::ensureRows):

LayoutTests:

2008-09-19  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for <rdar://problem/6231308> crash in AutoTableLayout

        * fast/table/empty-row-crash.html: Added.
        * platform/mac/fast/table/empty-row-crash-expected.checksum: Added.
        * platform/mac/fast/table/empty-row-crash-expected.png: Added.
        * platform/mac/fast/table/empty-row-crash-expected.txt: Added.

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

12 years ago2008-09-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 22:55:56 +0000 (22:55 +0000)]
2008-09-19  David Hyatt  <hyatt@apple.com>

        Add a new ScrollbarButtonsPlacement type for specifying where
        the button arrows are in a scrollbar.

        Read in the placement settings for Mac.  Nothing is done with the
        setting yet.

        Add a new buttonsPlacement() method to ScrollbarTheme composite
        so that the arrow settings can be obtained.

        Reviewed by Sam Weinig

        * platform/ScrollTypes.h:
        (WebCore::):
        * platform/ScrollbarThemeComposite.h:
        (WebCore::ScrollbarThemeComposite::buttonsPlacement):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::updateArrowPlacement):
        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):

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

12 years ago Roll out r36626. It is causing variance in SunSpider numbers on XP.
sfalken@apple.com [Fri, 19 Sep 2008 22:47:45 +0000 (22:47 +0000)]
    Roll out r36626. It is causing variance in SunSpider numbers on XP.

        Rubber stamped by Mark Rowe.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::isRunningOnVistaOrLater):
        (WebCore::setSharedTimerFireTime):

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

12 years agoFix Windows bustage
cfleizach@apple.com [Fri, 19 Sep 2008 22:46:05 +0000 (22:46 +0000)]
Fix Windows bustage

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

12 years ago2008-09-19 Kevin McCullough <kmccullough@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 22:12:07 +0000 (22:12 +0000)]
2008-09-19  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        https://bugs.webkit.org/show_bug.cgi?id=20942
        Bug 20942: Repeated messages in resources don't collapse
        - Now repeated messages in a resource's view are collapsed and a message
        says how many were repeated.

        * English.lproj/localizedStrings.js:
        * manual-tests/inspector/multiple-console-messages.html:
        * page/inspector/Console.js: Send all the messages to the resource's
        view before possibly returning early if the message is a repeat.
        * page/inspector/SourceFrame.js: Add the text about the message being
        repeated, if it is, and increment it when necessary.

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

12 years ago2008-09-19 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Fri, 19 Sep 2008 21:56:14 +0000 (21:56 +0000)]
2008-09-19  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        https://bugs.webkit.org/show_bug.cgi?id=20942
        Bug 20942: Repeated messages in resources don't collapse
        - Now repeated messages in a resource's view are collapsed and a message
        says how many were repeated.

        * English.lproj/localizedStrings.js:
        * manual-tests/inspector/multiple-console-messages.html:
        * page/inspector/Console.js: Send all the messages to the resource's
        view before possibly returning early if the message is a repeat.
        * page/inspector/SourceFrame.js: Add the text about the message being
        repeated, if it is, and increment it when necessary.

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

12 years agoRemoved unnecessary #if
cfleizach@apple.com [Fri, 19 Sep 2008 21:39:21 +0000 (21:39 +0000)]
Removed unnecessary #if

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

12 years ago2008-09-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 21:20:59 +0000 (21:20 +0000)]
2008-09-19  David Hyatt  <hyatt@apple.com>

        Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C.
        Set the initial button repeat delay to 0.5 for Mac.

        Reviewed by Sam Weinig

        * WebCore.xcodeproj/project.pbxproj:
        * platform/mac/ScrollbarThemeMac.cpp: Removed.
        * platform/mac/ScrollbarThemeMac.h:
        (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay):
        * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp.

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

12 years agoJavaScriptCore:
darin@apple.com [Fri, 19 Sep 2008 21:15:14 +0000 (21:15 +0000)]
JavaScriptCore:

2008-09-19  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
          make each distinct C++ class get a distinct JSC::Structure

        * JavaScriptCore.exp: Exported constructEmptyObject for use in WebCore.

        * kjs/JSGlobalObject.h: Changed the protected constructor to take a
        structure instead of a prototype.

        * kjs/JSVariableObject.h: Removed constructor that takes a prototype.

WebCore:

2008-09-19  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858
          make each distinct C++ class get a distinct JSC::Structure

          + Fixed all cases where we were using a shared structure for multiple
            C++ classes in WebCore. This still has to be done in JavaScriptCore.

          + Got rid of cacheGlobalObject.

          + Improved use of PassRefPtr in bindings code.

          + Removed a couple cases where we were potentially allocating prototypes
            inside a JSObject's construction process -- this can lead to trouble if
            we do a garbage collection while an object is only partly constructed.

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly
        so we don't implicitly share the structure with other objects that use the object
        prototype.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we
        don't need cacheGlobalObject any more.
        (WebCore::cacheDOMConstructor): Ditto.

        * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype.
        Added functions and a function template for getting cached DOM constructors.
        Removed cacheGlobalObject function template.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since
        we're taking ownership.
        * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since
        we're taking ownership. Added constructor map.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::mark): Mark the constructors in the map.

        * bindings/js/JSDOMWindowShell.cpp:
        (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since
        we're taking ownership. Use the new setWindow function to create the JSDOMWindow;
        this is now done in only that one place.
        (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on
        the passed-in DOMWindow. Code was moved here and changed to allocate unique
        structures for both the window prototype and the window.
        * bindings/js/JSDOMWindowShell.h: Ditto.

        * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't
        have the same name (JSEventTarget) as an actual class. Removed unhelpful use of
        private/friend in JSEventTargetBase. Removed comments referring to defunct
        macros. Changed JSEventTargetBasePrototype to get the prototype with the new
        rather than its own copy of cacheGlobalObject (I missed this during pass 1).
        Changed JSEventTargetBasePrototype so it doesn't have so many template arguments.

        * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme
        for caching structures and prototypes.
        (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr.
        (WebCore::JSEventTargetNode::createPrototype): Added.
        * bindings/js/JSEventTargetNode.h: Updated for above changes.

        * bindings/js/JSHTMLAllCollection.h:
        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr.
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::getNamedItems): Pass ExecState instead of prototype.
        * bindings/js/JSHTMLFormElementCustom.cpp:
        (WebCore::JSHTMLFormElement::nameGetter): Ditto.
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr.
        * bindings/js/JSHTMLInputElementBase.h: Ditto.
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor):
        Create a unique structure instead of sharing.
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::JSImageConstructor): Ditto.

        * bindings/js/JSInspectedObjectWrapper.cpp:
        (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes
        a prototype rather than a structure. Made the use of inheritorID() here
        explicit.
        * bindings/js/JSInspectedObjectWrapper.h: Ditto.
        * bindings/js/JSInspectorCallbackWrapper.cpp:
        (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
        * bindings/js/JSInspectorCallbackWrapper.h: Ditto.

        * bindings/js/JSNamedNodesCollection.cpp:
        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to
        take an ExecState argument instead of a prototype. Create a unique
        StructureID instead of sharing.
        * bindings/js/JSNamedNodesCollection.h: Ditto.

        * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded
        constructor that takes a prototype instead of a structure.
        * bindings/js/JSQuarantinedObjectWrapper.h: Ditto.

        * bindings/js/JSRGBColor.cpp:
        (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a
        prototype; create a unique structure.
        (WebCore::getJSRGBColor): Ditto.
        * bindings/js/JSRGBColor.h: Ditto.

        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead
        of explicit coding the idiom for making a new object.

        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
        Create a unique structure instead of the shared one.
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
        Ditto.

        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::clearWindowShell): Let the window shell's
        setWindow function create the JSDOMWindow instead of doing it here.

        * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for
        the structure and the wrapped object when creating wrappers.
        Simplified some of the special cases for DOMWindow so they are
        different only in ways the need to be. Eliminated the
        JSDOMWindow::createPrototype and JSDOMWindowPrototype::self
        functions. Moved responsibility for creating the structure and
        parent prototype out of the prototype constructor into the
        createPrototype function. Removed the unused "DoNotCache" flag for
        objects other than DOMWindow. Use getDOMConstructor instead of
        cacheGlobalObject for constructors. Make each constructor have
        a unique structure ID.

        * bridge/objc/objc_runtime.h: Added createPrototype and changed the
        name of the info member to s_info so we can use the standard DOM
        binding macros to handl the prototype.
        * bridge/objc/objc_runtime.mm: Fixed namespacing a bit.
        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
        Create a unique structure using getDOMStructure.

        * bridge/runtime_array.cpp: Fixed namespacing a bit.
        (JSC::RuntimeArray::RuntimeArray): Create a unique structure using
        getDOMStructure.
        * bridge/runtime_array.h: Added createPrototype so getDOMStructure
        will work.

        * bridge/runtime_object.cpp:
        (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using
        getDOMStructure.
        * bridge/runtime_object.h: Added createPrototype so getDOMStructure
        will work.

        * history/CachedPage.cpp:
        (WebCore::CachedPage::restore): Let the window shell's
        setWindow function create the JSDOMWindow instead of doing it here.

        * page/DOMWindow.idl: Removed DoNotCache, which is no longer used.

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

12 years agoFixed ChangeLog typo
mitz@apple.com [Fri, 19 Sep 2008 21:10:48 +0000 (21:10 +0000)]
Fixed ChangeLog typo

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

12 years ago Reviewed by Dave Hyatt.
mitz@apple.com [Fri, 19 Sep 2008 21:02:55 +0000 (21:02 +0000)]
    Reviewed by Dave Hyatt.

        This optimization was suggested by Daniel Fenwick

        - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction

        Specifying LTR paragraph directionality when measuring runs of RTL text
        resulted in typically two CTRuns being generated for every run instad
        of one, due to the leading space being reordered to the left.

        * platform/graphics/SimpleFontData.h: Removed the ltr parameter to
        getCFStringAttributes() and changed m_CFStringAttributes from an array
        to a single value.
        * platform/graphics/mac/CoreTextController.cpp:
        (WebCore::CoreTextController::CoreTextController): Added a
        mayUseNaturalWritingDirection parameter.
        (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed
        to force the bidi embedding level whenever
        m_mayUseNaturalWritingDirectrion is false. Since this is now a common
        case, made the typesetter options dictionaries static.
        * platform/graphics/mac/CoreTextController.h:
        * platform/graphics/mac/FontMacCoreText.cpp:
        (WebCore::Font::selectionRectForComplexText): Renamed a local variable.
        (WebCore::Font::floatWidthForComplexText): Changed to allow the
        CoreTextController to not set the writing direction.
        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr
        parameter and the paragraph style attribute.

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

12 years agoWebCore:
hyatt@apple.com [Fri, 19 Sep 2008 20:54:33 +0000 (20:54 +0000)]
WebCore:

2008-09-19  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig

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

        Incorrect height calculation for replaced element inside nested
        positioned elements (where the inner has a percentage height and
        the outer implicitly has a fixed height because of explicit top/bottom
        values).

        Added fast/block/positioning/replaced-inside-top-bottom.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::availableHeightUsing):

LayoutTests:

2008-09-19  David Hyatt  <hyatt@apple.com>

        Fix for bug 20941.

        Reviewed by Sam Weinig

        * fast/block/positioning/replaced-inside-fixed-top-bottom.html: Added.
        * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.checksum: Added.
        * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.png: Added.
        * platform/mac/fast/block/positioning/replaced-inside-fixed-top-bottom-expected.txt: Added.

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

12 years agoFix Tiger bustage
cfleizach@apple.com [Fri, 19 Sep 2008 20:48:57 +0000 (20:48 +0000)]
Fix Tiger bustage

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

12 years ago<rdar://problem/6211041> Expose legend tag in accessibility
cfleizach@apple.com [Fri, 19 Sep 2008 20:24:48 +0000 (20:24 +0000)]
<rdar://problem/6211041> Expose legend tag in accessibility

Makes the <legend> tag the titleUIElement of the field set.

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

12 years ago<rdar://problem/6213171> WebKit should use new array-centric methods for AX performance
cfleizach@apple.com [Fri, 19 Sep 2008 20:04:13 +0000 (20:04 +0000)]
<rdar://problem/6213171> WebKit should use new array-centric methods for AX performance

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

12 years ago2008-09-19 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 19 Sep 2008 18:47:00 +0000 (18:47 +0000)]
2008-09-19  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        - speculative fix for https://bugs.webkit.org/show_bug.cgi?id=20943
          Assertion failure in RefCountedLeakCounter::cancelMessageSuppression() when closing a window

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]): Moved call to
        RefCountedLeakCounter::suppressMessages in here.
        (-[WebView initWithFrame:frameName:groupName:]): Moved it out of here.

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

12 years ago[qtwebkit] Set the m_should* flags to their proper value on entry
zecke@webkit.org [Fri, 19 Sep 2008 11:43:27 +0000 (11:43 +0000)]
[qtwebkit] Set the m_should* flags to their proper value on entry
    With plugins it was possible that we finished a job twice. This was
    some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By
    setting the flag to (m_loadMode == LoadDeferred) they will always have
    the right value and we will not send responses twice.

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

12 years ago[qtwebkit] Pass test 70 of acid3. Handle text decoding errors
zecke@webkit.org [Fri, 19 Sep 2008 11:06:55 +0000 (11:06 +0000)]
[qtwebkit] Pass test 70 of acid3. Handle text decoding errors
    Handle text decoding errors before instructing the parser to parse. We
    have converted the text to QString and all encoding errors are gone and
    the parser will not be able to detect them. So handle them before parsing.

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

12 years agoFix Gtk bustage.
hyatt@apple.com [Fri, 19 Sep 2008 09:55:25 +0000 (09:55 +0000)]
Fix Gtk bustage.

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

12 years agoFix Qt bustage.
hyatt@apple.com [Fri, 19 Sep 2008 09:54:21 +0000 (09:54 +0000)]
Fix Qt bustage.

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

12 years ago2008-09-19 Julien Chaffraix <jchaffraix@pleyo.com>
jchaffraix@webkit.org [Fri, 19 Sep 2008 08:50:13 +0000 (08:50 +0000)]
2008-09-19  Julien Chaffraix  <jchaffraix@pleyo.com>

        Reviewed by Alexey Proskuryakov.

        Use the template hoisting technique on the RefCounted class. This reduces the code bloat due to
        non-template methods' code been copied for each instance of the template.
        The patch splits RefCounted between a base class that holds non-template methods and attributes
        and the template RefCounted class that keeps the same functionnality.

        On my Linux with gcc 4.3 for the Gtk port, this is:
        - a ~600KB save on libwebkit.so in release.
        - a ~1.6MB save on libwebkit.so in debug.

        It is a wash on Sunspider and a small win on Dromaeo (not sure it is relevant).
        On the whole, it should be a small win as we reduce the compiled code size and the only
        new function call should be inlined by the compiler.

        * wtf/RefCounted.h:
        (WTF::RefCountedBase::ref): Copied from RefCounted.
        (WTF::RefCountedBase::hasOneRef): Ditto.
        (WTF::RefCountedBase::refCount): Ditto.
        (WTF::RefCountedBase::RefCountedBase): Ditto.
        (WTF::RefCountedBase::~RefCountedBase): Ditto.
        (WTF::RefCountedBase::derefBase): Tweaked from the RefCounted version to remove
        template section.
        (WTF::RefCounted::RefCounted):
        (WTF::RefCounted::deref): Small wrapper around RefCountedBase::derefBase().
        (WTF::RefCounted::~RefCounted): Keep private destructor.

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

12 years agoJavaScriptCore:
darin@apple.com [Fri, 19 Sep 2008 06:49:35 +0000 (06:49 +0000)]
JavaScriptCore:

2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
          make each distinct C++ class get a distinct JSC::Structure

        * kjs/lookup.h: Removed things here that were used only in WebCore:
        cacheGlobalObject, JSC_DEFINE_PROTOTYPE, JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE,
        and JSC_IMPLEMENT_PROTOTYPE.

WebCore:

2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858
          make each distinct C++ class get a distinct JSC::Structure

        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
        (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException
        instead of DOMExceptionTranslator.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::getCachedDOMObjectWrapper): Updated function name.
        (WebCore::cacheDOMObjectWrapper): Ditto.
        (WebCore::forgetDOMObject): Ditto.
        (WebCore::getCachedDOMNodeWrapper): Ditto.
        (WebCore::forgetDOMNode): Ditto.
        (WebCore::cacheDOMNodeWrapper): Ditto.
        (WebCore::forgetAllDOMNodesForDocument): Ditto.
        (WebCore::markDOMNodesForDocument): Ditto.
        (WebCore::updateDOMNodeDocument): Ditto.
        (WebCore::getCachedDOMStructure): Added.
        (WebCore::createDOMStructure): Ditto.

        * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter
        class and replace the static member functions with non-member
        functions. Added many other functions for getting at structures,
        prototypes, wrappers, and creating them. Also moved the
        cacheGlobalObject function here from JavaScriptCore; eventually
        I'll remove that once I get rid of the remaining callers. Also
        removed the DOMExceptionTranslator class.

        * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type,
        and put one of those maps in each window.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::markDOMObjectWrapper): Updated for function name change.
        (WebCore::JSDOMWindow::mark): Added code to mark all the structures
        in the structure map.

        * bindings/js/JSEventTargetNode.cpp:
        (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take
        a structure instead of a prototype.
        * bindings/js/JSEventTargetNode.h: Ditto.
        * bindings/js/JSHTMLAllCollection.h:
        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto.

        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed
        use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a
        structure instead of a prototype.
        * bindings/js/JSHTMLInputElementBase.h: Removed use of the
        JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor
        to take a structure instead of a prototype. Created a dummy prototype
        class that causes the HTMLInputElement prototype to have the
        HTMLElement prototype.

        * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take
        structures instead of prototypes. Changed the prototype self function
        to use the getDOMPrototype function -- later we can eliminate it and
        have callers invoke getDOMPrototype directly instead. Updated other
        functions that have name changes. Added code to generate the
        createPrototype member function. Changed use of cacheGlobalObject to
        get it from the WebCore namespace instead of the JSC namespace.
        Changed cacheDOMObject calls to use getDOMObjectWrapper instead.

        * dom/Document.cpp:
        (WebCore::Document::~Document): Updated for name change and also
        removed unnecessary JSLock use -- there's no need to lock around this.
        * dom/Node.cpp:
        (WebCore::Node::setDocument): Ditto.

        * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro
        instead of calling new directly.

        * bindings/js/JSCSSRuleCustom.cpp:
        (WebCore::toJS): Updated for function name changes and used the
        CREATE_DOM_OBJECT_WRAPPER macro.
        * bindings/js/JSCSSValueCustom.cpp:
        (WebCore::toJS): Ditto.
        * bindings/js/JSCanvasPixelArrayCustom.cpp:
        (WebCore::toJS): Ditto.
        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::mark): Ditto.
        (WebCore::toJS): Ditto.
        * bindings/js/JSElementCustom.cpp:
        (WebCore::toJSNewlyCreated): Ditto.
        * bindings/js/JSEventCustom.cpp:
        (WebCore::toJS): Ditto.
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead
        of DOMExceptionTranslator.
        (WebCore::toJS): Updated for function name changes and used the
        CREATE_DOM_OBJECT_WRAPPER macro.
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::toJS): Ditto.
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::mark): Ditto.
        (WebCore::createWrapper): Ditto.
        (WebCore::toJS): Ditto.
        * bindings/js/JSSVGPathSegCustom.cpp:
        (WebCore::toJS): Ditto.
        * bindings/js/JSStyleSheetCustom.cpp:
        (WebCore::toJS): Ditto.
        (WebCore::JSStyleSheet::mark): Ditto.
        * bindings/js/JSTextCustom.cpp:
        (WebCore::toJSNewlyCreated): Ditto.
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::constructXMLHttpRequest): Ditto.
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::mark): Ditto.
        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
        (WebCore::JSXMLHttpRequestUpload::mark): Ditto.
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::constructXSLTProcessor): Ditto.
        * bindings/js/ScriptController.cpp:
        (WebCore::ScriptController::finishedWithEvent): Ditto.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto.
        (WebCore::XMLHttpRequest::dropProtection): Ditto.

LayoutTests:

2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        * platform/mac/fast/dom/wrapper-classes-expected.txt: Update results to
        reflect correct prototype for CSSStyleRule.

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

12 years agoFix conflict inXCode file.
hyatt@apple.com [Fri, 19 Sep 2008 06:48:30 +0000 (06:48 +0000)]
Fix conflict inXCode file.

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

12 years ago2008-09-18 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 19 Sep 2008 06:32:12 +0000 (06:32 +0000)]
2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Maciej Stachowiak.

        - https://bugs.webkit.org/show_bug.cgi?id=20927
          simplify/streamline the code to turn strings into identifiers while parsing

        * kjs/grammar.y: Get rid of string from the union, and use ident for STRING as
        well as for IDENT.

        * kjs/lexer.cpp:
        (JSC::Lexer::lex): Use makeIdentifier instead of makeUString for String.
        * kjs/lexer.h: Remove makeUString.

        * kjs/nodes.h: Changed StringNode to hold an Identifier instead of UString.

        * VM/CodeGenerator.cpp:
        (JSC::keyForCharacterSwitch): Updated since StringNode now holds an Identifier.
        (JSC::prepareJumpTableForStringSwitch): Ditto.
        * kjs/nodes.cpp:
        (JSC::StringNode::emitCode): Ditto. The comment from here is now in the lexer.
        (JSC::processClauseList): Ditto.
        * kjs/nodes2string.cpp:
        (JSC::StringNode::streamTo): Ditto.

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 06:30:16 +0000 (06:30 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        This patch gets a viewless scrollbar working on Mac. It is turned off
        by default.  Hit testing works.  For now the scrollbar just paints ugly
        debug rects in the place of the buttons, track and thumb.  It does match
        Aqua metrics though.

        Reviewed by Sam Weinig

        * WebCore.xcodeproj/project.pbxproj:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passMousePressEventToScrollbar):
        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::paint):
        (WebCore::ScrollbarThemeComposite::trackPosition):
        * platform/ScrollbarThemeComposite.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::addChild):
        * platform/mac/ScrollbarThemeMac.cpp:
        (WebCore::):
        (WebCore::ScrollbarThemeMac::hasButtons):
        (WebCore::ScrollbarThemeMac::hasThumb):
        (WebCore::buttonRepaintRect):
        (WebCore::ScrollbarThemeMac::backButtonRect):
        (WebCore::ScrollbarThemeMac::forwardButtonRect):
        (WebCore::trackRepaintRect):
        (WebCore::ScrollbarThemeMac::trackRect):
        (WebCore::ScrollbarThemeMac::minimumThumbLength):
        (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
        (WebCore::ScrollbarThemeMac::paintTrack):
        (WebCore::ScrollbarThemeMac::paintButton):
        (WebCore::ScrollbarThemeMac::paintThumb):
        * platform/mac/ScrollbarThemeMac.h:
        (WebCore::ScrollbarThemeMac::supportsControlTints):
        * platform/qt/ScrollbarThemeQt.cpp:
        (WebCore::ScrollbarThemeQt::trackPosition):

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

12 years ago2008-09-18 Collin Jackson <collinj@webkit.org>
collinj@webkit.org [Fri, 19 Sep 2008 06:13:22 +0000 (06:13 +0000)]
2008-09-18  Collin Jackson  <collinj@webkit.org>

        Build fix; added missing header file to GNUmakefile.am

        * GNUmakefile.am:

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

12 years agoFix Mac release build bustage.
hyatt@apple.com [Fri, 19 Sep 2008 05:54:49 +0000 (05:54 +0000)]
Fix Mac release build bustage.

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

12 years agoFix Mac release build bustage.
hyatt@apple.com [Fri, 19 Sep 2008 05:53:07 +0000 (05:53 +0000)]
Fix Mac release build bustage.

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

12 years ago2008-09-18 Darin Adler <darin@apple.com>
darin@apple.com [Fri, 19 Sep 2008 05:52:55 +0000 (05:52 +0000)]
2008-09-18  Darin Adler  <darin@apple.com>

        * Scripts/do-webcore-rename: More renaming plans.

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

12 years ago2008-09-18 Collin Jackson <collinj@webkit.org>
collinj@webkit.org [Fri, 19 Sep 2008 05:24:49 +0000 (05:24 +0000)]
2008-09-18  Collin Jackson  <collinj@webkit.org>

        Reviewed by Antti Koivisto and Mark Rowe.

        This is correct expected output for the DNS prefetch control
        layout test I just checked in.

        * http/tests/misc/dns-prefetch-control-expected.txt:

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

12 years ago2008-09-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 19 Sep 2008 04:56:21 +0000 (04:56 +0000)]
2008-09-18  Sam Weinig  <sam@webkit.org>

        Reviewed by David "the Hair" Hyatt.

        Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/DataRef.h: Removed.
        * rendering/SVGRenderStyle.cpp: Removed.
        * rendering/SVGRenderStyle.h: Removed.
        * rendering/SVGRenderStyleDefs.cpp: Removed.
        * rendering/SVGRenderStyleDefs.h: Removed.
        * rendering/style/DataRef.h: Copied from rendering/DataRef.h.
        * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp.
        * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h.
        * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp.
        * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h.

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

12 years agoClear the main frame's name between tests to get more consistent test results
mrowe@apple.com [Fri, 19 Sep 2008 04:47:58 +0000 (04:47 +0000)]
Clear the main frame's name between tests to get more consistent test results
when running the WebKit tests with --nthly.

Reviewed by Dan Bernstein.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):

Add SPI to WebView to allow DRT to clear the main frame's name between tests.

* Interfaces/IWebViewPrivate.idl:
* WebView.cpp:
(WebView::clearMainFrameName):
* WebView.h:

Add SPI to WebView to allow DRT to clear the main frame's name between tests.

* WebView/WebView.mm:
(-[WebView _clearMainFrameName]):
* WebView/WebViewPrivate.h:

Add a means of clearing a FrameTree's name.

* WebCore.base.exp:
* page/FrameTree.cpp:
(WebCore::FrameTree::clearName):
* page/FrameTree.h:

Update test results now that frame tree names are cleared between tests.

* fast/events/onunload-clears-onbeforeunload-expected.txt:
* fast/events/onunload-expected.txt:
* fast/events/onunload-not-on-body-expected.txt:
* fast/events/onunload-window-property-expected.txt:
* fast/forms/button-state-restore-expected.txt:
* fast/forms/form-and-frame-interaction-retains-values-expected.txt:

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 04:30:53 +0000 (04:30 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Eliminate addToSuperview from Widget, since it was only called
        by ScrollViewMac's addChild method.  Just shift the original body
        of addToSuperView into addChild.

        Reviewed by Sam Weinig

        * platform/Widget.h:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::addChild):
        * platform/mac/WidgetMac.mm:

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

12 years agogit-svn-id: https://svn.webkit.org/repository/webkit/trunk@36650 268f45cc-cd09-0410...
collinj@webkit.org [Fri, 19 Sep 2008 04:15:14 +0000 (04:15 +0000)]
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@36650 268f45cc-cd09-0410-ab3c-d52691b4dbfc

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 04:01:56 +0000 (04:01 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Eliminate the convertToScreenCoordinate method on Widget, since
        ScrollView has redundant methods that already do the same thing.

        Reviewed by Sam Weinig

        * editing/mac/SelectionControllerMac.mm:
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::containingWindow):

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

12 years agoFix Qt warning.
hyatt@apple.com [Fri, 19 Sep 2008 03:18:54 +0000 (03:18 +0000)]
Fix Qt warning.

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 03:16:26 +0000 (03:16 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Move to only one constructor for Widgets.  Rename data to m_data and make
        it have an #ifdef only for platforms that have platform-specific data (Mac
        and Gtk).

        Reviewed by Sam Weinig

        * WebCore.base.exp:
        * platform/Widget.cpp:
        (WebCore::Widget::init):
        * platform/Widget.h:
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::cursor):
        (WebCore::Widget::setCursor):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::addToSuperview):
        (WebCore::Widget::removeFromSuperview):
        (WebCore::Widget::beforeMouseDown):
        (WebCore::Widget::afterMouseDown):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::Widget):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::Widget):
        * platform/wx/WidgetWx.cpp:
        (WebCore::Widget::Widget):

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

12 years agoFix Qt/Win/Gtk bustage.
hyatt@apple.com [Fri, 19 Sep 2008 03:04:05 +0000 (03:04 +0000)]
Fix Qt/Win/Gtk bustage.

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 03:01:08 +0000 (03:01 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there
        was no reason for it to be on Widget.  This change eliminates Qt ifdefs
        from Widget.

        Reviewed by Sam Weinig

        * bindings/js/ScriptControllerQt.cpp:
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * platform/qt/WidgetQt.cpp:
        (WebCore::WidgetPrivate::WidgetPrivate):
        (WebCore::WidgetPrivate::~WidgetPrivate):
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):
        * plugins/PluginView.h:
        (WebCore::PluginView::isNPAPIPlugin):
        (WebCore::PluginView::setIsNPAPIPlugin):

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

12 years ago2008-09-18 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Fri, 19 Sep 2008 02:53:37 +0000 (02:53 +0000)]
2008-09-18  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed.

        * blog-files/animation-demo.svg: Added.

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 02:36:08 +0000 (02:36 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Make geometryChanged() cross-platform on Widget.  GTK and WIN platform
        ifdefs are now gone from Widget!

        Reviewed by Sam Weinig

        * platform/Widget.h:
        (WebCore::Widget::geometryChanged):
        * platform/gtk/WidgetGtk.cpp:
        * platform/qt/WidgetQt.cpp:

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 02:29:27 +0000 (02:29 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Consolidate convertTo/FromContainingWindow methods so that all platforms
        but Mac share the same code.

        Move convertSelfToChild and convertChildToSelf to ScrollView, since
        Widget should know nothing about children.  Make the methods cross-platform
        on ScrollView.

        Reviewed by Sam Weinig

        * platform/ScrollView.h:
        (WebCore::ScrollView::convertChildToSelf):
        (WebCore::ScrollView::convertSelfToChild):
        * platform/Widget.cpp:
        (WebCore::Widget::convertToContainingWindow):
        (WebCore::Widget::convertFromContainingWindow):
        * platform/Widget.h:
        (WebCore::Widget::geometryChanged):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::isScrollViewScrollbar):
        * platform/gtk/WidgetGtk.cpp:
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::isScrollViewScrollbar):
        * platform/mac/WidgetMac.mm:
        * platform/qt/ScrollViewQt.cpp:
        (WebCore::ScrollView::isScrollViewScrollbar):
        * platform/qt/WidgetQt.cpp:
        * platform/win/ScrollViewWin.cpp:
        (WebCore::ScrollView::isScrollViewScrollbar):
        * platform/win/WidgetWin.cpp:

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

12 years ago2008-09-18 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Fri, 19 Sep 2008 01:51:55 +0000 (01:51 +0000)]
2008-09-18  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed.

        * blog-files/sfx-perf.png: Added.

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

12 years ago2008-09-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 19 Sep 2008 01:34:01 +0000 (01:34 +0000)]
2008-09-18  Sam Weinig  <sam@webkit.org>

        Fix style.

        * VM/Instruction.h:
        (JSC::Instruction::Instruction):

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

12 years ago[qt] Build fixes after the Widget/ScrollView cleanup
zecke@webkit.org [Fri, 19 Sep 2008 01:00:18 +0000 (01:00 +0000)]
[qt] Build fixes after the Widget/ScrollView cleanup
    topLevel() is now root()

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

12 years agoFix WIndows bustage.
hyatt@apple.com [Fri, 19 Sep 2008 00:51:03 +0000 (00:51 +0000)]
Fix WIndows bustage.

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

12 years agoBug 20911: REGRESSION(r36480?): Reproducible assertion failure below derefStructureID...
oliver@apple.com [Fri, 19 Sep 2008 00:46:56 +0000 (00:46 +0000)]
Bug 20911: REGRESSION(r36480?): Reproducible assertion failure below derefStructureIDs 64-bit JavaScriptCore
<https://bugs.webkit.org/show_bug.cgi?id=20911>

Reviewed by Maciej Stachowiak.

The problem was simply caused by the int constructor for Instruction
failing to initialise the full struct in 64bit builds.

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Fri, 19 Sep 2008 00:39:51 +0000 (00:39 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Make the conversion methods that go to and from some containingWindow
        cross-platform.  Implement them on Mac.

        Reviewed by Sam Weinig

        * platform/Widget.h:
        (WebCore::Widget::setContainingWindow):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::convertFromContainingWindow):
        (WebCore::Widget::convertToContainingWindow):

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

12 years ago2008-09-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Fri, 19 Sep 2008 00:28:05 +0000 (00:28 +0000)]
2008-09-18  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by David "Yeah-yeah" Hyatt.

        Cleanup RenderStyle.

        * WebCore.xcodeproj/project.pbxproj:
        * rendering/style/CounterContent.h:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:

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

12 years ago2008-09-18 Chris Marrin <cmarrin@apple.com>
dino@apple.com [Fri, 19 Sep 2008 00:01:07 +0000 (00:01 +0000)]
2008-09-18  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Sam Weinig

        Fixed https://bugs.webkit.org/show_bug.cgi?id=20908
        Now TransformOperations and AnimationList no longer
        inherit from Vector<> but rather have API to access.

        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSStyleSelector.cpp:
        * page/animation/AnimationBase.cpp:
        * page/animation/CompositeAnimation.cpp:
        * page/animation/ImplicitAnimation.cpp:
        * page/animation/KeyframeAnimation.cpp:
        * rendering/RenderLayer.cpp:
        * rendering/style/AnimationList.cpp:
        * rendering/style/AnimationList.h:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        * rendering/style/TransformOperations.cpp:
        * rendering/style/TransformOperations.h:

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

12 years ago2008-09-18 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 18 Sep 2008 23:47:32 +0000 (23:47 +0000)]
2008-09-18  Darin Adler  <darin@apple.com>

        - fix release build

        * wtf/RefCountedLeakCounter.cpp: Removed stray "static".

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

12 years ago2008-09-18 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 18 Sep 2008 23:34:09 +0000 (23:34 +0000)]
2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        * kjs/JSGlobalObject.h: Tiny style guideline tweak.

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

12 years ago2008-09-18 Darin Adler <darin@apple.com>
darin@apple.com [Thu, 18 Sep 2008 23:30:23 +0000 (23:30 +0000)]
2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=20925
          LEAK messages appear every time I quit

        * JavaScriptCore.exp: Updated, and also added an export
        needed for future WebCore use of JSC::StructureID.

        * wtf/RefCountedLeakCounter.cpp:
        (WTF::RefCountedLeakCounter::suppressMessages): Added.
        (WTF::RefCountedLeakCounter::cancelMessageSuppression): Added.
        (WTF::RefCountedLeakCounter::RefCountedLeakCounter): Tweaked a bit.
        (WTF::RefCountedLeakCounter::~RefCountedLeakCounter): Added code to
        log the reason there was no leak checking done.
        (WTF::RefCountedLeakCounter::increment): Tweaked a bit.
        (WTF::RefCountedLeakCounter::decrement): Ditto.

        * wtf/RefCountedLeakCounter.h: Replaced setLogLeakMessages with two
        new functions, suppressMessages and cancelMessageSuppression. Also
        added m_ prefixes to the data member names.

2008-09-18  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        - fix https://bugs.webkit.org/show_bug.cgi?id=20925
          LEAK messages appear every time I quit

        * WebView/WebPreferences.mm:
        (-[WebPreferences setFullDocumentTeardownEnabled:]): Removed unneeded call
        to setLogLeakMessages.
        * WebView/WebView.mm:
        (-[WebView _closeWithFastTeardown]): Call RefCountedLeakCounter::suppressMessages,
        telling it that we can't track leaks because at least one WebView was closed with
        fast teardown.
        (-[WebView _close]): Removed unneeded call to setLogLeakMessages. Added a call to
        cancelMessageSuppression since the WebView is no longer open.
        Added an explicit garbage collect to help with the case where we're closing during
        the quit process -- the garbageCollectSoon() calls done inside WebCore won't help
        us in that case.
        (-[WebView initWithFrame:frameName:groupName:]): Call
        RefCountedLeakCounter::suppressMessages telling it that we can't track leaks
        because at least one WebView is currently open.

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

12 years agoJavaScriptCore
zecke@webkit.org [Thu, 18 Sep 2008 23:28:34 +0000 (23:28 +0000)]
JavaScriptCore
2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

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

        Add a proper #define to define which XML Parser implementation to use. Client
        code can use #if USE(QXMLSTREAM) to decide if the Qt XML StreamReader
        implementation is going to be used.

        * wtf/Platform.h:

WebCore
2008-09-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

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

        XMLTokenizer.cpp used to contain two different implementations. One was using
        libxml2 and the other was using the Qt XML StreamReader. Clean up the code by
        separating the two implementations from each other.
        Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code
        was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to
        XMLTokenizerLibxml2.cpp. There should be no functional changes.

        Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues
        to work.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * dom/XMLTokenizer.cpp:
        (WebCore::isScriptElement):
        (WebCore::castToScriptElement):
        (WebCore::XMLTokenizer::setCurrentNode):
        (WebCore::XMLTokenizer::write):
        (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated):
        (WebCore::XMLTokenizer::enterText):
        (WebCore::toString):
        (WebCore::XMLTokenizer::exitText):
        (WebCore::XMLTokenizer::end):
        (WebCore::XMLTokenizer::insertErrorMessageBlock):
        * dom/XMLTokenizer.h:
        (WebCore::XMLTokenizer::wellFormed):
        * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
        (WebCore::createMemoryParser):
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::~XMLTokenizer):
        (WebCore::XMLTokenizer::doWrite):
        (WebCore::ignorableWhitespaceHandler):
        (WebCore::XMLTokenizer::initializeParserContext):
        (WebCore::XMLTokenizer::doEnd):
        (WebCore::XMLTokenizer::lineNumber):
        (WebCore::XMLTokenizer::columnNumber):
        (WebCore::XMLTokenizer::stopParsing):
        (WebCore::XMLTokenizer::resumeParsing):
        (WebCore::parseXMLDocumentFragment):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp.
        (WebCore::EntityResolver::resolveUndeclaredEntity):
        (WebCore::XMLTokenizer::XMLTokenizer):
        (WebCore::XMLTokenizer::~XMLTokenizer):
        (WebCore::XMLTokenizer::doWrite):
        (WebCore::XMLTokenizer::initializeParserContext):
        (WebCore::XMLTokenizer::doEnd):
        (WebCore::XMLTokenizer::lineNumber):
        (WebCore::XMLTokenizer::columnNumber):
        (WebCore::XMLTokenizer::stopParsing):
        (WebCore::XMLTokenizer::resumeParsing):
        (WebCore::parseXMLDocumentFragment):
        (WebCore::attributesStartElementNsHandler):
        (WebCore::parseAttributes):
        (WebCore::):

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

12 years ago2008-09-18 Beth Dakin <bdakin@apple.com>
bdakin@apple.com [Thu, 18 Sep 2008 23:08:35 +0000 (23:08 +0000)]
2008-09-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Geoff Garen.

        Build fix for non-Mac builds.

        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cssText):

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

12 years ago2008-09-18 Peter Kasting <pkasting@google.com>
eric@webkit.org [Thu, 18 Sep 2008 23:07:55 +0000 (23:07 +0000)]
2008-09-18  Peter Kasting  <pkasting@google.com>

        Reviewed by hyatt.  Landed by eseidel.

        https://bugs.webkit.org/show_bug.cgi?id=20745
        Animated GIFs do not animate properly with (at least) CG.

        * WebCore\platform\graphics\BitmapImage.cpp:
        * WebCore\platform\graphics\BitmapImage.h:
        * WebCore\platform\graphics\cairo\ImageCairo.cpp:
        * WebCore\platform\graphics\cg\ImageCG.cpp:
        * WebCore\platform\graphics\qt\ImageQt.cpp:
        * WebCore\platform\graphics\wx\ImageWx.cpp:

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

12 years ago<rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA role...
cfleizach@apple.com [Thu, 18 Sep 2008 22:54:37 +0000 (22:54 +0000)]
<rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA role specifies otherwise

If a <table> tag has an aria role, it should not appear as an AXTable
Likewise, it's rows and cells should not appear as AXRow or AXCell

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

12 years ago Use higher-resolution timers on all variants of Windows.
sfalken@apple.com [Thu, 18 Sep 2008 22:29:34 +0000 (22:29 +0000)]
    Use higher-resolution timers on all variants of Windows.

        Reviewed by Darin Adler.

        * platform/win/SharedTimerWin.cpp:
        (WebCore::setSharedTimerFireTime):

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 18 Sep 2008 22:21:25 +0000 (22:21 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Make containingWindow() and setContainingWindow() cross-platform.
        Add a root() function cross-platform so Qt doesn't have to
        define its own.

        Reviewed by Darin Adler

        * platform/Widget.cpp:
        (WebCore::Widget::root):
        * platform/Widget.h:
        (WebCore::Widget::setContainingWindow):
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::containingWindow):
        * platform/mac/ScrollViewMac.mm:
        (WebCore::ScrollView::addChild):
        (WebCore::ScrollView::removeChild):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::containingWindow):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::invalidateRect):
        (WebCore::Widget::containingWindow):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::containingWindow):

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

12 years agoWebCore:
bdakin@apple.com [Thu, 18 Sep 2008 22:18:01 +0000 (22:18 +0000)]
WebCore:

2008-09-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
        parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
        dashboard-region=
        and corresponding: <rdar://problem/6174100>

        This patch makes CSSParserValue::createCSSValue handle unknown
        identifiers.

        * css/CSSParserValues.cpp:
        (WebCore::CSSParserValue::createCSSValue): If we have an identifier
        with no id (an unknown identifier) create a CSSPrimitiveValue of
        type CSS_PARSER_IDENTIFIER
        * css/CSSPrimitiveValue.cpp:
        (WebCore::CSSPrimitiveValue::cssText):
        (WebCore::CSSPrimitiveValue::parserValue):
        * css/CSSPrimitiveValue.h:
        (WebCore::CSSPrimitiveValue::):

LayoutTests:

2008-09-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Dave Hyatt.

        Test for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon
        parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit-
        dashboard-region=
        and corresponding: <rdar://problem/6174100>

        * fast/css/variables/invalid-identifier-expected.txt: Added.
        * fast/css/variables/invalid-identifier.html: Added.

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

12 years ago2008-09-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 18 Sep 2008 21:46:14 +0000 (21:46 +0000)]
2008-09-18  Sam Weinig  <sam@webkit.org>

        Rubber-stamped by David "I'd prefer not" Hyatt.

        More the remaining class out of RenderStyle.h/cpp

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::CursorData::CursorData):
        (WebCore::CursorData::operator==):
        (WebCore::CursorData::operator!=):
        * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::CursorList::operator[]):
        (WebCore::CursorList::CursorList):
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        (WebCore::RenderStyle::deref):
        (WebCore::RenderStyle::hasOneRef):
        (WebCore::RenderStyle::InheritedFlags::operator!=):
        (WebCore::RenderStyle::NonInheritedFlags::operator!=):
        (WebCore::RenderStyle::hasBackground):
        (WebCore::RenderStyle::outlineWidth):
        (WebCore::RenderStyle::autoWrap):
        (WebCore::RenderStyle::preserveNewline):
        (WebCore::RenderStyle::collapseWhiteSpace):
        (WebCore::RenderStyle::isCollapsibleWhiteSpace):
        (WebCore::RenderStyle::breakOnlyAfterWhiteSpace):
        (WebCore::RenderStyle::breakWords):
        (WebCore::RenderStyle::outlineOffset):
        (WebCore::RenderStyle::setLeft):
        (WebCore::RenderStyle::setRight):
        (WebCore::RenderStyle::setTop):
        (WebCore::RenderStyle::setBottom):
        (WebCore::RenderStyle::setDashboardRegion):
        (WebCore::RenderStyle::setBackgroundColor):
        (WebCore::RenderStyle::setBorderImage):
        (WebCore::RenderStyle::setBorderRadius):
        (WebCore::RenderStyle::setFontDescription):
        (WebCore::RenderStyle::adjustBackgroundLayers):
        (WebCore::RenderStyle::adjustMaskLayers):
        (WebCore::RenderStyle::deleteBindingURIs):
        (WebCore::RenderStyle::inheritBindingURIs):
        (WebCore::RenderStyle::isDisplayReplacedType):
        (WebCore::RenderStyle::isDisplayInlineType):
        (WebCore::RenderStyle::isOriginalDisplayInlineType):
        * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::StyleInheritedData::operator!=):
        * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::StyleRareInheritedData::operator!=):
        * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h.
        * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h.

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

12 years agoFix Mac bustage.
hyatt@apple.com [Thu, 18 Sep 2008 21:29:23 +0000 (21:29 +0000)]
Fix Mac bustage.

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 18 Sep 2008 20:24:16 +0000 (20:24 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Move the concept of suppression invalidation on Widgets to Scrollbar
        instead.  Since this is only used by Scrollbars, there is no need for
        it to be on Widget.

        Reviewed by Sam Weinig

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::Scrollbar):
        (WebCore::Scrollbar::invalidateRect):
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::suppressInvalidation):
        (WebCore::Scrollbar::setSuppressInvalidation):
        * platform/Widget.h:
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::invalidateRect):
        * platform/qt/WidgetQt.cpp:
        (WebCore::WidgetPrivate::WidgetPrivate):
        (WebCore::Widget::invalidateRect):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::invalidateRect):

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

12 years ago2008-09-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 18 Sep 2008 20:09:41 +0000 (20:09 +0000)]
2008-09-18  David Hyatt  <hyatt@apple.com>

        Make invalidate() on Widget non-virtual and make it just call
        invalidateRect() on the boundsGeometry() of the Widget.

        Reviewed by Dan Bernstein

        * platform/Widget.h:
        (WebCore::Widget::boundsGeometry):
        (WebCore::Widget::invalidate):
        * platform/gtk/WidgetGtk.cpp:
        * platform/mac/WidgetMac.mm:
        * platform/qt/WidgetQt.cpp:
        * platform/win/WidgetWin.cpp:
        * platform/wx/WidgetWx.cpp:

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

12 years ago2008-09-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 18 Sep 2008 19:40:24 +0000 (19:40 +0000)]
2008-09-18  Sam Weinig  <sam@webkit.org>

        Rubber-stamped in exile by David Hyatt.

        Split Animation, AnimationList, BindingURI, ContentData, CounterContent,
        KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of
        RenderStyle.h/cpp

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        * page/animation/CompositeAnimation.cpp:
        * page/animation/KeyframeAnimation.cpp:
        * page/animation/KeyframeAnimation.h:
        * rendering/RenderCounter.h:
        * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp.
        (WebCore::Animation::~Animation):
        (WebCore::Animation::animationsMatch):
        (WebCore::Animation::keyframeList):
        (WebCore::Animation::setAnimationKeyframe):
        * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h.
        * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h.
        * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::BindingURI::operator!=):
        * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::ContentData::ContentData):
        (WebCore::ContentData::~ContentData):
        * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::CounterContent::CounterContent):
        * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::CounterDirectives::CounterDirectives):
        * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp.
        (WebCore::KeyframeList::insert):
        * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::KeyframeValue::KeyframeValue):
        (WebCore::KeyframeList::create):
        (WebCore::KeyframeList::KeyframeList):
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::~ShadowData):
        (WebCore::ShadowData::operator!=):
        * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp.
        * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::StyleFlexibleBoxData::operator!=):
        * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h.
        (WebCore::TimingFunction::TimingFunction):
        (WebCore::TimingFunction::operator==):

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

12 years ago2008-09-18 Adele Peterson <adele@apple.com>
adele@apple.com [Thu, 18 Sep 2008 18:49:44 +0000 (18:49 +0000)]
2008-09-18  Adele Peterson  <adele@apple.com>

        Reviewed by Dan Bernstein.

        Fix RenderStyle leaks.

        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded):

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

12 years ago2008-09-18 Anders Carlsson <andersca@apple.com>
andersca@apple.com [Thu, 18 Sep 2008 18:30:48 +0000 (18:30 +0000)]
2008-09-18  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam Roben.

        Move the remainder of the stream ivars to the C++ object.

        * Plugins/WebBaseNetscapePluginStream.h:
        (WebNetscapePluginStream::WebNetscapePluginStream):
        * Plugins/WebBaseNetscapePluginStream.mm:
        (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]):
        (-[WebBaseNetscapePluginStream initWithFrameLoader:]):
        (-[WebBaseNetscapePluginStream initWithRequest:plugin:notifyData:sendNotification:]):
        (-[WebBaseNetscapePluginStream initWithRequestURL:plugin:notifyData:sendNotification:]):
        (-[WebBaseNetscapePluginStream dealloc]):
        (-[WebBaseNetscapePluginStream finalize]):
        (-[WebBaseNetscapePluginStream setPlugin:]):
        (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:headers:]):
        (-[WebBaseNetscapePluginStream start]):
        (-[WebBaseNetscapePluginStream stop]):
        (-[WebBaseNetscapePluginStream wantsAllStreams]):
        (-[WebBaseNetscapePluginStream _destroyStream]):
        (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]):
        (-[WebBaseNetscapePluginStream cancelLoadWithError:]):
        (-[WebBaseNetscapePluginStream _deliverData]):

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

12 years ago2008-09-18 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 18 Sep 2008 18:03:23 +0000 (18:03 +0000)]
2008-09-18  Kevin McCullough  <kmccullough@apple.com>

        Accidentally checked in code.

        * html/HTMLElementFactory.cpp:
        (WebCore::frameConstructor):
        (WebCore::iframeConstructor):

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

12 years ago2008-09-18 Kevin McCullough <kmccullough@apple.com>
kmccullough@apple.com [Thu, 18 Sep 2008 17:21:49 +0000 (17:21 +0000)]
2008-09-18  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Tim.

        <rdar://problem/5722310> gracefully handle too many console messages
        (20904)
        - Keep track of the most previous message and then compare it to the
        subsequent messages as they come in.  If there are multiple of the same
        message create a count that indicates the current number.

        * manual-tests/inspector/multiple-console-messages.html: Added.
        * page/inspector/Console.js:
        * page/inspector/inspector.css:

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

12 years ago2008-09-18 Jonathon Jongsma <jonathon@quotidian.org>
alp@webkit.org [Thu, 18 Sep 2008 11:50:26 +0000 (11:50 +0000)]
2008-09-18  Jonathon Jongsma  <jonathon@quotidian.org>

        Reviewed by Alp Toker

        https://bugs.webkit.org/show_bug.cgi?id=20830
        [GTK] Don't use deprecated pango API

        Replace deprecated pango functions with non-deprecated ones for newer
        versions of pango

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::getDefaultPangoLayout):
        * platform/graphics/gtk/FontPlatformDataPango.cpp:
        (WebCore::FontPlatformData::FontPlatformData):

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

12 years ago2008-09-18 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 18 Sep 2008 09:39:12 +0000 (09:39 +0000)]
2008-09-18  Stephanie Lewis  <slewis@apple.com>

        Really fix tiger jsc tests.

        * Scripts/run-javascriptcore-tests:

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

12 years ago2008-09-18 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Thu, 18 Sep 2008 09:35:52 +0000 (09:35 +0000)]
2008-09-18  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Make a Unicode non-breaking space count as a whitespace character in
        PCRE. This change was already made in WREC, and it fixes one of the
        Mozilla JS tests. Since it is now fixed in PCRE as well, we can check
        in a new set of expected test results.

        * pcre/pcre_internal.h:
        (isSpaceChar):
        * tests/mozilla/expected.html:

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

12 years ago2008-09-18 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 18 Sep 2008 09:13:24 +0000 (09:13 +0000)]
2008-09-18  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Maciej Stachowiak.

Fix jsc tests on Tiger.  Make jsc tests smarter about when to use the arch flag.

        * Scripts/run-javascriptcore-tests:
        * Scripts/webkitdirs.pm:

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

12 years ago2008-09-18 Alp Toker <alp@nuanti.com>
alp@webkit.org [Thu, 18 Sep 2008 08:10:49 +0000 (08:10 +0000)]
2008-09-18  Alp Toker  <alp@nuanti.com>

        Build fix for r36587. Add new sources (and sort the lists).

        * GNUmakefile.am:

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

12 years agoPrint warning to stdout rather than stderr when a test attempts to access a remote...
mrowe@apple.com [Thu, 18 Sep 2008 07:48:12 +0000 (07:48 +0000)]
Print warning to stdout rather than stderr when a test attempts to access a remote resource.
This should make it more obvious when a test does this, as stderr output tends to be obscured
by noise in the test results.

Also fixes some coding style issues in ResourceLoadDelegate.mm.

Rubber-stamped by Sam Weinig.

* DumpRenderTree/mac/ResourceLoadDelegate.mm:
(-[NSError _drt_descriptionSuitableForTestResult]):
(-[NSURL _drt_descriptionSuitableForTestResult]):
(-[ResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didReceiveResponse:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
(-[ResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
(-[ResourceLoadDelegate webView:resource:willCacheResponse:fromDataSource:]):

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

12 years agoChange test to not attempt to access a remote host. This stops
mrowe@apple.com [Thu, 18 Sep 2008 07:48:09 +0000 (07:48 +0000)]
Change test to not attempt to access a remote host.  This stops
DRT from printing a warning to stderr while running this test.

Rubber-stamped by Sam Weinig.

* fast/loader/cancel-load-during-port-block-timer.html:

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

12 years ago2008-09-18 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 18 Sep 2008 07:43:59 +0000 (07:43 +0000)]
2008-09-18  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Mark Rowe and Maciej Stachowiak.

        add an option use arch to specify which architecture to run.

        * tests/mozilla/jsDriver.pl:

        add a --64-bit option and specify which architecture to run on Mac.

        * Scripts/run-javascriptcore-tests:

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

12 years agoFix a crash seen running DumpRenderTree on fast/dom/null-document-window-open-crash...
mrowe@apple.com [Thu, 18 Sep 2008 07:09:37 +0000 (07:09 +0000)]
Fix a crash seen running DumpRenderTree on fast/dom/null-document-window-open-crash.html under guard malloc.

Reviewed by Sam Weinig.

The JS wrapper for LayoutTestController could outlive the wrapped instance, and would crash when
attempting to access the wrapped instance within layoutTestControllerObjectFinalize. We fix this by making
LayoutTestController ref-counted to ensure that it is not outlived by the JS wrapper.

* DumpRenderTree/ForwardingHeaders/wtf/RefCounted.h: Copied from JavaScriptGlue/ForwardingHeaders/wtf/RefCounted.h.
* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(notifyDoneCallback): Remove code that is no longer needed now that we must always have a wrapped instance.
(layoutTestControllerObjectFinalize): Deref the wrapped object.
(LayoutTestController::makeWindowObject): Ref the wrapped object.
* DumpRenderTree/LayoutTestController.h: Make LayoutTestController RefCounted.
* DumpRenderTree/mac/DumpRenderTree.mm:
(runTest): Deref the LayoutTestController object rather than explicitly deleting it.
* DumpRenderTree/mac/LayoutTestControllerMac.mm: Remove code that is no longer needed.
* DumpRenderTree/win/DumpRenderTree.cpp:
(runTest): Deref the LayoutTestController object rather than explicitly deleting it.

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

12 years ago2008-09-17 Oliver Hunt <oliver@apple.com>
sfalken@apple.com [Thu, 18 Sep 2008 06:45:48 +0000 (06:45 +0000)]
2008-09-17  Oliver Hunt  <oliver@apple.com>

        Correctly restore argument reference prior to SFX runtime calls.

        Reviewed by Steve Falkenburg.

        * VM/CTI.cpp:
        (JSC::CTI::privateCompileSlowCases):
        (JSC::CTI::privateCompile):

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

12 years ago2008-09-17 Cameron Zwarich <cwzwarich@uwaterloo.ca>
cwzwarich@webkit.org [Thu, 18 Sep 2008 06:20:42 +0000 (06:20 +0000)]
2008-09-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>

        Reviewed by Maciej Stachowiak.

        Bug 20876: REGRESSION (r36417, r36427): fast/js/exception-expression-offset.html fails
        <https://bugs.webkit.org/show_bug.cgi?id=20876>

        r36417 and r36427 caused an get_by_id opcode to be emitted before the
        instanceof and construct opcodes, in order to enable inline caching of
        the prototype property. Unfortunately, this regressed some tests dealing
        with exceptions thrown by 'instanceof' and the 'new' operator. We fix
        these problems by detecting whether an "is not an object" exception is
        thrown before op_instanceof or op_construct, and emit the proper
        exception in those cases.

        * VM/CodeGenerator.cpp:
        (JSC::CodeGenerator::emitConstruct):
        * VM/CodeGenerator.h:
        * VM/ExceptionHelpers.cpp:
        (JSC::createInvalidParamError):
        (JSC::createNotAConstructorError):
        (JSC::createNotAnObjectError):
        * VM/ExceptionHelpers.h:
        * VM/Machine.cpp:
        (JSC::Machine::getOpcode):
        (JSC::Machine::privateExecute):
        * VM/Machine.h:
        * kjs/nodes.cpp:
        (JSC::NewExprNode::emitCode):
        (JSC::InstanceOfNode::emitCode):

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

12 years ago2008-09-17 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 18 Sep 2008 05:51:35 +0000 (05:51 +0000)]
2008-09-17  Sam Weinig  <sam@webkit.org>

        Fix Windows build.

        * WebCore.vcproj/WebCore.vcproj:

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

12 years agoFix mysterious Mac bustage.
hyatt@apple.com [Thu, 18 Sep 2008 05:28:40 +0000 (05:28 +0000)]
Fix mysterious Mac bustage.

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

12 years ago2008-09-17 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Thu, 18 Sep 2008 05:10:03 +0000 (05:10 +0000)]
2008-09-17  David Hyatt  <hyatt@apple.com>

        Switch back to having frameGeometry be virtual in order to keep Mac
        the way it used to be.

        Reviewed by Sam Weinig

        * WebCore.base.exp:
        * platform/Widget.cpp:
        (WebCore::Widget::setParent):
        * platform/Widget.h:
        * platform/gtk/WidgetGtk.cpp:
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFrameGeometry):
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFrameGeometry):
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFrameGeometry):
        * platform/win/WidgetWin.cpp:
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFrameGeometry):
        * platform/wx/WidgetWx.cpp:
        (WebCore::Widget::frameGeometry):
        (WebCore::Widget::setFrameGeometry):
        * plugins/PluginView.cpp:
        (WebCore::PluginView::setFrameGeometry):
        (WebCore::PluginView::geometryChanged):
        * plugins/PluginView.h:
        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::updatePluginWidget):
        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::updatePluginWidget):
        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::updatePluginWidget):

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

12 years ago2008-09-17 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 18 Sep 2008 05:03:21 +0000 (05:03 +0000)]
2008-09-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Mark Rowe.

        Fix assertion in DOMWindow::adjustWindowRect where we were passing
        in garbage values and were getting lucky that they were a not Nan.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncOpen):

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

12 years ago2008-09-17 Sam Weinig <sam@webkit.org>
weinig@apple.com [Thu, 18 Sep 2008 04:28:40 +0000 (04:28 +0000)]
2008-09-17  Sam Weinig  <sam@webkit.org>

        Fix gtk build.

        * rendering/style/MatrixTransformOperation.cpp:

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

12 years agoFix Mac bustage.
hyatt@apple.com [Thu, 18 Sep 2008 03:36:03 +0000 (03:36 +0000)]
Fix Mac bustage.

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

12 years agoFix build bustage on Qt, Gtk, Win.
hyatt@apple.com [Thu, 18 Sep 2008 03:32:44 +0000 (03:32 +0000)]
Fix build bustage on Qt, Gtk, Win.

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

12 years agoFix build bustage on Qt, Gtk, Win.
hyatt@apple.com [Thu, 18 Sep 2008 03:28:57 +0000 (03:28 +0000)]
Fix build bustage on Qt, Gtk, Win.

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