14 years agoAvoid heap allocating the root scope chain node for eval and closure free functions
oliver@apple.com [Thu, 20 Mar 2008 06:36:26 +0000 (06:36 +0000)]
Avoid heap allocating the root scope chain node for eval and closure free functions

Reviewed by Maciej

Maciej suggested using an inline ScopeChainNode for functions that don't use eval
or closures as they are unable to ever capture the scope chain.  This gives us a 2.4%
win in sunspider, a 15% win in controlflow-recursive, and big (>5%) wins in a number
of other tests.

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

14 years ago2008-03-19 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 20 Mar 2008 05:23:19 +0000 (05:23 +0000)]
2008-03-19  Stephanie Lewis  <slewis@apple.com>

        Rubber-stamped by Anders.

        Fix Windows Build

        * platform/cf/SharedBufferCF.cpp:

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

14 years ago2008-03-19 Stephanie Lewis <slewis@apple.com>
slewis@apple.com [Thu, 20 Mar 2008 04:51:43 +0000 (04:51 +0000)]
2008-03-19  Stephanie Lewis <slewis@apple.com>

        Rubber-stamped by Anders.

        Fix Windows Build

        * platform/SharedBuffer.h:

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

14 years agoWebCore:
justin.garcia@apple.com [Thu, 20 Mar 2008 03:15:17 +0000 (03:15 +0000)]

2008-03-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues

        Elements with height: x%; overflow: visible; overlap what's below them when they are copied from
        a document in quirksmode and pasted into to one in standards mode.  This fix uses the computed
        the value for a property if its value is a percentage.

        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::addParsedProperty): Added so that we don't have to use
        setProperty from appendStartMarkup.  We already have a parsed property value, so we shouldn't
        use setProperty, since it takes in a String.  If we did, we would have to call CSSValue::cssText()
        for a String only to re-parse it in setProperty.  This wasn't extremely important now, but it will
        be as we compute more properties to fix the rest of the copy/paste fidelity bugs.
        * css/CSSMutableStyleDeclaration.h:
        * editing/markup.cpp:
        (WebCore::appendStartMarkup): Compute values for properties that have percentage values.  We could
        perhaps narrow this special case to only include properties that are effected by quirksmode.


2008-03-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5780697> Copying content with CSS property values that are percentages can cause fidelity issues

        * editing/pasteboard/5780697-2-expected.txt: Added.
        * editing/pasteboard/5780697-2.html: Added.

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

14 years ago2008-03-19 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Thu, 20 Mar 2008 01:14:42 +0000 (01:14 +0000)]
2008-03-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        Fix release build.

        * kjs/JSGlobalObject.cpp:  Add missing #include.

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

14 years agoJavaScriptCore:
weinig@apple.com [Thu, 20 Mar 2008 01:00:15 +0000 (01:00 +0000)]

2008-03-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for <rdar://problem/5785694>
        Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file

        Make the activeExecStates stack per JSGlobalObject instead of static to ensure
        thread safety.

        * JavaScriptCore.exp:
        * kjs/ExecState.cpp:
        * kjs/ExecState.h:
        * kjs/JSGlobalObject.cpp:
        * kjs/JSGlobalObject.h:
        * kjs/collector.cpp:
        (KJS::Collector::reportOutOfMemoryToAllExecStates): Iterate all JSGlobalObjects and report
        the OutOfMemory condition to all the ExecStates in each.


2008-03-19  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for <rdar://problem/5785694>
        Crash occurs at KJS::Collector::collect() when loading web clip widgets with a PAC file

        Make the activeExecStates stack per JSGlobalObject instead of static to ensure
        thread safety.

        * bindings/objc/WebScriptObject.mm:
        (+[WebScriptObject throwException:]): Change to throw an exception on the current
        GlobalObject instead of the top of the static activeExecStates stack.
        (-[WebScriptObject setException:]): Change to use the top of the rootObjects GlobalObject
        instead of the top of the static activeExecStates stack.

        * bridge/c/c_instance.cpp:
        * bridge/c/c_instance.h:
        * bridge/jni/jni_instance.cpp:
        * bridge/jni/jni_instance.h:
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        * bridge/runtime.cpp:
        (KJS::Bindings::Instance::setCurrentGlobalObject): Added.
        (KJS::Bindings::Instance::currentGlobalObject): Added.
        * bridge/runtime.h:
        (KJS::Bindings::Instance::virtualBegin): Renamed from begin().
        (KJS::Bindings::Instance::virtualEnd): Renamed from end().
        We now store the currently active globalObject everytime we cross the runtime
        object boundary.  To do this, we take advantage of the existing begin/end
        methods that are called when crossing this boundary, making begin set the current
        globalObject and then call the old begin, now called virtualBegin.

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

14 years ago2008-03-19 Brady Eidson <beidson@apple.com>
beidson@apple.com [Thu, 20 Mar 2008 00:24:07 +0000 (00:24 +0000)]
2008-03-19  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders

        Change SharedBuffer so the wrapping platform data aspect can be shared with all CoreFoundation platforms
        (Mac and Windows instead of just Mac)

        * WebCore.vcproj/WebCore.vcproj: Add SharedBufferCF.cpp
        * WebCore.xcodeproj/project.pbxproj: Ditto

        * platform/SharedBuffer.cpp:
        * platform/SharedBuffer.h: Change the private c'tor from NSData to CFDataRef, other PLATFORM tweaks

        * platform/cf/SharedBufferCF.cpp: Added.
        (WebCore::SharedBuffer::createCFData): Non-Mac version of createCFData

        * platform/mac/SharedBufferMac.mm:
        (WebCore::SharedBuffer::wrapNSData): Use the CFDataRef constructor via toll-free bridging
        (WebCore::SharedBuffer::createCFData): Mac-specific version of createCFData

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

14 years ago2008-03-19 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Wed, 19 Mar 2008 23:44:00 +0000 (23:44 +0000)]
2008-03-19  Dan Bernstein  <mitz@apple.com>

        - build fix

        * Interfaces/WebKit.idl: Touched.

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

14 years ago Fix a couple of bugs where the node highlight would appear when it shouldn't
aroben@apple.com [Wed, 19 Mar 2008 22:31:39 +0000 (22:31 +0000)]
    Fix a couple of bugs where the node highlight would appear when it shouldn't

        There were at least two ways you could get the highlight to appear
        when it shouldn't:
          1) Selecting a node in the Inspector while the inspected WebView was
             in a background tab.
          2) Selecting a node in the Inspector, switching to another tab,
             closing the Inspector, then switching back to the inspected
             WebView's tab.

        This patch fixes the above two issues, and possibly others.

        show() and hide() are now private methods of WebNodeHighlight. They
        are replaced by a single public method,
        setShowsWhileWebViewIsVisible(bool). WebInspectorClient uses this to
        tell the highlight whether it should be showing when the inspected
        WebView is visible.

        Reviewed by John Sullivan.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::highlight): If the highlight is already showing,
        it just needs to update since the highlighted node has changed. If the
        highlight is not showing, call setShowsWhileWebViewIsVisible(true) so
        that the highlight will show when the WebView is shown.
        (WebInspectorClient::hideHighlight): Changed to call
        setShowsWhileWebViewIsVisible(false) instead of hide().
        * WebNodeHighlight.cpp:
        (WebNodeHighlight::WebNodeHighlight): Initialize new member, and
        initialize m_inspectedWebViewWindow to its final value here instead of
        in show().
        (WebNodeHighlight::setShowsWhileWebViewIsVisible): Added. If we're not
        supposed to show ourselves when the WebView is visible, we hide
        ourselves and return. Otherwise, we make our visibility match the
        (WebNodeHighlight::isWebViewVisible): Added.
        (WebNodeHighlight::show): Removed initialization of
        m_inspectedWebViewWindow (this is now done by our constructor). Added
        an assertion that we're supposed to show ourselves when the WebView is
        (WebNodeHighlight::onWebViewShowWindow): If we shouldn't show
        ourselves when the WebView is visible, then we don't need to do
        anything at all when the WebView's visibility changes.
        * WebNodeHighlight.h:

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

14 years ago Small WebNodeHighlight cleanup
aroben@apple.com [Wed, 19 Mar 2008 22:31:20 +0000 (22:31 +0000)]
    Small WebNodeHighlight cleanup

        Renamed the following methods:
          visible() -> isShowing()
          updateWindow() -> update()

        Removed the window() method.

        Added a new method, placeBehindWindow(HWND), that moves the highlight
        overlay in the window z-order to be just behind the passed-in window.
        WebInspectorClient calls this instead of doing the move directly using
        the old window() method.

        Reviewed by John Sullivan.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::highlight): Call placeBehindWindow instead of
        calling SetWindowPos directly.
        * WebNodeHighlight.cpp:
        (WebNodeHighlight::placeBehindWindow): Added. Code came from
        * WebNodeHighlight.h:

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

14 years agoBug 17954: Canvas arc() with radius of 0 throws exception
oliver@apple.com [Wed, 19 Mar 2008 22:28:07 +0000 (22:28 +0000)]
Bug 17954: Canvas arc() with radius of 0 throws exception

Reviewed by Antti

Simple fix -- use >= instead of > when validating the radius.

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

14 years agoWebCore:
justin.garcia@apple.com [Wed, 19 Mar 2008 21:57:10 +0000 (21:57 +0000)]

2008-03-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)

        The position inside an empty inline-block was a candidate, but upstream and downstream
        would move across it without stopping.  This confused canonicalPosition, since no more
        than two candidates should have the same upstream/downstream (be visually equivalent).

        Code was added intentionally in isCandidate to make VisiblePositions inside empty
        inline-blocks, so we need to make upstream/downstream understand that.

        * dom/Position.cpp:
        (WebCore::endsOfNodeAreVisuallyDistinctPositions): upstream and downstream used to only
        stop when entering or leaving a non-inline element (referred to as a "block").  We must also
        avoid entering or leaving an empty inline-block.  This will allow a VisiblePosition there, to
        match up with what the code in isCandidate intended.
        (WebCore::enclosingVisualBoundary): Removed enclosingBlock and replaced it with this.
        (WebCore::Position::upstream): Added better comments, called the new functions.
        (WebCore::Position::downstream): Ditto.
        * dom/Position.h:


2008-03-19  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5794920> Acid3: Assertion failure in VisiblePosition::previous when clicking on results (17004)

        * editing/pasteboard/4989774.html: Updated to wait for the images to load before trying to copy it.
        * editing/selection/5794920-1-expected.txt: Added.
        * editing/selection/5794920-1.html: Added.

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

14 years ago2008-03-19 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Wed, 19 Mar 2008 21:51:30 +0000 (21:51 +0000)]
2008-03-19  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by John Sullivan.

        - change CSS property and value keyword constants from all-caps with
          underscores to intra-caps.

        * css/makeprop.pl:
        * css/makevalues.pl:
        * All files using the constants

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

