WebKit-https.git
15 years ago Reviewed by Adele.
darin [Wed, 8 Aug 2007 00:45:39 +0000 (00:45 +0000)]
    Reviewed by Adele.

        - fix <rdar://problem/5383104> REGRESSION: XHR.responseText is null instead of empty string
          in http/tests/xmlhttprequest/zero-length-response.html

        The new code to handle out of memory conditions was turning a "" into a null string.

        * kjs/ustring.h: Removed UCharReference, which has long been obsolete and unused.
        Removed copyForWriting, which was only used for the upper/lowercasing code and for
        UCharReference.
        * kjs/ustring.cpp:
        (KJS::allocChars): Removed special case that made this fail (return 0) when passed 0.
        Instead assert that we're not passed 0. Also added an overflow check for two reasons:
        1) for sizes that aren't checked this prevents us from allocating a buffer that's too
        small, and 2) for sizes where we overflowed in the expandedSize function and returned
        overflowIndicator, it guarantees we fail.
        (KJS::reallocChars): Ditto.
        (KJS::UString::expandedSize): Return a large number, overflowIndicator, rather than 0
        for cases where we overflow.
        (KJS::UString::spliceSubstringsWithSeparators): Added a special case for empty string so
        we don't call allocChars with a length of 0.
        (KJS::UString::operator=): Added special characters for both 0 and empty string so we
        match the behavior of the constructor. This avoids calling allocChars with a length of 0
        and making a null string rather than an empty string in that case, and also matches the
        pattern used in the rest of the functions.
        (KJS::UString::operator[]): Made the return value const so code that tries to use the
        operator to modify the string will fail.

        * kjs/string_object.cpp: (KJS::StringProtoFunc::callAsFunction): Rewrote uppercasing and
        lowercasing functions so they don't need copyForWriting any more -- it wasn't really doing
        any good for optimization purposes. Instead use a Vector and releaseBuffer.

        * wtf/unicode/icu/UnicodeIcu.h: Eliminate one of the versions of toLower/toUpper -- we now
        only need the version where both a source and destination buffer is passed in, not the one
        that works in place.
        * wtf/unicode/qt4/UnicodeQt4.h: Ditto.

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

15 years agoWebCore:
zecke [Wed, 8 Aug 2007 00:17:09 +0000 (00:17 +0000)]
WebCore:
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Remove the event handling code and move it to WebKit/gtk/Api/webkitgtkpage.cpp

        * platform/gdk/FrameGdk.cpp:
        * platform/gdk/FrameGdk.h:

WebKit:
2007-08-08  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Adam.

        Reimplement GtkWidget::event and handle the keyboard and mouse
        events inside WebKitGtkPage.

        * gtk/Api/webkitgtkpage.cpp:
        (FrameGdkExposeData::frame_gdk_expose_child):
        (FrameGdkExposeData::webkit_gtk_page_rendering_area_handle_gdk_event):
        (FrameGdkExposeData::webkit_gtk_page_register_rendering_area_events):
        (FrameGdkExposeData::webkit_gtk_page_class_init):

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

15 years ago Fix a botched backout of the Quicktime plugin clipping fix that broke Java...
hyatt [Tue, 7 Aug 2007 23:06:52 +0000 (23:06 +0000)]
    Fix a botched backout of the Quicktime plugin clipping fix that broke Java.  The plugin view should not
        be set to autosize with the parent view.  Also, cleanup of script objects was removed accidentally as
        well.

        Reviewed by olliej

        * Plugins/WebPluginController.mm:
        (-[WebPluginController destroyPlugin:]):
        (-[WebPluginController destroyAllPlugins]):
        * WebCoreSupport/WebFrameBridge.mm:
        (-[WebFrameBridge pluginViewWithPackage:attributeNames:attributeValues:baseURL:DOMElement:loadManually:]):

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

15 years ago2007-08-07 Holger Hans Peter Freyther <zecke@selfish.org>
zecke [Tue, 7 Aug 2007 22:04:09 +0000 (22:04 +0000)]
2007-08-07  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Niko.

        Switch from the generic union GdkEvent to the specific struct GdkEvent*. This is needed
        to make WebKitGtkPage handle the events by reimplementing the default handlers in the near
        future.

        * platform/PlatformKeyboardEvent.h:
        * platform/PlatformMouseEvent.h:
        * platform/PlatformWheelEvent.h:
        * platform/gdk/FrameGdk.cpp:
        (WebCore::FrameGdk::handleGdkEvent):
        * platform/gdk/KeyEventGdk.cpp:
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        * platform/gdk/MouseEventGdk.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/gdk/WheelEventGdk.cpp:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

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

15 years ago Remove a test that was a bit too slow on older hardware.
antti [Tue, 7 Aug 2007 21:39:15 +0000 (21:39 +0000)]
    Remove a test that was a bit too slow on older hardware.

        * fast/block/basic/stress-shallow-nested-expected.txt: Removed.
        * fast/block/basic/stress-shallow-nested.html: Removed.

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

15 years agoSupplemental whitespace fix
alp [Tue, 7 Aug 2007 18:19:33 +0000 (18:19 +0000)]
Supplemental whitespace fix

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

15 years ago2007-08-07 Xan Lopez <xan@gnome.org>
alp [Tue, 7 Aug 2007 18:11:18 +0000 (18:11 +0000)]
2007-08-07  Xan Lopez  <xan@gnome.org>

        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=14815
        [gtk] API implementation: reload

        * gtk/Api/webkitgtkpage.cpp: Implement the webkit_gtk_page_reload()
        function.

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

15 years agoSome QStyles don't handle negative maximum very well
staikos [Tue, 7 Aug 2007 17:17:47 +0000 (17:17 +0000)]
Some QStyles don't handle negative maximum very well

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

15 years agoLayoutTests:
antti [Tue, 7 Aug 2007 11:15:44 +0000 (11:15 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        Tests for <rdar://problem/5102553>
        Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...

        - added performance test. With debug build on MBP this takes about 1.5s to run.
        - added test case that shows some additional progression from the patch (less leftover anonymous boxes).

        * fast/block/basic/stress-shallow-nested-expected.txt: Added.
        * fast/block/basic/stress-shallow-nested.html: Added.
        * fast/block/float/nestedAnonymousBlocks2-expected.checksum: Added.
        * fast/block/float/nestedAnonymousBlocks2-expected.png: Added.
        * fast/block/float/nestedAnonymousBlocks2-expected.txt: Added.
        * fast/block/float/nestedAnonymousBlocks2.html: Added.

WebCore:

        Reviewed by Hyatt.

        Fix <rdar://problem/5102553>
        Mail spins trying to display or edit a specific long plain text message in WebCore::TimerBase::...

        Calling removeLeftoverAnonymousBoxes() from RenderBlock::addChildToFlow() made adding children
        O(n^2) in simple cases (repeated <div><div></div></div> for example).

        I couldn't find any limited fix so here is a more complete one. It removes iterating/recursing
        removeLeftoverAnonymousBoxes() method altogether. Instead of hunting around wildly, just get
        rid of anonymous boxes with block children when they occur.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addChildToFlow):
        * rendering/RenderButton.h:
        (WebCore::RenderButton::removeLeftoverAnonymousBlock):
        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeLeftoverAnonymousBlock):
        * rendering/RenderContainer.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::handleDynamicFloatPositionChange):
        (WebCore::RenderObject::removeLeftoverAnonymousBlock):
        * rendering/RenderObject.h:
        * rendering/RenderTextControl.h:
        (WebCore::RenderTextControl::removeLeftoverAnonymousBlock):

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

15 years agoFix changelog
weinig [Tue, 7 Aug 2007 06:25:04 +0000 (06:25 +0000)]
Fix changelog

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

15 years agoJavaScriptCore:
weinig [Tue, 7 Aug 2007 06:21:55 +0000 (06:21 +0000)]
JavaScriptCore:

        Reviewed by Oliver.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14891
        Decompilation of try block immediately following "else" fails

        Test: fast/js/toString-try-else.html

        * kjs/nodes2string.cpp:
        (TryNode::streamTo): Add newline before else.

LayoutTests:

        Reviewed by Oliver.

        Test for http://bugs.webkit.org/show_bug.cgi?id=14891
        Decompilation of try block immediately following "else" fails

        * fast/js/toString-try-else-expected.txt: Added.
        * fast/js/toString-try-else.html: Added.

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

15 years ago Reviewed by Oliver.
weinig [Tue, 7 Aug 2007 03:24:15 +0000 (03:24 +0000)]
    Reviewed by Oliver.

        Update test to not timeout.

        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt:
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html:

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

15 years agoLayoutTests:
weinig [Tue, 7 Aug 2007 03:08:53 +0000 (03:08 +0000)]
LayoutTests:

        Reviewed by Maciej.

        Tests for <rdar://problem/5354689>

        * http/tests/security/javascriptURL: Added.
        * http/tests/security/javascriptURL/resources: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-iframe.html: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessee-opened-frame.html: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-iframe.html: Added.
        * http/tests/security/javascriptURL/resources/foreign-domain-javascipt-url-accessor-opened-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-2-level.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame-to-javascript-url-sub-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-sub-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-to-javscript-url.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-from-javascript-url-window-open.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-from-javscript-url.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-2-level.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-sub-frame.html: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-ALLOWED-to-javascript-url-window-open.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-subframe.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-from-javascipt-url-in-foriegn-domain-window-open.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-subframe.html: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open-expected.txt: Added.
        * http/tests/security/javascriptURL/xss-DENIED-to-javascipt-url-in-foriegn-domain-window-open.html: Added.
        * http/tests/security/resources/cross-frame-access.js:

WebCore:

        Reviewed by Maciej.

        Fix for <rdar://problem/5354689>

        - Use document variable to determine permissions instead
          of traversing the frame tree.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::initSecurityPolicyURL):
        * dom/Document.h:
        (WebCore::Document::securityPolicyURL):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::setOpener): We must re-initialize the
        safeScript URL when setting the opener because the opener was
        not known at Document construction.

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

15 years agoVersioning.
bdash [Tue, 7 Aug 2007 02:31:30 +0000 (02:31 +0000)]
Versioning.

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

15 years agoRoll out r24889.
bdash [Tue, 7 Aug 2007 02:22:51 +0000 (02:22 +0000)]
Roll out r24889.

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

15 years ago2007-08-07 Mark Rowe <mrowe@apple.com>
bdash [Tue, 7 Aug 2007 01:45:53 +0000 (01:45 +0000)]
2007-08-07  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        <rdar://problem/5388774> REGRESSION: Hang occurs after clicking "Attach a file " link in a new .Mac message

        Attempting to acquire the JSLock inside CollectorHeap::forceLock can lead to a deadlock if the thread currently
        holding the lock is waiting on the thread that is forking.  It is not considered safe to use system frameworks
        after a fork without first execing[*] so it is not particularly important to ensure that the collector and
        fastMalloc allocators are unlocked in the child process.  If the child process wishes to use JavaScriptCore it
        should exec after forking like it would to use any other system framework.
        [*]: <http://lists.apple.com/archives/Cocoa-dev/2005/Jan/msg00676.html>

        * kjs/CollectorHeapIntrospector.cpp: Remove forceLock and forceUnlock implementations.
        * kjs/CollectorHeapIntrospector.h: Stub out forceLock and forceUnlock methods.
        * wtf/FastMalloc.cpp: Ditto.

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

15 years ago Make sure to clear out the parent of the ellipsis box so that it doesn't
hyatt [Tue, 7 Aug 2007 00:10:31 +0000 (00:10 +0000)]
    Make sure to clear out the parent of the ellipsis box so that it doesn't
        trigger the consistency check for line boxes.

        Reviewed by darin

        * ChangeLog:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::detachEllipsisBox):

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

15 years ago Back out fix for <rdar://problem/5366582> and replace it with the correct
hyatt [Mon, 6 Aug 2007 21:50:48 +0000 (21:50 +0000)]
    Back out fix for <rdar://problem/5366582> and replace it with the correct
        fix.  Make sure to delete the line box tree before splitting an inline flow
        into a continuation.  The added layout test for the original checkin covers
        the problem.

        Reviewed by beth

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::makeChildrenNonInline):
        Back out fix.

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::destroy):
        Back out fix.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitFlow):
        Here's the new fix.

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

15 years ago Reviewed by Darin Adler.
ggaren [Mon, 6 Aug 2007 21:43:03 +0000 (21:43 +0000)]
    Reviewed by Darin Adler.

        Touching a file to force a re-build.

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

15 years ago - fix release build
darin [Mon, 6 Aug 2007 20:53:07 +0000 (20:53 +0000)]
    - fix release build

        * rendering/RenderText.h: (WebCore::RenderText::checkConsistency):
        Add missing const.

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

15 years agoLayoutTests:
andersca [Mon, 6 Aug 2007 20:10:53 +0000 (20:10 +0000)]
LayoutTests:

        Reviewed by Darin.

        <rdar://problem/5360748>
        REGRESSION(r21002-r21003) Flash widget sniffer doesn't work (affects iWeb)

        Add test case by Kurt Revis.

        * fast/dom/NodeList/invalidate-node-lists-when-parsing-expected.txt: Added.
        * fast/dom/NodeList/invalidate-node-lists-when-parsing.html: Added.

WebCore:

        Reviewed by Darin.

        <rdar://problem/5360748>
        REGRESSION(r21002-r21003) Flash widget sniffer doesn't work

        Add a per-document NodeList counter. When parsing, only call notifyNodeListsChildrenChanged
        if the document has node lists.

        * dom/ContainerNode.cpp:
        (WebCore::ContainerNode::addChild):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        (WebCore::Document::addNodeList):
        (WebCore::Document::removeNodeList):
        (WebCore::Document::hasNodeLists):
        * dom/Node.cpp:
        (WebCore::Node::registerNodeList):
        (WebCore::Node::unregisterNodeList):

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

15 years agoBump version.
sfalken [Mon, 6 Aug 2007 20:02:20 +0000 (20:02 +0000)]
Bump version.

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

15 years agoLayoutTests:
darin [Mon, 6 Aug 2007 19:51:38 +0000 (19:51 +0000)]
LayoutTests:

        Beth made this reduction/test, Geoff and I both helped refine it.

        - test for <rdar://problem/5366582> crash on it.eurosport.yahoo.com page

        * fast/dynamic/inline-to-block-crash-expected.txt: Added.
        * fast/dynamic/inline-to-block-crash.html: Added.

WebCore:

        Reviewed by Maciej.

        - fix <rdar://problem/5366582> crash on it.eurosport.yahoo.com page

        Test: fast/dynamic/inline-to-block-crash.html

        I added some consistency checks for the line box tree, which helped me figure out
        what was going on with this bug pretty quickly.

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::makeChildrenNonInline):
        This is the actual fix. If the block needs layout, then don't try to delete the line
        box tree because it's going to be rebuilt as part of layout. More importantly, the
        child list in the tree is no good, so we will crash if we try to delete here.

        * rendering/RenderFlow.cpp: (WebCore::RenderFlow::destroy):
        Here's a second fix. We have the same issue in the code that handles anonymous
        blocks -- if it's already running as part of layout, we can't walk through the
        already partly destroyed line box tree. This crashed in one of the layout tests.

        * rendering/InlineBox.h: Made more fields private, since I wanted to do a bit more
        work in setters. Made setNextOnLine() and setPrevOnLine() assert that the box has a
        parent. Made parent() assert that the parent is good. Also removed the unused
        isChildOfParent() function.
        * rendering/InlineBox.cpp: (WebCore::InlineBox::~InlineBox): At destruction time, if
        we are still attached to a parent, tag that parent as having a "bad" child list.

        * rendering/InlineFlowBox.h: Added m_reasonForBadChildList, checkConsistency(),
        setHasBadChildList(), and hasBadChildList(). Also changed firstChild() and lastChild() so
        they call checkConsistency() and made all the fields private instead of protected.
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine): Added consistency checks before and after adding a
        box to the line. Also checked that next and prev start out as 0. Changed manipulation of
        next and prev to use accessor functions.
        (WebCore::InlineFlowBox::removeChild): Added consistency checks before and after removing
        the box from the line.
        (WebCore::InlineFlowBox::deleteLine): Use firstChild() instead of getting at m_firstChild
        directly so we get a consistency check. Also set the parent to 0 before destroying so that
        the assertion in ~InlineBox will work properly.
        (WebCore::InlineFlowBox::extractLine): Ditto.
        (WebCore::InlineFlowBox::attachLine): Ditto.
        (WebCore::InlineFlowBox::adjustPosition): Ditto.
        (WebCore::InlineFlowBox::checkConsistency): Added. Checks consistency of the child list by
        looking at the parent, next, and prev pointers. Also asserts that we are not yet in the
        "bad" child list state, which happens if one of our children is destroyed without removing
        it from our list; that's normal, but once it happens we can't look at our child list again.

        * rendering/InlineTextBox.h:
        * rendering/InlineTextBox.cpp: Remove unnneeded destroy/new/delete functions -- these are
        inherited from the InlineBox base class and don't need to be defined again.

        * rendering/RenderFlow.h:
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::~RenderFlow): Assert that there are no children to confirm that we
        didn't leak something.
        (WebCore::RenderFlow::extractLineBox): Added consistency checks before and after removing
        a run of boxes from the list.
        (WebCore::RenderFlow::attachLineBox): Added consistency checks before and after adding
        a box to the list.
        (WebCore::RenderFlow::removeLineBox): Added consistency checks before and after removing
        a box from the list.
        (WebCore::RenderFlow::createInlineBox): Added consistency checks before and after adding
        a box to the list.
        (WebCore::RenderFlow::checkConsistency): Added.

        * rendering/RenderText.h:
        * rendering/RenderText.cpp:
        (WebCore::RenderText::~RenderText): Assert that there are no children to confirm that we
        didn't leak something.
        (WebCore::RenderText::extractTextBox): Added consistency checks before and after removing
        a run of boxes from the list.
        (WebCore::RenderText::attachTextBox): Added consistency checks before and after adding
        a box to the list.
        (WebCore::RenderText::removeTextBox): Added consistency checks before and after removing
        a box from the list.
        (WebCore::RenderText::deleteTextBoxes): Added code to call setHasBadChildList since this
        destroys line boxes without informing the parent.
        (WebCore::RenderText::checkConsistency): Added.

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

