WebKit-https.git
16 years ago Reviewed by Darin.
adele [Sun, 23 Jul 2006 23:40:19 +0000 (23:40 +0000)]
    Reviewed by Darin.

        - Fix for <rdar://problem/4646276> CrashTracer: 7 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::paint + 155

        * WebView/WebHTMLView.m: (-[WebHTMLView _web_layoutIfNeededRecursive:testDirtyRect:]):
        needsDisplay was returning NO even though the view has a dirty rect (see <rdar://problem/4647062>).  Since we know about
        the dirty rect, we don't actually need to check needsDisplay.

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

16 years ago Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)
bdakin [Sun, 23 Jul 2006 23:36:45 +0000 (23:36 +0000)]
    Reviewed by Maciej. (Patch by me, Maciej, and Harrison.)

        Fix for <rdar://problem/4529398> WebCore crashes when pasting rich
        text - WebCore::InlineBox::root()

        The initial rendering crash was due to a render object having a
        stale reference to an inline box that had already been deleted and
        then recreated in the exact same location in memory. (Crazy, I
        know.) The situation seemed pretty specific to list markers
        according to Hyatt according to Maciej, so that is what I patched
        specifically. Fixing this crash unearthed a separate editing crash
        where we were trying to insert a block into itself. I worked on
        that with Maciej and Harrison, and Harrison came up with a fix.

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): This is the fix for the editing crash. If paragraphStart is an atomic
        node, insert the new block into the parent instead.
        * rendering/InlineBox.cpp:
        (WebCore::InlineBox::isChildOfParent): This function is for
        posterity. It will help keep the linebox tree in check.
        * rendering/InlineBox.h:
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addToLine): Added assert.
        (WebCore::InlineFlowBox::deleteLine): Added assert.
        * rendering/ListMarkerBox.cpp:
        (WebCore::ListMarkerBox::destroy): If this has a parent, call
        removeChild on this.
        (WebCore::ListMarkerBox::operator delete):
        * rendering/ListMarkerBox.h:

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

16 years ago Reviewed by Darin.
aliceli1 [Sun, 23 Jul 2006 23:17:38 +0000 (23:17 +0000)]
    Reviewed by Darin.

        fixed <rdar://problem/4617841> REGRESSION (NativeTextField): You can move keyboard focus to a field without getting insertion point

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates):
        removed some unnecessary vertical position checks and added a fudge factor to be more forgiving for clicks near lines.
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::nodeAtPoint):
        added implementation
        * rendering/RenderTextControl.h:
        added function protocol

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

16 years ago 2006-07-23 Geoffrey Garen <ggaren@apple.com>
ggaren [Sun, 23 Jul 2006 21:59:00 +0000 (21:59 +0000)]
2006-07-23  Geoffrey Garen  <ggaren@apple.com>

        Patch by Eric Albert, reviewed by Darin and me.

        - Fixed <rdar://problem/4645931> JavaScriptCore stack-scanning code
        crashes (Collector::markStackObjectsConservatively)

        * bindings/jni/jni_jsobject.cpp: On 64bit systems, jint is a long, not an
        int.
        (JavaJSObject::getSlot):
        (JavaJSObject::setSlot):
        * kjs/collector.cpp:
        (KJS::Collector::markCurrentThreadConservatively): Use a pointer instead of
        an int as 'dummy,' because on LP64 systems, an int is not pointer-aligned,
        and we want to scan the stack for pointers.
        * JavaScriptCore.xcodeproj/project.pbxproj: After a tense cease-fire, the
        XCode war has started up again!

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

16 years ago Reviewed by Darin.
adele [Sun, 23 Jul 2006 17:28:23 +0000 (17:28 +0000)]
    Reviewed by Darin.

        Updating fix from last checkin.

        * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
        Only tell the view about this flexbox if there isn't another flexbox already cached.

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

16 years agoLayoutTests:
adele [Sun, 23 Jul 2006 08:52:48 +0000 (08:52 +0000)]
LayoutTests:

        Reviewed by Maciej.

        Test for: <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling

        * fast/forms/textarea-scrolled-type-expected.checksum: Added.
        * fast/forms/textarea-scrolled-type-expected.png: Added.
        * fast/forms/textarea-scrolled-type-expected.txt: Added.
        * fast/forms/textarea-scrolled-type.html: Added.

WebCore:

        Reviewed by Maciej.

        - Fix for <rdar://problem/4644614> REGRESSION: Typing, pasting or dragging in new text areas causes unnecessary scrolling

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Don't updateScrollInfoAfterLayout if an ancestor flexible box is just on
        its first layout.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): ditto.
        (WebCore::RenderFlexibleBox::layoutVerticalBox): Let the view know if this flex box is doing its first pass at layout.

        * rendering/RenderView.cpp: (WebCore::RenderView::RenderView): Caches a flexible box that's doing its first layout.
        * rendering/RenderView.h:
        (WebCore::RenderView::setFlexBoxInFirstLayout):
        (WebCore::RenderView::flexBoxInFirstLayout):

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

16 years ago Rolling out r15572.
thatcher [Sun, 23 Jul 2006 01:37:40 +0000 (01:37 +0000)]
    Rolling out r15572.

        Bug 10062: REGRESSION: dom/xhtml/level2/html/HTMLIFrameElement11.xhtml asserts/crashes
        http://bugzilla.opendarwin.org/show_bug.cgi?id=10062

    2006-07-21  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Maciej.

        <rdar://problem/4609195> Help Viewer loads empty window
        (not getting didFailLoadingWithError: callback)

        Call super's didFailWithError before _receivedMainResourceError
        because _receivedMainResourceError will cause the datasource's
        frame to be set to nil before the didFailLoadingWithError delegate
        callback is sent. (This order is needed now that WebDataSource does
        not hold on to the WebView; it uses the WebFrame to get to the WebView.
        If the WebFrame is nil we can't get to the WebView's resource load delegate.)

        * WebView/WebMainResourceLoader.m:
        (-[WebMainResourceLoader receivedError:]):

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

16 years ago Reviewed by Adele.
thatcher [Sat, 22 Jul 2006 22:56:34 +0000 (22:56 +0000)]
    Reviewed by Adele.

        <rdar://problem/4646318> REGRESSION: Ctrl-clicking on a selection containing a word doesn't display a complete contextual menu

        Show the editing context menu if the WebView is editible.
        The original change only checked if the DOM element was editable,
        and isContentEditable returns NO if entire WebView is editable.

        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):

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

16 years agoBuild fix.
thatcher [Sat, 22 Jul 2006 17:41:59 +0000 (17:41 +0000)]
Build fix.

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

16 years ago Reviewed by Darin.
ap [Sat, 22 Jul 2006 07:39:49 +0000 (07:39 +0000)]
    Reviewed by Darin.

        Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=10038
        REGRESSION: Length of navigator.mimeTypes collection returns number of installed plugins, not number
        of registered mime types

        Test: fast/js/navigator-mimeTypes-length.html

        * bindings/js/kjs_navigator.cpp:
        (KJS::MimeTypes::getValueProperty): Return the length of the mime types vector, not the plugins one.
        (KJS::MimeTypes::getOwnPropertySlot): Fixed another typo, which prevented MimeTypes::getValueProperty()
        from even being called.

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

16 years ago Reviewed by Maciej.
thatcher [Sat, 22 Jul 2006 06:34:15 +0000 (06:34 +0000)]
    Reviewed by Maciej.

        <rdar://problem/4609195> Help Viewer loads empty window
        (not getting didFailLoadingWithError: callback)

        Call super's didFailWithError before _receivedMainResourceError
        because _receivedMainResourceError will cause the datasource's
        frame to be set to nil before the didFailLoadingWithError delegate
        callback is sent. (This order is needed now that WebDataSource does
        not hold on to the WebView; it uses the WebFrame to get to the WebView.
        If the WebFrame is nil we can't get to the WebView's resource load delegate.)

        * WebView/WebMainResourceLoader.m:
        (-[WebMainResourceLoader receivedError:]):

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

16 years ago Reviewed by Adele and Tim Omernick.
mjs [Sat, 22 Jul 2006 05:31:07 +0000 (05:31 +0000)]
    Reviewed by Adele and Tim Omernick.

        <rdar://problem/4641004> 9A224: Safari crashes in WebCore::RenderMenuList::showPopup when changing a input select field to input text field

        Couldn't figure out how to make layout test, here's a manual test:
        * manual-tests/remove-select-onchange.html: Added.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::showPopup): Don't add the RenderPopupMenu to the render
        tree so it doesn't get destroyed if we do.

        The remaining changes are to let the RenderPopupMenu know its menu list w/o having
        to be in the render tree:

        * rendering/RenderPopupMenu.cpp:
        (WebCore::RenderPopupMenu::RenderPopupMenu):
        * rendering/RenderPopupMenu.h:
        (WebCore::RenderPopupMenu::menuList):
        * rendering/RenderPopupMenuMac.h:
        * rendering/RenderPopupMenuMac.mm:
        (WebCore::RenderPopupMenuMac::RenderPopupMenuMac):
        * rendering/RenderPopupMenuWin.h:
        (WebCore::RenderPopupMenuWin::RenderPopupMenuWin):
        * rendering/RenderTheme.h:
        * rendering/RenderThemeMac.h:
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::createPopupMenu):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::createPopupMenu):
        * rendering/RenderThemeWin.h:

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

16 years agoRemoved a stray conflict marker.
darin [Sat, 22 Jul 2006 03:05:24 +0000 (03:05 +0000)]
Removed a stray conflict marker.

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

16 years agoLayoutTests:
adele [Sat, 22 Jul 2006 02:24:06 +0000 (02:24 +0000)]
LayoutTests:

        Reviewed by Darin.

        Test for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text

        * fast/forms/textarea-scrolled-endline-caret-expected.txt: Added.
        * fast/forms/textarea-scrolled-endline-caret.html: Added.