14 years ago Make clicking anywhere in a row in the DOM tree select that row's node
aroben@apple.com [Wed, 19 Mar 2008 20:39:18 +0000 (20:39 +0000)]
    Make clicking anywhere in a row in the DOM tree select that row's node

        We now have mousedown and dblclick event listeners on the root of the
        tree that forward the event to the node on the row the mouse is over.

        Reviewed by Tim Hatcher.

        * page/inspector/DocumentPanel.js:
        (WebInspector.DocumentPanel): Added a dblclick and mousedown event
        listeners to the root of the tree.
        (WebInspector.DocumentPanel._treeElementFromEvent): Added. Finds the
        tree element for the row underneath the mouse.
        (WebInspector.DocumentPanel._ondblclick): Added. Sends the dblclick
        event on to the tree element in the current row.
        (WebInspector.DocumentPanel._onmousedown): Added. Selects the tree
        element in the current row.
        * page/inspector/treeoutline.js:
        (TreeOutline.treeElementFromPoint): Added.
        (TreeElement.treeElementSelected): Changed to call
        TreeElement.isEventWithinDisclosureTriangle, and added an early return.
        (TreeElement.treeElementToggled): Ditto.
        (TreeElement.isEventWithinDisclosureTriangle): Added.
        * page/inspector/utilities.js:
        (Node.enclosingNodeOrSelfWithNodeNameInArray): Added.
        (Node.enclosingNodeOrSelfWithNodeName): Now just calls
        (Elemnt.get totalOffsetLeft): Added.
        (Elemnt.get totalOffsetTop): Added.

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

14 years agoFix http://bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architectu...
mrowe@apple.com [Wed, 19 Mar 2008 20:28:11 +0000 (20:28 +0000)]
Fix bugs.webkit.org/show_bug.cgi?id=17816 (libWebCoreSQLite3.a is 2-architecture universal binary (not 4-architecture)).

Rubber-stamped by Sam Weinig.

* libWebCoreSQLite3.a:  Land a 4-way fat binary.

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

14 years agoWebCore:
mitz@apple.com [Wed, 19 Mar 2008 18:40:52 +0000 (18:40 +0000)]

        Reviewed by Sam Weinig.

        - fix assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple

        Test: fast/repaint/line-flow-with-floats-10.html

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::determineStartPosition): Removed bogus assertion.
        If the float's top margin has changed and it has not been repositioned
        yet, we do not have its new y position.


        Reviewed by Sam Weinig.

        - test for assertion failure in RenderBlock::determineStartPosition() at http://www.wired.com/techbiz/it/magazine/16-04/bz_apple

        * fast/repaint/line-flow-with-floats-10.html: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-10-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-10-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-10-expected.txt: Added.

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

14 years ago2008-03-19 Ada Chan <adachan@apple.com>
adachan@apple.com [Wed, 19 Mar 2008 18:24:43 +0000 (18:24 +0000)]
2008-03-19  Ada Chan  <adachan@apple.com>

        Added a method to paint WebView content specified by
        the document rect into a device context.

        Reviewed by Darin.

        * Interfaces/IWebViewPrivate.idl:
        * WebView.cpp:
        * WebView.h:

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

14 years ago2008-03-19 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Wed, 19 Mar 2008 17:58:22 +0000 (17:58 +0000)]
2008-03-19  David Hyatt  <hyatt@apple.com>

        New implementation of full page zoom.  Because of how much doesn't transform when zooming, and because
        of the need to obey viewport constraints, I decided to take a completely different approach.  Now CSS
        lengths and intrinsic sizes are simply adjusted by the zoom factor.  This approach works much better and
        avoids pixel cracks more than the old approach.   In addition widgets "just work", namely plugins zoom
        and scrollbars do not.

        This patch also implements the IE zoom CSS property.  This property allows fine-grained control over
        zooming at the element level.  It takes values of normal | <number> | <percentage> to match WinIE.  In
        addition, in the vein of text-size-adjust for text zooming, I have extended the zoom property with an
        extra value, reset.  The reset keyword can be used to prevent a section of the page from scaling at all
        when a zoom is applied.

        Reviewed by olliej

        * css/CSSComputedStyleDeclaration.cpp:
        Support the new 'zoom' property for getComputedStyle.

        * css/CSSParser.cpp:
        Code that parses the 'zoom' property.

        * css/CSSPrimitiveValue.cpp:
        * css/CSSPrimitiveValue.h:
        Extend all of the computeLength methods to take a multiplier so that lengths can be adjusted by the
        zoom factor.

        * css/CSSPropertyNames.in:
        Add the new zoom property to the list of properties we understand.

        * css/CSSStyleSelector.cpp:
        * css/CSSStyleSelector.h:
        Pass in the zoom factor when computing all lengths in CSS.

        * css/CSSValueKeywords.in:
        Add support for the 'reset' keyword of the zoom property.

        * dom/Document.cpp:
        Set the 'zoom' CSS property on the RenderView.  This is how we implement full page zoom.

        * html/CanvasRenderingContext2D.cpp:
        Make sure the back end canvas size ignores zooming when rendering images.

        * html/HTMLImageElement.cpp:
        Use the unzoomed width/height if we have no style information in HTMLImageElement.cpp.

        * loader/CachedImage.cpp:
        * loader/CachedImage.h:
        Force access to the CachedImage metrics to take a multiplier so that people have to think about
        the zoom factor.  The "intrinsic size" of the image then takes that into account.

        * loader/ImageDocument.cpp:
        Make sure image documents respect the zoom.

        * page/AnimationController.cpp:
        Make the 'zoom' CSS property work with CSS transitions.

        * page/Frame.h:
        Add accessors for obtaining the pageZoom vs. textZoom.

        * page/FrameView.cpp:
        Remove the old zoom implementation that used transforms.

        * page/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject accessibilityIsIgnored]):
        Pass in the zoom factor.

        * rendering/InlineFlowBox.cpp:
        Pass in the zoom factor when testing for size.

        * rendering/RenderBox.cpp:
        * rendering/RenderFrameSet.cpp:
        * rendering/RenderHTMLCanvas.cpp:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderImage.cpp:
        * rendering/RenderImage.h:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderObject.cpp:
        Pass in the zoom factor when testing for size.

        * rendering/RenderReplaced.cpp:
        * rendering/RenderReplaced.h:
        Added a new call when the zoom factor changes, intrinsicSizeChanged().  Replaced element subclasses
        respond to this via overrides.

        * rendering/RenderStyle.cpp:
        * rendering/RenderStyle.h:
        Support for 'zoom' in the RenderStyle.  "zoomInEffect" represents the computed zoom taking into account
        all the zooms specified on ancestors.

        * rendering/RenderTableCol.cpp:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/RenderVideo.h:
        Pass in the zoom factor.

        * rendering/RenderView.cpp:
        * rendering/RenderView.h:
        Back out the old implementation.

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

14 years ago Rename firstParent* methods to enclosingNode*
aroben@apple.com [Wed, 19 Mar 2008 16:29:34 +0000 (16:29 +0000)]
    Rename firstParent* methods to enclosingNode*

        Rubberstamped by John Sullivan.

        * page/inspector/ConsolePanel.js:
        * page/inspector/DocumentPanel.js:
        * page/inspector/NetworkPanel.js:
        * page/inspector/inspector.js:
        * page/inspector/utilities.js:

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

14 years agoWebCore:
mitz@apple.com [Wed, 19 Mar 2008 14:42:34 +0000 (14:42 +0000)]

        Reviewed by John Sullivan.

        - fix <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431

        Test: fast/dynamic/subtree-parent-static-y.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::markContainingBlocksForLayout): Avoid calling
        this method on the parent if the parent is the new layout subtree root,
        which would result in marking all the way to the top, when it should
        actually do nothing.


        Reviewed by John Sullivan.

        - test for <rdar://problem/5805070> CrashTracer: [USER] 33 crashes in Safari at com.apple.WebCore: WebCore::FrameView::layout + 431

        * fast/dynamic/subtree-parent-static-y.html: Added.
        * platform/mac/fast/dynamic/subtree-parent-static-y-expected.checksum: Added.
        * platform/mac/fast/dynamic/subtree-parent-static-y-expected.png: Added.
        * platform/mac/fast/dynamic/subtree-parent-static-y-expected.txt: Added.

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

14 years ago2008-03-19 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Wed, 19 Mar 2008 09:37:58 +0000 (09:37 +0000)]
2008-03-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Use WTF::Unicode abstraction rather than using ICU functions directly.

        * html/PreloadScanner.cpp:

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

14 years agoAttempt to fix the Gtk build.
mrowe@apple.com [Wed, 19 Mar 2008 09:22:45 +0000 (09:22 +0000)]
Attempt to fix the Gtk build.

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

14 years ago2008-03-19 Jasper Bryant-Greene <jasper@unix.geek.nz>
mrowe@apple.com [Wed, 19 Mar 2008 07:48:37 +0000 (07:48 +0000)]
2008-03-19  Jasper Bryant-Greene  <jasper@unix.geek.nz>

        Reviewed by Maciej Stachowiak.

        Fix http://bugs.webkit.org/show_bug.cgi?id=17941
        Bug 17941: C++-style comments in JavaScriptCore API

        * API/JSBase.h:
        Remove C++-style comments from public JavaScriptCore API, replacing
        with standard C90 block comments.

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

14 years ago2008-03-19 Mark Rowe <mrowe@apple.com>
mrowe@apple.com [Wed, 19 Mar 2008 07:18:09 +0000 (07:18 +0000)]
2008-03-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Fix http://bugs.webkit.org/show_bug.cgi?id=17939
        Bug 17939: Crash decompiling "const a = 1, b;"

        * kjs/nodes2string.cpp:
        (KJS::ConstDeclNode::streamTo): Null-check the correct variable.

2008-03-19  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        Test for http://bugs.webkit.org/show_bug.cgi?id=17939
        Bug 17939: Crash decompiling "const a = 1, b;"

        * fast/js/function-toString-parentheses-expected.txt:
        * fast/js/resources/function-toString-parentheses.js:

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

14 years agoBug 17929: Incorrect decompilation with |const|, comma
oliver@apple.com [Wed, 19 Mar 2008 06:17:10 +0000 (06:17 +0000)]
Bug 17929: Incorrect decompilation with |const|, comma

Reviewed by Mark Rowe

There were actually two bugs here. First we weren't correctly handling const
nodes with multiple declarations. The second issue was caused by us not
giving the correct precedence to the initialisers.

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

14 years agoJavaScriptCore:
darin@apple.com [Wed, 19 Mar 2008 04:23:21 +0000 (04:23 +0000)]

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

        Reviewed by Maciej.

        - Speed up JavaScript built-in properties by changing the
          hash table to take advantage of the identifier objects

        5% speedup for Acid3 test 26

        * JavaScriptCore.exp: Updated.
        * kjs/create_hash_table: Compute size of hash table large enough so that there
        are no collisions, but don't generate the hash table.
        * kjs/identifier.h: Made the add function that returns a PassRefPtr public.
        * kjs/lexer.cpp:
        (KJS::Lexer::lex): Updated for change to HashTable interface.
        * kjs/lookup.cpp:
        (KJS::HashTable::changeKeysToIdentifiers): Added. Finds the identifier for
        each property so the equality comparision can be done with pointer comparision.
        * kjs/lookup.h: Made the key be a union of char* with UString::Rep* so it can
        hold identifiers. Added a keysAreIdentifiers flag to the HashTable. Changed
        the Lookup functions to be member functions of HashTable instead.
        * kjs/object.cpp:
        (KJS::JSObject::deleteProperty): Update for change to HashTable.
        (KJS::JSObject::findPropertyHashEntry): Ditto.
        (KJS::JSObject::getPropertyAttributes): Ditto.
        (KJS::JSObject::getPropertyNames): Ditto.


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

        Reviewed by Maciej.

        - Speed up JavaScript built-in properties by changing the
          hash table to take advantage of the identifier objects

        5% speedup for Acid3 test 26

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Update for change to HashTable.
        (WebCore::JSDOMWindowBase::put): Ditto.
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::customGetOwnPropertySlot): Ditto.
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): Ditto.
        * bindings/js/JSHistoryCustom.cpp:
        (WebCore::JSHistory::customGetOwnPropertySlot): Ditto.
        * bindings/js/JSLocation.cpp:
        (WebCore::JSLocation::customGetOwnPropertySlot): Ditto.
        (WebCore::JSLocation::put): Ditto.
        * bindings/js/kjs_binding.cpp:
        (WebCore::nonCachingStaticFunctionGetter): Ditto.

        * bindings/scripts/CodeGeneratorJS.pm: Same changes as in the
        create_hash_table script.

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