15 years agoLayoutTests:
adele [Mon, 6 Aug 2007 19:49:02 +0000 (19:49 +0000)]
LayoutTests:

        Reviewed by Darin.

        Test for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified

        * fast/forms/menulist-restrict-line-height-expected.checksum: Added.
        * fast/forms/menulist-restrict-line-height-expected.png: Added.
        * fast/forms/menulist-restrict-line-height-expected.txt: Added.
        * fast/forms/menulist-restrict-line-height.html: Added.

WebCore:

        Reviewed by Darin.

        Fix for <rdar://problem/5382483> REGRESSION: <select> element's text is clipped when a CSS line-height is specified

        Don't honor line-height for styled popup buttons.  We already don't honor line-height for unstyled popups
        and since IE and FF don't honor it at all for popups, we shouldn't either.

        * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
        * rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):

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

15 years ago Rubber stamped by Geoff.
darin [Mon, 6 Aug 2007 19:34:01 +0000 (19:34 +0000)]
    Rubber stamped by Geoff.

        * kjs/ustring.h: Added an assertion which would have helped us find the
        previous bug more easily.

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

15 years ago Reviewed by Anders.
darin [Mon, 6 Aug 2007 19:00:46 +0000 (19:00 +0000)]
    Reviewed by Anders.

        - fix <rdar://problem/5387589> 9A514: Quartz Composer crash on launch in KJS::jsString

        * API/JSBase.cpp:
        (JSEvaluateScript): Turn NULL for sourceURL into UString::null(), just as JSObjectMakeFunction already does.
        (JSCheckScriptSyntax): Ditto.

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

15 years ago2007-08-06 Nigel Tao <nigeltao@gnome.org>
ddkilzer [Mon, 6 Aug 2007 18:08:08 +0000 (18:08 +0000)]
2007-08-06  Nigel Tao  <nigeltao@gnome.org>

        Reviewed by David Kilzer.

        Fix bug 14745: WebKitTools/Scripts/run-launcher doesn't speak --gdk
        http://bugs.webkit.org/show_bug.cgi?id=14745

        * Scripts/run-launcher:
        Scrub the "--gdk" out of the command line args, if given, so that
        GdkLauncher doesn't try to interpret it as a URL.

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

15 years agoBuild fix
sfalken [Mon, 6 Aug 2007 18:07:07 +0000 (18:07 +0000)]
Build fix

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

15 years ago Not reviewed, build fix.
pewtermoose [Mon, 6 Aug 2007 05:48:32 +0000 (05:48 +0000)]
    Not reviewed, build fix.

        * kjs/string_object.cpp:
        (KJS::StringProtoFunc::callAsFunction):

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

15 years ago * mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
darin [Mon, 6 Aug 2007 02:23:00 +0000 (02:23 +0000)]
    * mac/leopard/Skipped: Removed 3 non-platform-specific failing tests.
        * win/Skipped: Ditto.

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

15 years agoChange log entry to mention that my fix was an attempt (that didn't work).
darin [Mon, 6 Aug 2007 02:07:34 +0000 (02:07 +0000)]
Change log entry to mention that my fix was an attempt (that didn't work).

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

15 years ago Reviewed by Darin.
antti [Mon, 6 Aug 2007 02:05:15 +0000 (02:05 +0000)]
    Reviewed by Darin.

        Fix <rdar://problem/5378214>
        Mail crashes at RenderLayer::paintLayer() when dragging a selection over To Do text

        ObjC interface does not guarantee that Document::updateRendering() gets called after
        modification are made to document. This can lead to situation where paint()
        is invoked with document still dirty which can then crash in number of interesting ways.

        - add hasChangedChild() as needsLayout() condition. layout() will then call recalcStyle()
          catching most cases and making sure document is not dirty when entering painting.
        - protect recalcStyle() and layout() from being executed during painting. There are some
          cases needsLayout() protection does not cover.

        No layout test, these states are very hard or impossible to reach using Javascript interface
        (which generally guarantees that updateRendering() is done right after execution).

        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * page/Frame.cpp:
        (WebCore::Frame::paint):
        (WebCore::Frame::setPaintRestriction):
        (WebCore::Frame::isPainting):
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        (WebCore::FrameView::needsLayout):

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

15 years ago - fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events...
darin [Mon, 6 Aug 2007 01:03:01 +0000 (01:03 +0000)]
    - fix <rdar://problem/5383382> Drag/drop of image is failing in fast/events/standalone-image-drag-to-editable.html

        * fast/events/standalone-image-drag-to-editable.html: Fixed race condition in test by using a frame
        counter rather than running the test after a particular frame loads.

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

15 years ago * fast/dom/delete-contents-expected.txt: Updated results, which changed due...
darin [Mon, 6 Aug 2007 00:58:08 +0000 (00:58 +0000)]
    * fast/dom/delete-contents-expected.txt: Updated results, which changed due to r24831, which allows
        comments as children of <html>.

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

15 years ago Reviewed by Darin Adler.
mjs [Sun, 5 Aug 2007 10:52:19 +0000 (10:52 +0000)]
    Reviewed by Darin Adler.

        <rdar://problem/5369110> CrashTracer: [USER] reproducible crash opening particular mail messages

        * platform/network/mac/ResourceHandleMac.mm:
        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Make sure to retain
        self for the body of this method. Otherwise, the willSendRequest could trigger events which will
        cancel the connection, and we access ivars after this point.
        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): retain and release
        in the right order.

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

15 years ago Reviewed by Maciej.
darin [Sun, 5 Aug 2007 10:16:41 +0000 (10:16 +0000)]
    Reviewed by Maciej.

        - fix <rdar://problem/5371862> crash in Dashcode due to Quartz Composer JavaScript garbage collector reentrancy

        * API/JSBase.cpp: (JSGarbageCollect): Don't call collector() if isBusy() returns true.

        * kjs/collector.h: Added isBusy(), removed the unused return value from collect()
        * kjs/collector.cpp: Added an "operation in progress" flag to the allocator.
        (KJS::Collector::allocate): Call abort() if an operation is already in progress. Set the new flag instead
        of using the debug-only GCLock.
        (KJS::Collector::collect): Ditto.
        (KJS::Collector::isBusy): Added.

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

15 years ago Reviewed by Darin and Adam.
mjs [Sun, 5 Aug 2007 05:20:35 +0000 (05:20 +0000)]
    Reviewed by Darin and Adam.

        <rdar://problem/5368990> REGRESSION: newsgator.com sign-on 6x slower than Safari 3 beta due to GC changes (14808)

        * kjs/string_object.cpp:
        (KJS::replace): if the string didn't change (very common in some cases) reuse the original string value.
        (KJS::StringProtoFunc::callAsFunction): Pass in the StringImp* when replacing, not just the UString.
        * kjs/string_object.h:
        (KJS::StringInstance::internalValue): covariant override to return StringImp for convenience

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

15 years ago Another workaround for <rdar://problem/5386894>
aroben [Sun, 5 Aug 2007 04:21:52 +0000 (04:21 +0000)]
    Another workaround for <rdar://problem/5386894>

        Reviewed by Sam.

        This fixed ~150 failing tests.

        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::doUpdateResourceResponse): Hardcode the
        MIME type for .svg files as well.

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

15 years ago Workaround for <rdar://problem/5386894> CFURLResponseGetMIMEType returns...
aroben [Sun, 5 Aug 2007 03:04:47 +0000 (03:04 +0000)]
    Workaround for <rdar://problem/5386894> CFURLResponseGetMIMEType returns "text/html" for local .xhtml and .xml files

        Reviewed by Sam.

        This fixes ~350 failing tests.

        * platform/network/cf/ResourceResponseCFNet.cpp:
        (WebCore::ResourceResponse::doUpdateResourceResponse): Use a workaround
        identical to the one in ResourceResponseMac.mm, but include .xml files
        as well.

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

15 years ago Reviewed by Sam.
oliver [Sun, 5 Aug 2007 02:15:14 +0000 (02:15 +0000)]
    Reviewed by Sam.

        Layout test for <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded

        * fast/loader/plain-text-document-expected.txt: Added.
        * fast/loader/plain-text-document.html: Added.
        * fast/loader/plain-text-document.txt: Added.

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

15 years agoWebCore:
ddkilzer [Sun, 5 Aug 2007 02:06:22 +0000 (02:06 +0000)]
WebCore:

        Reviewed by Oliver.

        - fix for http://bugs.webkit.org/show_bug.cgi?id=14882
          <rdar://problem/5386550> REGRESSION (r24866): text/plain documents are always downloaded

        The supportedNonImageMimeTypes list is used to determine which MIME types may be viewed
        within the web browser (e.g., plug-ins add their own MIME types to the list during
        initialization), so we must add "text/plain" and "text/" back to the list.  Since
        this change would then break DOMImplementation::isTextMIMEType(), that method was reverted
        to its original form and MIMETypeRegistry::shouldTreatAsText() was removed.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::isTextMIMEType): Revert to previous version.
        * platform/MIMETypeRegistry.cpp:
        (WebCore::initialiseSupportedNonImageMimeTypes): Added back "text/plain" and "text/" to the list.
        (WebCore::MIMETypeRegistry::shouldTreatAsText): Removed.
        * platform/MIMETypeRegistry.h:

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

