18 years agoWebKit:
sullivan [Mon, 24 May 2004 20:01:11 +0000 (20:01 +0000)]

        Reviewed by Dave.

        - added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the
        back/forward list can remember what page (if any) they were initiated from.

        * History.subproj/WebHistoryItem.m:
        new RSSFeedReferrer ivar in private structure
        (-[WebHistoryItemPrivate dealloc]):
        release RSSFeedReferrer
        (-[WebHistoryItem copyWithZone:]):
        copy RSSFeedReferrer
        (-[WebHistoryItem RSSFeedReferrer]):
        return RSSFeedReferrer
        (-[WebHistoryItem setRSSFeedReferrer:]):
        set RSSFeedReferrer

        * History.subproj/WebHistoryItemPrivate.h:
        declare -RSSFeedReferrer and -setRSSFeedReferrer:


        Reviewed by Dave.

        More work on Emerson show/hide button. Now when the "Show RSS Feed" button
        is clicked, we stash away the URL we are expecting to load. When (if) that URL
        is loaded, we find the previous URL from the back list and store that in the
        RSS feed's history item, so that if we revisit this RSS feed using the back/forward
        list, we'll correctly display the "Hide RSS Feed" button. (If the RSS feed's URL
        is visited some other way, it won't have a corresponding URL to "return" to, and
        the "Hide RSS Feed" button will not appear.)

        * BrowserWebController.h:
        new ivar and getter/setter for pendingRSSFeedURLString
        * BrowserWebController.m:
        (-[BrowserWebView dealloc]):
        release _pendingRSSFeedURLString
        (-[BrowserWebView pendingRSSFeedURLString]):
        get _pendingRSSFeedURLString
        (-[BrowserWebView setPendingRSSFeedURLString:]):
        set _pendingRSSFeedURLString
        (-[BrowserWebView counterpartURLForRSS]):
        get RSS feed referrer from current back/forward list history item

        * BrowserWindowController.m:
        (-[BrowserWindowController windowShouldGoToURL:]):
        cleanup noticed in passing: use [[self currentWebView] goToURL:URL] instead of
        [[self browserDocument] goToURL:URL] because it seems clearer (and does the same thing)
        (-[BrowserWindowController performQuickSearch:]):
        (-[BrowserWindowController updateRSSButton]):
        added comment
        (-[BrowserWindowController goToCounterpartURLForRSS]):
        when going to an RSS feed, call setPendingRSSFeedURLString so we will set
        the referrer on the history item in the upcoming commit

        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:didCommitLoadForFrame:]):
        if the incoming URL matches the pending RSS feed, set the RSS feed referrer on the
        history item for the incoming URL

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