14 years ago2008-03-18 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Wed, 19 Mar 2008 03:50:11 +0000 (03:50 +0000)]
2008-03-18  Matt Lilek  <webkit@mattlilek.com>

        Fix the Gtk build for real this time.

        * platform/network/curl/AuthenticationChallenge.h:

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

14 years agoFix http://bugs.webkit.org/show_bug.cgi?id=17925 and http://bugs.webkit.org/show_bug...
mrowe@apple.com [Wed, 19 Mar 2008 01:50:11 +0000 (01:50 +0000)]
Fix bugs.webkit.org/show_bug.cgi?id=17925 and http://bugs.webkit.org/show_bug.cgi?id=17927.
- Bug 17925: Crash in KJS::JSObject::put after setting this.__proto__
- Bug 17927: Hang after attempting to create circular __proto__

* kjs/object.cpp:
(KJS::JSObject::put): Silently ignore attempts to set __proto__ to a non-object, non-null value.
Return after setting the exception when an attempt to set a cyclic __proto__ is detected so that
the cyclic value is not set.

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

14 years agoWebCore:
weinig@apple.com [Wed, 19 Mar 2008 01:42:00 +0000 (01:42 +0000)]

2008-03-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=17057
        REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter

        Tests: fast/dom/NodeList/5725058-crash-scenario-1.html

        * dom/ChildNodeList.cpp:
        * dom/ChildNodeList.h:
        Remove rootNodeChildrenChanged() method and fix the constructor to not
        pass in a needsNotifications argument to DynamicNodeList, as it no longer
        takes one.

        * dom/ClassNodeList.cpp:
        Don't pass the needsNotifications argument to DynamicNodeList.

        * dom/ContainerNode.cpp:
        Rename call to hasNodeLists() to hasNodeListCaches().

        * dom/Document.cpp:
        (WebCore::Document::~Document): Zero out the m_document variable to signify
        to destructors down the destruction chain that this is a Document type node
        being destructed, and thus, accessing document() is prohibited.
        * dom/Document.h:
        (WebCore::Document::addNodeListCache): Renamed from addNodeList.
        (WebCore::Document::removeNodeListCache): Renamed from removeNodeList, adds assertion.
        (WebCore::Document::hasNodeListCaches): Renamed from hasNodeListCaches.
        Rename m_numNodeLists to m_numNodeListCaches.

        * dom/DynamicNodeList.cpp:
        * dom/DynamicNodeList.h:
        Remove the needsNotifications concept from DynamicNodeList, instead, manually
        invalidate the cache for lists that own their own cache.

        * dom/NameNodeList.cpp:
        * dom/NameNodeList.h:
        Remove rootNodeAttributeChanged() method and fix the constructor to not
        pass in a needsNotifications argument to DynamicNodeList, as it no longer
        takes one.

        * dom/Node.cpp:
        (WebCore::Node::~Node): Decrement the document's nodeListCache count
        if we had a NodeListsNodeData cache and this is not the Document being
        destructor, as tagged by a null m_document.
        (WebCore::Node::childNodes): Increment the document's nodeListCache count
        if we need create the NodeListsNodeData.
        (WebCore::Node::registerDynamicNodeList): Increment the document's nodeListCache count
        if we need create the NodeListsNodeData.  Change to invalidate all the caches, instead
        of just the ChildNodeList, if document has had no NodeListCaches.
        (WebCore::Node::unregisterDynamicNodeList): Change to remove the cache from the m_listsWithCaches
        set if it is owned by the NodeList and clear the m_nodeLists if it is empty.
        (WebCore::Node::notifyLocalNodeListsAttributeChanged): Move logic to
        NodeListsNodeData::invalidateAttributeCaches and clear the cache pointer if it is empty.
        (WebCore::Node::notifyLocalNodeListsChildrenChanged): Move logic to
        NodeListsNodeData::invalidateCaches and clear the cache pointer if it is empty.
        (WebCore::Node::notifyNodeListsChildrenChanged): Cleanup.
        (WebCore::Node::getElementsByName): Increment the document's nodeListCache count
        if we need create the NodeListsNodeData.
        (WebCore::Node::getElementsByClassName): Increment the document's nodeListCache count
        if we need create the NodeListsNodeData.

        (WebCore::NodeListsNodeData::invalidateCaches): Added.
        (WebCore::NodeListsNodeData::invalidateAttributeCaches): Added.
        (WebCore::NodeListsNodeData::isEmpty): Added.

        * dom/TagNodeList.cpp:
        Don't pass the needsNotifications argument to DynamicNodeList.


2008-03-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Tests for http://bugs.webkit.org/show_bug.cgi?id=17057
        REGRESSION: Frequent random crashes in WebCore::JSNodeList::indexGetter

        * fast/dom/NodeList/5725058-crash-scenario-1-expected.txt: Added.
        * fast/dom/NodeList/5725058-crash-scenario-1.html: Added.
        * fast/dom/NodeList/5725058-crash-scenario-2-expected.txt: Added.
        * fast/dom/NodeList/5725058-crash-scenario-2.html: Added.
        * fast/dom/NodeList/5725058-crash-scenario-3-expected.txt: Added.
        * fast/dom/NodeList/5725058-crash-scenario-3.html: Added.

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

14 years ago2008-03-18 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Wed, 19 Mar 2008 00:43:11 +0000 (00:43 +0000)]
2008-03-18  Matt Lilek  <webkit@mattlilek.com>

        Not reviewed, build fix.

        * platform/network/curl/AuthenticationChallenge.h:

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

14 years ago2008-03-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 18 Mar 2008 23:44:53 +0000 (23:44 +0000)]
2008-03-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Make domListEnumeration.html test not depend on the order of property enumeration
        by sorting the result array.

        * fast/dom/domListEnumeration-expected.txt:
        * fast/dom/resources/domListEnumeration.js:

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

14 years agoWebCore:
pewtermoose@webkit.org [Tue, 18 Mar 2008 23:22:06 +0000 (23:22 +0000)]

2008-03-18  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Provide some stub implementations for things that WebKit
        uses for performing authentication/challenge activities.  This
        is in support of http://bugs.webkit.org/show_bug.cgi?id=17837

        * platform/network/ResourceHandle.h:
        * platform/network/curl/AuthenticationChallenge.h:


2008-03-18  Brent Fulgham  <bfulgham@gmail.com>

        Reviewed by Adam Roben.

        Provide some stub implementations for things that WebKit
        uses for performing authentication/challenge activities.  This
        is in support of http://bugs.webkit.org/show_bug.cgi?id=17837

        * WebDataSource.cpp:
        * WebError.cpp:  Conditionalize CFNetwork-specific logic
        * WebURLAuthenticationChallenge.cpp:  Conditionalize constructor
          for authentication/challenge member.
        * WebURLResponse.cpp:  Remove CFNetwork-specific logic.
        * WebURLResponse.h: Conditionalize CFNetwork-specific member.
        * WebView.cpp:  Conditionalize CFNetwork-specific network protocol test.

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

14 years agoAdd missing changelog
eric@webkit.org [Tue, 18 Mar 2008 22:31:46 +0000 (22:31 +0000)]
Add missing changelog

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

14 years ago Reviewed by Oliver.
eric@webkit.org [Tue, 18 Mar 2008 22:30:00 +0000 (22:30 +0000)]
    Reviewed by Oliver.

        Fix SVGImage crash seen once, and obvious via code inspection.

        I was not able to find a test case for this.

        * svg/graphics/SVGImage.cpp:

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

14 years ago2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
mrowe@apple.com [Tue, 18 Mar 2008 21:43:10 +0000 (21:43 +0000)]
2008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>

        Fix Qt build after r31123.

        Add PluginView methods to TemporaryLinkStubs.

        * platform/qt/TemporaryLinkStubs.cpp:

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

14 years ago2008-03-18 Sam Weinig <sam@webkit.org>
weinig@apple.com [Tue, 18 Mar 2008 21:25:56 +0000 (21:25 +0000)]
2008-03-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        - Speed up JavaScript prototype and constructor object creation
          using a static Identifier in the self() methods to avoid the
          cost of creating one from a c-string each time.

        5% speedup for Acid3 test 26

        * bindings/scripts/CodeGeneratorJS.pm:

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

14 years ago2008-03-18 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Tue, 18 Mar 2008 21:10:30 +0000 (21:10 +0000)]
2008-03-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - inline ActivationImp::init for 0.8% SunSpider speedup

        * kjs/Activation.h:
        (KJS::ActivationImp::init): Moved here from function.cpp
        * kjs/function.cpp:

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

14 years ago2008-03-18 Antti Koivisto <antti@apple.com>
antti@apple.com [Tue, 18 Mar 2008 20:57:16 +0000 (20:57 +0000)]
2008-03-18  Antti Koivisto  <antti@apple.com>

        Reviewed by Mark Rowe.

        Enable preloading for other platforms besides Mac.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCoreSources.bkl:
        * html/HTMLTokenizer.cpp:
        * html/HTMLTokenizer.h:
        * html/PreloadScanner.cpp:

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

14 years ago2008-03-18 David Hyatt <hyatt@apple.com>
hyatt@apple.com [Tue, 18 Mar 2008 20:50:43 +0000 (20:50 +0000)]
2008-03-18  David Hyatt  <hyatt@apple.com>

        Add support for a preference in WebKit that can be used in nightly builds to test full page

        Reviewed by Antti

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebView.mm:
        (-[WebView setTextSizeMultiplier:]):
        (-[WebView canMakeTextSmaller]):
        (-[WebView makeTextSmaller:]):
        (-[WebView canMakeTextLarger]):
        (-[WebView makeTextLarger:]):
        (-[WebView canMakeTextStandardSize]):
        (-[WebView makeTextStandardSize:]):

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

14 years agoWebCore:
mitz@apple.com [Tue, 18 Mar 2008 18:15:16 +0000 (18:15 +0000)]

2008-03-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        - fix <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com

        Test: fast/dynamic/floating-to-positioned.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::setStyle): Added code to remove a float from
        object lists if its position property changes to something other than
        static, since then it ceases to be a float.


2008-03-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        - test for <rdar://problem/5805127> REGRESSION (r31116): Assertion failure (floatIndex < floats.size()) in RenderBlock::determineStartPosition() at digg.com

        * fast/dynamic/floating-to-positioned.html: Added.
        * platform/mac/fast/dynamic/floating-to-positioned-expected.checksum: Added.
        * platform/mac/fast/dynamic/floating-to-positioned-expected.png: Added.
        * platform/mac/fast/dynamic/floating-to-positioned-expected.txt: Added.

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