15 years ago2007-08-04 Mark Rowe <mrowe@apple.com>
bdash [Sat, 4 Aug 2007 08:58:35 +0000 (08:58 +0000)]
2007-08-04  Mark Rowe  <mrowe@apple.com>

        Reviewed by Oliver Hunt.

        <rdar://problem/5385145> r24843 introduces a crash on calling fork() (14878)
        http://bugs.webkit.org/show_bug.cgi?id=14878

        Provide nooop functions for all members of the malloc_zone_t and malloc_introspection_t structures that we
        register to avoid crashes in system code that assumes they will be non-null.

        * kjs/CollectorHeapIntrospector.cpp:
        (KJS::CollectorHeapIntrospector::CollectorHeapIntrospector):
        (KJS::CollectorHeapIntrospector::forceLock): Grab the lock.
        (KJS::CollectorHeapIntrospector::forceUnlock): Release the lock.
        * kjs/CollectorHeapIntrospector.h:
        (KJS::CollectorHeapIntrospector::goodSize):
        (KJS::CollectorHeapIntrospector::check):
        (KJS::CollectorHeapIntrospector::print):
        (KJS::CollectorHeapIntrospector::log):
        (KJS::CollectorHeapIntrospector::statistics):
        (KJS::CollectorHeapIntrospector::size):
        (KJS::CollectorHeapIntrospector::zoneMalloc):
        (KJS::CollectorHeapIntrospector::zoneCalloc):
        (KJS::CollectorHeapIntrospector::zoneFree):
        * wtf/FastMalloc.cpp:
        (WTF::FastMallocZone::goodSize):
        (WTF::FastMallocZone::check):
        (WTF::FastMallocZone::print):
        (WTF::FastMallocZone::log):
        (WTF::FastMallocZone::forceLock): Grab the TCMalloc locks.
        (WTF::FastMallocZone::forceUnlock): Release the TCMalloc locks.
        (WTF::FastMallocZone::FastMallocZone):

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

15 years agoAdded the radar # to my FIXME text
beidson [Sat, 4 Aug 2007 07:37:59 +0000 (07:37 +0000)]
Added the radar # to my FIXME text

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

15 years agoWebCore:
beidson [Sat, 4 Aug 2007 07:29:55 +0000 (07:29 +0000)]
WebCore:

        Reviewed by Oliver

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>

        Two issues -
        1 - The WebCore MIMEType registry was designed assuming the list of types would never change
            That is false, as WebKit has API and SPI calls which directly mutate the MIMETypeRegistry
        2 - DOMImplementation didn't consult the registry for any MIMEType that started with "text/",
            instead maintaining it's own hard coded rules

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::isTextMIMEType): For now, call through to the MIMETypeRegistry
          until we decided a different fate for this function

        * platform/MIMETypeRegistry.cpp:
        (WebCore::initialiseSupportedNonImageMimeTypes):  "SupportedNonImageMIMETypes" is really a misnomer for
          "MIMETypes we should show as HTML" but that line has slowly been blurred since Tiger.  In an attempt
          to start to unblur it, remove "text/" and "text/plain"
        (WebCore::MIMETypeRegistry::shouldTreatAsText):  The decision is very close to the old DOMImplementation
          method, except we don't automatically hand off "text/" types as true if they are in the set of supported
          MIMETypes
        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Non-const (can be changed!)
        (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Non-const (can be changed!)
        (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Non-const (can be changed!)
        * platform/MIMETypeRegistry.h:

WebKit:

        Reviewed by Oliver

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14824 and <rdar://problem/5372989>

        When unregistering a MIMEType, remove it from the WebCore registry unconditionally
        When registrying a MIMEType whose view class is WebHTMLView, add it to the WebCore registry

        * WebView/WebView.mm:
        (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
        (+[WebView _registerViewClass:representationClass:forURLScheme:]):
        (+[WebView registerViewClass:representationClass:forMIMEType:]):

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

15 years ago Catch SIGPIPE on Windows so that run-webkit-tests doesn't quit when DRT crashes
aroben [Sat, 4 Aug 2007 03:57:19 +0000 (03:57 +0000)]
 Catch SIGPIPE on Windows so that run-webkit-tests doesn't quit when DRT crashes

        Reviewed by Sam.

        * Scripts/run-webkit-tests: Also close ERROR when we finish running the tests.

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

15 years ago Reviewed by Adam.
adele [Sat, 4 Aug 2007 01:09:02 +0000 (01:09 +0000)]
    Reviewed by Adam.

        Fix for <rdar://problem/5345862> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::Frame::isContentEditable const + 10

        Couldn't reproduce the problem, but a nil check for the frame should fix this.

        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::adjustRenderStyle):

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

15 years agoLayoutTests:
weinig [Sat, 4 Aug 2007 00:22:45 +0000 (00:22 +0000)]
LayoutTests:

        Reviewed by Darin.

        Dump contents of subframes using new layoutTestController.dumpChildFramesAsText()
        function.

        * http/tests/security/cross-frame-access-port-expected.txt:
        * http/tests/security/cross-frame-access-port-explicit-domain-expected.txt:
        * http/tests/security/cross-frame-access-protocol-expected.txt:
        * http/tests/security/cross-frame-access-protocol-explicit-domain-expected.txt:
        * http/tests/security/resources/cross-frame-access.js:

WebKitTools:

        Reviewed by Darin.

        Recursively dump all frames as text using new
        layoutTestController.dumpChildFramesAsText() function.

        * DumpRenderTree/DumpRenderTree.m:
        (dumpFramesAsText):
        (dump):
        (+[LayoutTestController isSelectorExcludedFromWebScript:]):
        (-[LayoutTestController dumpChildFramesAsText]):
        (runTest):
        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.cpp:
        (dumpFramesAsText):
        (dump):
        (runTest):
        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/DumpRenderTree.h:
        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/LayoutTestController.cpp:
        (dumpChildFramesAsTextCallback):
        * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

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

15 years ago Reviewed by Oliver.
andersca [Fri, 3 Aug 2007 23:53:57 +0000 (23:53 +0000)]
    Reviewed by Oliver.

        <rdar://problem/5383286>
        XMLHTTPRequest does not return 401 when user cancels authentication dialog (affects .Mac)

        * loader/ResourceLoader.h:
        Make receivedCancellation virtual.

        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::receivedCancellation):
        Call SubresourceLoaderClient::receivedCancellation.

        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::receivedCancellation):
        Save the failure response.

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