18 years ago Reviewed by Ken.
darin [Mon, 24 May 2004 04:45:26 +0000 (04:45 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/3259919>: (Shift click should extend selection)

        * khtml/khtmlpart_p.h: Renamed m_textElement to m_selectionGranularity and
        m_mouseMovedSinceLastMousePress to m_beganSelectingText.
        * khtml/khtml_part.cpp:
        (KHTMLPart::handleMousePressEventDoubleClick): Set m_beganSelectingText if the double-click
        began selecting text.
        (KHTMLPart::handleMousePressEventTripleClick): Ditto.
        (KHTMLPart::handleMousePressEventSingleClick): Added code to extend selection if shift is down.
        (KHTMLPart::khtmlMousePressEvent): Remove code that sets the selection granularity to
        "by character". We only want to do that if we start selecting with a single click.
        Otherwise we want to leave the selection granularity alone.
        (KHTMLPart::khtmlMouseReleaseEvent): Change the code that clears the selection on a plain old
        click to check the m_beganSelectingText boolean so it won't run when you shift-click, for example.
        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): Updated for m_textElement
        name change.

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

18 years ago Reviewed by Ken.
darin [Sun, 23 May 2004 22:45:28 +0000 (22:45 +0000)]
    Reviewed by Ken.

        - went through things marked "unimplemented" or "not implemented" and removed
          or implemented as many as possible

        * kwq/DOM.mm: (-[DOMNode dispatchEvent:]): Implemented.
        Also moved DOMAbstractView and DOMDocumentView into DOMViews.mm.
        * kwq/DOM-CSS.mm: (-[DOMDocument getComputedStyle::]): Implemented.

        * kwq/DOMEventsInternal.h: Added.
        * kwq/DOMEvents.mm:
        (-[DOMEvent type]): Implemented.
        (-[DOMEvent target]): Implemented.
        (-[DOMEvent currentTarget]): Implemented.
        (-[DOMEvent eventPhase]): Implemented.
        (-[DOMEvent bubbles]): Implemented.
        (-[DOMEvent cancelable]): Implemented.
        (-[DOMEvent timeStamp]): Implemented.
        (-[DOMEvent stopPropagation]): Implemented.
        (-[DOMEvent preventDefault]): Implemented.
        (-[DOMEvent initEvent:::]): Implemented.
        (-[DOMEvent _eventImpl]): Added.
        (-[DOMEvent _initWithEventImpl:]): Added.
        (+[DOMEvent _eventWithImpl:]): Added.
        (-[DOMMouseEvent _mouseEventImpl]): Added.
        (-[DOMMouseEvent screenX]): Implemented.
        (-[DOMMouseEvent screenY]): Implemented.
        (-[DOMMouseEvent clientX]): Implemented.
        (-[DOMMouseEvent clientY]): Implemented.
        (-[DOMMouseEvent ctrlKey]): Implemented.
        (-[DOMMouseEvent shiftKey]): Implemented.
        (-[DOMMouseEvent altKey]): Implemented.
        (-[DOMMouseEvent metaKey]): Implemented.
        (-[DOMMouseEvent button]): Implemented.
        (-[DOMMouseEvent relatedTarget]): Implemented.
        (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Implemented.
        (-[DOMMutationEvent _mutationEventImpl]): Added.
        (-[DOMMutationEvent relatedNode]): Implemented.
        (-[DOMMutationEvent prevValue]): Implemented.
        (-[DOMMutationEvent newValue]): Implemented.
        (-[DOMMutationEvent attrName]): Implemented.
        (-[DOMMutationEvent attrChange]): Implemented.
        (-[DOMMutationEvent initMutationEvent::::::::]):
        (-[DOMUIEvent _UIEventImpl]): Added.
        (-[DOMUIEvent view]): Implemented.
        (-[DOMUIEvent detail]): Implemented.
        (-[DOMUIEvent initUIEvent:::::]): Implemented.
        (-[DOMDocument createEvent:]): Implemented.

        * kwq/DOMHTMLInternal.h: Added.
        * kwq/DOMHTML.mm:
        (+[DOMHTMLOptionsCollection _optionsCollectionWithImpl:]): Added.
        (-[DOMHTMLOptionsCollection length]): Implemented.
        (-[DOMHTMLOptionsCollection setLength:]): Implemented.
        (-[DOMHTMLOptionsCollection item:]): Implemented.
        (-[DOMHTMLOptionsCollection namedItem:]): Implemented.
        (-[DOMHTMLSelectElement options]): Implemented.

        * kwq/DOMViews.h: Changed DOMDocumentView to be a category on DOMDocument
        rather than a separate class.
        * kwq/DOMViewsInternal.h: Added.
        * kwq/DOMViews.mm: Added.
        (-[DOMAbstractView document]): Implemnted.
        (-[DOMAbstractView _abstractViewImpl]): Added.
        (-[DOMAbstractView _initWithAbstractViewImpl:]): Added.
        (+[DOMAbstractView _abstractViewWithImpl:]): Added.
        (-[DOMDocument defaultView]): Implemented.

        * khtml/dom/dom2_views.h: Made AbstractView constructor public to allow creation in
        the bindings. Would not be necessary if the impl classes were used consistently.

        * khtml/html/html_formimpl.h: Added options() function to HTMLSelectElementImpl.
        Added HTMLOptionsCollectionImpl class.
        * khtml/html/html_formimpl.cpp:
        (HTMLSelectElementImpl::~HTMLSelectElementImpl): Added code to detach and deref the
        options collection.
        (HTMLSelectElementImpl::options): Create an options collection if needed.
        (HTMLOptionsCollectionImpl::length): Added. Not yet implemented.
        (HTMLOptionsCollectionImpl::setLength): Ditto.
        (HTMLOptionsCollectionImpl::item): Ditto.
        (HTMLOptionsCollectionImpl::namedItem): Ditto.

        * khtml/khtmlview.h: Move unused focusNextPrevChild virtual function inside !APPLE_CHANGES.
        * khtml/khtmlview.cpp: Put the tp, paintBuffer, and formCompletions fields entirely
        inside !APPLE_CHANGES. Also made QT_NO_TOOLTIP entirely disable the tooltip field.
        Also put focusNextPrevChild and formCompletionItems functions inside !APPLE_CHANGES.

        * khtml/rendering/render_text.h: Removed unused isFixedWidthFont member function.
        * khtml/rendering/render_text.cpp: Ditto.

        * kwq/KWQCursor.h: Removed unused pos member function.
        * kwq/KWQCursor.mm: Ditto.

        * kwq/KWQFontMetrics.h: Removed unused rightBearing and leftBearing member functions.
        * kwq/KWQFontMetrics.mm: Ditto.

        * kwq/KWQKComboBox.h: Removed KCompletionBase as a base class.

        * kwq/KWQKConfigBase.h: Removed unused readBoolEntry, writeEntry, and readListEntry
        member functions.
        * kwq/KWQKConfigBase.mm: Ditto.
        (KConfig::readEntry): Improved "not implemented" message to indicate which key is uinimplemented.
        (KConfig::readNumEntry): Ditto.
        (KConfig::readUnsignedNumEntry): Ditto.

        * kwq/KWQKLineEdit.h: Removed everything, since all the KLineEdit stuff was unused.
        Changed KLineEdit to just be a typedef for QLineEdit.

        * kwq/KWQSlot.mm: Removed slotAutoScroll.
        (KWQSlot::KWQSlot): And from here.
        (KWQSlot::call): And from here.

        * kwq/KWQTextStream.h: Removed unused QTextOStream and QTextIStream.
        * kwq/KWQTextStream.mm: Removed unused QTextIStream function. Also made buffer sizes larger
        so we don't have any problems on 64-bit systems. 10 bytes might not be long enough to sprintf an
        integer or a long or a pointer, but 100 bytes surely will.

        * kwq/KWQWidget.h: Removed unused focusNextPrevChild.
        * kwq/KWQWidget.mm: Ditto.

        * WebCore.pbproj/project.pbxproj: Removed some files, added others.

        * ForwardingHeaders/kcompletionbox.h: Emptied out, no KWQKCompletionBox.h any more.
        * ForwardingHeaders/kiconloader.h: Emptied out, no KWQKIconLoader.h any more.
        * ForwardingHeaders/kmimetype.h: Emptied out, no KWQKMimeType.h any more.
        * ForwardingHeaders/ksimpleconfig.h: Emptied out, no KWQKSimpleConfig.h any more.
        * ForwardingHeaders/qfontinfo.h: Emptied out, no KWQFontInfo.h any more.
        * ForwardingHeaders/qtooltip.h: Replaced with define of QT_NO_TOOLTIP, no
        KWQToolTip.h any more.

        * kwq/KWQCompletion.h: Removed.
        * kwq/KWQCompletion.mm: Removed.
        * kwq/KWQFontInfo.h: Removed.
        * kwq/KWQFontInfo.mm: Removed.
        * kwq/KWQKCompletionBox.h: Removed.
        * kwq/KWQKIconLoader.h: Removed.
        * kwq/KWQKIconLoader.mm: Removed.
        * kwq/KWQKMimeType.h: Removed.
        * kwq/KWQKMimeType.mm: Removed.
        * kwq/KWQKSimpleConfig.h: Removed.
        * kwq/KWQKSimpleConfig.mm: Removed.
        * kwq/KWQToolTip.h: Removed.

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

18 years ago Reviewed by Ken.
darin [Sun, 23 May 2004 22:34:48 +0000 (22:34 +0000)]
    Reviewed by Ken.

        - implemented some of the trivial WebView editing operations; some had bug reports, to wit:
        - fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
        - fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))

        * WebView.subproj/WebView.m:
        (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked
        up. It simply calls ensureCaretVisible for now.
        (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed
        to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but
        now this method is hooked up and will work at least for left-to-right text.
        (-[WebView moveBackwardAndModifySelection:]): Ditto.
        (-[WebView moveForward:]): Ditto.
        (-[WebView moveForwardAndModifySelection:]): Ditto.
        (-[WebView moveWordBackward:]): Ditto.
        (-[WebView moveWordBackwardAndModifySelection:]): Ditto.
        (-[WebView moveWordForward:]): Ditto.
        (-[WebView moveWordForwardAndModifySelection:]): Ditto.
        (-[WebView scrollLineDown:]): Forward to WebFrameView.
        (-[WebView scrollLineUp:]): Ditto.
        (-[WebView scrollPageDown:]): Ditto.
        (-[WebView scrollPageUp:]): Ditto.
        (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste.
        (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
        (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge.
        (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as
        a field editor, then we might have to add code here.
        (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:.
        Might not be a perfect implementation in the presence of delegates who refuse to delete because it will
        change the selection even if the delete is disallowed.
        (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:.
        Same issue about about delegates as deleteWordForward:.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.

        * DOM.subproj/DOMViews.h: Updated from recent change to WebCore.

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

18 years ago Reviewed by Maciej.
darin [Sat, 22 May 2004 07:18:31 +0000 (07:18 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3664260>: (JS needs to listen to timezone change notifications)

        * kjs/date_object.cpp: (CopyLocalTimeZone): As per Chris Kane and Jordan Hubbard, use <notify.h>
        with a hardcoded string of "com.apple.system.timezone", and do CFTimeZoneResetSystem since
        CoreFoundation doesn't do this itself. Turns out this affects the default time zone as long as
        it hasn't been set explicitly.

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

18 years ago Reviewed by Maciej.
darin [Sat, 22 May 2004 06:53:51 +0000 (06:53 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3663659>: (result of toString mistakenly includes all subsequent sibling content)

        * khtml/xml/dom2_rangeimpl.h: Added private startNode() and pastEndNode() functions.
        * khtml/xml/dom2_rangeimpl.cpp:
        (DOM::RangeImpl::toString): Rewrote to use startNode(), pastEndNode(), and traverseNextNode().
        The old code here was wrong, and it was easier to rewrite than fix.
        (DOM::RangeImpl::checkDeleteExtract): Extracted the logic to compute the start node and the past-end
        node into separate functions.
        (DOM::RangeImpl::startNode): Added. Started with code extracted from checkDeleteExtract, but then
        also fixed bugs by using the new traverseNextSibling. The old code handled cases where the offset was
        past the last child in a container incorrectly.
        (DOM::RangeImpl::pastEndNode): Added. Started with code extracted from checkDeleteExtract, but then
        also fixed bugs by using the new traverseNextSibling. The old code hanlded cases where the offset was
        past the last child in a container incorrectly, and also iterated one node too few in cases where the
        end contaier was a text node.

        * khtml/xml/dom2_traversalimpl.h: Removed a bunch of unused and unneeded member functions.

        * khtml/xml/dom_nodeimpl.h: Added traverseNextSibling.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::traverseNextNode): Reformatted the code a little bit.
        (NodeImpl::traverseNextSibling): Added. Like traverseNextNode except it starts after the node's children
        instead of starting at the beginning of the first child.

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

18 years ago Reviewed by Trey.
mjs [Sat, 22 May 2004 01:50:48 +0000 (01:50 +0000)]
    Reviewed by Trey.

<rdar://problem/3656722>: Implement outerText and setOuterText DOM extensions

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::outerText): Return same value as innerText().
        (HTMLElementImpl::setInnerText): Fix comment.
        (HTMLElementImpl::setOuterText): Replace node with text, merge neighboring text nodes.
        * khtml/html/html_elementimpl.h: Prototype new methods.
* khtml/dom/html_element.cpp:
        (HTMLElement::outerText): Hook up to impl.
        (HTMLElement::setOuterText): Ditto.
        * khtml/dom/html_element.h: Prototype new methods.
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::getValueProperty): Glue up outerText.
        (KJS::HTMLElement::putValue): Ditto.
        * khtml/ecma/kjs_html.h: Added new enum value.
        * khtml/ecma/kjs_html.lut.h:
        (KJS::): Regenerated.

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

18 years agoWebCore:
rjw [Fri, 21 May 2004 22:27:09 +0000 (22:27 +0000)]
        Removed _bindObject:forFrame: SPI.

        Reviewed by Chris.

        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:

        Removed _bindObject:forFrame: SPI.

        Reviewed by Chris.

        * WebView.subproj/WebView.m:
        * WebView.subproj/WebViewPrivate.h:

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

18 years ago Fix for 3663644, repaints don't occur when the .innerHTML of a positioned element...
hyatt [Fri, 21 May 2004 22:17:10 +0000 (22:17 +0000)]
Fix for 3663644, repaints don't occur when the .innerHTML of a positioned element is changed.

        Reviewed by john

        * khtml/rendering/bidi.cpp:
        * khtml/rendering/render_layer.h:

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

18 years agochange version number to '142u'. the tree is open.
vicki [Fri, 21 May 2004 18:59:04 +0000 (18:59 +0000)]
change version number to '142u'.  the tree is open.

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

18 years agoSafari-141 stamp
vicki [Fri, 21 May 2004 18:54:31 +0000 (18:54 +0000)]
Safari-141 stamp

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

18 years ago Reviewed by Ken and Chris.
darin [Fri, 21 May 2004 17:22:18 +0000 (17:22 +0000)]
    Reviewed by Ken and Chris.

        - fixed <rdar://problem/3656948>: (markup strings that contain <html> and <body> elements don't work, producing nothing)

        * khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment):
        Changed things around so that nodes are removed from their parent node before

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

18 years ago Reviewed by Ken.
darin [Fri, 21 May 2004 16:42:54 +0000 (16:42 +0000)]
    Reviewed by Ken.

        - fixed part of <rdar://problem/3656948>: (HTML Editing: -[WebView replaceSelectionWithMarkupString:] doesn't seem to work)

        * khtml/editing/htmlediting_impl.cpp: (khtml::PasteMarkupCommandImpl::doApply):
        Changed code to handle case where contextual fragment parses to nothing without crashing.

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

18 years ago Reviewed by Ken and Chris.
darin [Fri, 21 May 2004 16:41:49 +0000 (16:41 +0000)]
    Reviewed by Ken and Chris.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText:
        instead of replaceSelectionWithMarkupString: when pasting plain text.

        * WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]):
        Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason
        that replacing with empty string should be a no-op instead of a delete.

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

18 years ago Reviewed by Ken.
darin [Fri, 21 May 2004 15:44:59 +0000 (15:44 +0000)]
    Reviewed by Ken.

        * kwq/DOM-CSS.mm: Change DOMCSSStyleDeclaration methods to use strings with dash-separators in them
        rather than interCaps.

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

18 years ago Reviewed by Maciej.
darin [Fri, 21 May 2004 08:34:45 +0000 (08:34 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3090663>: (scroll to top of page when anchor is "#top" or "#")

        * khtml/khtml_part.cpp:
        (KHTMLPart::gotoAnchor): Detect anchor by checking for non-null, not non-empty, because an
        empty anchor is not the same as no anchor.
        (KHTMLPart::gotoAnchor): Add special case for anchors named "" and "top" (case insensitive),
        to scroll to the top left of the frame to match what WinIE and Mozilla do.
        (KHTMLPart::checkCompleted): Check for non-null here too for consistency.

        * kwq/KWQKURL.mm:
        (KURL::ref): Change check so that we return empty, not null, if there's an empty ref,
        as opposed to no ref.
        (KURL::hasRef): Return true if there's an empty ref, as opposed to no ref.
        (KURL::parse): Preserve an empty fragment when parsing.

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

18 years ago Reviewed by Maciej.
darin [Fri, 21 May 2004 06:52:17 +0000 (06:52 +0000)]
    Reviewed by Maciej.

        - fixed <rdar://problem/3575385>: (multiple radio buttons checked when arriving at sites (poll at www.1170kfaq.com, many others))

        * khtml/html/html_formimpl.cpp:
        (HTMLInputElementImpl::parseHTMLAttribute): Use setChecked to set the default value if we are still in
        "use default checked" mode. That way, other radio buttons will be unchecked properly and the proper
        changed methods will be dispatched.
        (HTMLInputElementImpl::reset): Ditto.
        * khtml/html/html_formimpl.h: (DOM::HTMLInputElementImpl::checked): Changed to just return m_checked.
        The m_useDefaultChecked flag is now only really looked at when you parse a checked attribute; that's
        because m_checked and m_defaultChecked are kept equal as long as m_useDefaultChecked is true.

        * khtml/xml/dom_nodeimpl.h: Removed an unnecessary virtual, to make code a little smaller and faster.

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

18 years agoWebCore:
darin [Fri, 21 May 2004 00:51:46 +0000 (00:51 +0000)]

        Reviewed by Chris.

        - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
        - fixed <rdar://problem/3662556>: (REGRESSION: letting up mouse while dragging over link activates the link)

        * khtml/khtmlview.h: Added invalidateClick.
        * khtml/khtmlview.cpp: (KHTMLView::invalidateClick): Added. Sets clickCount to 0.

        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::matchLabelsAgainstElement): Changed a string replace to a character replace for slightly
        faster code and smaller code size.
        (KWQKHTMLPart::khtmlMouseMoveEvent): Call invalidateClick at the appropriate times. To do this correctly,
        had to add a boolean result to handleMouseDragged: so I can tell if a drag started or not (due to hysteresis).
        (KWQKHTMLPart::attributedString): Changed a string append to a character append for slightly faster code
        and smaller code size.

        * kwq/WebCoreBridge.h: Added BOOL result to handleMouseDragged:.

        Reviewed by Dave.

        - handle rules with empty bodies properly

        * khtml/css/parser.y: Remove bogus check for empty body that prevents the rule
        from being created.
        * khtml/css/parser.cpp: Regenerated.


        Reviewed by Chris.

        - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)

        * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
        Added BOOL result to handleMouseDragged:.
        * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.

        * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
        returning YES when the drag started, and no when the hysteresis has not yet been overcome.

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

18 years ago Revise the patch for incorrect caret positions when brs get deleted. It can be...
hyatt [Fri, 21 May 2004 00:07:01 +0000 (00:07 +0000)]
Revise the patch for incorrect caret positions when brs get deleted.  It can be even simpler.

        Reviewed by kocienda

        * khtml/rendering/render_flow.cpp:
        * khtml/rendering/render_text.cpp:

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

18 years ago Fix for 3629816, caret in wrong position when deleting <br>s on lines by themselves...
hyatt [Fri, 21 May 2004 00:00:49 +0000 (00:00 +0000)]
Fix for 3629816, caret in wrong position when deleting <br>s on lines by themselves or when moving <br>s
on lines by themselves.

        Reviewed by kocienda

        * khtml/rendering/render_box.cpp:
        * khtml/rendering/render_br.cpp:
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_flow.cpp:

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

18 years agoWebCore:
kocienda [Thu, 20 May 2004 22:52:19 +0000 (22:52 +0000)]

        Reviewed by Hyatt

        Provide the methods to glue the WebView's editing delegate so that these methods work:

        <rdar://problem/3655316>: "Editing:�webViewShouldBeginEditing:inDOMRange:�ethod�nimplemented�WebKit�diting�PI)"
        <rdar://problem/3655317>: "Editing:�webViewShouldEndEditing:inDOMRange:�ethod�nimplemented�WebKit�diting�PI)"

        While I was in the neighborhood and working on understanding focus shifts, I fixed this bug as well:

        <rdar://problem/3645154>: "contentEditable div receives focus and blur twice when focus changes to new element"

        * khtml/khtml_part.cpp:
        (KHTMLPart::invalidateSelection): Do not move focus in this function. That is just a mistake. This function
        is all about redraw.
        (KHTMLPart::selectionLayoutChanged): New function. Factor out the redraw parts of notifySelectionChanged so
        that invalidateSelection can call it.
        (KHTMLPart::notifySelectionChanged): Call selectionLayoutChanged now that the redraw parts have been
        factored out.
        (KHTMLPart::shouldBeginEditing): New function that calls through to the KWQKHTMLPart in an APPLE_CHANGES
        block. This is part of the code path that will eventually The WebView's delegate to ask the
        shouldBeginEditing question.
        (KHTMLPart::shouldEndEditing): Ditto, except the question is about shouldEndEditing.
        * khtml/khtml_part.h:
        * khtml/khtmlview.cpp:
        (KHTMLView::dispatchMouseEvent): Now looks at the boolean value returned from DocumentImpl::setFocusNode
        (described below). If the focus shift was blocked, swallow the mouse event.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::relinquishesEditingFocus): Part of the WebView's delegation call chain described above.
        (DocumentImpl::acceptsEditingFocus): Ditto.
        (DocumentImpl::setFocusNode): Many improvements. Now handles WebView delegation and switching focus
        in the handlers called as a result of the DOM events that this function calls. Also now returns a
        boolean to say whether the attempt to set focus was blocked by a handler or by the WebView's delegate.
        * khtml/xml/dom_docimpl.h:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::shouldBeginEditing): More WebView's delegation glue.
        (KWQKHTMLPart::shouldEndEditing): Ditto.
        * kwq/WebCoreBridge.h:


        Reviewed by Hyatt

        Provide the methods to glue the WebView's editing delegate so that these methods work:

        <rdar://problem/3655316>: "Editing:�webViewShouldBeginEditing:inDOMRange:�ethod�nimplemented�WebKit�diting�PI)"
        <rdar://problem/3655317>: "Editing:�webViewShouldEndEditing:inDOMRange:�ethod�nimplemented�WebKit�diting�PI)"

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge shouldBeginEditing:]): New method used to glue delegate to focus shifts.
        (-[WebBridge shouldEndEditing:]): Ditto.
        * WebView.subproj/WebView.m:
        (-[WebView _shouldBeginEditingInDOMRange:]): Ditto.
        (-[WebView _shouldEndEditingInDOMRange:]): Ditto.
        * WebView.subproj/WebViewPrivate.h: Ditto.

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

18 years agoWebKit:
rjw [Thu, 20 May 2004 22:13:48 +0000 (22:13 +0000)]
Fixed typo in header comment.

        Reviewed by Ken.

        * Plugins.subproj/WebScriptObject.h:

Implemented WebScriptObject/DOM wrapper voodoo.  DOM wrappers
can now be referenced like any other WebScriptObject, meaning
you can do JS operations on them.

All added implementation of finalizeForWebScript.

        Reviewed by Ken.

        * kwq/DOM.mm:
        (-[DOMObject _init]):
        * kwq/DOMInternal.mm:
        (-[WebScriptObject _init]):
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:

Implemented WebScriptObject/DOM wrapper voodoo.  DOM wrappers
can now be referenced like any other WebScriptObject, meaning
you can do JS operations on them.

All added implementation of finalizeForWebScript.

        Reviewed by Ken.

        * bindings/objc/WebScriptObject.h:
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _initializeWithObjectImp:KJS::root:Bindings::]):
        (-[WebScriptObject _initWithObjectImp:KJS::root:Bindings::]):
        (-[WebScriptObject KJS::]):
        (-[WebScriptObject dealloc]):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject stringRepresentation]):
        * bindings/objc/WebScriptObjectPrivate.h:
        * bindings/objc/objc_instance.mm:

Added some debugging for WebScriptObject, disabled by default.

        Reviewed by Ken.

        * LocationChangeHandler.m:
        (-[LocationChangeHandler webView:windowScriptObjectAvailable:]):
        (-[LocationChangeHandler webView:locationChangeDone:forDataSource:]):

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

18 years ago Reviewed by Ken.
darin [Thu, 20 May 2004 15:09:33 +0000 (15:09 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/3661918>: "repro nil-deref in RenderImage::paint (www.codepoetry.net)"

        * khtml/rendering/render_image.cpp: (RenderImage::paint): Check renderer pointer to see if it's
        nil before dereferencing it.

        - fixed <rdar://problem/3658455>: "readFromData:options:documentAttributes: crashes when passed page without a body (in WebKit mode)"

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::bodyBackgroundColor): Check renderer pointer to see if it's
        nil before dereferencing it.

        - fixed <rdar://problem/2948112>: "implement addRule for JavaScript for style sheets"

        * khtml/dom/css_stylesheet.h: Added addRule.
        * khtml/dom/css_stylesheet.cpp: (CSSStyleSheet::addRule): Added.
        * khtml/css/css_stylesheetimpl.h: Added addRule.
        * khtml/css/css_stylesheetimpl.cpp: (CSSStyleSheetImpl::addRule): Added an implementation
        based on the Microsoft documentation. An index of -1 means "at the end of the list".

        * khtml/dom/dom_string.h: Changed the string-append operator to be a non-member function
        so it works even if the left side has to undergo type conversion.
        * khtml/dom/dom_string.cpp: (DOM::operator+): Changed implementation to match above.
        Also changed to not use anything private or protected so it doesn't have to be a friend.

        * khtml/ecma/kjs_css.h: Added addRule to the list of functions for CSS style sheets.
        * khtml/ecma/kjs_css.cpp: (DOMCSSStyleSheetProtoFunc::tryCall): Add support for addRule,
        based on the Microsoft documentation; always returns -1. Also removed unused string conversions.
        * khtml/ecma/kjs_css.lut.h: Regenerated.

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

18 years ago Implement support for notification posting to accessibility clients for layouts...
hyatt [Thu, 20 May 2004 02:25:23 +0000 (02:25 +0000)]
Implement support for notification posting to accessibility clients for layouts and loads.

        * khtml/khtmlview.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * kwq/KWQAccObjectCache.h:
        * kwq/KWQAccObjectCache.mm:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge accessibilityTree]):

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

18 years agoWebCore:
cblu [Thu, 20 May 2004 00:48:15 +0000 (00:48 +0000)]

Tweaks for forthcoming dragging improvements.

        Reviewed by john.

        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge moveDragCaretToPoint:]): renamed for future reasons, removed text only restrictions