WebCore:

        Reviewed by Darin.

        Fix for: <rdar://problem/4643238> REGRESSION: Can't set insertion point at the end of a line of text

        Test: fast/forms/textarea-scrolled-endline-caret.html

        * rendering/RenderBlock.cpp: (WebCore::RenderBlock::positionForCoordinates):
        When looking for the closest line box, take the scroll offset into account.

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

16 years ago RS by Adele.
ggaren [Sat, 22 Jul 2006 02:17:22 +0000 (02:17 +0000)]
    RS by Adele.

        Test for whether focusing and/or blurring a frame before its content has loaded causes
        a crash. <rdar://problem/4632505> REGRESSION: Crash at
        WebCore::Widget::getView() const + 6

        * http/tests/incremental/frame-focus-before-load-expected.txt: Added.
        * http/tests/incremental/frame-focus-before-load.html: Added.

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

16 years agominor comment fixup
ggaren [Sat, 22 Jul 2006 02:14:11 +0000 (02:14 +0000)]
minor comment fixup

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

16 years ago Reviewed by Geoff & Maciej.
tomernic [Sat, 22 Jul 2006 01:48:56 +0000 (01:48 +0000)]
    Reviewed by Geoff & Maciej.

        <rdar://problem/4632505> REGRESSION: Crash at WebCore::Widget::getView() const + 6

        Geoff is working on a layout test for this.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::focusWindow):
        (WebCore::FrameMac::unfocusWindow):
        Check for a NULL view.  The view can be NULL if the frame has not yet loaded any data.  This fixes the crash, but the behavior is still
        wrong -- we should focus the frame once it gets a view.  I've filed <rdar://problem/4645685> to track that.  It's not as urgent as this
        crasher.

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

16 years agoLayoutTests:
mjs [Sat, 22 Jul 2006 00:45:37 +0000 (00:45 +0000)]
LayoutTests:

        Reviewed by Darin.

        <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value

        * fast/forms/text-field-setvalue-crash-expected.txt: Added.
        * fast/forms/text-field-setvalue-crash.html: Added.

WebCore:

        Reviewed by Darin.

        <rdar://problem/4523976> REGRESSION (NativeTextField): Crash occurs when choosing "Undo Typing" after typing and setting the value

        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::updateFromElement): Clear the undo
        chain when the text control contents have been set
        programmatically.
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::clearUndoRedoOperations): Before clearing undo
        stack, close all open undo groups and then open an equal number,
        since otherwise NSUndoManager ends up in an inconsistent state
        leading to uncaught ObjC exceptions.

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

16 years ago Reviewed by Darin.
bdakin [Fri, 21 Jul 2006 23:47:57 +0000 (23:47 +0000)]
    Reviewed by Darin.

        Just moving this assertion down a couple of lines. It was hitting
        every time you try to print a page because we put it too early in
        the function.

        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge drawRect:]):

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

16 years agoLayoutTests:
justing [Fri, 21 Jul 2006 23:38:26 +0000 (23:38 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4548238>
        REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window

        * editing/deleting/delete-first-list-item-expected.checksum: Added.
        * editing/deleting/delete-first-list-item-expected.png: Added.
        * editing/deleting/delete-first-list-item-expected.txt: Added.
        * editing/deleting/delete-first-list-item.html: Added.

WebCore:

        Reviewed by levi

        <rdar://problem/4548238>
        REGRESSION: Can't remove the first OL/UL list item in a Mail's compose window

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
        Moved from InsertParagraphSeparator.  Does its own typing style restoration.
        * editing/CompositeEditCommand.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Call breakOutOfEmptyListItem.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyListItem if
        the endingSelection is at the start of an editable region.
        * editing/htmlediting.cpp:
        (WebCore::embeddedSublist): Moved from InsertParagraphSeparator.
        (WebCore::appendedSublist): Ditto.
        (WebCore::enclosingEmptyListItem): Ditto.
        * editing/htmlediting.h:

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

16 years agoVersioning
thatcher [Fri, 21 Jul 2006 22:55:54 +0000 (22:55 +0000)]
Versioning

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

16 years ago Reviewed by John.
thatcher [Fri, 21 Jul 2006 21:36:39 +0000 (21:36 +0000)]
    Reviewed by John.

        <rdar://problem/4607572> REGRESSION (521.10.1 - 521.13): most context menu items missing when a form field is focused (common on google.com) (9680)

        Do not use _isEditable call since that only checks if the current
        selection or frame is editible. We now check if the currently clicked element
        is a content editible area, a textarea, an isindex or an input element that
        return YES to _isTextField.

        * DefaultDelegates/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate webView:contextMenuItemsForElement:defaultMenuItems:]):

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

16 years ago Reviewed by Beth Dakin & John Sullivan.
tomernic [Fri, 21 Jul 2006 20:16:46 +0000 (20:16 +0000)]
    Reviewed by Beth Dakin & John Sullivan.

        <rdar://problem/4633717> 9A218: Reproducible crash in -[NSScroller mouseDown:]

        Beth is in the middle of making a layout test for this; she will land it soon.

        * platform/mac/ScrollBarMac.mm:
        (ScrollBar::~ScrollBar):
        Call Widget::removeFromSuperview() rather than -removeFromSuperview directly on the scroll bar view.
        Widget::removeFromSuperview() obeys the "mustStayInWindow" flag, which is set while tracking the mouse
        in view-based widgets to prevent their destruction while the tracking is in progress.
        I searched around WebCore and this is the only Widget subclass that directly removes its view rather
        than using removeFromSuperview().

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

16 years agoLayoutTests:
adele [Fri, 21 Jul 2006 20:01:16 +0000 (20:01 +0000)]
LayoutTests:

        Reviewed by Darin.

        * editing/selection/select-all-iframe-expected.txt:
        * editing/selection/select-from-textfield-outwards-expected.checksum: Added.
        * editing/selection/select-from-textfield-outwards-expected.png: Added.
        * editing/selection/select-from-textfield-outwards-expected.txt: Added.
        * editing/selection/select-from-textfield-outwards.html: Added.
        * fast/events/drag-outside-window-expected.txt:

WebCore:

        Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9312
          REGRESSION: Selection bug in new text fields when selecting past the first letter

        Test: editing/selection/select-from-textfield-outwards.html

        * editing/Selection.cpp:
        (WebCore::Selection::adjustForEditableContent): Added code to handle the case
        where the selection starts (resp. ends) in the last (resp. first) visual position
        inside an editable root.
        * editing/htmlediting.cpp:
        (WebCore::comparePositions): Fixed the case of comparing a position inside a shadow
        tree with a position in the shadow ancestor.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates): For coordinates outside a replaced
        object, return the position just before (after) the element if the coordinates are above or
        to the left (below or to the right).
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::caretMaxOffset): Changed to return 1 for replaced objects.
        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): Changed to return the last position
        in the lowest text box if the y coordinate is below all text boxes.

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

16 years agoJavaScriptCore:
ggaren [Fri, 21 Jul 2006 18:50:24 +0000 (18:50 +0000)]
JavaScriptCore:

        Reviewed by Darin.

        - Added support for strings that masquerade as undefined. Currently used
        by WebCore to implement undetectable style.filter.

        The name is a little long, but it's only used in one line of code, so I
        thought clarity should win over brevity.

        * JavaScriptCore.exp:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * kjs/object.h:
        * kjs/string_object.h:
        (KJS::StringInstanceThatMasqueradesAsUndefined::StringInstanceThatMasqueradesAsUndefined):
        (KJS::StringInstanceThatMasqueradesAsUndefined::masqueradeAsUndefined):
        (KJS::StringInstanceThatMasqueradesAsUndefined::toBoolean):

LayoutTests:

        Test for undetectable style.filter property.

        * fast/dom/undetectable-style-filter-expected.txt: Added.
        * fast/dom/undetectable-style-filter.html: Added.

WebCore:

        Reviewed by Darin.

        - Fixed <rdar://problem/4507265> REGRESSION: overlays don't work on
        HousingMaps.com (Google Maps-based site)

        - Made style.filter undetectable, like document.all.

        Unfortunately, the SVG spec-makers invented a CSS attribute named 'filter',
        which conflicts with IE's custom CSS attribute by the same name. Web programs
        like the Google maps API test for style.filter, and assume it's the IE
        style.filter if they find it, so we need to make style.filter undetectable
        to avoid breaking them.

        An alternative solution would be to hotwire a delorean, go back in time,
        and beg the web standards makers to make standards that work on the web.

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::cssPropertyGetter):

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

16 years agoLayoutTests:
justing [Fri, 21 Jul 2006 18:39:55 +0000 (18:39 +0000)]
LayoutTests:

        Reviewed by john

        <rdar://problem/4641033>
        REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content

        * editing/pasteboard/4641033-expected.checksum: Added.
        * editing/pasteboard/4641033-expected.png: Added.
        * editing/pasteboard/4641033-expected.txt: Added.
        * editing/pasteboard/4641033.html: Added.

WebCore:

        Reviewed by john

        <rdar://problem/4641033>
        REGRESSION: Pasting from web pages into Mail (or Blot) often loses most of the content

        * editing/markup.cpp:
        (WebCore::createMarkup): We surround the currently accumulated markup with markup
        for ancestors of the startNode when the pre-order traversal leaves the trees rooted
        at those ancestors.  We assumed that any ancestors of the current node not in the
        ancestorsToClose list were those kind of ancestors.  But we don't add renderer-less
        containers to the ancestorsToClose list.  So, we were incorrectly surrounding the
        currently accumulated markup with markup for render-less containers.  Most of the
        content at apple.com was being put inside an <optgroup> inside a <select> element.
        Then on Paste createContextualFragment would drop it.

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

16 years ago2006-07-21 Anders Carlsson <acarlsson@apple.com>
andersca [Fri, 21 Jul 2006 07:56:32 +0000 (07:56 +0000)]
2006-07-21  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        * dom/Document.h:
        (WebCore::Document::):
        * dom/EventTargetNode.cpp:
        (WebCore::EventTargetNode::addEventListener):
        * page/FrameView.cpp:
        (WebCore::FrameView::layout):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        Only dispatch overflowchanged events if overflowchanged event listeners have been registered on the document.

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