15 years ago Reviewed by Geoff.
andersca [Fri, 3 Aug 2007 23:07:22 +0000 (23:07 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5374393>
        Image change on disk not noticed by WebView; -[WebCache setDisabled:] used to cause a reload every time

        This is essentially a better fix for the crash in <rdar://problem/5362783>.

        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):
        If the resource already exists in the m_docResources map, remove it and disassociate it from the doc loader.

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

15 years ago Reviewed by Geoff.
oliver [Fri, 3 Aug 2007 22:37:08 +0000 (22:37 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5375190> Mail crashed in WebCore::CachedImage::imageSize() const when viewing a particular message

        Fix the uncached load path to confirm that the type of resource being
        returned actually matches the type that was requested.

        Also make sure we never create a resource in the Cache for invalid urls.

        * loader/Cache.cpp:
        (WebCore::Cache::requestResource):
        * loader/DocLoader.cpp:
        (WebCore::DocLoader::requestResource):

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

15 years agoBump version for submit
sfalken [Fri, 3 Aug 2007 22:17:05 +0000 (22:17 +0000)]
Bump version for submit

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

15 years agoLayoutTests:
adele [Fri, 3 Aug 2007 22:15:13 +0000 (22:15 +0000)]
LayoutTests:

        Reviewed by Adele.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14879
          REGRESSION: First item in select (pop-up menu) is displayed even if another item was selected via JavaScript

        * fast/forms/menulist-deselect-update-expected.checksum: Added.
        * fast/forms/menulist-deselect-update-expected.png: Added.
        * fast/forms/menulist-deselect-update-expected.txt: Added.
        * fast/forms/menulist-deselect-update.html: Added.

WebCore:

        Reviewed by Adele.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14879
          REGRESSION: First item in select (pop-up menu) is displayed even if another item was selected via JavaScript

        Test: fast/forms/menulist-deselect-update.html

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setSelected): Reordered to allow setSelectedIndex() to call setChanged().

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

15 years ago Reviewed by Darin.
andersca [Fri, 3 Aug 2007 20:09:51 +0000 (20:09 +0000)]
    Reviewed by Darin.

        <rdar://problem/5286444>
        http://bugs.webkit.org/show_bug.cgi?id=14269
        REGRESSION: Gmail links stop working after computer sleep

        Add a PowerNotifier object that takes care of resetting and firing the shared timer when coming
        back from sleep.

        * platform/mac/SharedTimerMac.cpp:
        (-[PowerNotifier init]):
        (-[PowerNotifier didWake:]):
        (WebCore::setSharedTimerFireTime):

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

15 years ago2007-08-04 Mark Rowe <mrowe@apple.com>
bdash [Fri, 3 Aug 2007 18:46:39 +0000 (18:46 +0000)]
2007-08-04  Mark Rowe  <mrowe@apple.com>

        Windows build fix.

        * rendering/RenderTextControl.cpp: Don't use the same name for two arguments.

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

15 years ago2007-08-04 Mark Rowe <mrowe@apple.com>
bdash [Fri, 3 Aug 2007 18:19:31 +0000 (18:19 +0000)]
2007-08-04  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Anders.

        * pcre/pcre_compile.c: Remove non-ASCII character from a comment.

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

15 years ago Reviewed by Mark Rowe.
thatcher [Fri, 3 Aug 2007 18:03:00 +0000 (18:03 +0000)]
    Reviewed by Mark Rowe.

        Correct the bundle version check to work in Debug and Release builds too.

        * WebKit.xcodeproj/project.pbxproj:

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

15 years agoBump versioning to avoid 4. issues.
bdash [Fri, 3 Aug 2007 17:58:04 +0000 (17:58 +0000)]
Bump versioning to avoid 4. issues.

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

15 years ago2007-08-02 Mark Rowe <mrowe@apple.com>
bdash [Fri, 3 Aug 2007 16:21:44 +0000 (16:21 +0000)]
2007-08-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Geoff Garen.

        <rdar://problem/4212199> 'leaks' reports false leaks in WebKit (because the WTF allocator uses mmap?)

        Implement malloc zone introspection routines to allow leaks, heap, and friends to request information
        about specific memory regions that were allocated by FastMalloc or the JavaScriptCore collector.

        This requires tool-side support before the regions will be displayed.  The addition of that support is
        tracked by <rdar://problems/5353057&5353060>.

        * JavaScriptCore.exp: Export the two variables that are used by leaks to introspect the allocators.
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * kjs/AllInOneFile.cpp:
        * kjs/CollectorZone.cpp: Added.
        (KJS::):
        (KJS::CollectorZone::registerZone):
        (KJS::CollectorZone::CollectorZone): Create and register our zone with the system.
        (KJS::CollectorZone::zoneEnumerator): Iterate over the CollectorBlocks that are in use and report them to the caller as being used.
        * kjs/CollectorZone.h: Added.
        (KJS::CollectorZone::zoneObjectSize): Return zero to indicate the specified pointer does not belong to this zone.
        * kjs/collector.cpp:
        (KJS::Collector::registerThread): Register the CollectorZone with the system when the first thread is registered with the collector.
        * wtf/FastMalloc.cpp:
        (WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe):
        (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects): Enumerate the objects on the free list.
        (WTF::TCMalloc_ThreadCache::enumerateFreeObjects): Ditto.
        (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects): Ditto.
        (WTF::TCMalloc_ThreadCache::InitModule): Register the FastMallocZone with the system when initializing TCMalloc.
        (WTF::FreeObjectFinder::FreeObjectFinder):
        (WTF::FreeObjectFinder::visit): Add an object to the free list.
        (WTF::FreeObjectFinder::isFreeObject):
        (WTF::FreeObjectFinder::freeObjectCount):
        (WTF::FreeObjectFinder::findFreeObjects): Find the free objects within a thread cache or free list.
        (WTF::PageMapFreeObjectFinder::PageMapFreeObjectFinder): Find the free objects within a TC_PageMap.
        (WTF::PageMapFreeObjectFinder::visit): Called once per allocated span.  Record whether the span or any subobjects are free.
        (WTF::PageMapMemoryUsageRecorder::PageMapMemoryUsageRecorder):
        (WTF::PageMapMemoryUsageRecorder::visit): Called once per allocated span.  Report the range of memory as being allocated, and the span or
        it's subobjects as being used if they do not appear on the free list.
        (WTF::FastMallocZone::zoneEnumerator): Map the key remote TCMalloc data structures into our address space.  We then locate all free memory ranges
        before reporting the other ranges as being in use.
        (WTF::FastMallocZone::zoneObjectSize): Determine whether the given pointer originates from within our allocation zone.  If so,
        we return its allocation size.
        (WTF::FastMallocZone::zoneMalloc):
        (WTF::FastMallocZone::zoneCalloc):
        (WTF::FastMallocZone::zoneFree):
        (WTF::FastMallocZone::zoneRealloc):
        (WTF::):
        (WTF::FastMallocZone::FastMallocZone): Create and register our zone with the system.
        (WTF::FastMallocZone::registerZone):
        * wtf/MallocZoneSupport.h: Added.
        (WTF::RemoteMemoryReader::RemoteMemoryReader): A helper class to ease the process of mapping memory in a different process into
        our local address space
        (WTF::RemoteMemoryReader::operator()):
        * wtf/TCPageMap.h:
        (TCMalloc_PageMap2::visit): Walk over the heap and visit each allocated span.
        (TCMalloc_PageMap3::visit): Ditto.

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

15 years ago2007-08-03 Mitz Pettel <mitz@webkit.org>
bdash [Fri, 3 Aug 2007 14:29:26 +0000 (14:29 +0000)]
2007-08-03  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=14653
          REGRESSION (r23994): No caret is drawn after clicking a search field's placeholder text
          <rdar://problem/5383841>

        Test: fast/forms/search-click-in-placeholder.html

        Defined a subclass of RenderBlock that never hit-tests children for use in
        text controls. This avoids returning placeholder text as the hit node.
        Since text controls cannot contain inline elements, there is no harm in
        doing that unconditionally, and not just in the case that the field is
        showing placeholder text.

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
        (WebCore::RenderTextControlInnerBlock::~RenderTextControlInnerBlock):
        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
        (WebCore::RenderTextControl::createSubtreeIfNeeded):

2007-08-03  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - test for http://bugs.webkit.org/show_bug.cgi?id=14653
          REGRESSION (r23994): No caret is drawn after clicking a search field's placeholder text
          <rdar://problem/5383841>

        * fast/forms/search-click-in-placeholder-expected.txt: Added.
        * fast/forms/search-click-in-placeholder.html: Added.

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

15 years agoVersioning.
bdash [Fri, 3 Aug 2007 11:33:43 +0000 (11:33 +0000)]
Versioning.

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

15 years ago Updated Skipped files for Windows and Leopard.
aroben [Fri, 3 Aug 2007 07:21:49 +0000 (07:21 +0000)]
    Updated Skipped files for Windows and Leopard.

        * mac/leopard/Skipped: Removed a test that has been moved (and only
        fails on Windows), and added new failures.
        * win/Skipped: Added new failures and annotated some old ones.

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

15 years ago Fix a typo in fast/events/no-blur-on-page
aroben [Fri, 3 Aug 2007 07:21:25 +0000 (07:21 +0000)]
 Fix a typo in fast/events/no-blur-on-page

        Reviewed by Sam.

        * fast/events/no-blur-on-page-leave-expected.txt: Updated.
        * fast/events/no-blur-on-page-leave.html: Fixed typo.

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

15 years ago Fix fast/dom/Window/alert-undefined.html
aroben [Fri, 3 Aug 2007 07:21:15 +0000 (07:21 +0000)]
 Fix fast/dom/Window/alert-undefined.html

        Reviewed by Sam.

        * DumpRenderTree/DumpRenderTree.vcproj/DumpRenderTree/WaitUntilDoneDelegate.cpp:
        (WaitUntilDoneDelegate::runJavaScriptAlertPanelWithMessage): Don't let
        Windows translate a null BSTR into "(null)"

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

15 years ago Reviewed by Geoff
oliver [Fri, 3 Aug 2007 03:17:33 +0000 (03:17 +0000)]
    Reviewed by Geoff

        Fix for <rdar://problem/5369332> Xcode crashes while selecting a hyperlink within a AppleScript dictionary (WebCore::Font::drawGlyphBuffer)

        There were many places where we were not correctly retaining/releasing the
        NSFont object stored in the C++ PlatformFontData object, this resulted in
        the GC incorrectly collecting the NSFont.

        This patch fixes the problem by prevent direct modification of the PlatformFontData
        font pointer, allowing us to enforce correct CFRetain/Release behaviour.

        * platform/FontData.h:
        (WebCore::FontData::getNSFont):
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters):
        (WebCore::FontCache::createFontPlatformData):
        * platform/mac/FontDataMac.mm:
        (WebCore::initFontData):
        (WebCore::FontData::platformInit):
        (WebCore::FontData::platformDestroy):
        (WebCore::FontData::smallCapsFontData):
        (WebCore::FontData::containsCharacters):
        (WebCore::FontData::determinePitch):
        (WebCore::FontData::platformWidthForGlyph):
        (WebCore::FontData::checkShapesArabic):
        * platform/mac/FontMac.mm:
        (WebCore::initializeATSUStyle):
        (WebCore::overrideLayoutOperation):
        (WebCore::Font::drawGlyphs):
        * platform/mac/FontPlatformData.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::~FontPlatformData):
        (WebCore::FontPlatformData::hash):
        (WebCore::FontPlatformData::operator==):
        (WebCore::FontPlatformData::font):
        (WebCore::FontPlatformData::setFont):

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