Fixed: <rdar://problem/3462627>: (API: Need a way to disable/customize dragging)

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.m:
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): fixed bug that caused exception
        * WebView.subproj/WebDefaultUIDelegate.m:
        (-[WebDefaultUIDelegate webView:shouldBeginDragForElement:dragImage:mouseDownEvent:mouseDraggedEvent:]): new, returns YES
        (-[WebDefaultUIDelegate webView:dragOperationForDraggingInfo:overElement:]): new, returns [WebView dragOperationForDraggingInfo:]
        (-[WebDefaultUIDelegate webView:shouldProcessDragWithDraggingInfo:overElement:]): new, returns YES
        * WebView.subproj/WebDocumentInternal.h: added WebDocumentDragging and WebDocumentElement for document dragging
        * WebView.subproj/WebDocumentPrivate.h: moved WebDocumentSelection to WebDocumentInternal.h
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _actionInformationForNavigationType:event:originalURL:]):
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (+[WebHTMLView _insertablePasteboardTypes]): new
        (-[WebHTMLView _handleMouseDragged:]): call shouldBeginDragForElement:::: delegate API
        (-[WebHTMLView _mayStartDragWithMouseDragged:]): call renamed elementAtPoint SPI
        (-[WebHTMLView initWithFrame:]): don't register for drag types since this is handled at the WebView
        (-[WebHTMLView menuForEvent:]): call renamed elementAtPoint SPI
        (-[WebHTMLView _isSelectionEvent:]): call renamed elementAtPoint SPI
        (-[WebHTMLView dragImage:at:offset:event:pasteboard:source:slideBack:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
        (-[WebHTMLView draggedImage:endedAt:operation:]): ditto
        (-[WebHTMLView _canProcessDragWithDraggingInfo:]): new
        (-[WebHTMLView dragOperationForDraggingInfo:]): new WebDocumentDragging SPI
        (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): ditto
        (-[WebHTMLView concludeDragForDraggingInfo:]): ditto
        (-[WebHTMLView elementAtPoint:]): renamed from _elementAtPoint since this is part of the WebDocumentElement SPI
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView elementAtPoint:]): new
        (-[WebImageView menuForEvent:]): call elementAtPoint
        (-[WebImageView mouseDragged:]): rather than unregistering drag types on the WebView, just tell it that we're dragging
        (-[WebImageView draggedImage:endedAt:operation:]): ditto
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView _elementAtWindowPoint:]): new
        (-[WebTextView elementAtPoint:]): new
        (-[WebTextView menuForEvent:]): call _elementAtWindowPoint
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebViewPrivate dealloc]): removed draggedTypes ivar
        (+[WebView URLFromPasteboard:]): implemented
        (+[WebView URLTitleFromPasteboard:]): implemented
        (-[WebView _registerDraggedTypes]): moved
        (-[WebView _frameViewAtWindowPoint:]): new
        (-[WebView _draggingDocumentViewAtWindowPoint:]): new
        (-[WebView _elementAtWindowPoint:]): new
        (-[WebView dragOperationForDraggingInfo:]): updated this API to handle subviews that may want to handle drags
        (-[WebView _dragOperationForDraggingInfo:]): new, handles UI delegate for drag control
        (-[WebView draggingEntered:]): call _dragOperationForDraggingInfo:
        (-[WebView draggingUpdated:]): ditto
        (-[WebView concludeDragOperation:]): work with the UI delegate and the subview to handle what happens
        * WebView.subproj/WebViewPrivate.h:

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

18 years agoWebKit:
rjw [Wed, 19 May 2004 19:18:53 +0000 (19:18 +0000)]
        Removed extraneous tabs that were added (by XCode?).

        * DOM.subproj/DOM-compat.h:
        * Plugins.subproj/WebScriptObject.h:

Removed extraneous tabs that were added (by XCode?).

        * bindings/objc/WebScriptObject.h:

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

18 years ago Updated header copy script to only copy if modified headers
rjw [Wed, 19 May 2004 19:14:46 +0000 (19:14 +0000)]
    Updated header copy script to only copy if modified headers
        are different.

        * copy-webcore-files-to-webkit:

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

18 years agoWebCore:
kocienda [Wed, 19 May 2004 18:36:56 +0000 (18:36 +0000)]

        Reviewed by Hyatt and Darin

        Fix for this bug:

        <rdar://problem/3643230>: "can't tab out of contentEditable Elements"

        * khtml/xml/dom_elementimpl.cpp: Now checks if key event was intercepted by the editing
        key-handler before setting the event as defaultHandled.
        * kwq/KWQKHTMLPart.h: Name change from editingKeyEvent.
        Also now returns a BOOL to report whether the event was handled or not.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::interceptEditingKeyEvent): Ditto.
        * kwq/WebCoreBridge.h: Renamed from _editingKeyDown.


        Reviewed by Hyatt and Darin

        Fix for this bug:

        <rdar://problem/3643230>: "can't tab out of contentEditable Elements"

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge interceptEditingKeyEvent:]): Renamed from _editingKeyDown. Also now returns
        a BOOL to report whether the event was handled or not.
        * WebView.subproj/WebView.m:
        (-[WebView _interceptEditingKeyEvent:]): Also renamed from _editingKeyDown. Now includes
        a check if the web view is editable and whether the event is a tab key event. If the former
        is not true and the latter is, the key is not intercepted. This causes the tab to shift once
        the key is processed by other non-editing key-handling mechanisms.
        * WebView.subproj/WebViewPrivate.h: Changed declaration due to name change.

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

18 years ago Reviewed by John
kocienda [Wed, 19 May 2004 18:21:40 +0000 (18:21 +0000)]
    Reviewed by John

        Fix for this bug:

        <rdar://problem/3655601>: "deleting characters is much slower than inserting them"

        Cleaned up the way selections are set in edit commands, and how KHTMLPart is
        notified of these changes. This clears up a number of inefficiencies, including unnecessary repaints
        which were causing the performace problem.

        * khtml/editing/htmlediting.cpp: Removed moveToStartingSelection and moveToEndingSelection functions.
        This work is going to be done using another pre-existing communication facility shared by edit commands
        and the part.
        * khtml/editing/htmlediting.h: Ditto.
        * khtml/editing/htmlediting_impl.cpp:
        (khtml::EditCommandImpl::setStartingSelection): Fix coding mistake which caused double recursion while setting
        ancestor values.
        (khtml::EditCommandImpl::setEndingSelection): Ditto.
        (khtml::CompositeEditCommandImpl::doUnapply): No longer calls moveToStartingSelection. Work done in the part now.
        (khtml::CompositeEditCommandImpl::doReapply): No longer calls moveToEndingSelection. Work done in the part now.
        (khtml::TypingCommandImpl::typingAddedToOpenCommand): New function. Provides a hook for
        typing commands to tell the part about additional typing that has been done.
        (khtml::TypingCommandImpl::insertText): Now calls typingAddedToOpenCommand.
        (khtml::TypingCommandImpl::insertNewline): Ditto.
        (khtml::TypingCommandImpl::issueCommandForDeleteKey): Ditto.
        (khtml::TypingCommandImpl::deleteKeyPressed): Ditto.
        * khtml/editing/htmlediting_impl.h: Removed moveToStartingSelection and moveToEndingSelection functions.
        * khtml/khtml_part.cpp:
        (KHTMLPart::setSelection): Modified to take an argument which tells whether the set closes an active
        typing command.
        (KHTMLPart::notifySelectionChanged): Changed endTyping variable to be consistent with "close typing"
        terminology used elsewhere.
        (KHTMLPart::appliedEditing): Now sets the selection using the value of the passed-in command. Added
        an assert for typing cases. Fixed problem where didChangeNotification was not being posted for typing
        changes after the first one.
        (KHTMLPart::unappliedEditing): Now sets the selection using the value of the passed-in command.
        (KHTMLPart::reappliedEditing): Now sets the selection using the value of the passed-in command.
        * khtml/khtml_part.h:
        * khtml/rendering/render_canvas.cpp:
        (RenderCanvas::clearSelection): Do not call repaint when the selection is a caret.

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

18 years agoTests:
kocienda [Wed, 19 May 2004 16:42:10 +0000 (16:42 +0000)]

        Reviewed by Hyatt

        * Blot/BlotDocument.m:
        (-[BlotDocument windowControllerDidLoadNib:]): Add call to setEditable:YES on web view.
        (-[BlotDocument webView:didFinishLoadForFrame:]): Remove hack to insert contenteditable
        attribute on body elements after loading a document.


        Reviewed by Hyatt

        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::isContentEditable): Ask if the part is contenteditable.
        True value is treated as an "override" and will short-circuit, returning true.
        * khtml/khtml_part.cpp:
        (KHTMLPart::isContentEditable): Call over bridge. Has the effect of checking the
        isEditable method on the WebView which contains this part.
        * khtml/khtml_part.h: Declare isContentEditable.
        * kwq/KWQKHTMLPart.h: Declare isContentEditable.
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::isContentEditable): Call over bridge, as described above.
        * kwq/WebCoreBridge.h: Declare isEditable.


        Reviewed by Hyatt

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge isEditable]): Return the isEditable value for the
        WebView which contains this bridge's frame.

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

18 years ago - fixed headers with licenses mangled by Xcode auto-indenting
darin [Wed, 19 May 2004 14:37:10 +0000 (14:37 +0000)]
    - fixed headers with licenses mangled by Xcode auto-indenting

        * kwq/DOMExtensions.h:
        * kwq/KWQAccObject.h:
        * kwq/KWQAccObject.mm:
        * kwq/KWQAccObjectCache.h:
        * kwq/KWQKSSLKeyGen.mm:
        * kwq/KWQScrollBar.mm:
        * kwq/KWQSlider.mm:
        * kwq/WebCoreGraphicsBridge.h:
        * kwq/WebCoreGraphicsBridge.m:
        * kwq/WebCoreKeyGenerator.h:
        * kwq/WebCoreKeyGenerator.m:

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

18 years ago - fixed headers with licenses mangled by Xcode auto-indenting
darin [Wed, 19 May 2004 14:34:04 +0000 (14:34 +0000)]
    - fixed headers with licenses mangled by Xcode auto-indenting

        * DOM.subproj/DOMExtensions.h:
        * WebCoreSupport.subproj/WebGraphicsBridge.h:
        * WebCoreSupport.subproj/WebGraphicsBridge.m:

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

18 years ago - fixed headers with licenses mangled by Xcode auto-indenting
darin [Wed, 19 May 2004 14:33:25 +0000 (14:33 +0000)]
    - fixed headers with licenses mangled by Xcode auto-indenting

        * bindings/jni/jni_jsobject.cpp:
        * bindings/jni/jni_jsobject.h:
        * bindings/runtime_array.h:
        * bindings/runtime_root.cpp:
        * bindings/runtime_root.h:

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

18 years agoFix build bustage.
hyatt [Wed, 19 May 2004 05:54:50 +0000 (05:54 +0000)]
Fix build bustage.

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

18 years ago Add two new attributes for accessibility that can be polled by the screen reader...
hyatt [Wed, 19 May 2004 05:24:25 +0000 (05:24 +0000)]
Add two new attributes for accessibility that can be polled by the screen reader.  AXLayoutCount indicates
the number of layouts that have occurred, and AXLoaded indicates whether or not a page has finished loading.

        * khtml/khtmlview.cpp:
        * khtml/khtmlview.h:
        * kwq/KWQAccObject.mm:
        (-[KWQAccObject roleDescription]):
        (-[KWQAccObject accessibilityAttributeNames]):
        (-[KWQAccObject accessibilityAttributeValue:]):

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

18 years ago Fix crash when retrieving the AXHelp text.
hyatt [Wed, 19 May 2004 03:03:49 +0000 (03:03 +0000)]
Fix crash when retrieving the AXHelp text.

        * kwq/KWQAccObject.mm:
        (-[KWQAccObject helpText]):

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

18 years agoWebCore:
hyatt [Wed, 19 May 2004 02:54:33 +0000 (02:54 +0000)]