14 years ago Windows build fix after r31123
aroben@apple.com [Tue, 18 Mar 2008 18:04:12 +0000 (18:04 +0000)]
    Windows build fix after r31123

        * plugins/win/PluginViewWin.cpp: Add back MozillaUserAgent.

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

14 years ago2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
jhoneycutt@apple.com [Tue, 18 Mar 2008 17:57:22 +0000 (17:57 +0000)]
2008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed and landed by jhoneycutt.

        Update to check if the MIME type is supported by a plugin.

        * WebCoreSupport/FrameLoaderClientGtk.cpp:

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

14 years ago Focus the Inspector's WebView whenever the Inspector window is focused
aroben@apple.com [Tue, 18 Mar 2008 16:42:05 +0000 (16:42 +0000)]
    Focus the Inspector's WebView whenever the Inspector window is focused

        Reviewed by Mitz.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::onSetFocus): Send focus to the WebView.
        (WebInspectorWndProc): Added a handler for WM_SETFOCUS.
        * WebCoreSupport/WebInspectorClient.h:

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

14 years ago Fix Bug 14276: Element highlight also covers Web inspector
aroben@apple.com [Tue, 18 Mar 2008 16:40:30 +0000 (16:40 +0000)]
    Fix Bug 14276: Element highlight also covers Web inspector


        Also fixes <rdar://5622837> Browser window comes to front when node
        highlight appears, potentially blocking Inspector

        Reviewed by Mitz.

        * WebCoreSupport/WebInspectorClient.cpp:
        (WebInspectorClient::highlight): After showing the highlight,
        reposition it just behind the Inspector's window.
        * WebNodeHighlight.cpp:
          - Changed flags passed to CreateWindowEx to not specify WS_VISIBLE.
            This is not needed because we'll show the window later in this
          - Removed call to SetWindowPos that tried to position the overlay
            just in front of the WebView. This is now handled by
          - Changed call to ShowWindow to use SetWindowPos so that we can pass
            SWP_NOACTIVATE. This prevents the highlight from jumping in front
            of the Inspector every time it's shown.
        * WebNodeHighlight.h: Added a method to get the highlight's HWND.

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

14 years ago2008-03-18 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Tue, 18 Mar 2008 16:13:31 +0000 (16:13 +0000)]
2008-03-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        - eliminate RenderFlow::m_clear

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock): Removed code to set m_clear.
        (WebCore::RenderBlock::newLine): Added a 'clear' parameter.
        * rendering/RenderBlock.h:
        * rendering/RenderFlow.h:
        (WebCore::RenderFlow::RenderFlow): Removed initialization of m_clear.
        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Added a local 'clear'
        variable, passing a pointer to it to findNextLineBreak() and its value
        to newLine().
        (WebCore::RenderBlock::findNextLineBreak): Added a 'clear' parameter,
        which this method adjusts when it encounters a <br>.

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

14 years agoFix the Qt build.
hausmann@webkit.org [Tue, 18 Mar 2008 15:20:49 +0000 (15:20 +0000)]
Fix the Qt build.

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

14 years ago2008-03-18 Rodney Dawes <dobey@wayofthemonkey.com>
pewtermoose@webkit.org [Tue, 18 Mar 2008 14:50:39 +0000 (14:50 +0000)]
2008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>

        Fix Mac build from commit of r31123.

        Add a typedef for NSView* to PlatformWidget, remove duplicate PluginMessageThrottlerWin definition.

        * platform/Widget.h:
        * WebCore.vcproj/WebCore.vcproj:

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

14 years agoFix the Qt build.
hausmann@webkit.org [Tue, 18 Mar 2008 14:46:17 +0000 (14:46 +0000)]
Fix the Qt build.

Including config.h like in the other .cpp files gets the #ifdeffery
correct for rand_s.

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

14 years agoWebCore:
pewtermoose@webkit.org [Tue, 18 Mar 2008 14:21:04 +0000 (14:21 +0000)]

2008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Jon Honeycutt.

        Add PluginView.cpp and npapi.cpp to build files.
        Copy win/PluginViewWin.cpp to PluginView.cpp for shared code.
        Split Windows specific code out of PluginView.cpp.
        Add #if USE(NPOBJECT) around dependant code.
        Use npruntime_internal.h instead of npapi.h.
        Add PlatformWidget typedef to Widget.h.
        Update WidgetGtk.cpp for the PlatformWidget usage.
        Add needed methods to TemporaryLinkStubs for GTK+ port.

        * GNUmakefile.am:
        * WebCore.pro:
        * WebCoreSources.bkl:
        * WebCore.vcproj/WebCore.vcproj:
        * plugins/win/PluginViewWin.cpp:
        * plugins/PluginView.cpp:
        * plugins/PluginView.h:
        * plugins/npapi.cpp:
        * platform/Widget.h:
        * platform/gtk/WidgetGtk.cpp:
        * platform/gtk/TemporaryLinkStubs.cpp:


2008-03-18  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Jon Honeycutt.

        Update setContainingWindow() calls to pass a GtkWidget.

        * webkit/webkitwebframe.cpp:

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

14 years agoJavaScriptCore:
darin@apple.com [Tue, 18 Mar 2008 13:47:47 +0000 (13:47 +0000)]

2008-03-17  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        JavaScriptCore changes to support a WebCore speedup.

        * JavaScriptCore.exp: Export the UString::Rep::computeHash function.
        * wtf/HashSet.h: Added a find and contains function that take a translator,
        like the add function.


2008-03-17  Darin Adler  <darin@apple.com>

        Reviewed by Maciej.

        - speed up document property fetching (eliminate the AtomicString
          objects made during document property lookup)

        3% speedup for Acid3 test 26

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::getOwnPropertySlot): Use AtomicString::find to
        locate the AtomicString, only if already present. Also call the new faster
        versions of the hasNamedItem and hasElementWithId functions that don't
        ref/deref the AtomicStringImpl, get inlined, etc.
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::canGetItemsForName): Ditto.
        (WebCore::writeHelper): Use a Vector instead of a String to build up
        the string to avoid the bad performance of string append.

        * dom/Document.cpp: Tweaked code and comments a bit. Nothing substantive.
        * dom/Document.h: Added new hasElementWithId function that's faster than
        getElementById because it doesn't ref/deref the AtomicStringImpl*, gets
        inlined, doesn't have to handle the 0 case, and doesn't try to return the
        element pointer (just a boolean).

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::parseMappedAttribute): Use AtomicString
        consistently. Also renamed the data member for clarity.
        (WebCore::HTMLAppletElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLAppletElement::removedFromDocument): Ditto.
        * html/HTMLAppletElement.h: Ditto.

        * html/HTMLDocument.cpp:
        (WebCore::addItemToMap): Use AtomicString instead of String.
        (WebCore::removeItemFromMap): Ditto.
        (WebCore::HTMLDocument::addNamedItem): Updated for member name change.
        (WebCore::HTMLDocument::removeNamedItem): Ditto.
        (WebCore::HTMLDocument::addExtraNamedItem): Ditto.
        (WebCore::HTMLDocument::removeExtraNamedItem): Ditto.
        (WebCore::HTMLDocument::clear): Added. Moved code here from the JavaScript
        bindings. If we're going to have an empty placeholder function, there's no
        reason to have it in the bindings instead of here.
        * html/HTMLDocument.h: Added clear. Changed the named item function
        arguments to AtomicString insted of String. Changed the NameCountMap to
        use AtomicStringImpl* instead of StringImpl*. Renamed the data members
        to add a m_ prefix and remove the needless doc prefix. Added hasNamedItem
        and hasExtraNamedItem functions that are inlined and faster than the old
        idiom because they doesn't ref/deref the AtomicStringImpl*, get inlined,
        and don't have to handle the 0 case.
        * html/HTMLDocument.idl: Removed the [Custom] attribute on clear and took
        it out of the JavaScript-specific section.

        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::parseMappedAttribute): Use AtomicString
        consistently. Also renamed the data member for clarity.
        (WebCore::HTMLEmbedElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLEmbedElement::removedFromDocument): Ditto.
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLFormElement::removedFromDocument): Ditto.
        (WebCore::HTMLFormElement::parseMappedAttribute): Ditto.
        * html/HTMLFormElement.h: Ditto.

        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::openURL): Renamed m_name to m_frameName for
        clarity, since the frame name is not the same as the name attribute.
        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Ditto.
        (WebCore::HTMLFrameElementBase::setNameAndOpenURL): Ditto.
        * html/HTMLFrameElementBase.h: Ditto.

        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::parseMappedAttribute): Use AtomicString
        consistently. Also renamed the data member for clarity.
        (WebCore::HTMLIFrameElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLIFrameElement::removedFromDocument): Ditto.
        * html/HTMLIFrameElement.h: Ditto.
        * html/HTMLImageElement.cpp:
        (WebCore::HTMLImageElement::parseMappedAttribute): Ditto.
        (WebCore::HTMLImageElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLImageElement::removedFromDocument): Ditto.
        * html/HTMLImageElement.h: Ditto.
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto.
        (WebCore::HTMLObjectElement::insertedIntoDocument): Ditto.
        (WebCore::HTMLObjectElement::removedFromDocument): Ditto.
        (WebCore::HTMLObjectElement::updateDocNamedItem): Ditto.
        * html/HTMLObjectElement.h: Ditto.

        * html/HTMLParamElement.cpp:
        (WebCore::HTMLParamElement::isURLAttribute): Use equalIgnoringCase instead
        of callling lower().

        * html/HTMLPlugInElement.h: Changed the type of m_name. The code that
        uses this is in HTMLAppletElement, HTMLEmbedElement, and HTMLObjectElement.

        * platform/text/AtomicString.cpp:
        (WebCore::equal): Moved to an inline so we can share this code between a
        few different functions. It could move to a header too if we want to use
        it elsewhere.
        (WebCore::UCharBufferTranslator::equal): Change to use inline.
        (WebCore::HashAndCharactersTranslator::hash): Added.
        (WebCore::HashAndCharactersTranslator::equal): Added.
        (WebCore::HashAndCharactersTranslator::translate): Added.
        (WebCore::AtomicString::add): Improved the Identifier and UString overloads
        to use the already-computed hash code instead of rehashing the string.
        (WebCore::AtomicString::find): Added.
        * platform/text/AtomicString.h: Added a find function so we can avoid
        allocating memory just to look up a string in an atomic string set or map.

        * platform/text/StringImpl.h: Added declarations needed for the
        AtomicString changes.

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

14 years ago2008-03-18 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Tue, 18 Mar 2008 09:42:58 +0000 (09:42 +0000)]
2008-03-18  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        - a few micro-optimizations for 1.2% SunSpider speedup

        * kjs/function.cpp:
        (KJS::FunctionImp::callAsFunction): check for Return completion before Throw,
        it is more likely.
        * kjs/object.cpp:
        (KJS::JSObject::put): When walking prototype chain, instead of
        checking isObject (a virtual call), compare to jsNull (compare to
        a constant) since null is the only non-object that can be in a
        prototype chain.

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