15 years ago Reviewed by Kevin McCullough.
weinig [Fri, 3 Aug 2007 00:24:05 +0000 (00:24 +0000)]
    Reviewed by Kevin McCullough.

        Change test to use shared shouldBe function to
        show failures more clearly.

        * fast/dom/Window/window-resize-expected.txt:
        * fast/dom/Window/window-resize.html:

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

15 years ago Oops, this change wasn't supposed to be commited.
antti [Thu, 2 Aug 2007 23:54:15 +0000 (23:54 +0000)]
    Oops, this change wasn't supposed to be commited.

        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setBaseBackgroundColor:]):

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

15 years ago Reviewed by Darin.
antti [Thu, 2 Aug 2007 23:45:27 +0000 (23:45 +0000)]
    Reviewed by Darin.

        <rdar://problem/5355951>
        plainText() fragments TCMalloc heap badly on large pages

        also likely fixes some cases of
        <rdar://problem/5335382>
        CrashTracer: [REGRESSION] 73 crashes in Safari at com.apple.WebCore: WebCore::DeprecatedStringData::increaseUnicodeSize + 52

        If you load http://dscoder.com/test.txt with WebKit build with TCMalloc and system malloc you see that
        Safari RPRVT with TCMalloc is 118.8MB
        Safari RPRVT with system malloc is 69.7MB

        Difference is almost entirely caused by heap fragmentation from a full document plainText() call (for indexing purposes).

        The patch helps in two ways:
        - construct plainText string in pieces to avoid O(n^2) reallocs
        - allocate buffers using system malloc so they can be returned back to OS and don't fragment and grow TCMalloc heap

        This shrinks http://dscoder.com/test.txt RPRVT to 79.0MB and makes full document plainText() take 50ms instead of 500ms.
        The benefits are not limited to extreme cases, web pages above ~200kB can show substantial improvement in RPRVT.

        * editing/TextIterator.cpp:
        (WebCore::plainTextToMallocAllocatedBuffer):
        (WebCore::plainText):
        * editing/TextIterator.h:
        * page/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge selectedString]):
        (-[WebCoreFrameBridge stringForRange:]):

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

15 years ago Fix for 5374437, allow comment nodes to be the child of a document.
hyatt [Thu, 2 Aug 2007 22:50:26 +0000 (22:50 +0000)]
    Fix for 5374437, allow comment nodes to be the child of a document.
        Refine the check to always make a root element to check documentElement()
        rather than firstChild(), since a comment node could be present as the
        firstChild() now.

        Reviewed by Tim Hatcher

        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::childAllowed):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::finished):

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

15 years ago Reviewed by Tim.
kmccullo [Thu, 2 Aug 2007 22:39:52 +0000 (22:39 +0000)]
    Reviewed by Tim.

        - It would help if I actually called the right function.

        * Drosera/DebuggerDocument.cpp:
        (DebuggerDocument::showConsole):

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

15 years agoLayoutTests:
antti [Thu, 2 Aug 2007 22:00:11 +0000 (22:00 +0000)]
LayoutTests:

        Reviewed by Darin.

        <rdar://problem/5228138>
        REGRESSION(Leopard): test failures: tests that test Georgian numbering

        Correct counter test results for Georgian numbers.
        Add leopard specific versions needed due to font changes (actual characters instead of boxes).

        * css2.1/t1202-counter-09-b-expected.txt:
        * css2.1/t1202-counters-09-b-expected.txt:
        * mac/leopard/Skipped:
        * mac/leopard/css2.1: Added.
        * mac/leopard/css2.1/t1202-counter-09-b-expected.txt: Added.
        * mac/leopard/css2.1/t1202-counters-09-b-expected.txt: Added.
        * mac/leopard/fast/lists: Added.
        * mac/leopard/fast/lists/w3-list-styles-expected.txt: Added.

WebCore:

        Reviewed by Darin.

        <rdar://problem/5228138>
        REGRESSION(Leopard): test failures: tests that test Georgian numbering

        Fix to Georgian number tables to get CSS2.1 test results right. Font has relevant characters now
        which revealed that results were actually wrong.

        * rendering/RenderListMarker.cpp:
        (WebCore::toGeorgian):

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

15 years ago Reviewed by Geoff.
antti [Thu, 2 Aug 2007 21:41:26 +0000 (21:41 +0000)]
    Reviewed by Geoff.

        Fix <rdar://problem/5228233>
        REGRESSION(Leopard): layout test failures: fast/table/absolute-table-at-bottom

        Remove an arrow symbol unrelated to what is being tested. It has different metrics on Leopard.

        * fast/table/absolute-table-at-bottom-expected.checksum:
        * fast/table/absolute-table-at-bottom-expected.png:
        * fast/table/absolute-table-at-bottom-expected.txt:
        * fast/table/absolute-table-at-bottom.html:
        * mac/leopard/Skipped:

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

15 years ago Reviewed by Tim
beidson [Thu, 2 Aug 2007 20:08:15 +0000 (20:08 +0000)]
    Reviewed by Tim

        <rdar://problem/5381463> - setMIMETypesShownAsHTML mutates while enumerating

        * WebView/WebView.mm:
        (+[WebView setMIMETypesShownAsHTML:]): Copy the dictionary before we work with it.

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

15 years ago2007-08-02 Ada Chan <adachan@apple.com>
adachan [Thu, 2 Aug 2007 18:24:05 +0000 (18:24 +0000)]
2007-08-02  Ada Chan  <adachan@apple.com>

        Reviewed by Steve.

WebCore:
        <rdar://problem/5079175> Added parameters headerHeight and footerHeight to
        computePageRectsForFrame() so we can account for the header and footer when
        calculating page heights for this frame.

        * bridge/win/FrameWin.cpp:
        (WebCore::computePageRectsForFrame):
        * bridge/win/FrameWin.h:

WebKit/win:
        <rdar://problem/5079175> Printing header and footer

        * Interfaces/IWebUIDelegate.idl: added methods for header/footer drawing.
        * WebFrame.cpp:
        (WebFrame::headerAndFooterHeights): ask client for the header and
        footer heights via IWebUIDelegate2 methods.
        (WebFrame::computePageRects): pass in header and footer heights when
        calculating page rect heights.
        (WebFrame::spoolPages): ask client to draw header and footer via
        IWebUIDelegate2 methods.
        * WebFrame.h:
        * WebKitGraphics.cpp:
        (DrawTextAtPoint): the code assumes color has 4 components - might as well
        assert it.

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

15 years agoAdd an interface for the useragent string
staikos [Thu, 2 Aug 2007 11:56:59 +0000 (11:56 +0000)]
Add an interface for the useragent string

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

15 years ago2007-08-02 Mark Rowe <mrowe@apple.com>
bdash [Thu, 2 Aug 2007 10:01:46 +0000 (10:01 +0000)]
2007-08-02  Mark Rowe  <mrowe@apple.com>

        Layout test fix, rubber-stamped by Oliver.

        * fast/js/resources/string-concatenate-outofmemory.js:  Don't let an out of memory exception during verification cause a failure.
        The exception is a perfectly valid success case as it shows that access the string did not cause a crash.

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

15 years ago2007-08-02 Mark Rowe <mrowe@apple.com>
bdash [Thu, 2 Aug 2007 09:49:12 +0000 (09:49 +0000)]
2007-08-02  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * kjs/ustring.cpp:
        (KJS::UString::expandedSize):  Use std::numeric_limits<size_t>::max() rather than the non-portable SIZE_T_MAX.

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

15 years ago2007-08-02 Mark Rowe <mrowe@apple.com>
bdash [Thu, 2 Aug 2007 09:33:22 +0000 (09:33 +0000)]
2007-08-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        <rdar://problem/5352887> "Out of memory" error during repeated JS string concatenation leaks hundreds of MBs of RAM

        A call to fastRealloc was failing which lead to UString::expandCapacity leaking the buffer it was trying to reallocate.
        It also resulted in the underlying UString::rep having both a null baseString and buf field, which meant that attempting
        to access the contents of the string after the failed memory reallocation would crash.

        A third issue is that expandedSize size was calculating the new length in a way that led to an integer overflow occurring.
        Attempting to allocate a string more than 190,000,000 characters long would fail a the integer overflow would lead to a
        memory allocation of around 3.6GB being attempted rather than the expected 390MB.  Sizes that would lead to an overflow
        are now  returned as zero and callers are updated to treat this as though the memory allocation has failed.

        * kjs/array_object.cpp:
        (ArrayProtoFunc::callAsFunction): Check whether the append failed and raise an "Out of memory" exception if it did.
        * kjs/ustring.cpp:
        (KJS::allocChars): Wrapper around fastMalloc that takes a length in characters.  It will return 0 when asked to allocate a zero-length buffer.
        (KJS::reallocChars): Wrapper around fastRealloc that takes a length in characters.  It will return 0 when asked to allocate a zero-length buffer.
        (KJS::UString::expandedSize): Split the size calculation in two and guard against overflow during each step.
        (KJS::UString::expandCapacity): Don't leak r->buf if reallocation fails.  Instead free the memory and use the null representation.
        (KJS::UString::expandPreCapacity): If fastMalloc fails then use the null representation rather than crashing in memcpy.
        (KJS::UString::UString): If calls to expandCapacity, expandPreCapacity or fastMalloc fail then use the null representation rather than crashing in memcpy.
        (KJS::UString::append): Ditto.
        (KJS::UString::operator=): Ditto.
        * kjs/ustring.h: Change return type of expandedSize from int to size_t.