Improve layout scheduling and add instrumentation for debugging layout scheduling

        Reviewed by kocienda

        * khtml/khtml_part.cpp:
        * khtml/khtmlview.cpp:
        * khtml/khtmlview.h:
        * khtml/rendering/render_object.cpp:
        * khtml/rendering/render_replaced.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:
        * kwq/KWQDateTime.h:
        * kwq/KWQDateTime.mm:
        * kwq/KWQWidget.mm:


Improve layout scheduling.

        Reviewed by kocienda

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _transitionToLayoutAcceptable]):
        (-[WebFrame _checkLoadCompleteForThisFrame]):
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation finishedLoadingWithDataSource:]):

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

18 years ago Added exception logging. Also check for exception and
rjw [Wed, 19 May 2004 02:50:21 +0000 (02:50 +0000)]
Added exception logging.  Also check for exception and
set results as appropriate.

        Reviewed by Maciej (partially reviewed).

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):

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

18 years agoWebKit:
rjw [Wed, 19 May 2004 01:16:40 +0000 (01:16 +0000)]
Finished implementation of windowScriptObject.

        Reviewed by Maciej.

        * WebView.subproj/WebView.m:
        (-[WebView windowScriptObject]):

Finished implementing support for windowScriptObject.

        Reviewed by Maciej.

        * khtml/khtml_part.cpp:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/WebCoreBridge.mm:

Finsished implementing support for windowScriptObject.
Had to make WebScriptObjectPrivate.h accessible from

        Reviewed by Maciej.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/objc/WebScriptObjectPrivate.h:

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

18 years ago- roll out previous change -- I (Vicki) accidentally committed this change!
kdecker [Wed, 19 May 2004 00:57:25 +0000 (00:57 +0000)]
- roll out previous change -- I (Vicki) accidentally committed this change!

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

18 years ago Reviewed by NOBODY (OOPS!).
kdecker [Wed, 19 May 2004 00:50:03 +0000 (00:50 +0000)]
    Reviewed by NOBODY (OOPS!).

        * khtml/xml/dom_stringimpl.cpp:

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

18 years agoWebKit:
rjw [Tue, 18 May 2004 23:15:30 +0000 (23:15 +0000)]
Added WebKit portion of webView:windowScriptObjectAvailable:
implementation.  Still need to implement creating the WebScriptObject
wrapper on the WebCore side.

        Reviewed by Maciej.

Removed "_" from _setPageWidthForPrinting:.  This method facilitates
a work-around for carbon printing.  At some point we may make this
method public API.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge overrideMediaType]):
        (-[WebBridge windowObjectCleared]):
        * WebView.subproj/WebDefaultFrameLoadDelegate.m:
        (-[WebDefaultFrameLoadDelegate webView:windowScriptObjectAvailable:]):
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView setPageWidthForPrinting:]):

Added stubs to get the WebScriptObject for the window
JS object.

Made updateRenderingForBindings more robust when handed a
nil root object.  This was causing a crash in DB.  Still need to
address root cause of nil root object.

        Reviewed by Maciej.

        * khtml/khtml_part.cpp:
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge init]):
        (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]):
        (-[WebCoreBridge windowScriptObject]):

Use KVC to set/get values instead of directly accessing

        Reviewed by Maciej.

        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (+[WebScriptObject _convertValueToObjcValue:KJS::root:Bindings::]):
        * bindings/objc/objc_runtime.mm:

Changed printing work-around to use a method that may be
made public at some point in the future.

        Reviewed by Chris.

        * CarbonWeb/TWebWindow.cp:

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

18 years ago Reviewed by Ken.
mjs [Tue, 18 May 2004 22:18:06 +0000 (22:18 +0000)]
    Reviewed by Ken.

<rdar://problem/3656719>: Implement outerHTML and setOuterHTML DOM extensions

They were already implemented (by Chris), all that was required
was exporting them to JavaScript.

        * khtml/dom/html_element.cpp:
        (HTMLElement::outerHTML): Call impl.
        (HTMLElement::setOuterHTML): Ditto.
        * khtml/dom/html_element.h: Prototype new methods.
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLElement::getValueProperty): Add OuterHTML.
        (KJS::HTMLElement::putValue): Add OuterHTML.
        * khtml/ecma/kjs_html.h: Add new enum values.
        * khtml/ecma/kjs_html.lut.h: Regenerated.

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

18 years ago Reviewed by Hyatt
kocienda [Tue, 18 May 2004 20:20:40 +0000 (20:20 +0000)]
    Reviewed by Hyatt

        Removed support for designMode attribute, which we will not be supporting for Tiger.
        Removed inEditMode from KHTMLPart. This cached designMode value.
        Removed KHTMLPart::isEditingAtNode function. Asking a node if it is content-editable
        is a suitable replacement.

        * khtml/dom/dom_misc.h: Remove TristateFlag enum that was used to track designMode values.
        * khtml/dom/html_document.cpp: Remove designMode and setDesignMode.
        * khtml/dom/html_document.h: Ditto.
        * khtml/ecma/kjs_html.cpp:
        (KJS::HTMLDocument::tryGet): Remove designMode.
        (KJS::HTMLDocument::putValue): Ditto.
        * khtml/ecma/kjs_html.lut.h:
        (KJS::): Ditto.
        * khtml/html/html_documentimpl.cpp: Remove designMode and setDesignMode.
        * khtml/html/html_documentimpl.h: Ditto.
        * khtml/khtml_part.cpp: Remove setEditMode, editMode, inEditMode, and isEditingAtNode.
        * khtml/khtml_part.h: Ditto.
        * khtml/khtmlpart_p.h: Remove m_inEditMode variable.
        * khtml/khtmlview.cpp:
        (KHTMLView::focusNextPrevNode): Change over one use in tree of isEditingAtNode to use
        isContentEditable instead. isContentEditable will be modified in future patch to handle
        whether the per-part switch has been thrown to override whether something is editable or not.

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

18 years ago Reviewed by John.
darin [Tue, 18 May 2004 16:55:52 +0000 (16:55 +0000)]
    Reviewed by John.

        - fixed <rdar://problem/3520322>: "can't use <WebKit/HIWebView.h> or <WebKit/CarbonUtils.h> from non-Objective C"

        * Carbon.subproj/CarbonUtils.h: Added ifdefs so file compiles when included from non-Objective-C.
        Changed style to match other Carbon headers a bit more closely. Also remove unnecessary includes.
        * Carbon.subproj/HIWebView.h: Ditto.

        - fixed <rdar://problem/3648505>: "this text file scrolls to the second line instead of first when pressing home"

        * WebView.subproj/WebFrameView.m:
        (-[WebFrameView _scrollToTopLeft]): Scroll to origin.y instead of assuming that top is 0; can be non-0 for text view.
        (-[WebFrameView _scrollToBottomLeft]): Use NSMaxY instead of height for the same reason.

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

18 years ago Fix for performance "regression." This wasn't really a regression... I just forgot...
hyatt [Tue, 18 May 2004 05:01:56 +0000 (05:01 +0000)]
Fix for performance "regression."  This wasn't really a regression... I just forgot to update a variable that
I can only assume is used by the PLT.

        * WebView.subproj/WebFrame.m:
        (-[WebFrame _setState:]):

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

18 years agoWebKit:
cblu [Tue, 18 May 2004 01:33:49 +0000 (01:33 +0000)]

Implemented new WebView pasteboard methods. Made a lot of factoring changes related to pasteboard management.

        Reviewed by john.

        * Misc.subproj/WebNSPasteboardExtras.h:
        * Misc.subproj/WebNSPasteboardExtras.m:
        (+[NSPasteboard _web_writableTypesForURL]): renamed to not include "drag" these types are also used for copying
        (+[NSPasteboard _web_writableTypesForImage]): new
        (-[NSPasteboard _web_bestURL]): tweak
        (-[NSPasteboard _web_writeURL:andTitle:types:]): take an array of types that this method should write, don't declare the types since this complicates things for the caller
        (-[NSPasteboard _web_writeImage:URL:title:archive:types:]): ditto
        * Misc.subproj/WebNSViewExtras.m:
        (-[NSView _web_dragImage:archive:rect:URL:title:event:]): call renamed methods
        * WebView.subproj/WebDefaultContextMenuDelegate.m:
        (-[WebDefaultUIDelegate copyLinkToClipboard:]): call code factored out to WebView
        (-[WebDefaultUIDelegate copyImageToClipboard:]): ditto
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebHTMLView.h:
        * WebView.subproj/WebHTMLView.m:
        (-[WebHTMLView _selectedRTFData]): new factored out method
        (-[WebHTMLView _writeSelectionToPasteboard:]): factored code out to writeSelectionWithPasteboardTypes:toPasteboard:
        (-[WebHTMLView _dragImageForLinkElement:]): tweak
        (-[WebHTMLView _handleMouseDragged:]): call renamed methods
        (-[WebHTMLView pasteboardTypesForSelection]): new
(-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new, code moved from _writeSelectionToPasteboard:
        * WebView.subproj/WebHTMLViewPrivate.h:
        * WebView.subproj/WebImageView.h:
        * WebView.subproj/WebImageView.m:
        (-[WebImageView writeImageToPasteboard:types:]): call renamed methods
        (-[WebImageView copy:]):
        (-[WebImageView writeSelectionToPasteboard:types:]): call renamed methods
        * WebView.subproj/WebTextView.h:
        * WebView.subproj/WebTextView.m:
        (-[WebTextView pasteboardTypesForSelection]): new
        (-[WebTextView writeSelectionWithPasteboardTypes:toPasteboard:]): new
        * WebView.subproj/WebView.m:
        (-[WebView _writeImageElement:withPasteboardTypes:toPasteboard:]): new
        (-[WebView _writeLinkElement:withPasteboardTypes:toPasteboard:]): mew
        (-[WebView dragOperationForDraggingInfo:]): implemented API
        (-[WebView draggingEntered:]): call API
        (-[WebView draggingUpdated:]): ditto
        (-[WebView concludeDragOperation:]): ditto
        (-[WebView pasteboardTypesForSelection]): implemented API
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): ditto
        (-[WebView pasteboardTypesForElement:]): ditto
        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): ditto
        * WebView.subproj/WebViewPrivate.h:


Change to support renamed WebKit methods

        Reviewed by john.

        * BrowserNSPasteboardExtras.m: call renamed _web_writeURL
        * ContextMenuHandler.m:
        (-[BrowserWebView copyImageAddress:]): ditto

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

18 years agoJavaScriptCore:
rjw [Tue, 18 May 2004 01:29:50 +0000 (01:29 +0000)]
Implemented new API for WebScriptObject.