14 years ago2008-03-17 Timothy Hatcher <timothy@apple.com>
timothy@apple.com [Tue, 18 Mar 2008 06:12:59 +0000 (06:12 +0000)]
2008-03-17  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Mark Rowe.

        Bug 17908: Various bugs in the Console completion code

        * page/inspector/ConsolePanel.js:
        (WebInspector.ConsolePanel.complete): Moved the code that checked for the caret being at the end
        of the prompt into the _caretAtEndOfPrompt helper function.
        (WebInspector.ConsolePanel.messagesSelectStart): Clear and redo the auto complete when the selection changes.
        (WebInspector.ConsolePanel._caretInsidePrompt): Fixed a logic error that always caused a false result.
        (WebInspector.ConsolePanel._caretAtEndOfPrompt): Added. Tests if the selection is a caret at the
        end of the prompt.
        (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Changed the offset to use the childNodes length.
        This makes sure the caret is at the end when there are multiple text nodes in the prompt.

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

14 years agoOptimise multi-scope function call resolution
oliver@apple.com [Tue, 18 Mar 2008 05:36:26 +0000 (05:36 +0000)]
Optimise multi-scope function call resolution

Reviewed by Geoff

Refactor multiscope variable resolution and use to add
optimised FunctionCallResolveNode subclasses.

2.6% gain in sunspider performance, *25%* gain in controlflow-recursive

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

14 years ago Reviewed by Dan Bernstein.
eric@webkit.org [Tue, 18 Mar 2008 05:03:24 +0000 (05:03 +0000)]
    Reviewed by Dan Bernstein.

        Fix bogus argCount check breaking plugin test.

        * DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:

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

14 years ago2008-03-17 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Tue, 18 Mar 2008 04:36:51 +0000 (04:36 +0000)]
2008-03-17  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Dave Hyatt.

        - FloatingObject cleanup

        Renamed FloatingObject's data members as follows: node -> m_renderer,
        startY -> m_top, endY -> m_bottom, left -> m_left, width -> m_width,
        and noPaint -> !m_shouldPaint, reversing the meaning of the flag.

        Also addressed the FIXME in RenderBlock::containsFloat().

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::containsFloat): Changed to return false if the
        floats lists exists but is empty, since line layout code no longer
        relies on the buggy behavior.
        * rendering/RenderBlock.h:
        * rendering/bidi.cpp:

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

14 years agoWebCore:
mitz@apple.com [Tue, 18 Mar 2008 04:04:34 +0000 (04:04 +0000)]

2008-03-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - allow incremental relayout of blocks that contain floats

        Tests: fast/repaint/line-flow-with-floats-[1-9].html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clearFloatsIfNeeded): Cleaned up by moving most
        of the function body out of an if statement which was replaced with an
        early return.
        (WebCore::RenderBlock::insertFloatingObject): Cleaned up by moving most
        of the function body out of an if statement and moving the ASSERT, which
        is a crash in release builds, to the beginning. Made this function set
        the m_isDescendant flag of floating objects it creates.
        (WebCore::RenderBlock::removeFloatingObject): Added a call to
        markLinesDirtyInVerticalRange() when removing a float from a block with
        inline children.
        (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added. Marks the
        lines in the given range as dirty.
        (WebCore::RenderBlock::clearFloats): Added code to detect changes to
        the geometry of floats intruding into this block from other blocks and
        mark any lines whose available width has changed as a result as dirty.

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added a structure
        to cache a float with its position and size.
        (WebCore::RenderBlock::FloatingObject::FloatingObject): Added an
        m_isDescendant flag, used by clearFloats() to distinguish between floats
        entering the block from outside and floats internal to the block.

        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::floats): Added.
        (WebCore::RootInlineBox::floatsPtr): Added.
        (WebCore::RootInlineBox::Overflow::Overflow): Added a data member to
        hold the floats originating on the line.

        * rendering/bidi.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Made the existence of
        floats not force a full layout. Changed to cache the geometry of floats
        in the block and detect changes to it. If a float's size or position
        changes, all lines from that point on are treated as dirty. An exception
        is a change in the dimensions of a float on an otherwise-clean line,
        which only dirties lines potentially affected by the change (see
        determineStartPosition()). Added code to update each RootInlineBox's
        set of floats as lines are laid out. Added code to shift floats
        belonging to clean lines in the end along with the lines.
        (WebCore::RenderBlock::determineStartPosition): Made this function look
        for changes to floats' dimensions and mark lines as dirty accordingly.
        Also look for new floats and if found, cause a full layout. Added code
        to re-add floats belonging to clean lines.
        (WebCore::RenderBlock::matchedEndLine): Added checking that the clean
        lines in the end can be shifted vertically as needed, i.e. that the
        available width along the way is uniform.


2008-03-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        - test incremental relayout of blocks that contain floats

        * fast/repaint/line-flow-with-floats-1.html: Added.
        * fast/repaint/line-flow-with-floats-2.html: Added.
        * fast/repaint/line-flow-with-floats-3.html: Added.
        * fast/repaint/line-flow-with-floats-4.html: Added.
        * fast/repaint/line-flow-with-floats-5.html: Added.
        * fast/repaint/line-flow-with-floats-6.html: Added.
        * fast/repaint/line-flow-with-floats-7.html: Added.
        * fast/repaint/line-flow-with-floats-8.html: Added.
        * fast/repaint/line-flow-with-floats-9.html: Added.
        * fast/repaint/resources/line-flow-with-floats.html: Added.
        * fast/repaint/resources/line-flow-with-floats.js: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-1-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-1-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-1-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-2-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-2-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-2-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-3-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-3-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-3-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-4-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-4-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-4-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-5-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-5-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-5-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-6-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-6-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-6-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-7-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-7-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-7-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-8-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-8-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-8-expected.txt: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-9-expected.checksum: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-9-expected.png: Added.
        * platform/mac/fast/repaint/line-flow-with-floats-9-expected.txt: Added.

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

14 years ago Don't define PLATFORM(MIDDLE_ENDIAN) on little endian ARM.
ddkilzer@apple.com [Tue, 18 Mar 2008 01:54:48 +0000 (01:54 +0000)]
    Don't define PLATFORM(MIDDLE_ENDIAN) on little endian ARM.

        Reviewed by Darin.

        See <http://bugs.webkit.org/show_bug.cgi?id=15416#c13>.

        * wtf/Platform.h: Added check for !defined(__ARMEL__) when defining

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

14 years agoAdd fast multi-level scope lookup
oliver@apple.com [Mon, 17 Mar 2008 23:33:40 +0000 (23:33 +0000)]
Add fast multi-level scope lookup

Reviewed by Geoff, Darin and Weinig

Add logic and AST nodes to provide rapid variable resolution across
static scope boundaries.  This also adds logic that allows us to skip
any static scopes that do not contain the variable to be resolved.

This results in a ~2.5% speedup in SunSpider, and gives a 25-30% speedup
in some simple and ad hoc closure and global variable access tests.

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

14 years ago2008-03-17 Dan Bernstein <mitz@apple.com>
mitz@apple.com [Mon, 17 Mar 2008 23:08:43 +0000 (23:08 +0000)]
2008-03-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        - link "backtrace" to the page that explains how to get one

        * quality/bugwriting.html:

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

14 years ago Reviewed by darin.
eric@webkit.org [Mon, 17 Mar 2008 21:47:30 +0000 (21:47 +0000)]
    Reviewed by darin.

        Fix _NPN_IntFromIdentifier (and export the symbol for use!)

        Test: plugins/netscape-identifier-conversion.html

        * WebCore.NPAPI.exp:
        * bridge/npruntime.cpp:

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

14 years agoWebCore:
weinig@apple.com [Mon, 17 Mar 2008 21:38:31 +0000 (21:38 +0000)]

2008-03-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)

        * page/DOMWindow.idl:


2008-03-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        Add HTMLCollection constructor to the Window object. (Omission noticed by Harri Porten)

        * fast/dom/Window/window-properties-expected.txt:

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

14 years ago2008-03-17 Holger Hans Peter Freyther <zecke@selfish.org>
zecke@webkit.org [Mon, 17 Mar 2008 21:34:51 +0000 (21:34 +0000)]
2008-03-17  Holger Hans Peter Freyther  <zecke@selfish.org>

        Unreviewed Gtk+ build fix.

        * platform/ScrollView.h: make it public
        * platform/gtk/ScrollViewGtk.cpp: remove const

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

14 years ago2008-03-17 Julien Chaffraix <julien.chaffraix@gmail.com>
zecke@webkit.org [Mon, 17 Mar 2008 21:33:50 +0000 (21:33 +0000)]
2008-03-17  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Holger.


        - Implement ResourceHandle::loadResourceSynchronously to dispatch synchronous

        - Implement WebCoreSynchronousLoader, the ResourceHandleClient which holds
          the network data, response and error for us during the transfert.

        * platform/network/ResourceHandleInternal.h: Remove trailing white space.
        * platform/network/curl/ResourceHandleCurl.cpp: Add WebCoreSynchronousLoader
        (WebCore::ResourceHandle::loadResourceSynchronously): Implement method
        using WebCoreSynchronousLoader.

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::ResourceHandleManager::initializeHandle): Handle initialization
        method used both for synchronous and asynchronous job.

        * platform/network/curl/ResourceHandleManager.h:

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

14 years ago2008-03-17 Darin Adler <darin@apple.com>
darin@apple.com [Mon, 17 Mar 2008 21:27:09 +0000 (21:27 +0000)]
2008-03-17  Darin Adler  <darin@apple.com>

        - try to fix GTK build

        * platform/ScrollView.h: Make setGtkAdjustments adjustment.
        And non-virtual (why was it virtual?).

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

14 years ago2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
aroben@apple.com [Mon, 17 Mar 2008 20:34:57 +0000 (20:34 +0000)]
2008-03-17  Rodney Dawes  <dobey@wayofthemonkey.com>

        Fix Bug 17898: Split PluginMessageThrottlerWin into its own files


        Move the PluginMessageThrottlerWin class into its own files, in
        preparation for refactoring PluginView code to be shared.

        Reviewed and tweaked by Adam Roben.

        * WebCore.vcproj/WebCore.vcproj:
        * plugins/PluginView.h:
        * plugins/win/PluginMessageThrottlerWin.cpp: Added.
        * plugins/win/PluginMessageThrottlerWin.h: Added.
        * plugins/win/PluginViewWin.cpp:

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

14 years ago More Windows build fixes after r31098
aroben@apple.com [Mon, 17 Mar 2008 20:21:48 +0000 (20:21 +0000)]
    More Windows build fixes after r31098

        * platform/ScrollView.h: Make some more methods public.

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

14 years ago Windows and Qt build fixes after r31098
aroben@apple.com [Mon, 17 Mar 2008 20:18:07 +0000 (20:18 +0000)]
    Windows and Qt build fixes after r31098

        * platform/ScrollView.h: Mark methods public that still need to be so.

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

14 years ago2008-03-16 Timothy Hatcher <timothy@apple.com>
timothy@apple.com [Mon, 17 Mar 2008 18:58:01 +0000 (18:58 +0000)]
2008-03-16  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Darin Adler.

        Bug 17883: Console completion should support bracket notation

        Also fixes a bug where the Inspector's window object was used instead of the
        inspected window object.

        * page/inspector/ConsolePanel.js:
        (WebInspector.ConsolePanel.complete): Add a comment about the _backwardsRange call.
        (WebInspector.ConsolePanel.completions): Add a comment about the _backwardsRange call.
        Check the last character of the expression for a dot or bracket. Fallback
        to the InspectorController.inspectedWindow() instead of window, this was a bad bug.
        If the expression caused an exception, just consider the prefix a window property.
        When bracket notation is used remember what quote was used and compared property names
        with that quote surrounding it. Also escape the property name for the quote and backslash.

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