16 years agoWebCore:
andersca [Fri, 21 Jul 2006 07:52:10 +0000 (07:52 +0000)]
WebCore:

2006-07-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails

        * xml/XSLTProcessor.cpp:
        (WebCore::xsltParamArrayFromParameterMap):
        Turns out parameters never worked. String parameters need to be escaped so we create a transform context,
        add the parameters to it quoted and then use xsltApplyStylesheetUser which lets us pass the transform context to it.
        This also works around a bug in libxslt where a hash table isn't allocated.

LayoutTests:

2006-07-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Geoff.

        <rdar://problem/4637807> REGRESSION: "Features & Options" page at volvocars.us fails

        * fast/xsl/xslt-processer-expected.txt:
        This passes now.

        * fast/xsl/xslt-string-parameters-expected.txt: Added.
        * fast/xsl/xslt-string-parameters.html: Added.

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

16 years ago Reviewed by Tim Omernick.
aliceli1 [Fri, 21 Jul 2006 05:30:14 +0000 (05:30 +0000)]
    Reviewed by Tim Omernick.

        Fixed <rdar://problem/4621649> repro crash: Upload link causes crash on pages.google.com in Frame::nodeForWidget
        added manual test because there is no way to change the value of an <input type=file> via the DOM.  It's not supported because it's a security risk.

        * manual-tests/remove-input-file-onchange.html: Added.
        * platform/mac/FileButtonMac.mm:
        (-[WebFileChooserButton chooseFilename:]):
        swapped the calls to changeFilename and bridgeForWidget because changeFilename will destroy the widget that is accessed in bridgeForWidget

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

16 years ago Reviewed by Adele.
aliceli1 [Fri, 21 Jul 2006 05:18:42 +0000 (05:18 +0000)]
    Reviewed by Adele.

        Fixed <rdar://problem/4532113> REGRESSION (NativeTextField): Crash occurs after modifying field then reloading page -[FormDelegate frameLayoutHasChanged:]
        added a manual test because of the need to use AutoFill.

        * dom/Node.h:
        (WebCore::Node::aboutToUnload):
        added virtual function prototype
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::aboutToUnload):
        added implementation that sends textFieldDidEndEditing notification
        * html/HTMLInputElement.h:
        added virtual function prototype
        * manual-tests/input-type-file-autocomplete-frame-1.html: Added.
        * manual-tests/input-type-file-autocomplete-frame-2.html: Added.
        * manual-tests/input-type-file-autocomplete-refresh.html: Added.
        * page/Frame.cpp:
        (WebCore::Frame::stopLoading):
        before unloading, call aboutToUnload on the current focused node

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

16 years ago Reviewed by Beth and John.
mjs [Fri, 21 Jul 2006 03:11:34 +0000 (03:11 +0000)]
    Reviewed by Beth and John.

        - fix recently broken layout tests that need updated results or test changes:

        For these three, the selection ranges changed (for the better) due to my input
        editing fix.

        * editing/selection/3690703-2-expected.txt:
        * editing/selection/3690703-expected.txt:
        * fast/text/textIteratorNilRenderer-expected.txt:

        For this one, DumpRenderTree no longer shows resize corners by default, so turned
        it on via style.

        * fast/css/resize-corner-tracking.html:

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

16 years ago Reviewed by Maciej
beidson [Fri, 21 Jul 2006 01:16:21 +0000 (01:16 +0000)]
    Reviewed by Maciej

        fixed <rdar://problem/4611303> REGRESSION: repro crash in WebCore::EventTargetNode::dispatchWindowEvent at aeropostale.com
        There was an attempt to deref an EventListener that got cleaned up in GC.  Changing Document's EventListener list from
        vanilla ptrs to refptrs to prevent GC, following EventTargetNode's proven example.

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::clear):
        (WebCore::Document::handleWindowEvent):
        (WebCore::Document::getHTMLWindowEventListener):
        (WebCore::Document::removeHTMLWindowEventListener):
        (WebCore::Document::removeWindowEventListener):
        (WebCore::Document::hasWindowEventListener):
        Changed all of the list iterators to work with RefPtrs instead of vanilla ptrs

        * dom/Document.h:
        Changed the EventListener list to be a vanilla pointer list to a refptr list

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

16 years agoWebCore:
sullivan [Fri, 21 Jul 2006 01:07:47 +0000 (01:07 +0000)]
WebCore:

        Reviewed by Maciej

        - WebCore part of fix for:
        <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving
        closing tabs after clicking in a web page

        * bridge/mac/WebCoreFrameBridge.h:
        (-[WebCoreFrameBridge textViewWasFirstResponderAtMouseDownTime:])
        renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)
        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::passMouseDownEventToWidget):
        updated for name change

WebKit:

        Reviewed by Maciej

        - WebKit part of fix for:
        <rdar://problem/4557386> REGRESSION (419.3-521.19): repro Safari world leak involving
        closing tabs after clicking in a web page

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge textViewWasFirstResponderAtMouseDownTime:]):
        renamed to be more specific (formerly wasFirstResponderAtMouseDownTime:)

        * WebView/WebHTMLViewInternal.h:
        * WebView/WebHTMLView.m:
        (-[WebTextCompleteController dealloc]):
        updated for name change
        (-[NSArray _setMouseDownEvent:]):
        Now only retains the first responder if it's a textView, since that's the only case that the only client
        actually cares about. This avoids a reference cycle caused by retaining self. This is the only substantive
        part of the patch; all the rest is just renaming for clarity, and comments.
        (-[NSArray mouseDown:]):
        updated for name change
        (-[WebHTMLView _textViewWasFirstResponderAtMouseDownTime:]):
        renamed to be more specific (formerly _wasFirstResponderAtMouseDownTime:)

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

16 years ago2006-07-20 Steve Falkenburg <sfalken@apple.com>
sfalken [Thu, 20 Jul 2006 21:52:37 +0000 (21:52 +0000)]
2006-07-20  Steve Falkenburg  <sfalken@apple.com>

        Fix the build

        * kjs/function.cpp:
        (KJS::escapeStringForPrettyPrinting):

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

16 years agoFix an old typo
andersca [Thu, 20 Jul 2006 21:23:50 +0000 (21:23 +0000)]
Fix an old typo

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

16 years ago Reviewed by Darin.
ap [Thu, 20 Jul 2006 19:20:55 +0000 (19:20 +0000)]
    Reviewed by Darin.

        Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=8272
        Use of window.open & window.close can cause crash

        * platform/PlatformMouseEvent.h:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/mac/PlatformMouseEventMac.mm:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        The default constructor now creates a "zero" event, and a new one was added to create the "current" one.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::handleMouseMoveEvent):
        * rendering/RenderFormElement.cpp:
        (WebCore::RenderFormElement::clicked):
        Updated for the above changes.

        * platform/gdk/MouseEventGdk.cpp:
        * platform/gdk/TemporaryLinkStubs.cpp:
        (PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/MouseEventWin.cpp:
        * platform/win/TemporaryLinkStubs.cpp:
        (PlatformMouseEvent::PlatformMouseEvent):
        Trying not to break other platforms.

        * manual-tests/invalid-mouse-event.html: Added.

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

16 years ago Reviewed by Anders.
mjs [Thu, 20 Jul 2006 09:03:56 +0000 (09:03 +0000)]
    Reviewed by Anders.

        - delete line that I only commented in the last patch - meant to do this before landing

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::close):

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

16 years ago Reviewed by Geoff.
mjs [Thu, 20 Jul 2006 08:47:52 +0000 (08:47 +0000)]
    Reviewed by Geoff.

        - fixed <rdar://problem/4634484> REGRESSION: Project Change Request form should have vertical scroll bar, but doesn't

        I couldn't figure out how to make an automated test case for this,
        or even a manual one. It seems to be timing-related in some way.

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::close): detach the child frame from
        its element, not the frame containing this element.

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

16 years ago2006-07-20 Anders Carlsson <acarlsson@apple.com>
andersca [Thu, 20 Jul 2006 07:49:59 +0000 (07:49 +0000)]
2006-07-20  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        Hold a ref to the node in case it gets destroyed by an event handler.

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

16 years ago Reviewed by Adele.
mjs [Thu, 20 Jul 2006 04:15:25 +0000 (04:15 +0000)]
    Reviewed by Adele.

        - fixed layout test results that were affected by editing input
        paste patch -- new results are actually more correct, handling
        text fields properly as a replaced element.

        * editing/selection/3690703-2-expected.txt:
        * editing/selection/3690703-expected.txt:
        * fast/events/div-focus-expected.txt:
        * fast/text/textIteratorNilRenderer-expected.txt:

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

16 years ago Reviewed by Darin.
bdakin [Thu, 20 Jul 2006 02:01:16 +0000 (02:01 +0000)]
    Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=10021
        Bug 10021: REGRESSION: Stack overflow due to infinite recursion in
        Image::checkForSolidColor

        * platform/Image.cpp:
        (WebCore::Image::cacheFrame): Don't call checkForSolidColor unless
        the frame was decoded successfully.

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

16 years ago Reviewed by Darin.
tomernic [Thu, 20 Jul 2006 00:47:22 +0000 (00:47 +0000)]
    Reviewed by Darin.

        <rdar://problem/4523432> safari crashed right after disabling "block pop up windows" (or other WebPreferences changes)

        * Plugins/WebBaseNetscapePluginView.m:
        (-[WebBaseNetscapePluginView viewWillMoveToSuperview:]):
        Stop the plug-in when it is removed from its superview.  It is not sufficient to do this in -viewWillMoveToWindow:nil, because
        the WebView might still has a hostWindow at that point, which prevents the plug-in from being destroyed.
        There is no need to start the plug-in when moving into a superview.  -viewDidMoveToWindow takes care of that.

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

16 years ago Fixed by Darin & Maciej, reviewed by me.
ggaren [Wed, 19 Jul 2006 23:56:05 +0000 (23:56 +0000)]
    Fixed by Darin & Maciej, reviewed by me.

        - Fixed <rdar://problem/4638934> Leopard 9A227: Installer crashes right
        after LCA and while preparing Installation

        Compile release/production with NDEBUG set, to ensure binary compatibility
        between JavaScriptGlue and JavaScriptCore. In debug builds, JavaScriptCore
        includes an extra debug data member in HashSet.

        * JavaScriptGlue.xcodeproj/project.pbxproj:

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