Fixed <rdar://problem/3657145>: (objc to javascript method calls do not cause updates.)
Fixed <rdar://problem/3654887>: (Update to JSC to refer to new JSObject LiveConnect object)  (w/ help from Vicki)

        Reviewed by Hyatt.

        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/c/c_instance.cpp:
        * bindings/jni/jni_instance.cpp:
        * bindings/jni/jni_jsobject.cpp:
        * bindings/jni/jni_utility.cpp:
        * bindings/objc/WebScriptObject.mm:
        (-[WebScriptObject _initWithObjectImp:KJS::root:Bindings::]):
        (-[WebScriptObject KJS::]):
        (-[WebScriptObject dealloc]):
        (+[WebScriptObject throwException:]):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject setValue:forKey:]):
        (-[WebScriptObject valueForKey:]):
        (-[WebScriptObject stringRepresentation]):
        (+[WebScriptObject _convertValueToObjcValue:KJS::root:Bindings::]):
        (+[WebUndefined undefined]):
        (-[WebUndefined initWithCoder:]):
        (-[WebUndefined encodeWithCoder:]):
        (-[WebUndefined copyWithZone:]):
        (-[WebUndefined retain]):
        (-[WebUndefined release]):
        (-[WebUndefined retainCount]):
        (-[WebUndefined autorelease]):
        (-[WebUndefined dealloc]):
        (-[WebUndefined copy]):
        (-[WebUndefined replacementObjectForPortCoder:]):
        * bindings/objc/WebScriptObjectPrivate.h: Added.
        * bindings/objc/objc_class.mm:
        * bindings/objc/objc_instance.mm:
        * bindings/objc/objc_jsobject.h:
        * bindings/objc/objc_jsobject.mm:
        * bindings/objc/objc_runtime.mm:
        * bindings/objc/objc_utility.mm:
        * bindings/runtime.cpp:
        * bindings/runtime.h:
        * bindings/testbindings.mm:
        (+[MyFirstInterface webScriptNameForSelector:]):
        (-[MyFirstInterface callJSObject::]):

Implemented new API for WebScriptObject.
Fixed <rdar://problem/3657145>: (objc to javascript method calls do not cause updates.)

        Reviewed by Hyatt.

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge init]):

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

18 years ago Reviewed by John
kocienda [Mon, 17 May 2004 21:56:34 +0000 (21:56 +0000)]
    Reviewed by John

        Remove overrides in WebView for scrollPageDown and scrollPageUp.
        NSView behavior gives us just what we want, and there is no
        special behavior required for editing.

        <rdar://problem/3655364>: "Editing:�scrollPageDown:�ethod�nimplemented�WebKit�diting�PI)"
        <rdar://problem/3655365>: "Editing:�scrollPageUp:�ethod�nimplemented�WebKit�diting�PI)"

        * WebView.subproj/WebView.h: Comment methods out and add a note about why.
        * WebView.subproj/WebView.m: Remove stubbed out implementation.

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

18 years ago Reviewed by mjs.
vicki [Sat, 15 May 2004 01:06:15 +0000 (01:06 +0000)]
    Reviewed by mjs.

<rdar://problem/3642427>: framework marketing number should be 2.0 for DoubleBarrel release

        * JavaScriptCore.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
        * WebCore.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0
        * WebKit.pbproj/project.pbxproj: change CFBundleShortVersionString to 2.0

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

18 years ago Reviewed by Darin, coded by Maciej.
darin [Fri, 14 May 2004 23:02:28 +0000 (23:02 +0000)]
    Reviewed by Darin, coded by Maciej.

        - fixed extra repaints when doing auto-fill checks on all pages that have pop-up buttons

        * kwq/KWQComboBox.mm:
        (QComboBox::populateMenu): Set the populating-menu flag and clear it when done.
        (-[KWQPopUpButton setPopulatingMenu:]): Added. Sets flag.
        (-[KWQPopUpButton setNeedsDisplayInRect:]): Do nothing if the flag is set.

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

18 years ago Eliminate timedLayout.
hyatt [Fri, 14 May 2004 22:56:11 +0000 (22:56 +0000)]
Eliminate timedLayout.

        Reviewed by darin

        * WebView.subproj/WebFrame.m:
        (-[WebFramePrivate dealloc]):
        (-[WebFrame _detachFromParent]):
        (-[WebFrame _transitionToLayoutAcceptable]):
        (-[WebFrame _setState:]):
        (-[WebFrame _checkLoadCompleteForThisFrame]):
        (-[WebFrame stopLoading]):
        * WebView.subproj/WebFramePrivate.h:

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

18 years agomove the Safari-140 release markers in the WebCore and WebKit ChangeLogs
vicki [Fri, 14 May 2004 22:51:05 +0000 (22:51 +0000)]
move the Safari-140 release markers in the WebCore and WebKit ChangeLogs

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

18 years ago Reviewed by Dave.
darin [Fri, 14 May 2004 22:44:23 +0000 (22:44 +0000)]
    Reviewed by Dave.

        - fixed <rdar://problem/3650026>: "background property doesn't work right on webdevtips.com due to background:inherit"

        * khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyDeclarations):
        Added CSS_PROP_BACKGROUND to the list of properties that must be applied in the first pass.

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

18 years ago Fixed: <rdar://problem/3655495>: (exception loading applets)
cblu [Fri, 14 May 2004 21:21:14 +0000 (21:21 +0000)]
Fixed: <rdar://problem/3655495>: (exception loading applets)

        Reviewed by kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): when calling old cocoa plug-ins, use old keys

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

18 years ago Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java...
cblu [Fri, 14 May 2004 20:59:58 +0000 (20:59 +0000)]
Fixed: <rdar://problem/3655204>: (repro assertion failure and crash loading java applets)

        Reviewed by kocienda.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]): call pluginViewWithArguments: for old Cocoa plug-ins

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

18 years ago Fix image loading for <input type=image> and <object>. Make sure it works dynamical...
hyatt [Fri, 14 May 2004 19:28:42 +0000 (19:28 +0000)]
Fix image loading for <input type=image> and <object>.  Make sure it works dynamically and make sure
the renderer is properly null-checked at attach time.

        Reviewed by darin

        * khtml/html/html_formimpl.cpp:
        * khtml/html/html_formimpl.h:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:

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

18 years agoset version number to 141u
vicki [Fri, 14 May 2004 19:09:21 +0000 (19:09 +0000)]
set version number to 141u

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

18 years agoSafari-140 stamp
vicki [Fri, 14 May 2004 19:05:04 +0000 (19:05 +0000)]
Safari-140 stamp

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

18 years ago Copied headers from WebCore.
cblu [Fri, 14 May 2004 17:29:55 +0000 (17:29 +0000)]
Copied headers from WebCore.

        * DOM.subproj/DOMCore.h:
        * DOM.subproj/DOMEvents.h:

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

18 years ago - Made DOMEventTarget a formal protocol that is implemented by DOMNode
cblu [Fri, 14 May 2004 17:27:43 +0000 (17:27 +0000)]
- Made DOMEventTarget a formal protocol that is implemented by DOMNode
- Made DOMEventListener a formal protocol that any object can implement

        Reviewed by kocienda.

        * kwq/DOMCore.h:
        * kwq/DOMEvents.h:

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

18 years ago Reviewed by me
kocienda [Fri, 14 May 2004 14:23:20 +0000 (14:23 +0000)]
    Reviewed by me

        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]): Fixed a compile error: undeclared identifier.
        Looked like a typo.

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

18 years agoWebKit:
rjw [Fri, 14 May 2004 01:23:24 +0000 (01:23 +0000)]
Backed out mistaken change that I didn't mean to checkin.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):

Fixed indentation.

        Reviewed by Chris.

        * ChangeLog:
        * bindings/objc/WebScriptObject.h:

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

18 years agoWebKit:
rjw [Fri, 14 May 2004 01:08:24 +0000 (01:08 +0000)]
Updated to reflect new API.

        Reviewed by Chris.

        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge setIsSelected:forView:]):
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _reloadForPluginChanges]):

Removed vestigial isSelected method.

        Reviewed by Chris.

        * kwq/KWQWidget.h:
        * kwq/KWQWidget.mm:
        * kwq/WebCoreBridge.h:

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

18 years ago Fixed some indenting issues in public headers.
cblu [Fri, 14 May 2004 00:40:10 +0000 (00:40 +0000)]
Fixed some indenting issues in public headers.

        * Plugins.subproj/WebJavaPlugIn.h:
        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebScriptObject.h:
        * WebView.subproj/WebEditingDelegate.h:
        * WebView.subproj/WebFrameView.h:
        * WebView.subproj/WebPolicyDelegate.h:
        * WebView.subproj/WebResourceLoadDelegate.h:
        * WebView.subproj/WebView.h:

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

18 years ago Reviewed by Chris
kocienda [Fri, 14 May 2004 00:30:06 +0000 (00:30 +0000)]
    Reviewed by Chris

        Moved -DOMDocument convenience back to private header.
        I mistakenly moved it to the public header earlier today.

        * WebView.subproj/WebView.h: Removed
        * WebView.subproj/WebViewPrivate.h: Re-added

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

18 years ago Updated to implementation to reflect new API. Left old SPI
rjw [Fri, 14 May 2004 00:24:54 +0000 (00:24 +0000)]
Updated to implementation to reflect new API.  Left old SPI
in place for compatibility.  Can remove when the Java plug-in

        Reviewed by Chris.

        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebPluginContainer.h:
        * Plugins.subproj/WebPluginController.h:
        * Plugins.subproj/WebPluginController.m:
        (-[WebPluginController startAllPlugins]):
        (-[WebPluginController stopAllPlugins]):
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController destroyAllPlugins]):
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
        (-[WebPluginController showURL:inFrame:]):
        (-[WebPluginController webPlugInContainerShowStatus:]):
        (-[WebPluginController showStatus:]):
        (-[WebPluginController webPlugInContainerSelectionColor]):
        (-[WebPluginController selectionColor]):
        (-[WebPluginController webFrame]):

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

18 years agoTests:
cblu [Thu, 13 May 2004 23:58:43 +0000 (23:58 +0000)]

Updated Blot to use new API's.

        * Blot/BlotDocument.m:
        (-[BlotDocument dataRepresentationOfType:]):
        (-[BlotDocument webView:didFinishLoadForFrame:]):


Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)

        Reviewed by rjw.

        * kwq/DOM.h: added DOMExtensions.h
        * kwq/DOMHTML.h: renamed frame on DOMHTMLTableElement to frameBorders to avoid NSView conflicts
        * kwq/DOMHTML.mm:
        (-[DOMHTMLTableElement frameBorders]):
        (-[DOMHTMLTableElement setFrameBorders:]):