14 years agoWebCore:
darin@apple.com [Mon, 17 Mar 2008 18:01:16 +0000 (18:01 +0000)]

2008-03-17  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin.

        Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
        Set default margin-bottom for form element in quirk mode
        and be compatible with Gecko.

        Tests: fast/css/margin-bottom-form-element-quirk.html

        * css/html4.css:
        * css/quirks.css:


2008-03-17  Robert Blaut  <webkit@blaut.biz>

        Reviewed by Darin.

        Fix for bug http://bugs.webkit.org/show_bug.cgi?id=17696
        Set default margin-bottom for form element in quirk mode
        and be compatible with Gecko.

        * fast/css/margin-bottom-form-element-quirk.html: Added.
        * fast/css/margin-bottom-form-element-strict.html: Added.
        * fast/frames/viewsource-empty-attribute-value-expected.txt:
        * platform/mac/fast/block/margin-collapse/103-expected.checksum:
        * platform/mac/fast/block/margin-collapse/103-expected.png:
        * platform/mac/fast/block/margin-collapse/103-expected.txt:
        * platform/mac/fast/css/margin-bottom-form-element-quirk-expected.checksum: Added.
        * platform/mac/fast/css/margin-bottom-form-element-quirk-expected.png: Added.
        * platform/mac/fast/css/margin-bottom-form-element-quirk-expected.txt: Added.
        * platform/mac/fast/css/margin-bottom-form-element-strict-expected.checksum: Added.
        * platform/mac/fast/css/margin-bottom-form-element-strict-expected.png: Added.
        * platform/mac/fast/css/margin-bottom-form-element-strict-expected.txt: Added.
        * platform/mac/tables/mozilla/bugs/bug44505-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug44505-expected.png:
        * platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug51727-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug51727-expected.png:
        * platform/mac/tables/mozilla/bugs/bug51727-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug52505-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug52505-expected.png:
        * platform/mac/tables/mozilla/bugs/bug52505-expected.txt:
        * platform/mac/tables/mozilla/bugs/bug52506-expected.checksum:
        * platform/mac/tables/mozilla/bugs/bug52506-expected.png:
        * platform/mac/tables/mozilla/bugs/bug52506-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.checksum:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.checksum:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.png:
        * platform/mac/tables/mozilla_expected_failures/bugs/bug56024-expected.txt:
        * platform/qt/fast/block/margin-collapse/103-expected.txt: Removed.
        * platform/qt/tables/mozilla/bugs/bug44505-expected.txt: Removed.
        * platform/qt/tables/mozilla/bugs/bug51727-expected.txt: Removed.
        * platform/qt/tables/mozilla/bugs/bug52505-expected.txt: Removed.
        * platform/qt/tables/mozilla/bugs/bug52506-expected.txt: Removed.
        * platform/qt/tables/mozilla_expected_failures/bugs/bug2479-2-expected.txt: Removed.
        * platform/qt/tables/mozilla_expected_failures/bugs/bug56024-expected.txt: Removed.

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

14 years ago2008-03-17 Antti Koivisto <antti@apple.com>
antti@apple.com [Mon, 17 Mar 2008 17:38:11 +0000 (17:38 +0000)]
2008-03-17  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin.

        Speculative fix for http://bugs.webkit.org/show_bug.cgi?id=17878
        Bug 17878: REGRESSION: Acid3 sometimes crashes Webkit under WebCore::Loader::Host::cancelRequests

        I can't reproduce the crash or make a test case for this one but I'm pretty sure this
        is the problem. Essentially the same bug as http://bugs.webkit.org/show_bug.cgi?id=17862
        except in didFail() instead of didFinishLoading().

        * loader/loader.cpp:

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

14 years ago2008-03-17 Jan Michael Alonzo <jmalonzo@unpluggable.com>
darin@apple.com [Mon, 17 Mar 2008 16:56:53 +0000 (16:56 +0000)]
2008-03-17  Jan Michael Alonzo  <jmalonzo@unpluggable.com>

        Reviewed and tweaked by Darin.

        Refactor platform checks in ScrollView.h

        * platform/ScrollView.h: Change #ifs around.

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

14 years agoWebCore:
darin@apple.com [Mon, 17 Mar 2008 16:43:49 +0000 (16:43 +0000)]

2008-03-17  Yuzhu Shen  <yuzhu.shen@gmail.com>

        Reviewed by Darin.

        Fix the bug: http://bugs.webkit.org/show_bug.cgi?id=17760
        It is necessary to load the image even when src="".

        Test: fast/images/load-img-with-empty-src.html

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::updateFromElement): isNull rather than isEmpty.


2008-03-17  Yuzhu Shen  <yuzhu.shen@gmail.com>

        Reviewed by Darin.

        Bug: http://bugs.webkit.org/show_bug.cgi?id=17760
        Test whether <img> tries to load image with empty src attribute.

        * fast/images/load-img-with-empty-src-expected.txt: Added.
        * fast/images/load-img-with-empty-src.html: Added.
        * fast/images/resources/test-load.jpg: Added.

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

14 years ago2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
aroben@apple.com [Mon, 17 Mar 2008 15:27:35 +0000 (15:27 +0000)]
2008-03-17  Rodney Dawes  <dobey@wayofthemonkey.com>

        Fix GTK+ build from r31094.

        * plugins/gtk/PluginDatabaseGtk.cpp:

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

14 years agoFix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash
aroben@apple.com [Mon, 17 Mar 2008 15:25:18 +0000 (15:25 +0000)]
Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash


        Fix Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash


        Reviewed by John.

        Test: fast/dom/remove-named-attribute-crash.html

        * dom/NamedAttrMap.cpp:
        (WebCore::NamedAttrMap::removeAttribute): Store the Attribute we're
        going to remove from the m_attributes Vector in a RefPtr so it doesn't
        get deleted when it is removed from the Vector.


        Test for Bug 17876: REGRESSION (r31060): Attempting to visit Ofcom page causes crash


        Reviewed by John.

        * fast/dom/remove-named-attribute-crash-expected.txt: Added.
        * fast/dom/remove-named-attribute-crash.html: Added.

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

14 years ago2008-03-17 Rodney Dawes <dobey@wayofthemonkey.com>
aroben@apple.com [Mon, 17 Mar 2008 14:51:44 +0000 (14:51 +0000)]
2008-03-17  Rodney Dawes  <dobey@wayofthemonkey.com>

        Reviewed by Adam Roben.

        Implement PluginDatabase for GTK+ with PluginDatabaseGtk.cpp.
        Remove implemented methods from TemporaryLinkStubs.

        * GNUmakefile.am:
        * plugins/gtk:
        * plugins/gtk/PluginDatabaseGtk.cpp:
        * platform/gtk/TemporaryLinkStubs.cpp:

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

14 years agoFix the Qt build.
hausmann@webkit.org [Mon, 17 Mar 2008 08:27:23 +0000 (08:27 +0000)]
Fix the Qt build.

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

14 years ago2008-03-16 Maciej Stachowiak <mjs@apple.com>
mjs@apple.com [Mon, 17 Mar 2008 04:05:28 +0000 (04:05 +0000)]
2008-03-16  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, just fixing an incomplete comment from the last commit.

        * dom/Range.cpp:

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

14 years agowx build fix. Make sure we link png/jpeg libraries before wx libraries to get the...
kevino@webkit.org [Mon, 17 Mar 2008 03:59:25 +0000 (03:59 +0000)]
wx build fix. Make sure we link png/jpeg libraries before wx libraries to get the right symbols.

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

14 years agoWebCore:
mjs@apple.com [Mon, 17 Mar 2008 03:50:33 +0000 (03:50 +0000)]

2008-03-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - fixed "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"

        This gets us to 92/100

        * dom/Range.cpp:
        (WebCore::Range::surroundContents): Check for
        expects exceptional conditions to be tested in the order that the
        spec lists them. Also, adjust the HIERARCHY_REQUEST_ERR check. If
        the start point of the range is in a comment node, the node that
        would be the parent of a partial replacement is actually the
        comment node's parent (since comment nodes have character
        indices), so we should do the HIERARCHY_REQUEST_ERR check based on
        the parent of the comment node, as for text nodes, even though it
        will fail later with a different exception because it is not
        allowed to surround a partially selected non-text node.


2008-03-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Darin.

        - test for "Acid3 expects different exceptions for surroundContents calls involving comment nodes (affects Acid3 test 11)"

        * fast/dom/Range/acid3-surround-contents-expected.txt: Added.
        * fast/dom/Range/acid3-surround-contents.html: Added.

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

14 years agoWebCore:
darin@apple.com [Mon, 17 Mar 2008 03:47:03 +0000 (03:47 +0000)]

2008-03-16  Marvin Decker  <marv.decker@gmail.com>

        Reviewed by Darin.

        Fix bug 15119: URL query characters that are unencodable in the
        request's character set should be converted to XML entities with
        non-alphanumeric characters escaped.

        Test: http/tests/uri/escaped-entity.html

        * html/FormDataList.cpp:
        * html/HTMLFormElement.cpp:
        * platform/KURL.cpp:
        * platform/text/String.cpp:
        * platform/text/TextCodec.cpp:
        * platform/text/TextCodec.h:
        * platform/text/TextCodecICU.cpp:
        * platform/text/TextCodecICU.h:
        * platform/text/TextCodecLatin1.cpp:
        * platform/text/TextCodecLatin1.h:
        * platform/text/TextCodecUTF16.cpp:
        * platform/text/TextCodecUTF16.h:
        * platform/text/TextCodecUserDefined.cpp:
        * platform/text/TextCodecUserDefined.h:
        * platform/text/TextEncoding.cpp:
        * platform/text/TextEncoding.h:
        * platform/text/mac/TextCodecMac.cpp:
        * platform/text/mac/TextCodecMac.h:
        * xml/XMLHttpRequest.cpp:


2008-03-16  Marvin Decker  <marv.decker@gmail.com>

        Reviewed by Darin.

        Fix bug 15119, unencodable characters in URLs should be entity-escaped.

        * http/tests/uri/escaped-entity-expected.txt: Added.
        * http/tests/uri/escaped-entity.html: Added.

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

14 years ago 2008-03-16 weihongzeng <weihong.zeng@hotmail.com>
darin@apple.com [Mon, 17 Mar 2008 03:26:42 +0000 (03:26 +0000)]
 2008-03-16  weihongzeng  <weihong.zeng@hotmail.com>

         Reviewed by Darin Adler.

         Add support for mixed-endian processors

         * kjs/dtoa.cpp: Add IEEE_ARM, triggered by PLATFORM(MIDDLE_ENDIAN).

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

14 years agoRubber stamped by Darin.
kevino@webkit.org [Mon, 17 Mar 2008 01:29:36 +0000 (01:29 +0000)]
Rubber stamped by Darin.

Add set-webkit-configuration support for wx port, and centralize build dir location setting.


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

14 years agoWebCore:
darin@apple.com [Sun, 16 Mar 2008 22:21:34 +0000 (22:21 +0000)]