16 years ago Reviewed by Maciej.
adele [Wed, 19 Jul 2006 23:54:49 +0000 (23:54 +0000)]
    Reviewed by Maciej.

        - Fix for:
        <rdar://problem/4422657> REGRESSION: member name field or password field should have focus after loading webmail.mac.com (7405)
        http://bugzilla.opendarwin.org/show_bug.cgi?id=7405

        <rdar://problem/4614181> REGRESSION: Crash in WebCore::RenderTextField::text() when quoting post at the Ars Technica forum (9707)
        http://bugzilla.opendarwin.org/show_bug.cgi?id=9707

        Needs an http test. (http://bugzilla.opendarwin.org/show_bug.cgi?id=10020)

        These bugs were both cases where focus() was called on an element which didn't have a renderer yet because stylesheets hadn't finished loading yet.
        Now, we detect this case and let setFocusNode be called.  And when the stylesheet finishes loading, and the element attaches, a timer will fire,
        which will cause the correct selection & scrolling behavior to occur.

        This fix removes selection and scrolling behavior from the focus method.  This code is now in a new method, updateFocusAppearance.
        updateFocusAppearance can now be called directly from focus(), but it can also be called when a timer fires.  This timer gets set
        up when an element attaches, and its already been focused by the focus method.  We have to use a timer, because updateFocusAppearance can cause
        a layout to happen, and we don't want that to happen in the middle of attach().

        * bindings/objc/DOM.mm: (-[DOMElement isFocused]): Added SPI for autofill.
        * bindings/objc/DOMPrivate.h:

        * dom/Element.cpp:
        (WebCore::Element::Element): Initializes timer and needFocusAppearanceUpdate bool.
        (WebCore::Element::attach): Checks needsFocusAppearanceUpdate, and if the node is focused, then starts the timer.
        (WebCore::Element::focus): Updated to check supportsFocus before calling setFocusNode,
        and only requiring the element to be focusable now before updating focus appearance.
        (WebCore::Element::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
        (WebCore::Element::updateFocusAppearanceTimerFired): Stops the timer, and if the element is focusable, calls updateFocusAppearance.
        (WebCore::Element::stopUpdateFocusAppearanceTimer):  Cancels timer, and setsNeedsFocusAppearanceUpdate(false).
        (WebCore::Element::detach): Calls stopUpdateFocusAppearanceTimer.
        (WebCore::Element::blur): ditto.
        * dom/Element.h:
        (WebCore::Element::needsFocusAppearanceUpdate): Added so the timer only fires when focus() methods have caused an element to be focused.
        (WebCore::Element::setNeedsFocusAppearanceUpdate): Added so focus methods can set this flag.

        * dom/Node.h: (WebCore::Node::supportsFocus): Added.  Base class just calls isFocusable.
        * html/HTMLAnchorElement.h: Added supportsFocus.
        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::supportsFocus): Added. Checks for the case where stylesheets haven't loaded yet,
        so we can still focus the node without a renderer, and when it gets a renderer, we'll update the focus appearance.
        * html/HTMLGenericFormElement.h: (WebCore::HTMLGenericFormElement::supportsFocus): ditto.
        * html/HTMLGenericFormElement.cpp: Removed include of Document.h since this is now in the header.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::focus): Updated to check supportsFocus before calling setFocusNode,
        and only requiring the element to be focusable now before updating focus appearance.
        (WebCore::HTMLInputElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
        * html/HTMLInputElement.h:

        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::focus): Updated to check supportsFocus before calling setFocusNode,
        and only requiring the element to be focusable now before updating focus appearance.
        (WebCore::HTMLTextAreaElement::updateFocusAppearance): Added. Separates the selection, and the scrolling from focusing the node.
        * html/HTMLTextAreaElement.h:

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