2007-08-02  Mark Rowe  <mrowe@apple.com>

        Reviewed by Maciej.

        <rdar://problem/5352887> "Out of memory" error during repeated JS string concatenation leaks hundreds of MBs of RAM

        Update test to check that accessing the string after the "Out of memory" exception was raised does not crash.

        * fast/js/resources/string-concatenate-outofmemory.js:
        * fast/js/string-concatenate-outofmemory-expected.txt:

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

15 years agoforgot to add info about the bug being fixed
aliceli1 [Thu, 2 Aug 2007 07:24:13 +0000 (07:24 +0000)]
forgot to add info about the bug being fixed

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

15 years agoWebCore:
aliceli1 [Thu, 2 Aug 2007 07:13:31 +0000 (07:13 +0000)]
WebCore:

        Reviewed by Kevin McCullough.

        fixed <rdar://problem/5310312> REGRESSION: javascript is mis-escaped at http://labs.zarate.org/passwd causing bookmarklet to break

        * WebCore.exp:
        expose some calls for WebKit to call.
        * manual-tests/JavaScript-bookmarklets.html: Added.

WebKit:

        Reviewed by Kevin McCullough.

        * Misc/WebNSURLExtras.mm:
        (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
        (-[NSURL _web_userVisibleString]):
        (-[NSURL _web_URLWithLowercasedScheme]):
        (-[NSURL _web_dataForURLComponentType:]):
        These 4 changes are just casting changes.

        (-[NSString _webkit_stringByReplacingValidPercentEscapes]):
        This change replaces the call to an NSURL method with a webcore one that doesn't abort the escaping effort once an illegal character is encountered.

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

15 years ago Don't delete the stderr file right after creating it
aroben [Thu, 2 Aug 2007 07:01:42 +0000 (07:01 +0000)]
    Don't delete the stderr file right after creating it

        Reviewed by NOBODY.

        * Scripts/run-webkit-tests:

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

15 years ago When DRT crashes, record stderr and restart DRT
aroben [Thu, 2 Aug 2007 06:24:50 +0000 (06:24 +0000)]
    When DRT crashes, record stderr and restart DRT

        This prevents a DRT crash from causing the next few hundred tests to
        "fail" because DRT is no longer running.

        I also changed the terminology that run-webkit-tests uses in its
        output a bit, so that crashing tests are referred to as "crashes"
        instead of "failures".

        Reviewed by Mark.

        * Scripts/run-webkit-tests: Detect a crash and record it as a tool
        failure.
        (sub openDumpTool): Use open3 so that we can access stderr.
        (sub dumpToolCrashed): Added.
        (sub printFailureMessageForTest): Added.
        (sub htmlForExpectedAndActualResults): Added.
        (sub deleteExpectedAndActualResults): Added.
        (sub recordActualResultsAndDiff): Added.

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

15 years agoAdd an interface to manage global history for clients
treat [Thu, 2 Aug 2007 04:21:28 +0000 (04:21 +0000)]
Add an interface to manage global history for clients

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

15 years agoDo not call update or repaint from inside a paint event.
treat [Thu, 2 Aug 2007 02:24:33 +0000 (02:24 +0000)]
Do not call update or repaint from inside a paint event.

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

15 years ago Fix build.
andersca [Thu, 2 Aug 2007 01:43:19 +0000 (01:43 +0000)]
    Fix build.

        * Misc/WebNSURLExtras.mm:
        (+[NSURL _web_URLWithUserTypedString:relativeToURL:]):
        (-[NSURL _web_userVisibleString]):
        (-[NSURL _web_URLWithLowercasedScheme]):
        (-[NSURL _web_dataForURLComponentType:]):

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

15 years ago Reviewed by .
aliceli1 [Thu, 2 Aug 2007 01:18:37 +0000 (01:18 +0000)]
    Reviewed by .

        Making WebNSURLExtras objc++

        * Misc/WebNSURLExtras.m: Removed.
        * Misc/WebNSURLExtras.mm: Copied from WebKit/Misc/WebNSURLExtras.m.
        * WebKit.xcodeproj/project.pbxproj:

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

15 years ago Reviewed by Anders Carlsson and Kevin Decker.
darin [Thu, 2 Aug 2007 01:15:23 +0000 (01:15 +0000)]
    Reviewed by Anders Carlsson and Kevin Decker.

        - fix <rdar://problem/5377432> Removal of MakeDataExecutable from 64-bit breaks WebKit build

        The trick was to ifdef out more of the code that's only needed to support CFM, which exists
        only for 32-bit PowerPC.

        * Plugins/WebNetscapePluginPackage.h: Define a SUPPORT_CFM symbol in this internal header when
        we support CFM. We support it only on 32-bit PowerPC. Only define the isBundle, isCFM, and
        connID fields when SUPPORT_CFM is on. Also use ResFileRefNum instead of SInt16.
        * Plugins/WebNetscapePluginPackage.m: Only compile the function pointer and transition vector
        functions when SUPPORT_CFM is on.
        (-[WebNetscapePluginPackage openResourceFile]): Put the non-bundle case inside a SUPPORT_CFM
        ifdef, since all non-CFM plug-ins are bundles.
        (-[WebNetscapePluginPackage closeResourceFile:]): Ditto.
        (-[WebNetscapePluginPackage _initWithPath:]): Use SUPPORT_CFM to compile out the code for
        non-bundle and bundle-based CFM plug-ins, and code that sets isBundle and isCFM.
        (-[WebNetscapePluginPackage executableType]): Put the CFM case inside SUPPORT_CFM.
        (-[WebNetscapePluginPackage load]): Put the non-bundle and CFM cases inside SUPPORT_CFM.
        There was a bit of dead code here.
        (-[WebNetscapePluginPackage _unloadWithShutdown:]): Put the non-bundle case inside
        SUPPORT_CFM.

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

15 years ago Reviewed by Justin.
thatcher [Thu, 2 Aug 2007 00:35:29 +0000 (00:35 +0000)]
    Reviewed by Justin.

        <rdar://problem/5376156> Mail crash in DeleteButtonController::hide() when dropping selected image on DIV's border

        Add the container element back so the selection can not touch the deletion UI nodes. The container
        has style to prevent user selection, user drag and user modification.

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::show): Make the container node, and append the button and outline elements.
        (WebCore::DeleteButtonController::hide): Remove the container elements and null out the other nodes.
        * editing/DeleteButtonController.h:

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

15 years ago Reviewed by Kevin McCullough.
darin [Thu, 2 Aug 2007 00:30:08 +0000 (00:30 +0000)]
    Reviewed by Kevin McCullough.

        - fix <rdar://problem/5375186> pointers to pieces of class definition passed to JSClassCreate should all be const

        * API/JSObjectRef.h: Added const.

        * API/JSClassRef.cpp:
        (OpaqueJSClass::OpaqueJSClass): Added const.
        (OpaqueJSClass::create): Added const.
        * API/JSObjectRef.cpp:
        (JSClassCreate): Added const.

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

15 years ago Build mod: Fix sln to match configs in vcproj.
sfalken [Wed, 1 Aug 2007 21:14:01 +0000 (21:14 +0000)]
    Build mod: Fix sln to match configs in vcproj.

        Reviewed by Adam.

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

15 years ago fast/encoding/char-encoding.html no longer needs to be in the Leopard skiplist
oliver [Wed, 1 Aug 2007 04:30:42 +0000 (04:30 +0000)]
    fast/encoding/char-encoding.html no longer needs to be in the Leopard skiplist

        * mac/leopard/Skipped:

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

15 years ago Reviewed by Justin.
harrison [Wed, 1 Aug 2007 00:40:23 +0000 (00:40 +0000)]
    Reviewed by Justin.

        <rdar://problem/5362659> CrashTracer: [USER] 11 crashes in Mail at WebCore::InsertLineBreakCommand::doApply()

        The problem was that deleting with the X control leaves the selection inside the fragment that was deleted.

        * editing/DeleteButtonController.cpp:
        (WebCore::DeleteButtonController::deleteTarget):
        Because the deletion UI only appears when the selection is entirely
        within the target, we unconditionally update the selection to be
        a caret where the target had been.

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