2008-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        - http://bugs.webkit.org/show_bug.cgi?id=17881
          a little cleanup for HTMLTextAreaElement

        Tests: fast/forms/textarea-default-value-leading-newline.html

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): Tweaked names/
        (WebCore::HTMLTextAreaElement::selectionStart): Ditto, also use early return
        and check for < 0 rather than -1 specifically.
        (WebCore::HTMLTextAreaElement::selectionEnd): Ditto.
        (WebCore::HTMLTextAreaElement::setSelectionStart): Early return.
        (WebCore::HTMLTextAreaElement::setSelectionEnd): Ditto.
        (WebCore::HTMLTextAreaElement::select): Ditto.
        (WebCore::HTMLTextAreaElement::setSelectionRange): Ditto.
        (WebCore::HTMLTextAreaElement::parseMappedAttribute): Changed value parsing
        to treat unknown values as meaning "default" rather than "leave value as-is".
        Only call setNeedsLayoutAndPrefWidthsRecalc when mode changed.
        (WebCore::HTMLTextAreaElement::createRenderer): Removed name of unused argument.
        (WebCore::HTMLTextAreaElement::appendFormData): Updated for name changes.
        (WebCore::HTMLTextAreaElement::isKeyboardFocusable): Got rid of unnneeded explicit
        class name in isFocusable call.
        (WebCore::HTMLTextAreaElement::isMouseFocusable): Ditto.
        (WebCore::HTMLTextAreaElement::updateFocusAppearance): Tweaked formatting.
        (WebCore::HTMLTextAreaElement::defaultEventHandler): Ditto.
        (WebCore::HTMLTextAreaElement::updateValue): Early return.
        (WebCore::HTMLTextAreaElement::setValue): Got rid of intermediate value to
        eliminate on small refcount churn.
        (WebCore::HTMLTextAreaElement::defaultValue): Got rid of unneeded redundant
        string length checks, since String already checks all indexing and returns 0.
        (WebCore::HTMLTextAreaElement::setDefaultValue): Added code to normalize
        line endings and add a leading line ending to fix cases where the first
        character is a newline.
        (WebCore::HTMLTextAreaElement::accessKeyAction): Removed name of unused arg.
        (WebCore::HTMLTextAreaElement::accessKey): Changed return value to avoid
        refcount churn.
        (WebCore::HTMLTextAreaElement::selection): Updated names and use < 0 instead
        of -1 specifically.

        * html/HTMLTextAreaElement.h: Replaced wrap function with more-specific
        shouldWrapText one. Changed return value of accessKey. Made WrapMethod enum
        provate and renamed the values. Renamed cachedSelStart and cachedSelEnd to
        m_cachedSelectionStart and m_cachedSelectionEnd.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::createInnerTextStyle): Updated for change to
        HTMLTextAreaElement wrap function.


2008-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Mark Rowe.

        - test for bug fixes in http://bugs.webkit.org/show_bug.cgi?id=17881
          a little cleanup for HTMLTextAreaElement

        * fast/forms/textarea-default-value-leading-newline-expected.txt: Added.
        * fast/forms/textarea-default-value-leading-newline.html: Copied from fast/forms/textarea-crlf.html.

        * fast/forms/textarea-hard-linewrap-expected.txt: Updated.
        * fast/forms/textarea-hard-linewrap.html: Cleaned up a bit.

        * fast/forms/textarea-linewrap-dynamic-expected.txt: Added.
        * fast/forms/textarea-linewrap-dynamic.html: Copied from fast/forms/textarea-hard-linewrap.html.

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

14 years ago Reviewed by Mitz.
antti@apple.com [Sun, 16 Mar 2008 21:47:50 +0000 (21:47 +0000)]
    Reviewed by Mitz.

        Fix http/tests/security/frame-loading-via-document-write.html
        which was broken by the preload patch.

        Don't print error message when preload fails local file security check.
        Some minor refactoring.

        * html/PreloadScanner.cpp:
        * loader/Cache.cpp:
        * loader/Cache.h:
        * loader/DocLoader.cpp:
        * loader/DocLoader.h:

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

14 years agoWebCore:
antti@apple.com [Sun, 16 Mar 2008 20:53:39 +0000 (20:53 +0000)]

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=17862
        REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com

        This was a memory smasher introduced by the preloading patch.
        If a script resource was marked uncacheable, early deletion of the
        Request object would cause deletion of the CachedResource too if
        it was referred more than once in a single document.

        Test: http/tests/misc/uncacheable-script-repeated.html

        * loader/loader.cpp:


        Reviewed by Darin.

        Test for http://bugs.webkit.org/show_bug.cgi?id=17862
        REGRESSION (r31038): Reproducible crash under DocLoader::checkForReload() at marware.com

        * http/tests/misc/resources/uncacheable-script.cgi: Added.
        * http/tests/misc/uncacheable-script-repeated-expected.txt: Added.
        * http/tests/misc/uncacheable-script-repeated.html: Added.

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

14 years agoWebCore:
darin@apple.com [Sun, 16 Mar 2008 20:35:31 +0000 (20:35 +0000)]

2008-03-16  Yuzhu Shen  <yuzhu.shen@gmail.com>

        Reviewed by Darin.

        Fix bug http://bugs.webkit.org/show_bug.cgi?id=17714
        <img href="#"> should go to top of the page.

        Test: fast/html/empty-fragment-id-goto-top.html

        * loader/FrameLoader.cpp:


2008-03-16  Yuzhu Shen  <yuzhu.shen@gmail.com>

        Reviewed by Darin.

        Bug: http://bugs.webkit.org/show_bug.cgi?id=17714
        Test whether clicking <img href="#"> goes to top of the page.

        * fast/html/empty-fragment-id-goto-top-expected.txt: Added.
        * fast/html/empty-fragment-id-goto-top.html: Added.

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

14 years agoWebCore:
darin@apple.com [Sun, 16 Mar 2008 20:25:40 +0000 (20:25 +0000)]

2008-03-16  Thiago Macieira  <thiago.macieira@trolltech.com>

        Reviewed by Darin.

        Don't use RefPtr in classes you haven't seen the implementation of.

        Forward-declaration and declaration of RefPtr<Foo> is ok. But you
        cannot *use* said objects until Foo is defined. This is true even for
        initialisation with a 0.

        Seems the HP aCC compiler is more strict here than gcc.

        * editing/SplitTextNodeCommand.h:
        * page/FrameTree.h:
        * xml/XPathExpressionNode.h:


2008-03-16  Thiago Macieira  <thiago.macieira@trolltech.com>

        Reviewed by Simon.

        Don't use RefPtr in classes you haven't seen the implementation of.

        Forward-declaration and declaration of RefPtr<Foo> is ok. But you
        cannot *use* said objects until Foo is defined. This is true even for
        initialisation with a 0.

        Seems the HP aCC compiler is more strict here than gcc.

        * Api/qwebframe_p.h:

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

14 years agoWebCore:
darin@apple.com [Sun, 16 Mar 2008 20:17:54 +0000 (20:17 +0000)]

2008-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14941
          <rdar://problem/5404093> textarea value from JavaScript includes extra newline

        Test: fast/forms/textarea-trailing-newline.html

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::finishText): Added code to strip the trailing
        newline. It's possible there are some obscure cases where this is not wanted,
        but I couldn't find any. If someone finds a case where this is bad, we can
        make the code conditional.


2008-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14941
          <rdar://problem/5404093> textarea value from JavaScript includes extra newline

        * fast/forms/textarea-paste-newline.html: Updated test to expect correct behavior instead
        of expecting the bug.

        * fast/forms/textarea-trailing-newline-expected.txt: Added.
        * fast/forms/textarea-trailing-newline.html: Added.

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

14 years ago2008-03-16 Darin Adler <darin@apple.com>
darin@apple.com [Sun, 16 Mar 2008 20:15:41 +0000 (20:15 +0000)]
2008-03-16  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=17876
          Attempting to visit Ofcom page causes crash

        This is causing intermittent crashes on some existing test cases on the buildbot
        too; I don't have a 100% test case right now, but it should be easy to add one later
        and this does fix a crash in a test we already have.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::CharacterData): Initialize m_data to the empty string,
        not the null string. The class assumes the string can never being null.
        (WebCore::CharacterData::setData): If asked to set the data to the null string,
        set it to the empty string instead. This matches what the (non-empty) constructor
        has always done.

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

14 years ago Reviewed by Adam Roben.
timothy@apple.com [Sun, 16 Mar 2008 06:34:10 +0000 (06:34 +0000)]
    Reviewed by Adam Roben.

        Bug 17870: Web Inspector console should feel more like a terminal

        Bug 14390: Console input area should be more noticeable

        Adds tab completion, auto completion and a blended input prompt.
        The prompt is also focused when the console is shown.
           Implements a new look, that will be part of the UI refresh.

        * page/inspector/ConsolePanel.js:
        (WebInspector.ConsolePanel): Renamed a few properties.
        (WebInspector.ConsolePanel.get/set promptText): Property to set
        and get the current prompt text. Does not affect command history.
        (WebInspector.ConsolePanel.show): Make the prompt focus on show.
        (WebInspector.ConsolePanel.acceptAutoComplete): Accepts any
        pending auto complete text.
        (WebInspector.ConsolePanel.clearAutoComplete): Cancels any pending
        auto complete text.
        (WebInspector.ConsolePanel.autoCompleteSoon): Sets a timeout to auto
        complete in 250 ms, only if there isn't a pending auto complete.
        (WebInspector.ConsolePanel.completions): Generate a list of possible
        completions based on the prefix and the previous expression ranges.
        (WebInspector.ConsolePanel._backwardsRange): Helper to scan backwards
        from a node and offset to find a start node and offset of the first
        character found in the characters string.
        (WebInspector.ConsolePanel._evalInInspectedWindow): Helper to eval in the
        inspected window.
        (WebInspector.ConsolePanel._caretInsidePrompt): Returns true if the selection
        is collapsed and is inside the prompt element.
        (WebInspector.ConsolePanel._moveCaretToEndOfPrompt): Moves the selection
        to the end of the prompt.
        (WebInspector.ConsolePanel._onTabPressed): Calls complete on
        tab press.
        (WebInspector.ConsolePanel._onEnterPressed): Call clearAutoComplete so the
        autocompletion text is not evaluated.

        * page/inspector/Images/errorIcon.png: New image.
        * page/inspector/Images/userInputIcon.png: Added.
        * page/inspector/Images/userInputPreviousIcon.png: Added.
        * page/inspector/Images/warningIcon.png: New image.
        * page/inspector/inspector.css: New refreshed UI.

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

14 years ago2008-03-15 Matt Lilek <webkit@mattlilek.com>
pewtermoose@webkit.org [Sat, 15 Mar 2008 19:12:45 +0000 (19:12 +0000)]
2008-03-15  Matt Lilek  <webkit@mattlilek.com>

        Rubber-stamped by Mitz.

        Update crash log page with instructions for Leopard.

        * quality/crashlogs.html:

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

14 years ago2008-03-15 Darin Adler <darin@apple.com>
darin@apple.com [Sat, 15 Mar 2008 17:49:29 +0000 (17:49 +0000)]
2008-03-15  Darin Adler  <darin@apple.com>

        * Scripts/commit-log-editor: Include the name line of the change log entry.
        A long time ago I designed this script to not include the name because I
        thought it was redundant (same as the name of the person checking in), but
        nowadays it's more common for someone to check something in done by someone

        * Scripts/do-webcore-rename: Added some more planned renames and removed
        some that were already done "by hand".

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