16 years agoLayoutTests:
justing [Wed, 19 Jul 2006 22:55:10 +0000 (22:55 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4631972>
        REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message

        * editing/pasteboard/4631972-expected.checksum: Added.
        * editing/pasteboard/4631972-expected.png: Added.
        * editing/pasteboard/4631972-expected.txt: Added.
        * editing/pasteboard/4631972.html: Added.
        * editing/selection/drag-to-contenteditable-iframe-expected.txt:
        * editing/selection/replaced-boundaries-3-expected.checksum:
        * editing/selection/replaced-boundaries-3-expected.txt:
        * editing/selection/select-box-expected.txt:

WebCore:

        Reviewed by levi

        <rdar://problem/4631972>
        REGRESSION: Mail crashes when pasting entire contents of http://www.apple.com/support/ into a new mail message

        * dom/Position.cpp:
        (WebCore::Position::upstream): Deployed isBlock and enclosingBlock.
        (WebCore::Position::downstream): Ditto.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Ditto.
        * editing/htmlediting.cpp:
        (WebCore::canHaveChildrenForEditing): Added !iframe.
        (WebCore::isBlock): Added, returns !node->renderer()->isInline()
        (WebCore::enclosingBlock): Added.
        * editing/htmlediting.h:

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

16 years agoWebCore:
andersca [Wed, 19 Jul 2006 22:32:39 +0000 (22:32 +0000)]
WebCore:

2006-07-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com

        * bridge/mac/FrameMac.mm:
        (WebCore::FrameMac::nextKeyViewInFrame):
        Take into account that focus handlers can cause a node to be destroyed.

LayoutTests:

2006-07-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Adele.

        <rdar://problem/4631272> REGRESSION: Crash tabbing out of hostname field at autorestore.apple.com

        * fast/forms/display-none-in-onchange-keyboard-expected.txt: Added.
        * fast/forms/display-none-in-onchange-keyboard.html: Added.

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

16 years ago Fix for 4638376. The 1x1 solid color image optimization was broken when
hyatt [Wed, 19 Jul 2006 21:49:25 +0000 (21:49 +0000)]
    Fix for 4638376.  The 1x1 solid color image optimization was broken when
        I re-architected image.  This patch restores the optimization for CG.  Cairo
        will still need the optimization.

        Reviewed by darin

        WARNING: NO TEST CASES ADDED OR CHANGED (need test cases still)

        * platform/Image.cpp:
        (WebCore::Image::Image):
        (WebCore::Image::invalidateData):
        (WebCore::Image::cacheFrame):
        * platform/Image.h:
        (WebCore::Image::setIsPDF):
        * platform/cairo/ImageCairo.cpp:
        (WebCore::Image::checkForSolidColor):
        * platform/mac/ImageMac.mm:
        (WebCore::Image::initNativeData):
        (WebCore::Image::invalidateNativeData):
        (WebCore::Image::checkForSolidColor):
        (WebCore::Image::draw):
        (WebCore::Image::drawTiled):

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

16 years agoLayoutTests:
justing [Wed, 19 Jul 2006 19:01:26 +0000 (19:01 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4613519>
        REGRESSION: Pasting text in native text area inserts text one character before it should (9527)

        * fast/forms/paste-into-textarea-expected.checksum: Added.
        * fast/forms/paste-into-textarea-expected.png: Added.
        * fast/forms/paste-into-textarea-expected.txt: Added.
        * fast/forms/paste-into-textarea.html: Added.

WebCore:

        Reviewed by levi

        <rdar://problem/4613519>
        REGRESSION: Pasting text in native text area inserts text one character before it should (9527)

        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply): Turn into an InsertLineBreakCommand instead of bailing
        if the enclosingBlockFlowElement doesn't have a parent.

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

16 years ago2006-07-19 Anders Carlsson <acarlsson@apple.com>
andersca [Wed, 19 Jul 2006 18:30:02 +0000 (18:30 +0000)]
2006-07-19  Anders Carlsson  <acarlsson@apple.com>

        * fast/js/pretty-print-expected.txt:
        Update result.

        * fast/js/resources/pretty-print.js:
        Fix description string.

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

16 years agoJavaScriptCore:
andersca [Wed, 19 Jul 2006 17:32:15 +0000 (17:32 +0000)]
JavaScriptCore:

2006-07-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        <rdar://problem/4620655> REGRESSION(10.4.7-10.5): preview button for a blogger.com post doesn't work

        * kjs/nodes2string.cpp:
        (StringNode::streamTo):
        Return the escaped string.

        (RegExpNode::streamTo):
        Use the correct syntax.

        * kjs/function.cpp:
        (KJS::escapeStringForPrettyPrinting):
        * kjs/function.h:
        Add escape function which escapes a string for pretty-printing so it can be parsed again.

        * wtf/unicode/icu/UnicodeIcu.h:
        (WTF::Unicode::isPrintableChar):
        New function.

LayoutTests:

2006-07-19  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        <rdar://problem/4620655> REGRESSION(10.4.7-10.5): preview button for a blogger.com post doesn't work

        * fast/js/pretty-print-expected.txt: Added.
        * fast/js/pretty-print.html: Added.
        * fast/js/resources/pretty-print.js: Added.

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

16 years agoLayoutTests:
harrison [Wed, 19 Jul 2006 17:24:22 +0000 (17:24 +0000)]
LayoutTests:

        <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
        <rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table

        (this really only tests the symptoms of <rdar://problem/4062218>, because -[DOMRange markupString] is not testable)

        * editing/pasteboard/paste-table-003-expected.checksum: Added.
        * editing/pasteboard/paste-table-003-expected.png: Added.
        * editing/pasteboard/paste-table-003-expected.txt: Added.
        * editing/pasteboard/paste-table-003.html: Added.

WebCore:

        Reviewed by Tim Hatcher.

        <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range
        <rdar://problem/4062218> pasting in contents of web.apple.com strips off the <table> element from the first table

        Better patch than previous checkin.

        * test: editing/pasteboard/paste-table-003.html

        * editing/markup.cpp:
        (WebCore::createMarkup):
        Make sure to include the table when including a tbody.

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

16 years agoVersioning
thatcher [Wed, 19 Jul 2006 15:26:12 +0000 (15:26 +0000)]
Versioning

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

16 years ago Reviewed by Tim Hatcher.
harrison [Wed, 19 Jul 2006 14:50:37 +0000 (14:50 +0000)]
    Reviewed by Tim Hatcher.

        <rdar://problem/4629307> -[DOMRange markupString] does not include the initial table element if it is at the beginning of the range

        No test case as this can only be reproduced through ObjC APIs.

        * editing/markup.cpp:
        (WebCore::createMarkup):
        Adjust the range for ancestor markup handling when main loop skips first node.

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

16 years agoJavaScriptCore:
mjs [Wed, 19 Jul 2006 07:06:13 +0000 (07:06 +0000)]
JavaScriptCore:

        Reviewed by Adele Peterson.

        <rdar://problem/4589530> REGRESSION: null character in JS string causes parse error (works in Tiger and in other browsers)

        * kjs/lexer.cpp:
        (Lexer::shift):
        (Lexer::lex):
        (Lexer::record16):
        (Lexer::scanRegExp):
        * kjs/lexer.h:

LayoutTests:

        Reviewed by Adele Peterson.

        Test case for:

        <rdar://problem/4620646> REGRESSION(10.4.7-10.5): can't type into editing region when creating or editing a blogger.com post

        * fast/js/null-char-in-string-expected.txt: Added.
        * fast/js/null-char-in-string.html: Added.
        * fast/js/resources/null-char-in-string.js: Added.

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

16 years agoAdding versioning and markers from earlier.
thatcher [Wed, 19 Jul 2006 05:38:13 +0000 (05:38 +0000)]
Adding versioning and markers from earlier.

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

16 years agoRemove the font property compatibility test, since we no longer want to be compatible.
hyatt [Wed, 19 Jul 2006 04:05:24 +0000 (04:05 +0000)]
Remove the font property compatibility test, since we no longer want to be compatible.

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

16 years agoWebKitTools:
ddkilzer [Wed, 19 Jul 2006 02:44:15 +0000 (02:44 +0000)]
WebKitTools:

        Reviewed by Timothy.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9964
          Add switch to prepare-ChangeLog to skip svn update of ChangeLog files

        * Scripts/prepare-ChangeLog: Added --[no-]update switch.

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

16 years agoTweak a comment in cssparser.
hyatt [Wed, 19 Jul 2006 00:32:33 +0000 (00:32 +0000)]
Tweak a comment in cssparser.

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

16 years ago Fix for radar 4611287, make resizable text fields opt-in rather than
hyatt [Wed, 19 Jul 2006 00:16:34 +0000 (00:16 +0000)]
    Fix for radar 4611287, make resizable text fields opt-in rather than
        opt-out.  Open source users will need to write the pref into their defaults
        to see the resizers on textareas now.

        Reviewed by mjs and adele

        * WebCore.xcodeproj/project.pbxproj:
        * bridge/mac/WebCoreSettings.mm:
        (-[WebCoreSettings setTextAreasAreResizable:]):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):
        * css/html4.css:

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

16 years ago Reviewed by Tim Hatcher.
tomernic [Tue, 18 Jul 2006 22:56:24 +0000 (22:56 +0000)]
    Reviewed by Tim Hatcher.

        Removed a misleading comment; we recently added support for the NPNVPluginElementNPObject
        variable.

        * bindings/npapi.h:

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

16 years agoWebCore:
andersca [Tue, 18 Jul 2006 20:22:31 +0000 (20:22 +0000)]
WebCore:

2006-07-18  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9959
        REGRESSION: iframes stop rendering after 200th one on successive reloads

        * html/HTMLFrameElement.cpp:
        (WebCore::HTMLFrameElement::attach):
        (WebCore::HTMLFrameElement::close):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::insertedIntoDocument):
        (WebCore::HTMLIFrameElement::willRemove):
        Remove calls to incrementFrameCount and decrementFrameCount.

        * page/Frame.cpp:
        (WebCore::Frame::Frame):
        Call incrementFrameCount here.

        (WebCore::Frame::~Frame):
        Call disconnectOwnerElement.

        (WebCore::Frame::disconnectOwnerElement):
        Call decrementFrameCount here.

LayoutTests:

2006-07-18  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9959
        REGRESSION: iframes stop rendering after 200th one on successive reloads

        * fast/frames/frame-limit-expected.txt: Added.
        * fast/frames/frame-limit.html: Added.

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

16 years ago Reviewed by Darin.
ap [Tue, 18 Jul 2006 19:56:17 +0000 (19:56 +0000)]
    Reviewed by Darin.

        Fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9013
        Let correct CSS custom cursor declarations parse

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue): Ignore any values following a custom CSS cursor URI, instead of
        requiring that it is the only one in the list (which is actually illegal, according to the spec).
        This is only a temporary hack, with a real implementation to follow in bug 6001/6002.

        * manual-tests/custom-cursors.html: Added a test for this issue.
        * manual-tests/resources/helpCursor.tiff: A cursor image used in the test.

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

16 years ago Reviewed by Anders.
thatcher [Tue, 18 Jul 2006 19:28:24 +0000 (19:28 +0000)]
    Reviewed by Anders.

        <rdar://problem/4636216> NetNewsWire fails to launch on 9A224 - missing symbols

        WebCore needs to add -sub_library libobjc to maintain
        backwards compatibility with binaries linked with WebKit
        before JavaScriptCore moved out of WebKit.

        * WebCore.xcodeproj/project.pbxproj:

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

16 years ago Reviewed by Alice.
darin [Tue, 18 Jul 2006 17:03:06 +0000 (17:03 +0000)]
    Reviewed by Alice.

        - convert a couple of tests to "dump as text" tests

        * fast/dom/css-selectorText-expected.checksum: Removed.
        * fast/dom/css-selectorText-expected.png: Removed.
        * fast/dom/css-selectorText-expected.txt: Replaced render tree results with text results.
        * fast/dom/css-selectorText.html: Added a call to layoutTestController.dumpAsText.

        * fast/dom/css-shortHands-expected.checksum: Removed.
        * fast/dom/css-shortHands-expected.png: Removed.
        * fast/dom/css-shortHands-expected.txt: Replaced render tree results with text results.
        * fast/dom/css-shortHands.html: Added a call to layoutTestController.dumpAsText.

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

16 years ago Made the following headers public:
thatcher [Tue, 18 Jul 2006 16:01:24 +0000 (16:01 +0000)]
    Made the following headers public:

        * JavaScriptCore.h
        * JSBase.h
        * JSContextRef.h
        * JSObjectRef.h
        * JSStringRef.h
        * JSValueRef.h

        * JavaScriptCore.xcodeproj/project.pbxproj:

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

16 years agoLayoutTests:
ddkilzer [Tue, 18 Jul 2006 10:55:32 +0000 (10:55 +0000)]
LayoutTests:

        Reviewed by Justin.  Patch by Mitz.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9978
          REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line

        * editing/selection/click-start-of-line-expected.checksum: Added.
        * editing/selection/click-start-of-line-expected.png: Added.
        * editing/selection/click-start-of-line-expected.txt: Added.
        * editing/selection/click-start-of-line.html: Added.

WebCore:

        Reviewed by Justin.  Patch by Mitz.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9978
          REGRESSION (r12949-r12988): Clicking the first letter on a line places the caret at the end of the previous line

        Test: editing/selection/click-start-of-line.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::positionForCoordinates): Changed to return downstream
        affinity if the x coordinate is to the left of the middle of the first character
        in the text box.

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

16 years agoWebCore:
andersca [Tue, 18 Jul 2006 09:24:22 +0000 (09:24 +0000)]
WebCore:

2006-07-18  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9695
        <rdar://problem/4614085>
        TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyExtendingRightForward):
        (WebCore::SelectionController::modifyMovingRightForward):
        (WebCore::SelectionController::modifyExtendingLeftBackward):
        (WebCore::SelectionController::modifyMovingLeftBackward):
        If the caret is inside an editable region, the beginning/end of the document should actually be the
        beginning/end of the editable region.

LayoutTests:

2006-07-18  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        http://bugzilla.opendarwin.org/show_bug.cgi?id=9695
        <rdar://problem/4614085>
        TOT REGRESSION: NativeTextArea: Text area does not respond to Cmd-UpArrow/Cmd-DownArrow (9695)

        * editing/selection/move-begin-end-expected.txt: Added.
        * editing/selection/move-begin-end.html: Added.

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

16 years agoWebCore:
tomernic [Tue, 18 Jul 2006 04:55:40 +0000 (04:55 +0000)]
WebCore:

        Reviewed by Maciej.

        <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
        by script

        * bridge/mac/WebCoreFrameBridge.h:
        * bridge/mac/WebCoreFrameBridge.mm:
        (-[WebCoreFrameBridge setProhibitsScrolling:]):
        * page/Frame.cpp:
        (WebCore::Frame::prohibitsScrolling):
        (WebCore::Frame::setProhibitsScrolling):
        * page/Frame.h:
        * page/FramePrivate.h:
        (WebCore::FramePrivate::FramePrivate):
        * page/FrameView.cpp:
        (WebCore::FrameView::scrollPointRecursively):
        (WebCore::FrameView::setContentsPos):
        * page/FrameView.h:
        * platform/ScrollView.h:

WebKit:

        Reviewed by Maciej.

        <rdar://problem/4612079> need a way to prevent pages from scrolling to reveal elements that are focused
        by script

        * WebView/WebViewPrivate.h:
        * WebView/WebView.m:
        (-[WebView setProhibitsMainFrameScrolling:]):
        New method.  Prohibits scrolling in the WebView's main frame.  Used to "lock" a WebView to a specific
        scroll position.

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