15 years agoLayoutTests:
adele [Wed, 1 Aug 2007 00:36:49 +0000 (00:36 +0000)]
LayoutTests:

        Reviewed by Hyatt.

        Updated tests for <rdar://problem/5339395> REGRESSION:http://sudokucraving.com does not render grid correctly

        * fast/forms/input-appearance-minWidth.html: Removed. This test is covered by fast/replaced/width100percent-textfield.html.
        * fast/forms/input-appearance-minWidth-expected.checksum: Removed.
        * fast/forms/input-appearance-minWidth-expected.png: Removed.
        * fast/forms/input-appearance-minWidth-expected.txt: Removed.

        * fast/forms/input-table-expected.checksum:
        * fast/forms/input-table-expected.png:
        * fast/forms/input-table-expected.txt:
        * fast/replaced/width100percent-menulist-expected.checksum:
        * fast/replaced/width100percent-menulist-expected.png:
        * fast/replaced/width100percent-menulist-expected.txt:
        * fast/replaced/width100percent-searchfield-expected.checksum: Added.
        * fast/replaced/width100percent-searchfield-expected.png: Added.
        * fast/replaced/width100percent-searchfield-expected.txt: Added.
        * fast/replaced/width100percent-searchfield.html: Added.
        * fast/replaced/width100percent-textarea-expected.checksum:
        * fast/replaced/width100percent-textarea-expected.png:
        * fast/replaced/width100percent-textarea-expected.txt:
        * fast/replaced/width100percent-textfield-expected.checksum:
        * fast/replaced/width100percent-textfield-expected.png:
        * fast/replaced/width100percent-textfield-expected.txt:

WebCore:

        Reviewed by Hyatt.

         Fix for <rdar://problem/5339395> REGRESSION:http://sudokucraving.com does not render grid correctly

        * rendering/RenderTextControl.h: (WebCore::RenderTextControl::hasControlClip): Clip for search fields.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::controlClipRect): Added a control clip so the search field's cancel button and magnifier glass
         never draw outside the control's bounds.
        (WebCore::RenderTextControl::calcPrefWidths): Only include the inner box's padding when calculating the min/max width without using calcContentBoxWidth.
         Our old behavior was causing that inner padding to get counted twice.  Also, no need to add in the border
         for an inner box that can't be controlled from outside this class.
        * rendering/RenderMenuList.cpp: (WebCore::RenderMenuList::calcPrefWidths): ditto.

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

15 years ago Reviewed by Geoff.
andersca [Wed, 1 Aug 2007 00:20:04 +0000 (00:20 +0000)]
    Reviewed by Geoff.

        Speculative fix for <rdar://problem/5359695>
        REGRESSION (Tiger Beta): Multiple crashes in WebCore::Widget::getView() const + 6

        * page/EventHandler.cpp:
        (WebCore::EventHandler::updateDragAndDrop):
        Null check the frame view.

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

15 years agoWebCore:
thatcher [Tue, 31 Jul 2007 21:17:51 +0000 (21:17 +0000)]
WebCore:

        Reviewed by Oliver and Beth.

        <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked.

        Rename needsAcrobatFrameReloadingQuirk to needsAdobeFrameReloadingQuirk, since this now applies to more Adobe applications.

        * WebCore.exp:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setNeedsAdobeFrameReloadingQuirk):
        * page/Settings.h:
        (WebCore::Settings::needsAcrobatFrameReloadingQuirk):

WebKit:

        Reviewed by Oliver and Beth.

        <rdar://problem/5211271> ADOBE Leopard 9A410: At the first Launching InDesign after deactivate, EULA page gets blanked.

        Check for more Adobe applications that need the frame reload quirk. Also cache the answer
        so the version check dosen't happen more than once.

        * WebView/WebView.mm:
        (-[WebView _needsAdobeFrameReloadingQuirk]):
        (-[WebView _updateWebCoreSettingsFromPreferences:]):

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

15 years agoLayoutTests:
beidson [Tue, 31 Jul 2007 20:29:02 +0000 (20:29 +0000)]
LayoutTests:

        Reviewed by Brady

        Test for http://bugs.webkit.org/show_bug.cgi?id=14757
        HTMLTokenizer::processingData implementation is incorrect

        * http/tests/loading/slow-parsing-subframe-expected.txt: Added.
        * http/tests/loading/slow-parsing-subframe.html: Added.

WebCore:

        Reviewed by Brady and Darin, tweaked by Brady, landed by Brady

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14757 and <rdar://problem/5364692>
        HTMLTokenizer::processingData implementation is incorrect

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processingData): Made it also return true if the HTMLTokenizer was inside the write() call.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::checkLoadCompleteTimerFired):
        (WebCore::FrameLoader::scheduleCheckLoadComplete):
        (WebCore::FrameLoader::stopForUserCancel): Changed a call to checkLoadComplete to be asynchronous, since
        stopForUserCancel can be called while parsing.
        * loader/FrameLoader.h:

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

15 years ago Reviewed by Oliver.
adele [Tue, 31 Jul 2007 19:54:51 +0000 (19:54 +0000)]
    Reviewed by Oliver.

        Fix for <rdar://problem/5308020> REGRESSION: Command-N with Dvorak-Qwerty keyboard layout stopped working inside web page text fields

        * WebView/WebHTMLView.mm: (-[WebHTMLView _handleStyleKeyEquivalent:]):
        The input method may have modified the character we get, so don't use charactersIgnoringModifiers to interpret the character we get.

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

15 years ago Reviewed by Geoff.
andersca [Tue, 31 Jul 2007 19:08:04 +0000 (19:08 +0000)]
    Reviewed by Geoff.

        <rdar://problem/5371582>
        REGRESSION: PLT .5% slower due to r24451 (copying HTMLCollection objects)

        Make the hash maps store CollectionInfo pointers to reduce amount of copying when
        inserting/rehashing etc.

        * dom/Document.cpp:
        (WebCore::Document::~Document):
        (WebCore::Document::nameCollectionInfo):
        * dom/Document.h:

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

15 years ago Reviewed by Beth.
adele [Tue, 31 Jul 2007 18:38:05 +0000 (18:38 +0000)]
    Reviewed by Beth.

        Updated this test to force display to happen earlier. This works around a bug in DRT that draws the scrollbars in a different way from Safari.

        * fast/replaced/width100percent-textarea-expected.checksum:
        * fast/replaced/width100percent-textarea-expected.png:
        * fast/replaced/width100percent-textarea.html:

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

15 years ago Reviewed by Sam.
adele [Tue, 31 Jul 2007 18:27:21 +0000 (18:27 +0000)]
    Reviewed by Sam.

        Breaking up fast/replaced/width100percent.html into separate tests for the different elements.

        * fast/replaced/width100percent-button-expected.checksum: Added.
        * fast/replaced/width100percent-button-expected.png: Added.
        * fast/replaced/width100percent-button-expected.txt: Added.
        * fast/replaced/width100percent-button.html: Added.
        * fast/replaced/width100percent-checkbox-expected.checksum: Added.
        * fast/replaced/width100percent-checkbox-expected.png: Added.
        * fast/replaced/width100percent-checkbox-expected.txt: Added.
        * fast/replaced/width100percent-checkbox.html: Added.
        * fast/replaced/width100percent-image-expected.checksum: Added.
        * fast/replaced/width100percent-image-expected.png: Added.
        * fast/replaced/width100percent-image-expected.txt: Added.
        * fast/replaced/width100percent-image.html: Added.
        * fast/replaced/width100percent-menulist-expected.checksum: Added.
        * fast/replaced/width100percent-menulist-expected.png: Added.
        * fast/replaced/width100percent-menulist-expected.txt: Added.
        * fast/replaced/width100percent-menulist.html: Added.
        * fast/replaced/width100percent-radio-expected.checksum: Added.
        * fast/replaced/width100percent-radio-expected.png: Added.
        * fast/replaced/width100percent-radio-expected.txt: Added.
        * fast/replaced/width100percent-radio.html: Added.
        * fast/replaced/width100percent-textarea-expected.checksum: Added.
        * fast/replaced/width100percent-textarea-expected.png: Added.
        * fast/replaced/width100percent-textarea-expected.txt: Added.
        * fast/replaced/width100percent-textarea.html: Added.
        * fast/replaced/width100percent-textfield-expected.checksum: Added.
        * fast/replaced/width100percent-textfield-expected.png: Added.
        * fast/replaced/width100percent-textfield-expected.txt: Added.
        * fast/replaced/width100percent-textfield.html: Added.

        * fast/replaced/width100percent.html: Removed.
        * fast/replaced/width100percent-expected.checksum: Removed.
        * fast/replaced/width100percent-expected.png: Removed.
        * fast/replaced/width100percent-expected.txt: Removed.

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

15 years agoLayoutTests:
weinig [Tue, 31 Jul 2007 17:58:46 +0000 (17:58 +0000)]
LayoutTests:

        Reviewed by Mitz.

        Updated tests for http://bugs.webkit.org/show_bug.cgi?id=14825
        Non-integer hsl() colours are ignored

        * fast/css/hsl-color-expected.checksum:
        * fast/css/hsl-color-expected.png:
        * fast/css/hsl-color-expected.txt:
        * fast/css/hsl-color.html: Add non-integer hue tests
        * fast/css/hsla-color-expected.checksum:
        * fast/css/hsla-color-expected.png:
        * fast/css/hsla-color-expected.txt:
        * fast/css/hsla-color.html: Add non-integer hue tests

WebCore:

        Reviewed by Mitz.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=14825
        Non-integer hsl() colours are ignored

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseHSLParameters): Parse hue as a Number,
        not an Integer.

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