14 years ago2008-03-15 Mark Mentovai <mark@moxienet.com>
darin@apple.com [Sat, 15 Mar 2008 17:37:22 +0000 (17:37 +0000)]
2008-03-15  Mark Mentovai  <mark@moxienet.com>

        Reviewed and landed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=17833
          use file extensions instead of explicit file types in WebCore's Xcode project

        * WebCore.xcodeproj/project.pbxproj: Remove unnecessary
          uses of explicitFileType, preferring lastKnownFileType ("File Type:
          Default for File" in Xcode's File Info's General tab).  Files below
          that relied on an explicit file type setting other than what would
          be implied by their extensions have been renamed to have correct
        * bridge/jni/jni_jsobject.cpp: Removed.
        * bridge/jni/jni_jsobject.mm: Copied from bridge/jni/jni_jsobject.cpp.
        * loader/mac/LoaderNSURLExtras.m: Removed.
        * loader/mac/LoaderNSURLExtras.mm: Copied from loader/mac/LoaderNSURLExtras.m.
        * platform/mac/SharedTimerMac.cpp: Removed.
        * platform/mac/SharedTimerMac.mm: Copied from platform/mac/SharedTimerMac.cpp.

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

14 years agoWebCore:
darin@apple.com [Sat, 15 Mar 2008 17:26:28 +0000 (17:26 +0000)]

        Reviewed by Sam.

        - fix http://bugs.webkit.org/show_bug.cgi?id=11997
          Ranges are not fixed after mutation (affects Acid3 test 13)

        Test: fast/dom/Range/mutation.html

        * WebCore.xcodeproj/project.pbxproj: Added NodeWithIndex.h, NodeWithIndexAfter.h,
        and NodeWithIndexBefore.h.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Replaced call to Document::removeMarkers
        with call to Document::textRemoved.
        (WebCore::CharacterData::insertData): Replaced call to Document::shiftMarkers
        with call to Document::textInserted.
        (WebCore::CharacterData::deleteData): Replaced call to Document::removeMarkers
        and Document::shiftMarkers with call to Document::textRemoved.
        (WebCore::CharacterData::replaceData): Replaced call to Document::removeMarkers
        and Document::shiftMarkers with call to Document::textRemoved and
        (WebCore::CharacterData::containsOnlyWhitespace): Tweaked a bit.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::childrenChanged): Added a call to
        Document::nodeChildrenChanged when the nmber of children was changed (and not
        by the parser).
        (WebCore::dispatchChildRemovalEvents): Updated for name change.

        * dom/Document.cpp:
        (WebCore::Document::~Document): Assert that all ranges are gone.
        (WebCore::Document::nodeChildrenChanged): Added. Calls nodeChildrenChanged on
        all ranges.
        (WebCore::Document::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
        Added code to call nodeWillBeRemoved on all ranges.
        (WebCore::Document::textInserted): Added. Calls textInserted on all ranges and
        also calls shiftMarkers.
        (WebCore::Document::textRemoved): Added. Calls textRemoved on all ranges and also
        calls removeMarkers and shiftMarkers.
        (WebCore::Document::textNodesMerged): Added. Calls textNodesMerged on all ranges.
        (WebCore::Document::textNodeSplit): Added. Calls textNodeSplit on all ranges.
        (WebCore::Document::attachRange): Added. Adds range to the HashSet of all ranges
        for this document.
        (WebCore::Document::detachRange): Added. Removes range from the HashSet.
        * dom/Document.h: Added the new functions and the data member.

        * dom/Element.cpp:
        (WebCore::Element::normalizeAttributes): Added. Contains the part of the
        normalize function that's specific to Element. Better encapsulation to have it
        here rather than in Node::normalize.
        * dom/Element.h: Added the new function.

        * dom/Node.cpp:
        (WebCore::Node::normalize): Rewrote so it's no longer recursive. Also added
        a call to textNodesMerged after each pair of nodes is merged but before the
        second node is removed.
        (WebCore::Node::traverseNextNodePostOrder): Added. Helper function used by
        normalize, but also useful elsewhere.
        * dom/Node.h: Added the new function.

        * dom/NodeIterator.cpp:
        (WebCore::NodeIterator::nodeWillBeRemoved): Renamed from notifyBeforeNodeRemoval.
        * dom/NodeIterator.h: Ditto.

        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::setData): Call textRemoved.

        * dom/Range.cpp:
        (WebCore::NodeWithIndex::index): Added. Computes and stores index.
        (WebCore::NodeWithIndexBefore::indexBefore): Added. Computes and stores index.
        (WebCore::NodeWithIndexAfter::indexAfter): Added. Computes and stores index.
        (WebCore::Range::Range): Call attachRange.
        (WebCore::Range::~Range): Call detachRange unless the range is already detached.
        (WebCore::Range::commonAncestorContainer): Removed check for WRONG_DOCUMENT_ERR.
        It's no longer possible to create a range where the two containers are non-zero
        and have no common ancestor.
        (WebCore::Range::isPointInRange): Rewrote expression to be more readable.
        (WebCore::Range::compareNode): Changed local variable to use int for consistency.
        (WebCore::Range::compareBoundaryPoints): Replaced ASSERT with ASSERT_NOT_REACHED.
        (WebCore::Range::deleteContents): Removed check for INVALID_STATE_ERR and
        initialization of ec to 0; both are now inside checkDeleteExtract.
        (WebCore::Range::intersectsNode): Changed local variable to use int for consistency.
        Also changed comparison to use < 0 and >= 0 rather than checking explicitly for 1
        and -1.
        (WebCore::Range::processContents): Changed code to not get the nodeType multiple
        times on the same node, and tweaked formatting. Removed code to update the range
        on deletion, because the normal delete logic will take care of that now.
        (WebCore::Range::extractContents): Removed check for INVALID_STATE_ERR and
        initialization of ec to 0; both are now inside checkDeleteExtract.
        (WebCore::Range::insertNode): Changed local variable to use int for consistency.
        (WebCore::Range::toString): Changed variable name to pastLast.
        (WebCore::Range::detach): Call detachRange.
        (WebCore::Range::checkDeleteExtract): Added check for detached range and code to
        set ec to 0; moved here from the two callers. Also changed variable name to pastLast.
        (WebCore::endpointNodeChildrenChanged): Added.
        (WebCore::Range::nodeChildrenChanged): Added.
        (WebCore::endpointNodeWillBeRemoved): Added.
        (WebCore::Range::nodeWillBeRemoved): Added.
        (WebCore::endpointTextInserted): Added.
        (WebCore::Range::textInserted): Added.
        (WebCore::endpointTextRemoved): Added.
        (WebCore::Range::textRemoved): Added.
        (WebCore::endpointTextNodesMerged): Added.
        (WebCore::Range::textNodesMerged): Added.
        (WebCore::endpointTextNodesSplit): Added.
        (WebCore::Range::textNodeSplit): Added.

        * dom/Range.h: Added new member functions.

        * dom/NodeWithIndex.h: Added. Makes it so we won't find the index for the same
        node more than once.
        * dom/NodeWithIndexAfter.h: Added. Similar to NodeWithIndex but gives the index after a
        node and treats a node pointer of 0 as meaning "before first node in parent container".
        * dom/NodeWithIndexBefore.h: Added.  Similar to NodeWithIndex but treats a node pointer of 0
        as meaning "after last node in parent container".

        * dom/Text.cpp:
        (WebCore::Text::splitText): Call textNodeSplit.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyInlineStyle): Changed variable name to pastLast.


        Reviewed by Sam.

        - test changes for http://bugs.webkit.org/show_bug.cgi?id=11997
          Ranges are not fixed after mutation (affects Acid3 test 13)

        * fast/dom/Range/mutation-expected.txt: Added.
        * fast/dom/Range/mutation.html: Added.
        * fast/dom/Range/resources/mutation.js: Added.

        * editing/execCommand/4920742-2-expected.txt: Updated.
        * editing/execCommand/4920742-2.html: Updated this test. It was testing for a crash in a
        case that's no longer possible -- you can't make a range where one endpoint is in the
        document and the other is not.

        * platform/mac/editing/execCommand/4920488-expected.txt: Removed WRONG_DOCUMENT_ERR.
        The fact that a test was getting this exception was a bug, similar to the case above.
        * platform/qt/editing/execCommand/4920488-expected.txt: Ditto.

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

14 years agoWebCore:
zecke@webkit.org [Sat, 15 Mar 2008 14:15:50 +0000 (14:15 +0000)]
2008-03-15  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Holger.

        [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL

        Add null checks for httpBody() to match other ports.

        Test: http/tests/xmlhttprequest/xmlhttprequest-post-crash.html

        * platform/network/curl/ResourceHandleManager.cpp:
        (WebCore::readCallback): Add null check.
        (WebCore::ResourceHandleManager::setupPOST): Ditto.

2008-03-15  Julien Chaffraix  <julien.chaffraix@gmail.com>

        Reviewed by Holger.

        [CURL] Crash below ResourceHandleManager::setupPOST when job->request().httpBody() is NULL

        * http/tests/xmlhttprequest/xmlhttprequest-post-crash-expected.txt: Added.
        * http/tests/xmlhttprequest/xmlhttprequest-post-crash.html: Added.

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

14 years agoJavaScriptCore:
sfalken@apple.com [Sat, 15 Mar 2008 06:06:11 +0000 (06:06 +0000)]

        PGO build fixes.

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:


        PGO build fixes.

        * WebCore.vcproj/WebCore.vcproj:


        PGO build fixes.

        * WebKit.vcproj/WebKit.vcproj:

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

14 years agoAdd logic to track whether a function uses a locally scoped eval or requires a closure
oliver@apple.com [Sat, 15 Mar 2008 01:05:55 +0000 (01:05 +0000)]
Add logic to track whether a function uses a locally scoped eval or requires a closure

Reviewed by Maciej

Now that we limit eval we can track those uses of eval that operate
in the local scope and functions that require a closure.  We track
this information during initial parsing to avoid yet another tree

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

14 years agoWebCore:
andersca@apple.com [Sat, 15 Mar 2008 00:21:03 +0000 (00:21 +0000)]

        Reviewed by Sam.

        REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work

        Pass the frame loader that should be used for looking up the frame name to FrameLoader::createWindow
        so that somewindow.open calls where the active window and 'somewindow' differ return the correct frame.

        * bindings/js/JSDOMWindowBase.cpp:
        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:


        Reviewed by Sam.

        REGRESSION (Safari 3.0.4-3.1): Ordering tickets from Sweden's biggest train operator doesn't work

        Add tests.

        * fast/dom/Window/window-open-self-from-other-frame-expected.txt: Added.
        * fast/dom/Window/window-open-self-from-other-frame.html: Added.

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

14 years agoFix ChangeLog
mitz@apple.com [Fri, 14 Mar 2008 22:57:36 +0000 (22:57 +0000)]
Fix ChangeLog

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

14 years ago Reviewed by Mark Rowe.
mitz@apple.com [Fri, 14 Mar 2008 22:54:08 +0000 (22:54 +0000)]
    Reviewed by Mark Rowe.

        - fix <rdar://problem/5797836> shadow offsets are smaller than specified

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setShadow): Made the workaround for
        <rdar://problem/5643663> unconditional.

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