- Added stubs for WebView action and drag & drop customization API's
- Fixed: <rdar://problem/3616555>: (API: Make DOM extensions and WebKit DOM operations public)

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h: added remaining DOM operations
        * DOM.subproj/WebDOMOperationsPrivate.h:
* Misc.subproj/WebKit.h: added new public headers
        * WebKit.pbproj/project.pbxproj:
* WebKit.exp: added symbol for WebElementDOMNodeKey
        * WebView.subproj/WebUIDelegate.h: added new UI delegate methods
        * WebView.subproj/WebView.h: added new pasteboard related methods
        * WebView.subproj/WebView.m:
        (+[WebView URLFromPasteboard:]): new stub
        (+[WebView URLTitleFromPasteboard:]): new stub
        (-[WebView dragOperationForDraggingInfo:]): new stub
        (-[WebView pasteboardTypesForSelection]): new stub
        (-[WebView writeSelectionWithPasteboardTypes:toPasteboard:]): new stub
        (-[WebView pasteboardTypesForElement:]): new stub
        (-[WebView writeElement:withPasteboardTypes:toPasteboard:]): new stub
        * WebView.subproj/WebViewPrivate.h:

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

18 years agoAdded WebJavaPlugIn.h, fixed build problem.
rjw [Thu, 13 May 2004 23:39:06 +0000 (23:39 +0000)]
Added WebJavaPlugIn.h, fixed build problem.

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

18 years agoWebKit:
rjw [Thu, 13 May 2004 23:24:24 +0000 (23:24 +0000)]
Changed imports of all DOM headers.  DOM headers
should be imported using the normal #import <WebCore/foo.h>,
they import is modified when copied to WebKit.

Other approved API changes.  Currently unimplemented.

        Reviewed by Chris.

        * ChangeLog:
        * DOM.subproj/DOM.h:
        * DOM.subproj/DOMCSS.h:
        * DOM.subproj/DOMCore.h:
        * DOM.subproj/DOMEvents.h:
        * DOM.subproj/DOMExtensions.h:
        * DOM.subproj/DOMHTML.h:
        * DOM.subproj/DOMRange.h:
        * DOM.subproj/DOMStylesheets.h:
        * DOM.subproj/DOMTraversal.h:
        * DOM.subproj/DOMViews.h:
        * Plugins.subproj/WebPlugin.h:
        * Plugins.subproj/WebPluginContainer.h:
        * Plugins.subproj/WebPluginPackage.m:
        * Plugins.subproj/WebPluginViewFactory.h:
        * Plugins.subproj/WebScriptObject.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]):
        (-[WebBridge pluginViewWithPackage:attributes:baseURL:]):
        * WebKit.exp:
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebFrameLoadDelegate.h:
        * WebView.subproj/WebView.h:
        * WebView.subproj/WebView.m:
        (-[WebView windowScriptObject]):
        * copy-webcore-files-to-webkit:

Changed imports of all DOM headers.  DOM headers
should be imported using the normal #import <WebCore/foo.h>,
they import is modified when copied to WebKit.

        Reviewed by Chris.

        * ChangeLog:
        * kwq/DOM.h:
        * kwq/DOMCSS.h:
        * kwq/DOMCore.h:
        * kwq/DOMEvents.h:
        * kwq/DOMExtensions.h:
        * kwq/DOMHTML.h:
        * kwq/DOMInternal.h:
        * kwq/DOMRange.h:
        * kwq/DOMStylesheets.h:
        * kwq/DOMTraversal.h:
        * kwq/DOMViews.h:

Approved API changes.  Currently unimplemented.

        Reviewed by Chris.

        * ChangeLog:
        * JavaScriptCore.pbproj/project.pbxproj:
        * bindings/objc/WebScriptObject.h: Added.
        * bindings/objc/WebScriptObject.mm: Added.
        (+[WebScriptObject throwException:]):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        (-[WebScriptObject evaluateWebScript:]):
        (-[WebScriptObject stringRepresentation]):
        (+[WebUndefined undefined]):
        (-[WebUndefined initWithCoder:]):
        (-[WebUndefined encodeWithCoder:]):
        (-[WebUndefined copyWithZone:]):

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

18 years ago Reviewed by me
kocienda [Thu, 13 May 2004 18:01:59 +0000 (18:01 +0000)]
    Reviewed by me

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded): Fix deployment
        build bustage. Uninitialized variable.

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

18 years ago Reviewed by Kevin
kocienda [Thu, 13 May 2004 17:53:05 +0000 (17:53 +0000)]
    Reviewed by Kevin

        Move WebKit editing APIs to public API files.

        * WebCoreSupport.subproj/WebBridge.m: Add WebEditingDelegate include.
        * WebKit.pbproj/project.pbxproj: Go Xcode!
        * WebView.subproj/WebDefaultEditingDelegate.m: Remove WebViewPrivate include; add WebEditingDelegate include.
        * WebView.subproj/WebEditingDelegate.h: Added. New file.
        * WebView.subproj/WebView.h: Move API-approved interfaces to this file.
        * WebView.subproj/WebView.m: Add WebEditingDelegate include.
        * WebView.subproj/WebViewPrivate.h: Move API-approved interfaces from this file.

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

18 years agoWebCore:
kocienda [Thu, 13 May 2004 16:41:20 +0000 (16:41 +0000)]

        Reviewed by Hyatt

        Implemented first cut at text style change code.

        * khtml/editing/htmlediting.cpp:
        * khtml/editing/htmlediting.h:

        Removed a bunch of unnecessary DOM namespace qualifiers.
        Fixed calls to parent(), which relied on the TreeShared interface to get a parent,
        and changed to the parentNode() DOM Node call, which is more suitable given the

        * khtml/editing/htmlediting_impl.cpp:

        Text style change command implementations.
        There are a couple more parent() -> parentNode() changes in here as well.


        Text style change command implementations.

        * khtml/editing/htmlediting_impl.h:

        Fixed a bug where the TreeWalker returned the current node instead
        of null when an attempt was made to use the iterator to go to a
        non-existent location.

        * khtml/xml/dom2_traversalimpl.cpp:

        A convenience.

        * khtml/xml/dom_elementimpl.cpp:
        * khtml/xml/dom_elementimpl.h:

        New helpers to begin moving us to using DOM Range-compliant positions in our code.

        * khtml/xml/dom_position.cpp:

        (DOM::Position::debugPosition): Debugging aid.
        * khtml/xml/dom_position.h:

        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge applyStyle:]): First bit of wiring up. Some hard-coded temporary code
        in here will need to be improved soon.


<rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
<rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)

        Reviewed by rjw.

* Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
        * Carbon.subproj/HIWebView.m:
        (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.

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

18 years ago Improve layout scheduling. Make sure no layouts can be scheduled until over a minim...
hyatt [Thu, 13 May 2004 01:01:58 +0000 (01:01 +0000)]
Improve layout scheduling.  Make sure no layouts can be scheduled until over a minimum delay threshold.

        * khtml/khtmlview.cpp:
        * khtml/rendering/render_frames.cpp:
        * khtml/rendering/render_text.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:

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

18 years agoUpdated CarbonWeb example to include work-arounds for printing problems. The
rjw [Thu, 13 May 2004 00:50:05 +0000 (00:50 +0000)]
Updated CarbonWeb example to include work-arounds for printing problems.  The
work-around makes use of SPI, unfortunate, but necessary.

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

18 years agoWebKit:
cblu [Thu, 13 May 2004 00:17:38 +0000 (00:17 +0000)]

<rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
<rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)

        Reviewed by rjw.

* Carbon.subproj/CarbonWindowAdapter.m:
        (-[CarbonWindowAdapter sendSuperEvent:]): call [NSInputContext processInputKeyBindings:inEvent] just as NSApp does
        * Carbon.subproj/HIWebView.m:
        (HIWebViewEventHandler): [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.


Workaround for:
<rdar://problem/3633296>: (Japanese input is not working properly in Carbon Web Kit applications (including CarbonWeb))
<rdar://problem/3631390>: (can't toggle between Input Methods (IMEs) using cmd-space in Carbon Web Kit applications)

        Reviewed by rjw.

        * CarbonWeb/CarbonWeb.pbproj/project.pbxproj: xcode project update
        * CarbonWeb/TWebWindow.cp:
- [NSApp setWindowsNeedUpdate:YES] must be called before events so that ActivateTSMDocument is called to set an active document. Without an active document, TSM will use a default document which uses a bottom-line input window which we don't want.
- use Larry's command-space workaround for cmd-space toggling

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

18 years agoChanges to plugin scripting extensions.`
rjw [Wed, 12 May 2004 21:30:50 +0000 (21:30 +0000)]
Changes to plugin scripting extensions.`

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

18 years agoWebCore:
cblu [Wed, 12 May 2004 02:05:30 +0000 (02:05 +0000)]

Support for: <rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)

        Reviewed by rjw.

        * kwq/DOM.mm:
        (-[DOMDocument _ownerElement]): new
        * kwq/DOMInternal.h:
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (-[WebCoreBridge frameElement]): new


<rdar://problem/3616537>: (API: Make WebResource, WebArchive and related API's public)
<rdar://problem/3616471>: (API: provide way to get from WebFrame to DOMDocument and vice versa)

        Reviewed by rjw.

        * DOM.subproj/WebDOMOperations.h:
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMHTMLFrameElement contentFrame]): new
        (-[DOMHTMLIFrameElement contentFrame]): new
        (-[DOMHTMLObjectElement contentFrame]): new
        * DOM.subproj/WebDOMOperationsPrivate.h:
        * Misc.subproj/WebNSImageExtras.m:
        (-[NSImage _web_saveAndOpen]): fixed leak
        * WebKit.pbproj/project.pbxproj:
        * WebView.subproj/WebDataSource.h:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _addSubresources:]): made private
        (-[WebDataSource _archiveWithMarkupString:nodes:]): handle object tags with frame content
        (-[WebDataSource _archiveWithCurrentState:]): renamed from _archive, now takes flag
        (-[WebDataSource _replaceSelectionWithArchive:]): call renamed _addSubresources
        (-[WebDataSource webArchive]): new
        (-[WebDataSource mainResource]): new
        (-[WebDataSource subresources]): made public
        (-[WebDataSource subresourceForURL:]): made public
        (-[WebDataSource addSubresource:]): made public
        * WebView.subproj/WebDataSourcePrivate.h:
        * WebView.subproj/WebDocumentPrivate.h:
        * WebView.subproj/WebFrame.h:
        * WebView.subproj/WebFrame.m:
        (-[WebFrame _loadRequest:subresources:subframeArchives:]): call renamed _addSubresources
        (-[WebFrame DOMDocument]): new
        (-[WebFrame frameElement]): new
        (-[WebFrame loadArchive:]): made public
        * WebView.subproj/WebFramePrivate.h:
        * WebView.subproj/WebHTMLRepresentation.m:
        (-[WebHTMLRepresentation loadArchive]): call renamed _addSubresources
        * WebView.subproj/WebImageRepresentation.m:
        (-[WebImageRepresentation archive]): call webArchive on WebDataSource

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