16 years ago Reviewed by Maciej.
ggaren [Tue, 18 Jul 2006 04:33:46 +0000 (04:33 +0000)]
    Reviewed by Maciej.

        - Added automatic prototype creation for classes.

        A class stores a weak reference to a prototype, which is cleared when
        the prototype is garbage collected, to avoid a reference cycle.

        We now have an attributes field in JSClassDefinition, that currently is
        used only to override automatic prototype creation when you want to manage your
        own prototypes, but can be extended in the future for other nefarious purposes.

        Similarly, we have JSObjectMake and JSObjectMakeWithPrototype, the latter
        allowing you to manage your own prototypes.

        JSObjectMakeConstructor is more interesting now, able to make a constructor
        on your behalf if you just give it a class.

        - Removed bogus old code from minidom.js.

        - Tweaked the headerdocs.

        - Added more GC testing, which caught some leaks, and tested more funny
        edge cases in lookup, which caught a lookup bug. Removed some testing
        we used to do with MyObject because it was redundant with the new, cool
        stuff.

        While fixing the lookup bug I retracted this change:

            "If a static setProperty callback returns 'false', to indicate that the
            property was not set, we no longer forward the set request up the class
            chain, because that's almost certainly not what the programmer expected."

        Returning false when setting a static property is a little silly, but you can see
        it being useful when shadowing a base class's static properties, and, regardless
        of usefullness, this is the defined behavior of the setProperty callback.

        - Plus a little ASCII art, for the kids.

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

16 years agoLayoutTests:
mjs [Tue, 18 Jul 2006 04:32:00 +0000 (04:32 +0000)]
LayoutTests:

        Test cases not reviewed but the corresponding fix was.

        - test cases for <rdar://problem/4618089> Blot crashes when I paste in all the contents of http://www.apple.com/startpage/

        * editing/pasteboard/nested-blocks-with-text-area-expected.txt: Added.
        * editing/pasteboard/nested-blocks-with-text-area.html: Added.
        * editing/pasteboard/nested-blocks-with-text-field-expected.txt: Added.
        * editing/pasteboard/nested-blocks-with-text-field.html: Added.

WebCore:

        Reviewed by Dave Harrison.

        - fixed <rdar://problem/4618089> Blot crashes when I paste in all the contents of http://www.apple.com/startpage/

        * editing/htmlediting.cpp:
        (WebCore::editingIgnoresContent):

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

16 years ago Reviewed by levi
justing [Tue, 18 Jul 2006 01:18:15 +0000 (01:18 +0000)]
    Reviewed by levi

        <rdar://problem/4621728>
        REGRESSION: Selecting by dragging down creates selection in wrong direction, with certain steps
        <rdar://problem/4604932>
        REGRESSION: Dragging too far left on a line will select all lines above it.

        No layout test because of 9980.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::positionForCoordinates): Don't return positions inside editable roots
        for coordinates outside those roots, except for coordinates outside a document that is entirely
        editable.

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

16 years ago Reviewed by Darin.
thatcher [Tue, 18 Jul 2006 00:55:02 +0000 (00:55 +0000)]
    Reviewed by Darin.

        <rdar://problem/4635311> REGRESSION: WebKit should call windowScriptObjectAvailable before attaching the script debugger

        * WebCoreSupport/WebFrameBridge.m:
        (-[WebFrameBridge windowObjectCleared]):

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

16 years ago Reviewed by Darin.
thatcher [Tue, 18 Jul 2006 00:48:32 +0000 (00:48 +0000)]
    Reviewed by Darin.

        <rdar://problem/4635281> JSCanvasRenderingContext2D::drawImage needs to initialize the exception code to zero

        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::drawImage): initialize ec to zero
        * html/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawImage): initialize ec before earlier return

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

16 years agoJavaScriptCore:
thatcher [Tue, 18 Jul 2006 00:27:46 +0000 (00:27 +0000)]
JavaScriptCore:

        Reviewed by Maciej.

        <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

        Moves WebScriptObject and WebUndefined up to WebCore.
        This change does create an upwards-dependancy on WebScriptObject existing
        in the loaded process, but this code path in JavaScriptCore does not get used
        unless it is through WebKit/WebCore. Moving all of the binding code out of
        JavaScriptCore might make sense in the future.

        * JavaScriptCore.exp:
        * JavaScriptCore.xcodeproj/project.pbxproj:
        * bindings/objc/WebScriptObject.h: Replaced.
        * bindings/objc/WebScriptObject.mm: Removed.
        * bindings/objc/WebScriptObjectPrivate.h: Removed.
        * bindings/objc/objc_class.h:
        * bindings/objc/objc_instance.h:
        * bindings/objc/objc_instance.mm:
        (ObjcInstance::~ObjcInstance):
        * bindings/objc/objc_runtime.h:
        * bindings/objc/objc_runtime.mm:
        (convertValueToObjcObject):
        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertObjcValueToValue):
        (KJS::Bindings::createObjcInstanceForValue):

WebCore:

        Reviewed by Maciej.

        <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

        Moves WebScriptObject and WebUndefined to WebCore.

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        * bindings/objc/DOMCore.h:
        * bindings/objc/DOMInternal.mm:
        * bindings/objc/DOMUtility.mm:
        * bindings/objc/WebScriptObject.mm: Added.
        (+[WebUndefined allocWithZone:]):
        (-[WebUndefined initWithCoder:]):
        (-[WebUndefined encodeWithCoder:]):
        (-[WebUndefined copyWithZone:]):
        * bindings/objc/WebScriptObjectPrivate.h: Added.
        * bridge/mac/FrameMac.mm:
        * bridge/mac/WebCoreScriptDebugger.mm:

WebKit:

        Reviewed by Maciej.

        <rdar://problem/4634874> WebScriptObject and WebUndefined are no longer defined by WebKit

        Copy WebScriptObject.h from WebCore's private headers, not JavaScriptCore.

        * WebKit.xcodeproj/project.pbxproj:

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

16 years ago2006-07-17 Anders Carlsson <acarlsson@apple.com>
andersca [Mon, 17 Jul 2006 22:29:47 +0000 (22:29 +0000)]
2006-07-17  Anders Carlsson  <acarlsson@apple.com>

        Reviewed by Darin.

        Add Apache 2 config file.

        * http/conf/apache2-httpd.conf: Added.

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

16 years ago Back out the fix for 5564, since it turns out font:x-small; is a pretty
hyatt [Mon, 17 Jul 2006 22:18:27 +0000 (22:18 +0000)]
    Back out the fix for 5564, since it turns out font:x-small; is a pretty
        prominent IE-specific CSS hack.  Because Web sites rely on IE's incorrect
        font parsing as a means of also correcting IE's incorrect font size rules.

        This fixes Yahoo.com.

        Reviewed by darin

        * css/cssparser.cpp:
        (WebCore::CSSParser::parseFont):

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

16 years ago Reviewed by Tim Omernick.
sullivan [Mon, 17 Jul 2006 22:05:21 +0000 (22:05 +0000)]
    Reviewed by Tim Omernick.

        - fixed <rdar://problem/4604366> Orange Find highlight displays text in wrong size on PDF pages
        if they're not at "actual size"

        To match WebHTMLView, I made the methods that return attributed strings take the view's scale
        factor into account.

        * WebView/WebPDFView.m:
        (-[WebPDFView _scaledAttributedString:]):
        new helper method, takes an attributed string and returns one that's scaled by the view's
        current scale factor
        (-[WebPDFView attributedString]):
        pass result through _scaledAttributedString:
        (-[WebPDFView selectedAttributedString]):
        ditto

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

16 years agoLayoutTests:
justing [Mon, 17 Jul 2006 21:54:32 +0000 (21:54 +0000)]
LayoutTests:

        Reviewed by levi

        <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence

        * editing/selection/replace-selection-1-expected.checksum: Added.
        * editing/selection/replace-selection-1-expected.png: Added.
        * editing/selection/replace-selection-1-expected.txt: Added.
        * editing/selection/replace-selection-1.html: Added.

WebCore:

        Reviewed by levi

        <rdar://problem/4618389> REGRESSION: After applying a link to the last word of a sentence, a new selection is created at the start of the sentence

        * dom/Document.cpp:
        (WebCore::Document::updateSelection):

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

16 years agoLayoutTests:
justing [Mon, 17 Jul 2006 19:38:48 +0000 (19:38 +0000)]
LayoutTests:

        Reviewed by levi

        * editing/selection/drag-to-contenteditable-iframe-expected.txt:
        * editing/selection/subframe-with-selection-expected.txt:

WebKit:

        Reviewed by levi

        Rolled the first fix for:
        <http://bugzilla.opendarwin.org/show_bug.cgi?id=9642>
        GMail Editor: Operations that use drop down menus blow away the selection
        back in and removed the call to _clearSelectionInOtherFrames from
        -[WebHTMLView becomeFirstResponder] to fix the bug.

        * WebView/WebHTMLView.m:
        (-[NSArray maintainsInactiveSelection]):
        (-[NSArray becomeFirstResponder]):
        * WebView/WebView.m:
        (-[WebView maintainsInactiveSelection]):

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

16 years ago * API/JSBase.h: Fix comment formatting where things used to be lined up but
darin [Mon, 17 Jul 2006 15:19:46 +0000 (15:19 +0000)]
    * API/JSBase.h: Fix comment formatting where things used to be lined up but
        are now ragged. Got rid of spaces that attempted to line things up.
        * API/JSObjectRef.h: Ditto. Also add missing periods for a couple of comments.

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

16 years agoLayoutTests:
mjs [Mon, 17 Jul 2006 11:50:02 +0000 (11:50 +0000)]
LayoutTests:

        Reviewed by Beth.

        <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

        * fast/events/programmatic-check-no-change-event-expected.txt: Added.
        * fast/events/programmatic-check-no-change-event.html: Added.

WebCore:

        Reviewed by Beth.

        <rdar://problem/4604946> REGRESSION: 'checkboxRef.checked = true' fires onchange event in Leopard

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):
        (WebCore::HTMLInputElement::preDispatchEventHandler):
        * html/HTMLInputElement.h:

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

16 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 10:49:28 +0000 (10:49 +0000)]
    Reviewed by Maciej.

        - Removed the exception parameter from the initialize callback and, by extension,
        JSObjectMake. We have never had a need for exceptions when iniitializing,
        so the parameter seemed likely to "get in the way."

        Also, an exception in JavaScript is thrown in response to input --
        "invalid URL", "index not a number", etc., so it's the job of the
        constructor function, not the initialize method, to throw.

        If initialize *really* wants to throw, it can communicate the throw to
        the constructor through the constructed object's private data (e.g., set
        it to NULL, signaling to the consntructor that initialization failed.)

        - Added JSObjectMakeWithData, which enables a constructor to set private
        data on an object *before* it has been initialized. That way, the initialize
        methods can properly operate on the data.

        * API/JSNode.c: Moved ref into the initialize method, for better encapsulation,
        now that it's possible.
        * API/JSNodeList.c: ditto
        * API/minidom.c:
        (main): Do more aggressive garbage collection to test ref/deref and
        initialize/finalize.
        * API/minidom.js: store childNodes in a temporary so it doesn't get re-created
        like a thousand times. This makes debugging ref/deref easier

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

16 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 09:06:57 +0000 (09:06 +0000)]
    Reviewed by Maciej.

        - Changed the initialize callback to run from least derived class (parent
        class) to most derived class. This enables C++ style initialization,
        and derived class overriding of member data.

        - Added excpetion propopgation to JSObjectMake, to support initialize
        exceptions, and generally round out our policy of making function
        signatures as long as possible.

        * API/JSCallbackObject.h: Use ExecState instead of ContextRef, cuz we're
        in C++ land now.

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

16 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 08:20:28 +0000 (08:20 +0000)]
    Reviewed by Maciej.

        - Changed JSObjectMakeConstructor to JSObjectMakeConstructorWithCallback,
        to match JSObjectMakeFunctionWithCallback.

        - Added prototype parameter, so the generated constructor
        automatically works with hasInstance / instanceof

        - Moved hasInstance implementation from InternalFunctionImp to JSObject
        so that subclasses can inherit it without inheriting function-related baggage.
        More refactoring here would be good, but this seems like a good short-term
        solution.

        (KJS::JSCallbackFunction::implementsHasInstance): override and return false,
        because callback functions aren't constructors.

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

16 years ago Reviewed by Geoff.
mjs [Mon, 17 Jul 2006 08:14:39 +0000 (08:14 +0000)]
    Reviewed by Geoff.

        - add a JSContextRef parameter to all JSValueRef, JSObjectRef, and JSContextRef operations;
        except JSObject{Get,Set}PrivateData which can be assumed to be simple pure accessors.

        Also renamed the parameter "context" to "ctx" because it makes the code read better with this pervasive
        but usually uninteresting parameter.

        * API/JSBase.cpp:
        (JSEvaluateScript):
        (JSCheckScriptSyntax):
        (JSGarbageCollect):
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::JSCallbackObject):
        (KJS::JSCallbackObject::init):
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::toNumber):
        (KJS::JSCallbackObject::toString):
        * API/JSContextRef.cpp:
        (JSGlobalContextCreate):
        (JSGlobalContextRetain):
        (JSGlobalContextRelease):
        (JSContextGetGlobalObject):
        * API/JSContextRef.h:
        * API/JSNode.c:
        (JSNodePrototype_appendChild):
        (JSNodePrototype_removeChild):
        (JSNodePrototype_replaceChild):
        (JSNode_getNodeType):
        (JSNode_getFirstChild):
        (JSNode_prototype):
        * API/JSNodeList.c:
        (JSNodeListPrototype_item):
        (JSNodeList_length):
        (JSNodeList_getProperty):
        (JSNodeList_prototype):
        * API/JSObjectRef.cpp:
        (JSObjectMake):
        (JSObjectMakeFunctionWithCallback):
        (JSObjectMakeConstructor):
        (JSObjectMakeFunction):
        (JSObjectGetPrototype):
        (JSObjectSetPrototype):
        (JSObjectHasProperty):
        (JSObjectGetProperty):
        (JSObjectSetProperty):
        (JSObjectGetPropertyAtIndex):
        (JSObjectSetPropertyAtIndex):
        (JSObjectDeleteProperty):
        (JSObjectIsFunction):
        (JSObjectCallAsFunction):
        (JSObjectIsConstructor):
        (JSObjectCallAsConstructor):
        (JSObjectCopyPropertyNames):
        * API/JSObjectRef.h:
        * API/JSStringRef.cpp:
        * API/JSValueRef.cpp:
        (JSValueGetType):
        (JSValueIsUndefined):
        (JSValueIsNull):
        (JSValueIsBoolean):
        (JSValueIsNumber):
        (JSValueIsString):
        (JSValueIsObject):
        (JSValueIsObjectOfClass):
        (JSValueIsEqual):
        (JSValueIsStrictEqual):
        (JSValueIsInstanceOfConstructor):
        (JSValueMakeUndefined):
        (JSValueMakeNull):
        (JSValueMakeBoolean):
        (JSValueMakeNumber):
        (JSValueMakeString):
        (JSValueToBoolean):
        (JSValueToNumber):
        (JSValueToStringCopy):
        (JSValueToObject):
        (JSValueProtect):
        (JSValueUnprotect):
        * API/JSValueRef.h:
        * API/minidom.c:
        (print):
        * API/testapi.c:
        (MyObject_getProperty):
        (MyObject_deleteProperty):
        (MyObject_callAsFunction):
        (MyObject_callAsConstructor):
        (MyObject_convertToType):
        (print_callAsFunction):
        (main):

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

16 years ago Approved by Maciej, RS by Beth.
ggaren [Mon, 17 Jul 2006 04:41:01 +0000 (04:41 +0000)]
    Approved by Maciej, RS by Beth.

        JSObjectMakeFunction -> JSObjectMakeFunctionWithCallback
        JSObjectMakeFunctionWithBody -> JSObjectMakeFunction

        because the latter is more common, and more fundamental, than the former.

        * API/APICast.h:
        (toJS):
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::deleteProperty):
        (KJS::JSCallbackObject::getPropertyNames):
        (KJS::JSCallbackObject::staticValueGetter):
        (KJS::JSCallbackObject::staticFunctionGetter):
        * API/JSClassRef.cpp:
        (OpaqueJSClass::OpaqueJSClass):
        (OpaqueJSClass::~OpaqueJSClass):
        * API/JSClassRef.h:
        * API/JSObjectRef.cpp:
        (JSClassCreate):
        (JSObjectMakeFunctionWithCallback):
        (JSObjectMakeFunction):
        (OpaqueJSPropertyNameArray::OpaqueJSPropertyNameArray):
        (JSObjectCopyPropertyNames):
        * API/JSObjectRef.h:
        * API/minidom.c:
        (main):
        * API/testapi.c:
        (main):
        * ChangeLog:
        * JavaScriptCore.exp:

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

16 years agoLayoutTests:
ddkilzer [Mon, 17 Jul 2006 04:21:09 +0000 (04:21 +0000)]
LayoutTests:

        Reviewed by Darin.

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9954
          REGRESSION: document.dir should return empty string in <head>

        * fast/dom/document-dir-property-expected.txt: Added.
        * fast/dom/document-dir-property.html: Added.

WebCore:

        Reviewed by Darin.

        - fix for http://bugzilla.opendarwin.org/show_bug.cgi?id=9954
          REGRESSION: document.dir should return empty string in <head>

        Test: fast/dom/document-dir-property.html

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::getValueProperty): Return an empty string instead of an
        undefined value for an unset document.dir property.

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

16 years agoLayoutTests:
ddkilzer [Mon, 17 Jul 2006 04:15:53 +0000 (04:15 +0000)]
LayoutTests:

        Reviewed by Darin.

        * fast/dynamic/move-node-with-selection-expected.checksum:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.

WebCore:

        Reviewed by Darin.

        * dom/NodeFilter.idl:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
        * manual-tests/input-empty-on-focus.html:
        Removed "Property changes" that snuck in as part of the "apply patch" process.

WebKitTools:

        Reviewed by Darin.

        * BuildSlaveSupport/build.webkit.org-config/buildbot.css:
        Removed "No newline at end of file" that snuck in as part of the "apply patch" process.
        * GdkLauncher/mk:
        Removed "Property changes" that snuck in as part of the "apply patch" process.

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

16 years agoWebKitTools:
ddkilzer [Mon, 17 Jul 2006 03:59:42 +0000 (03:59 +0000)]
WebKitTools:

        Reviewed by Darin.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9875
          Teach svn-apply and svn-unapply to use patch(1) for additions and deletions

        * Scripts/svn-apply:
        (addDirectoriesIfNeeded): Don't try to add a directory that's already in svn.
        (checksum): Added.
        (patch): Use patch(1) for non-binary additions and deletions.
        * Scripts/svn-unapply:
        (checksum): Added.
        (patch): Use patch(1) for reverting non-binary additions and deletions.
        (revertDirectories): Don't try to revert a directory that hasn't changed in svn.

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

16 years ago - try to fix Windows build
darin [Mon, 17 Jul 2006 03:59:27 +0000 (03:59 +0000)]
    - try to fix Windows build

        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
        Added some recently added files, removed some recently removed.

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

16 years ago - fixed a couple of files I checked in wrong
darin [Mon, 17 Jul 2006 02:51:26 +0000 (02:51 +0000)]
    - fixed a couple of files I checked in wrong

        * fast/html/body-offset-properties-expected.txt: Removed property cruft.
        * fast/html/body-offset-properties.html: Ditto.

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

16 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 02:00:40 +0000 (02:00 +0000)]
    Reviewed by Maciej.

        - Change getProperty* to return undefined, rather than NULL, for missing
        properties, since that's what the spec says. Also added exception out
        parameters to the *Index functions, because they can call through to the
        regular functions, which can throw for custom objects.

        * API/JSObjectRef.cpp:
        (JSObjectGetProperty):
        (JSObjectGetPropertyAtIndex):
        (JSObjectSetPropertyAtIndex):
        * API/JSObjectRef.h:
        * API/testapi.c:
        (main):

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