18 years agoAdd new layout tests for float bug fixes.
hyatt [Tue, 11 May 2004 21:58:00 +0000 (21:58 +0000)]
Add new layout tests for float bug fixes.

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

18 years agoRevised layout test with image and float changes.
hyatt [Tue, 11 May 2004 21:45:39 +0000 (21:45 +0000)]
Revised layout test with image and float changes.

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

18 years ago Fix makeChildrenNonInline so that it does not wrap floats unless an inline is actual...
hyatt [Tue, 11 May 2004 20:29:19 +0000 (20:29 +0000)]
Fix makeChildrenNonInline so that it does not wrap floats unless an inline is actually found.

        Fix block minmaxwidth to add together contiguous runs of floats.

Fix the content image loader to not destroy the image when removed from the document.

        Reviewed by darin

        * ChangeLog:
        * khtml/html/html_imageimpl.cpp:
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:
        * khtml/rendering/render_block.cpp:

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

18 years agofix B&I build failure caused by case sensitivity
vicki [Tue, 11 May 2004 17:30:43 +0000 (17:30 +0000)]
fix B&I build failure caused by case sensitivity

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

18 years agoWebCore:
mjs [Mon, 10 May 2004 23:47:08 +0000 (23:47 +0000)]

        Reviewed by Darin.

- avoid redecoding animated images that are only used once for
~2.5% iBench speedup (WebCore part of fix)

        * khtml/rendering/render_image.cpp:
        (RenderImage::setPixmap): Maintain use count for pixmap.
        (RenderImage::~RenderImage): Likewise.
        * kwq/KWQPixmap.h:
        * kwq/KWQPixmap.mm:
        (QPixmap::increaseUseCount): Call WebCoreImageRenderer
        (QPixmap::decreaseUseCount): Call WebCoreImageRenderer
        * kwq/WebCoreImageRenderer.h: Prototype new protocol methods.


        Reviewed by Darin.

- avoid redecoding animated images that are only used once for
~2.5% iBench speedup (WebCore part of fix)

        * WebCoreSupport.subproj/WebImageRenderer.h:
        * WebCoreSupport.subproj/WebImageRenderer.m:
        (-[WebImageRenderer increaseUseCount]):
        (-[WebImageRenderer decreaseUseCount]):
        (-[WebImageRenderer retainOrCopyIfNeeded]):

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

18 years agoBack out the optimization since it will break the ibench cheat.
hyatt [Mon, 10 May 2004 23:42:12 +0000 (23:42 +0000)]
Back out the optimization since it will break the ibench cheat.

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

18 years ago Fix build.
mjs [Mon, 10 May 2004 23:34:23 +0000 (23:34 +0000)]
    Fix build.

        * WebView.subproj/WebFrame.m:

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

18 years agoFix build failure
hyatt [Mon, 10 May 2004 23:28:59 +0000 (23:28 +0000)]
Fix build failure

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

18 years ago Reviewed by Ken.
mjs [Mon, 10 May 2004 23:21:17 +0000 (23:21 +0000)]
    Reviewed by Ken.

- avoid messing with undo manager needlessly for ~1% HTML iBench speedup

        * WebCoreSupport.subproj/WebBridge.h:
        * WebCoreSupport.subproj/WebBridge.m:
        (-[WebBridge registerCommandForUndo:]): mark undo/redo item flag
        (-[WebBridge registerCommandForRedo:]): ditto
        (-[WebBridge clearUndoRedoOperations]): check flag before removing items,
and clear it after removing them

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

18 years ago Reviewed by Darin.
mjs [Mon, 10 May 2004 23:20:12 +0000 (23:20 +0000)]
    Reviewed by Darin.

- -[WebFrame childFrames] is so hot that a special internal
version which avoids the copy and autorelease results in a .75%
performance improvement on HTML iBench.

        * WebView.subproj/WebFramePrivate.h: Prototype new method.
        * WebView.subproj/WebFrame.m:
(-[WebFrame _internalChildFrames]): New method, just returns
internal value instead of copying.

        (-[WebFrame _descendantFrameNamed:]): Use it
        (-[WebFrame _textSizeMultiplierChanged]): likewise
        (-[WebFrame _viewWillMoveToHostWindow:]): likewise
        (-[WebFrame _viewDidMoveToHostWindow]): likewise
        (-[WebFrame _saveDocumentAndScrollState]): likewise
        (-[WebFrame _numPendingOrLoadingRequests:]): likewise
        (-[WebFrame _checkLoadComplete]): Refactored this and it's two
helpers a little so we could get away with using
        (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
(-[WebFrame _recursiveCheckLoadComplete]): renamed from (class
method) _recursiveCheckCompleteFromFrame:
        * WebView.subproj/WebDataSource.m:
        (-[WebDataSource _defersCallbacksChanged]): Use it
        (-[WebDataSource isLoading]): likewise
        * WebView.subproj/WebView.m:
        (-[WebView _frameForDataSource:fromFrame:]): likewise
        (-[WebView _frameForView:fromFrame:]): likewise

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

18 years ago Make sure that when finished parsing if all the right conditions are met, we just...
hyatt [Mon, 10 May 2004 23:19:27 +0000 (23:19 +0000)]
Make sure that when finished parsing if all the right conditions are met, we just go ahead and updateRendering and

        Reviewed by rjw

        * khtml/khtmlview.cpp:

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

18 years ago Reviewed by Dave.
mjs [Mon, 10 May 2004 21:47:37 +0000 (21:47 +0000)]
    Reviewed by Dave.

- some minor performance tweaks that together give .5% or so on
the HTML iBench

        * khtml/css/css_valueimpl.h: don't use a bitfield for id and important,
unpacking the bitfield is too expensive
        * kwq/KWQArrayImpl.h:
        * kwq/KWQArrayImpl.mm:
        (KWQArrayImpl::at): inline this method because it's so hot
        * kwq/KWQString.mm:
        (allocateHandle): inline this function because it's so hot
        (initializeHandleNodes): move this in the file so above can be inlined
        (allocateNode): ditto

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

18 years ago Move image loading to content.
hyatt [Mon, 10 May 2004 21:29:42 +0000 (21:29 +0000)]
Move image loading to content.

        Reviewed by kocienda

        * khtml/html/html_imageimpl.cpp:
        * khtml/html/html_imageimpl.h:
        * khtml/html/html_objectimpl.cpp:
        * khtml/html/html_objectimpl.h:
        * khtml/misc/loader.cpp:
        * khtml/rendering/render_image.cpp:
        * khtml/rendering/render_image.h:
        * khtml/rendering/render_object.cpp:
        * khtml/xml/dom_docimpl.cpp:
        * khtml/xml/dom_docimpl.h:

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

18 years ago Forgot to commit this copied header.
cblu [Mon, 10 May 2004 18:05:03 +0000 (18:05 +0000)]
Forgot to commit this copied header.

        * DOM.subproj/DOMExtensions.h:

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

18 years ago Reviewed by Vicki.
darin [Mon, 10 May 2004 16:47:45 +0000 (16:47 +0000)]
    Reviewed by Vicki.

        - fixed build failure seen in B&I log (due to case sensitive file system?)

        * kwq/KWQLoader.h: Include "KWQCString.h" rather than "QCString.h". The latter was
        failing because the forwarding header is called "qcstring.h" and I guess B&I started
        building with a case sensitive file system. I could have changed this to "qcstring.h",
        but it seemed better to use the header's real name since we're inside KWQ here.

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

18 years ago Reviewed by Dave.
mjs [Sun, 9 May 2004 04:55:11 +0000 (04:55 +0000)]
    Reviewed by Dave.

- change things around so extremely hot TokenizerString::current()
method doesn't have to do any work. It's cheaper to maintain the
relevant state than to always compute it.

        * khtml/misc/stringit.h:
        (khtml::TokenizerString::TokenizerString): Initialize m_currentChar
        (khtml::TokenizerString::push): update m_currentChar
        (khtml::TokenizerString::advance): ditto
        (khtml::TokenizerString::current): return m_currentChar
        * khtml/misc/stringit.cpp:
        (khtml::TokenizerString::clear): update m_currentChar
        (khtml::TokenizerString::append): update m_currentChar
        (khtml::TokenizerString::prepend): update m_currentChar

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

18 years ago Reviewed by Dave.
gramps [Sat, 8 May 2004 02:38:58 +0000 (02:38 +0000)]
    Reviewed by Dave.

Fixed minor, edge-case regression in KEYGEN RSA logic caused by Dave's
"atomic string" patch back in January.

        * khtml/html/html_formimpl.cpp:

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

18 years ago Reviewed by darin.
vicki [Fri, 7 May 2004 22:31:01 +0000 (22:31 +0000)]
    Reviewed by darin.

Turn off GC since it uses ppc only instructions (which breaks
the B&I build).

        * kjs/value.h: set USE_CONSERVATIVE_GC to 0

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

18 years agoset version number to 140u. the tree is open!
vicki [Fri, 7 May 2004 18:10:18 +0000 (18:10 +0000)]
set version number to 140u.  the tree is open!

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

18 years agoSafari-139 stamp
vicki [Fri, 7 May 2004 18:03:16 +0000 (18:03 +0000)]
Safari-139 stamp

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

18 years ago Reviewed by Darin.
mjs [Fri, 7 May 2004 16:51:56 +0000 (16:51 +0000)]
    Reviewed by Darin.

- two trivial changes for a 1% speedup, thanks to Shark

        * khtml/dom/dom_string.cpp:
        * khtml/dom/dom_string.h:
        (DOM::DOMString::~DOMString): inline this method because it's hot and the
function call overhead was very costly.
        * WebCore.pbproj/project.pbxproj: Add -falign-loops=16
optimization flag, as suggested by Shark.

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

18 years ago Reviewed by Darin.
mjs [Fri, 7 May 2004 16:50:16 +0000 (16:50 +0000)]
    Reviewed by Darin.

- add -funroll-loops=16 compiler option for approx .5% speedup on
HTML iBench and .5-1% speedup on JS iBench.

        * JavaScriptCore.pbproj/project.pbxproj:

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