16 years ago Reviewed by Maciej.
ggaren [Mon, 17 Jul 2006 01:48:27 +0000 (01:48 +0000)]
    Reviewed by Maciej.

        - Properly document and handle NULL callbacks for static properties. We
        throw an exception in any case other than a ReadOnly property with a NULL
        setProperty callback, because a NULL callback almost certainly indicates
        a programming error. Also throw an exception if hasProperty returns true
        for a property that getProperty can't get.

        - If a static setProperty callback returns 'false', to indicate that the
        property was not set, we no longer forward the set request up the class
        chain, because that's almost certainly not what the programmer expected.

        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getOwnPropertySlot):
        (KJS::JSCallbackObject::put):
        (KJS::JSCallbackObject::staticValueGetter):
        (KJS::JSCallbackObject::staticFunctionGetter):
        (KJS::JSCallbackObject::callbackGetter):
        * API/JSObjectRef.h:
        * API/minidom.js:
        * API/testapi.c:
        (MyObject_hasProperty):
        * API/testapi.js:

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

16 years ago - fixed typo in expected results
mjs [Mon, 17 Jul 2006 01:47:13 +0000 (01:47 +0000)]
    - fixed typo in expected results

        * fast/js/for-in-avoid-duplicates-expected.txt:

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

16 years agoLayoutTests:
darin [Mon, 17 Jul 2006 00:37:55 +0000 (00:37 +0000)]
LayoutTests:

        Reviewed by John Sullivan (new test, not the changes to existing ones).

        - test for http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
          <rdar://problem/4590613>
          REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns

        * fast/html/body-offset-properties-expected.txt: Added.
        * fast/html/body-offset-properties.html: Added.

        * editing/execCommand/findString-2.html: Update to not depend on the buggy body.offseLeft/Top.
        Instead hardcode the default body margin of 8.
        * editing/pasteboard/drop-text-without-selection.html: Ditto.
        * editing/selection/click-before-and-after-table.html: Ditto.
        * editing/selection/mixed-editability-1.html: Ditto.
        * fast/table/click-near-anonymous-table.html: Ditto.

        * editing/selection/drag-to-contenteditable-iframe.html: Remove unnecessary use of body.offsetLeft/Top
        that are always 0.

WebCore:

        Reviewed by John Sullivan.

        - fix http://bugzilla.opendarwin.org/show_bug.cgi?id=9943
          <rdar://problem/4590613>
          REGRESSION (Tiger-TOT): menus are offset to the right at http://movies.aol.com/movie-photo-bts/superman-returns

        The problem turns out to be the fact that body.offsetLeft is returning a non-zero value.
        I have no idea why the menus worked in Tiger Safari, because body.offsetLeft behavior has not changed.
        Presumably some other bug that we fixed had been compensating.

        Test: fast/html/body-offset-properties.html

        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::offsetLeft): Always return 0 for any object without an offsetParent.
        (WebCore::RenderObject::offsetTop): Ditto.
        (WebCore::RenderObject::offsetParent): Return 0 for the body (treat as a special case).

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

16 years ago Reviewed by Maciej.
bdakin [Mon, 17 Jul 2006 00:25:56 +0000 (00:25 +0000)]
    Reviewed by Maciej.

        Fix for <rdar://problem/4616595> REGRESSION: Problems with world
        clock widget clock hand motion on 9A211 + 4604574

        The second hand on the widget was jiggling because the rotation was
        messing up the use of the affine transformation matrix while
        rounding to pixel boundaries in device space. We are mainly
        concerned with rounding to pixel boundaries with the scale in mind,
        so this patch extracts the scale to device space from the matrix,
        and rounds to pixel boundaries using only the scale. This doesn't
        seem like it is a perfect solution, but it definitely solves the
        immediate problem. We will probably need to re-address what should
        happen to avoid pixel cracks with rotations at non-integral scale
        factors.

        * platform/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::roundToDevicePixels):

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

16 years ago Reviewed by Maciej.
ggaren [Sun, 16 Jul 2006 22:17:04 +0000 (22:17 +0000)]
    Reviewed by Maciej.

        - Added names to functions.

        - Removed GetPrivate/SetPrivate from callbackFunctions and callbackConstructors.
        The private data idiom is that a JS object stores its native implementation
        as private data. For functions and constructors, the native implementation is nothing
        more than the callback they already store, so supporting private data, too,
        confuses the idiom. If you *really* want, you can still create a custom
        function with private data.

        * API/JSCallbackConstructor.cpp:
        * API/JSCallbackConstructor.h:
        * API/JSCallbackFunction.cpp:
        (KJS::JSCallbackFunction::JSCallbackFunction):
        * API/JSCallbackFunction.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::staticFunctionGetter):
        * API/JSObjectRef.cpp:
        (JSObjectMakeFunction):
        (JSObjectMakeFunctionWithBody):
        (JSObjectGetPrivate):
        (JSObjectSetPrivate):
        * API/JSObjectRef.h:
        * API/minidom.c:
        (main):
        * API/testapi.c:
        (main):

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

16 years agoJavaScriptCore:
mjs [Sun, 16 Jul 2006 21:06:28 +0000 (21:06 +0000)]
JavaScriptCore:

        Reviewed by Darin.

        - switch property lists to be vector+set of Identifiers instead of list of References

        This has the following benefits:

        - no duplicates in property lists
        - simplifies API calls
        - probably more efficient, since linked list is gone
        - entirely removed Reference, ReferenceList and ProtectedReference types from the API

        * kjs/PropertyNameArray.cpp: Added.
        (KJS::PropertyNameArray::add): Check set, if not already there, add to
        vector.
        * kjs/PropertyNameArray.h: Added.
        (KJS::PropertyNameArray::PropertyNameArray): Newly added type, combines
        a set and a vector to make a unique but ordered list of identifiers.
        (KJS::PropertyNameArray::begin): ditto
        (KJS::PropertyNameArray::end): ditto
        (KJS::PropertyNameArray::size): ditto
        (KJS::PropertyNameArray::operator[]): ditto
        * kjs/array_instance.h:
        * kjs/array_object.cpp:
        (ArrayInstance::getPropertyNames): renamed from getPropertyList, updated
        for PropertyNameArray
        (ArrayInstance::setLength): updated for PropertyNameArray
        (ArrayInstance::pushUndefinedObjectsToEnd): ditto
        * kjs/nodes.cpp:
        (ForInNode::execute): updated for PropertyNameArray
        * kjs/nodes.h:
        * kjs/object.cpp:
        (KJS::JSObject::getPropertyNames): renamed from getPropertyList, updated
        for PropertyNameArray
        * kjs/object.h:
        * kjs/property_map.cpp:
        (KJS::PropertyMap::getEnumerablePropertyNames): updated for PropertyNameArray
        (KJS::PropertyMap::getSparseArrayPropertyNames): ditto
        * kjs/property_map.h:
        * kjs/protected_reference.h: Removed.
        * kjs/reference.cpp: Removed.
        * kjs/reference.h: Removed.
        * kjs/reference_list.cpp: Removed.
        * kjs/reference_list.h: Removed.
        * kjs/scope_chain.cpp:
        (KJS::ScopeChain::print): Use PropertyNamesArray instead of ReferenceList.
        * kjs/string_object.cpp:
        (StringInstance::getPropertyNames): Updated for new approach.
        * kjs/string_object.h:
        * kjs/ustring.h:
        * API/APICast.h:
        (toJS): Added overload for PropertyNameAccumulatorRef / PropertyNameArray*
        (toRef): ditto
        * API/JSBase.h:
        * API/JSCallbackObject.cpp:
        (KJS::JSCallbackObject::getPropertyNames): Fixed for new API.
        * API/JSCallbackObject.h:
        * API/JSObjectRef.cpp:
        (__JSPropertyNameArray::__JSPropertyNameArray): Type used for a publicly vended
        JSPropertyNameArrayRef.
        (JSObjectCopyPropertyNames): New API call - renamed / refactored from
        JSObjectCreatePropertyList
        (JSPropertyNameArrayRetain): new retain call for JSPropertyNameArray.
        (JSPropertyNameArrayRelease): new release call for - " -.
        (JSPropertyNameArrayGetCount): Instead of having to use a stateful enumerator you
        can now get the count and items in any order.
        (JSPropertyNameArrayGetNameAtIndex): See above.
        (JSPropertyNameAccumulatorAddName): What you add properties to is now an opaque
        accumulator object.
        * API/JSObjectRef.h: Prototyped new functions, removed old ones
        * JavaScriptCore.exp: Updated exported symbols.
        * JavaScriptCore.xcodeproj/project.pbxproj: Added new files, removed old.
        * API/testapi.c:
        (MyObject_getPropertyNames): Renamed / fixed callback to fit new paradigm.
        (main): Updated for new API.

JavaScriptGlue:

        Reviewed by Darin.

        - switch property lists to be vector+set of Identifiers instead of list of References

        * JSUtils.cpp:
        (KJSValueToCFTypeInternal): updated for JSC SPI changes
        * JSValueWrapper.cpp:
        (JSValueWrapper::JSObjectCopyPropertyNames): ditto
        * UserObjectImp.cpp:
        (UserObjectImp::getPropertyNames): ditto
        * UserObjectImp.h:

LayoutTests:

        Reviewed by Darin.

        - new test case and updated results for property list changes

        * fast/js/for-in-avoid-duplicates-expected.txt: Added.
        * fast/js/for-in-avoid-duplicates.html: Added.
        * fast/js/kde/Array-expected.txt:
        * fast/js/resources/for-in-avoid-duplicates.js: Added.

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

16 years agoJavaScriptGlue has no need to look for frameworks in WebKit's umbrella framework...
thatcher [Sun, 16 Jul 2006 05:45:36 +0000 (05:45 +0000)]
JavaScriptGlue has no need to look for frameworks in WebKit's umbrella framework path anymore.

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

16 years agoWebCore has no need to look for frameworks in WebKit's umbrella framework path anymore.
thatcher [Sun, 16 Jul 2006 05:22:12 +0000 (05:22 +0000)]
WebCore has no need to look for frameworks in WebKit's umbrella framework path anymore.

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