WebKit-https.git
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:
        (RenderBox::detach):
        * khtml/rendering/render_br.cpp:
        (RenderBR::setPos):
        * khtml/rendering/render_br.h:
        * khtml/rendering/render_flow.cpp:
        (RenderFlow::dirtyLinesFromChangedChild):

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)]
WebCore:

        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:

WebKit:

        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)]
WebKit:
Fixed typo in header comment.

        Reviewed by Ken.

        * Plugins.subproj/WebScriptObject.h:

WebCore:
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:
        (KWQKHTMLPart::KWQKHTMLPart):
        (KWQKHTMLPart::bindingRootObject):
        (KWQKHTMLPart::windowScriptObject):

JavaScriptCore:
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:
        (ObjcInstance::~ObjcInstance):

WebBrowser:
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:
        (KHTMLView::layout):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::close):
        * kwq/KWQAccObjectCache.h:
        (KWQAccObjectCache::enableAccessibility):
        (KWQAccObjectCache::accessibilityEnabled):
        * kwq/KWQAccObjectCache.mm:
        (KWQAccObjectCache::accObject):
        (KWQAccObjectCache::setAccObject):
        (KWQAccObjectCache::removeAccObject):
        (KWQAccObjectCache::detach):
        (KWQAccObjectCache::childrenChanged):
        (KWQAccObjectCache::postNotification):
        * 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)]
WebCore:

Tweaks for forthcoming dragging improvements.

        Reviewed by john.

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

WebKit:

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)]
WebKit:
        Removed extraneous tabs that were added (by XCode?).

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

JavaScriptCore:
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)]
WebCore:

        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.
        (ElementImpl::defaultEventHandler):
        * 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.

WebKit:

        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)]
Tests:

        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.

WebCore:

        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.

WebKit:

        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:
        (KHTMLViewPrivate::reset):
        (KHTMLView::layoutCount):
        (KHTMLView::layout):
        * 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)]
WebCore:

Improve layout scheduling and add instrumentation for debugging layout scheduling

        Reviewed by kocienda

        * khtml/khtml_part.cpp:
        (KHTMLPart::slotFinishedParsing):
        (KHTMLPart::checkCompleted):
        * khtml/khtmlview.cpp:
        (KHTMLViewPrivate::KHTMLViewPrivate):
        (KHTMLViewPrivate::reset):
        (KHTMLView::layout):
        (KHTMLView::scheduleRelayout):
        (KHTMLView::haveDelayedLayoutScheduled):
        (KHTMLView::unscheduleRelayout):
        * khtml/khtmlview.h:
        * khtml/rendering/render_object.cpp:
        (RenderObject::repaintAfterLayoutIfNeeded):
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::updateWidgetPositions):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::close):
        (DocumentImpl::setParsing):
        (DocumentImpl::shouldScheduleLayout):
        (DocumentImpl::minimumLayoutDelay):
        (DocumentImpl::elapsedTime):
        (DocumentImpl::finishParsing):
        (DocumentImpl::updateStyleSelector):
        * khtml/xml/dom_docimpl.h:
        (DOM::DocumentImpl::allDataReceived):
        * kwq/KWQDateTime.h:
        * kwq/KWQDateTime.mm:
        (QTime::elapsed):
        * kwq/KWQWidget.mm:
        (QWidget::setFrameGeometry):

WebKit:

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)]
WebKit:
Finished implementation of windowScriptObject.

        Reviewed by Maciej.

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

WebCore:
Finished implementing support for windowScriptObject.

        Reviewed by Maciej.

        * khtml/khtml_part.cpp:
        (KHTMLPart::begin):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::KWQKHTMLPart):
        (KWQKHTMLPart::~KWQKHTMLPart):
        (KWQKHTMLPart::windowScriptObject):
        * kwq/WebCoreBridge.mm:
        (updateRenderingForBindings):

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

        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:
        (DOM::parseLength):

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)]
WebKit:
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:]):

WebCore:
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:
        (KHTMLPart::begin):
        * kwq/KWQKHTMLPart.h:
        * kwq/KWQKHTMLPart.mm:
        (KWQKHTMLPart::windowScriptObject):
        (KWQKHTMLPart::partClearedInBegin):
        * kwq/WebCoreBridge.h:
        * kwq/WebCoreBridge.mm:
        (updateRenderingForBindings):
        (-[WebCoreBridge init]):
        (-[WebCoreBridge stringByEvaluatingJavaScriptFromString:]):
        (-[WebCoreBridge windowScriptObject]):

JavaScriptCore:
Use KVC to set/get values instead of directly accessing
ivars.

        Reviewed by Maciej.

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

WebKitExamples:
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.
        (KHTMLPartPrivate::KHTMLPartPrivate):
        * 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)]
WebKit:

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:

WebBrowser:

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)]
JavaScriptCore:
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:
        (CInstance::invokeMethod):
        * bindings/jni/jni_instance.cpp:
        (JavaInstance::invokeMethod):
        * bindings/jni/jni_jsobject.cpp:
        (JSObject::convertValueToJObject):
        * bindings/jni/jni_utility.cpp:
        (KJS::Bindings::getJNIField):
        * bindings/objc/WebScriptObject.mm:
        (_didExecute):
        (-[WebScriptObject _initWithObjectImp:KJS::root:Bindings::]):
        (-[WebScriptObject KJS::]):
        (-[WebScriptObject dealloc]):
        (+[WebScriptObject throwException:]):
        (listFromNSArray):
        (-[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:
        (ObjcClass::methodsNamed):
        (ObjcClass::fieldNamed):
        * bindings/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        * bindings/objc/objc_jsobject.h:
        * bindings/objc/objc_jsobject.mm:
        * bindings/objc/objc_runtime.mm:
        (ObjcField::valueFromInstance):
        * bindings/objc/objc_utility.mm:
        (KJS::Bindings::JSMethodNameToObjCMethodName):
        (KJS::Bindings::convertValueToObjcValue):
        (KJS::Bindings::convertObjcValueToValue):
        * bindings/runtime.cpp:
        (Instance::setDidExecuteFunction):
        (Instance::didExecuteFunction):
        (Instance::setValueOfField):
        * bindings/runtime.h:
        * bindings/testbindings.mm:
        (+[MyFirstInterface webScriptNameForSelector:]):
        (-[MyFirstInterface callJSObject::]):

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

        Reviewed by Hyatt.

        * kwq/WebCoreBridge.mm:
        (updateRenderingForBindings):
        (-[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:
        (HTMLInputElementImpl::HTMLInputElementImpl):
        (HTMLInputElementImpl::~HTMLInputElementImpl):
        (HTMLInputElementImpl::parseHTMLAttribute):
        (HTMLInputElementImpl::attach):
        * khtml/html/html_formimpl.h:
        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::HTMLObjectElementImpl):
        (HTMLObjectElementImpl::~HTMLObjectElementImpl):
        (HTMLObjectElementImpl::parseHTMLAttribute):
        (HTMLObjectElementImpl::attach):
        * 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)]
WebKit:
Backed out mistaken change that I didn't mean to checkin.

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

JavaScriptCore:
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)]
WebKit:
Updated to reflect new API.

        Reviewed by Chris.

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

WebCore:
Removed vestigial isSelected method.

        Reviewed by Chris.

        * kwq/KWQWidget.h:
        * kwq/KWQWidget.mm:
        (QWidget::setIsSelected):
        * 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
updates.

        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)]
Tests:

Updated Blot to use new API's.

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

WebCore:

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:]):

WebKit:

- 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)]
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.

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:

WebCore:
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:

JavaScriptCore:
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)]
WebCore:

        Reviewed by Hyatt

        Implemented first cut at text style change code.

        * khtml/editing/htmlediting.cpp:
        (khtml::ApplyStyleCommand::ApplyStyleCommand):
        (khtml::ApplyStyleCommand::~ApplyStyleCommand):
        (khtml::ApplyStyleCommand::impl):
        (khtml::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand):
        (khtml::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
        (khtml::RemoveCSSPropertyCommand::impl):
        (khtml::RemoveCSSPropertyCommand::styleDeclaration):
        (khtml::RemoveCSSPropertyCommand::property):
        (khtml::RemoveNodeAttributeCommand::RemoveNodeAttributeCommand):
        (khtml::RemoveNodeAttributeCommand::~RemoveNodeAttributeCommand):
        (khtml::RemoveNodeAttributeCommand::impl):
        (khtml::RemoveNodeAttributeCommand::element):
        (khtml::RemoveNodeAttributeCommand::attribute):
        (khtml::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand):
        (khtml::RemoveNodePreservingChildrenCommand::~RemoveNodePreservingChildrenCommand):
        (khtml::RemoveNodePreservingChildrenCommand::impl):
        (khtml::RemoveNodePreservingChildrenCommand::node):
        (khtml::SetNodeAttributeCommand::SetNodeAttributeCommand):
        (khtml::SetNodeAttributeCommand::~SetNodeAttributeCommand):
        (khtml::SetNodeAttributeCommand::impl):
        (khtml::SetNodeAttributeCommand::element):
        (khtml::SetNodeAttributeCommand::attribute):
        (khtml::SetNodeAttributeCommand::value):
        * khtml/editing/htmlediting.h:
        (khtml::):
        (khtml::ApplyStyleCommand::):

        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
        intention.

        * khtml/editing/htmlediting_impl.cpp:
        (khtml::CompositeEditCommandImpl::insertNodeBefore):
        (khtml::CompositeEditCommandImpl::insertNodeAfter):
        (khtml::CompositeEditCommandImpl::appendNode):
        (khtml::CompositeEditCommandImpl::removeNode):
        (khtml::CompositeEditCommandImpl::removeNodeAndPrune):
        (khtml::CompositeEditCommandImpl::removeNodePreservingChildren):
        (khtml::CompositeEditCommandImpl::splitTextNode):
        (khtml::CompositeEditCommandImpl::joinTextNodes):
        (khtml::CompositeEditCommandImpl::insertText):
        (khtml::CompositeEditCommandImpl::deleteText):
        (khtml::CompositeEditCommandImpl::replaceText):
        (khtml::CompositeEditCommandImpl::removeCSSProperty):
        (khtml::CompositeEditCommandImpl::removeNodeAttribute):
        (khtml::CompositeEditCommandImpl::setNodeAttribute):

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

        (khtml::ApplyStyleCommandImpl::ApplyStyleCommandImpl):
        (khtml::ApplyStyleCommandImpl::~ApplyStyleCommandImpl):
        (khtml::ApplyStyleCommandImpl::commandID):
        (khtml::ApplyStyleCommandImpl::doApply):
        (khtml::ApplyStyleCommandImpl::isHTMLStyleNode):
        (khtml::ApplyStyleCommandImpl::removeHTMLStyleNode):
        (khtml::ApplyStyleCommandImpl::removeCSSStyle):
        (khtml::ApplyStyleCommandImpl::removeCSSProperty):
        (khtml::ApplyStyleCommandImpl::setNodeAttribute):
        (khtml::ApplyStyleCommandImpl::removeNodeAttribute):
        (khtml::ApplyStyleCommandImpl::removeNodePreservingChildren):
        (khtml::ApplyStyleCommandImpl::mustExlicitlyApplyStyle):
        (khtml::ApplyStyleCommandImpl::createExplicitApplyStyleNode):
        (khtml::ApplyStyleCommandImpl::currentlyHasStyle):
        (khtml::ApplyStyleCommandImpl::cssProperty):
        (khtml::ApplyStyleCommandImpl::matchesTargetStyle):
        (khtml::ApplyStyleCommandImpl::positionInsertionPoint):
        (khtml::ApplyStyleCommandImpl::splitTextAtStartIfNeeded):
        (khtml::ApplyStyleCommandImpl::splitTextAtEndIfNeeded):
        (khtml::ApplyStyleCommandImpl::applyStyleIfNeeded):
        (khtml::ApplyStyleCommandImpl::removeStyle):
        (khtml::ApplyStyleCommandImpl::cloneSelection):
        (khtml::ApplyStyleCommandImpl::insertFragment):
        (khtml::ApplyStyleCommandImpl::applyInPlace):
        (khtml::ApplyStyleCommandImpl::applyUsingFragment):
        (khtml::DeleteSelectionCommandImpl::DeleteSelectionCommandImpl):
        (khtml::InsertNodeBeforeCommandImpl::doApply):
        (khtml::InsertNodeBeforeCommandImpl::doUnapply):
        (khtml::JoinTextNodesCommandImpl::doApply):
        (khtml::PasteMarkupCommandImpl::PasteMarkupCommandImpl):
        (khtml::RemoveCSSPropertyCommandImpl::RemoveCSSPropertyCommandImpl):
        (khtml::RemoveCSSPropertyCommandImpl::~RemoveCSSPropertyCommandImpl):
        (khtml::RemoveCSSPropertyCommandImpl::commandID):
        (khtml::RemoveCSSPropertyCommandImpl::doApply):
        (khtml::RemoveCSSPropertyCommandImpl::doUnapply):
        (khtml::RemoveNodeAttributeCommandImpl::RemoveNodeAttributeCommandImpl):
        (khtml::RemoveNodeAttributeCommandImpl::~RemoveNodeAttributeCommandImpl):
        (khtml::RemoveNodeAttributeCommandImpl::commandID):
        (khtml::RemoveNodeAttributeCommandImpl::doApply):
        (khtml::RemoveNodeAttributeCommandImpl::doUnapply):
        (khtml::RemoveNodePreservingChildrenCommandImpl::RemoveNodePreservingChildrenCommandImpl):
        (khtml::RemoveNodePreservingChildrenCommandImpl::~RemoveNodePreservingChildrenCommandImpl):
        (khtml::RemoveNodePreservingChildrenCommandImpl::commandID):
        (khtml::RemoveNodePreservingChildrenCommandImpl::doApply):
        (khtml::SetNodeAttributeCommandImpl::SetNodeAttributeCommandImpl):
        (khtml::SetNodeAttributeCommandImpl::~SetNodeAttributeCommandImpl):
        (khtml::SetNodeAttributeCommandImpl::commandID):
        (khtml::SetNodeAttributeCommandImpl::doApply):
        (khtml::SetNodeAttributeCommandImpl::doUnapply):
        (khtml::SplitTextNodeCommandImpl::doUnapply):
        (khtml::TypingCommandImpl::insertText):

        Text style change command implementations.

        * khtml/editing/htmlediting_impl.h:
        (khtml::ApplyStyleCommandImpl::):
        (khtml::ApplyStyleCommandImpl::removingStyle):
        (khtml::RemoveCSSPropertyCommandImpl::styleDeclaration):
        (khtml::RemoveCSSPropertyCommandImpl::property):
        (khtml::RemoveNodeAttributeCommandImpl::element):
        (khtml::RemoveNodeAttributeCommandImpl::attribute):
        (khtml::RemoveNodePreservingChildrenCommandImpl::node):
        (khtml::SetNodeAttributeCommandImpl::element):
        (khtml::SetNodeAttributeCommandImpl::attribute):
        (khtml::SetNodeAttributeCommandImpl::value):

        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:
        (DOM::TreeWalkerImpl::parentNode):
        (DOM::TreeWalkerImpl::firstChild):
        (DOM::TreeWalkerImpl::lastChild):
        (DOM::TreeWalkerImpl::previousSibling):
        (DOM::TreeWalkerImpl::nextSibling):
        (DOM::TreeWalkerImpl::previousNode):
        (DOM::TreeWalkerImpl::nextNode):

        A convenience.

        * khtml/xml/dom_elementimpl.cpp:
        (ElementImpl::hasAttributes):
        * 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::equivalentRangeCompliantPosition):
        (DOM::Position::equivalentShallowPosition):
        (DOM::Position::inLastEditableInContainingEditableBlock):

        (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.

WebKit:

Fixed:
<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:
        (KHTMLView::scheduleRelayout):
        * khtml/rendering/render_frames.cpp:
        (RenderPart::updateWidgetPositions):
        * khtml/rendering/render_text.cpp:
        (RenderText::paint):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::DocumentImpl):
        (DocumentImpl::close):
        (DocumentImpl::setParsing):
        (DocumentImpl::shouldScheduleLayout):
        (DocumentImpl::minimumLayoutDelay):
        * 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)]
WebKit:

Fixed:
<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.

WebKitExamples:

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)]
WebCore:

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

WebKit:

Fixed:
<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:
        (HTMLImageLoader::~HTMLImageLoader):
        (HTMLImageElementImpl::detach):
        * khtml/html/html_imageimpl.h:
        (DOM::):
        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::createRenderer):
        * khtml/html/html_objectimpl.h:
        * khtml/rendering/render_block.cpp:
        (khtml::getInlineRun):
        (khtml::RenderBlock::calcInlineMinMaxWidth):
        (khtml::RenderBlock::calcBlockMinMaxWidth):

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)]
WebCore:

        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.

WebKit:

        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
_internalChildFrames.
        (-[WebFrame _checkLoadCompleteForThisFrame]): Renamed from
_isLoadComplete
(-[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
layout.

        Reviewed by rjw

        * khtml/khtmlview.cpp:
        (KHTMLView::scheduleRelayout):

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:
        (m_imageComplete):
        (HTMLImageLoader::~HTMLImageLoader):
        (HTMLImageLoader::updateFromElement):
        (HTMLImageLoader::removedFromDocument):
        (HTMLImageLoader::dispatchLoadEvent):
        (HTMLImageLoader::notifyFinished):
        (HTMLImageElementImpl::HTMLImageElementImpl):
        (HTMLImageElementImpl::parseHTMLAttribute):
        (HTMLImageElementImpl::attach):
        (HTMLImageElementImpl::detach):
        (HTMLImageElementImpl::removedFromDocument):
        (HTMLImageElementImpl::currentImage):
        * khtml/html/html_imageimpl.h:
        (DOM::):
        * khtml/html/html_objectimpl.cpp:
        (HTMLObjectElementImpl::HTMLObjectElementImpl):
        (HTMLObjectElementImpl::removedFromDocument):
        (HTMLObjectElementImpl::attach):
        * khtml/html/html_objectimpl.h:
        * khtml/misc/loader.cpp:
        (CachedImage::ref):
        * khtml/rendering/render_image.cpp:
        (RenderImage::RenderImage):
        (RenderImage::setImage):
        (RenderImage::updateAltText):
        * khtml/rendering/render_image.h:
        (khtml::RenderImage::getImage):
        * khtml/rendering/render_object.cpp:
        (RenderObject::canvas):
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::dispatchImageLoadEventSoon):
        (DocumentImpl::removeImage):
        (DocumentImpl::dispatchImageLoadEventsNow):
        * 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:
        (HTMLKeygenElementImpl::encoding):

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

18 years ago Added alpha to DOMRGBColor as an extension.
cblu [Thu, 6 May 2004 22:50:17 +0000 (22:50 +0000)]
Added alpha to DOMRGBColor as an extension.

        Reviewed by dave.

        * kwq/DOM-CSS.mm:
        (-[DOMRGBColor alpha]): new
        * kwq/DOMExtensions.h:

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

18 years agoAdd layout test for pres and brs.
hyatt [Thu, 6 May 2004 22:04:23 +0000 (22:04 +0000)]
Add layout test for pres and brs.

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

18 years ago Fix whitespace rendering for brs inside pres. The bug is 3640711.
hyatt [Thu, 6 May 2004 22:01:33 +0000 (22:01 +0000)]
Fix whitespace rendering for brs inside pres. The bug is 3640711.

        Reviewed by kocienda

        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::layoutInlineChildren):
        (khtml::RenderBlock::findNextLineBreak):

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

18 years ago * DOM.subproj/WebDOMOperations.h: improved a header doc comment
cblu [Thu, 6 May 2004 21:41:14 +0000 (21:41 +0000)]
    * DOM.subproj/WebDOMOperations.h: improved a header doc comment

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

18 years agoJavaScriptCore:
mjs [Thu, 6 May 2004 06:41:06 +0000 (06:41 +0000)]
JavaScriptCore:

        Reviewed by Darin.

Enable full conservative GC mode in addition to test mode. When
conservative GC is enabled, we now get an 11% speed improvement on
the iBench. Also fix some spots I missed before.

Specific noteworth changes:

        * kjs/collector.cpp:
(KJS::Collector::markStackObjectsConservatively): Check possible
cell pointers for 8-byte aligment and verify they are not 0.

        * kjs/protected_values.cpp:
        (KJS::ProtectedValues::increaseProtectCount): Move null-tolerance from here...
        (KJS::ProtectedValues::decreaseProtectCount): ...and here...
        * kjs/protect.h:
        (KJS::gcProtectNullTolerant): ...to here...
        (KJS::gcUnprotectNullTolerant): ...and here, because not all callers need the null
tolerance, and doing the check is expensive.

        * kjs/protected_values.cpp:
        (KJS::ProtectedValues::computeHash): Replace hash function with a much faster one
that is still very good.

        * kjs/protect.h:
        (KJS::gcProtect):
        (KJS::gcUnprotect):
        (KJS::ProtectedValue::ProtectedValue):
        (KJS::ProtectedValue::~ProtectedValue):
        (KJS::ProtectedValue::operator=):
        (KJS::ProtectedObject::ProtectedObject):
        (KJS::ProtectedObject::~ProtectedObject):
        (KJS::ProtectedObject::operator=):
        (KJS::ProtectedReference::ProtectedReference):
        (KJS::ProtectedReference::~ProtectedReference):
        (KJS::ProtectedReference::operator=):
        * kjs/protected_values.cpp:
        (KJS::ProtectedValues::getProtectCount):
        (KJS::ProtectedValues::increaseProtectCount):
        (KJS::ProtectedValues::decreaseProtectCount):
        (KJS::ProtectedValues::computeHash):
        * bindings/runtime_root.cpp:
        (KJS::Bindings::addNativeReference):
        (KJS::Bindings::removeNativeReference):
        (RootObject::removeAllNativeReferences):
        * bindings/runtime_root.h:
        (KJS::Bindings::RootObject::~RootObject):
        (KJS::Bindings::RootObject::setRootObjectImp):
        * kjs/collector.cpp:
        (KJS::Collector::allocate):
        (KJS::Collector::collect):
        * kjs/collector.h:
        * kjs/internal.cpp:
        (NumberImp::create):
        (InterpreterImp::globalInit):
        (InterpreterImp::globalClear):
        (InterpreterImp::mark):
        * kjs/list.cpp:
        (KJS::List::derefValues):
        (KJS::List::refValues):
        (KJS::List::append):
        * kjs/object.cpp:
        (KJS::ObjectImp::setInternalValue):
        (KJS::ObjectImp::putDirect):
        * kjs/value.cpp:
        (ValueImp::mark):
        (ValueImp::marked):
        * kjs/value.h:
        (KJS::ValueImp::ValueImp):
        (KJS::ValueImp::~ValueImp):
        (KJS::ValueImp::):
        (KJS::Value::Value):
        (KJS::Value::~Value):
        (KJS::Value::operator=):

WebCore:

        Reviewed by Darin.

        * khtml/ecma/kjs_events.cpp:
        (JSLazyEventListener::parseCode): Make sure to protect the
permanent "event" string object.

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

18 years ago Fixes for 3637924, 3643356, and 3558513, all crashes in recalcStyle. Make sure...
hyatt [Wed, 5 May 2004 20:50:21 +0000 (20:50 +0000)]
Fixes for 36379243643356, and 3558513, all crashes in recalcStyle.  Make sure the tree is always in a
sane state when removing children while changing .innerHTML.

        Reviewed by darin

        * khtml/xml/dom_nodeimpl.cpp:

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

18 years agoAdd quirk body height test.
hyatt [Wed, 5 May 2004 20:24:33 +0000 (20:24 +0000)]
Add quirk body height test.

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

18 years agoFixed layout tests plus added a new test.
hyatt [Wed, 5 May 2004 20:23:48 +0000 (20:23 +0000)]
Fixed layout tests plus added a new test.

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

18 years ago A collection of fixes.
hyatt [Wed, 5 May 2004 20:21:09 +0000 (20:21 +0000)]
A collection of fixes.

(1) Fix a regression from the style sharing landing that made visited and unvisited links accidentally share.
(2) Make sure 100% height divs fill the <body> in quirks mode, even if the body has no height specified.
(3) Make sure table cell percentage heights exclude border/padding.
(4) Make sure that before flexing auto height is used for the contents of the cells.

        Reviewed by darin

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::canShareStyleWithElement):
        (khtml::CSSStyleSelector::locateSharedStyle):
        * khtml/rendering/render_box.cpp:
        (RenderBox::calcPercentageHeight):
        * khtml/rendering/render_table.cpp:
        (RenderTable::layout):
        (RenderTableSection::layoutRows):

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

18 years agoTests:
cblu [Wed, 5 May 2004 18:37:31 +0000 (18:37 +0000)]
Tests:

        Reviewed by kocienda.

        * Blot/BlotDocument.m:
        (-[BlotDocument dataRepresentationOfType:]): updated to use outerHTML

WebCore:

- DOM Extensions API tweaks
- Implemented outerHTML

        Reviewed by kocienda.

        * WebCore-combined.exp:
        * khtml/html/html_elementimpl.cpp:
        (HTMLElementImpl::outerHTML): new
        (HTMLElementImpl::setOuterHTML): mew
        * khtml/html/html_elementimpl.h:
        * kwq/DOMExtensions.h: removed background methods on table and table cell since these are unnecessary conveniences
        * kwq/DOMHTML.mm:
        (-[DOMHTMLElement outerHTML]): new
        (-[DOMHTMLElement setOuterHTML:]): mew

WebKit:

- DOM Extensions API tweaks

        Reviewed by kocienda.

        * DOM.subproj/DOMExtensions.h: copied from WebCore
        * DOM.subproj/WebDOMOperations.h: added header doc comments
        * DOM.subproj/WebDOMOperations.m:
        (-[DOMNode _URLsFromSelectors:]): use renamed URLWithAttributeString
        (-[DOMDocument URLWithAttributeString:]): renamed
        (-[DOMHTMLTableElement _web_background]): new private method
        (-[DOMHTMLTableElement _subresourceURLs]): use new private method
        (-[DOMHTMLTableCellElement _web_background]): new private method
        (-[DOMHTMLTableCellElement _subresourceURLs]): use new private method

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

18 years ago Fix for 3641331, make sure <th> elements don't reset text-align to center if they...
hyatt [Wed, 5 May 2004 00:16:21 +0000 (00:16 +0000)]
Fix for 3641331, make sure <th> elements don't reset text-align to center if they inherit a specified
value.

Also remove the styles from <abbr> and <acronym>.

        Reviewed by darin

        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::adjustRenderStyle):
        * khtml/css/html4.css:
        * khtml/css/quirks.css:

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

18 years ago Reviewed by Hyatt
kocienda [Tue, 4 May 2004 23:43:16 +0000 (23:43 +0000)]
    Reviewed by Hyatt

        Fix for behavior which extends selection drawing to beginning and end of blocks.
        I added this feature a few days ago, but my checks to see if the extension should
        be done was naive: Is first or last item in root line box selected? Clearly this
        needs to be "selection is *beyond* first or last item in root line box. Done.

        * khtml/rendering/render_image.cpp:
        (RenderImage::paint): Add selectionState() == SelectionInside check.
        * khtml/rendering/render_text.cpp:
        (InlineTextBox::paintSelection): Constrain passed-in offsets to be relative to box.
        Use passed-in offsets to check whether selection extends beyond this box. Also, now
        passes in flag to tell whether the whole RenderText has selectionState() == SelectionInside
        (in which case you always want to extend).
        (RenderText::paint): Remove box offset constraining from here. Now done in above function.
        * khtml/rendering/render_text.h: Modify paintSelection interface to add
        selectionState() == SelectionInside flag.

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

18 years ago Reviewed by me
kocienda [Tue, 4 May 2004 23:31:42 +0000 (23:31 +0000)]
    Reviewed by me

        Added layout tests for DOM traversal objects.

        * layout-tests/traversal/node-iterator-001-expected.txt: Added.
        * layout-tests/traversal/node-iterator-001.html: Added.
        * layout-tests/traversal/node-iterator-002-expected.txt: Added.
        * layout-tests/traversal/node-iterator-002.html: Added.
        * layout-tests/traversal/node-iterator-003-expected.txt: Added.
        * layout-tests/traversal/node-iterator-003.html: Added.
        * layout-tests/traversal/node-iterator-004-expected.txt: Added.
        * layout-tests/traversal/node-iterator-004.html: Added.
        * layout-tests/traversal/node-iterator-005-expected.txt: Added.
        * layout-tests/traversal/node-iterator-005.html: Added.
        * layout-tests/traversal/node-iterator-006-expected.txt: Added.
        * layout-tests/traversal/node-iterator-006.html: Added.
        * layout-tests/traversal/node-iterator-007-expected.txt: Added.
        * layout-tests/traversal/node-iterator-007.html: Added.
        * layout-tests/traversal/traversal.js: Added.
        * layout-tests/traversal/tree-walker-001-expected.txt: Added.
        * layout-tests/traversal/tree-walker-001.html: Added.
        * layout-tests/traversal/tree-walker-002-expected.txt: Added.
        * layout-tests/traversal/tree-walker-002.html: Added.
        * layout-tests/traversal/tree-walker-003-expected.txt: Added.
        * layout-tests/traversal/tree-walker-003.html: Added.
        * layout-tests/traversal/tree-walker-004-expected.txt: Added.
        * layout-tests/traversal/tree-walker-004.html: Added.

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

18 years ago Reviewed by Hyatt
kocienda [Tue, 4 May 2004 23:30:30 +0000 (23:30 +0000)]
    Reviewed by Hyatt

        * khtml/xml/dom2_traversalimpl.cpp:
        (DOM::NodeIteratorImpl::nextNode): Change to make NodeIterators behave like the spec in that
        reference node is null until you iterate the first time.
        (DOM::NodeIteratorImpl::previousNode): Ditto.

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

18 years ago Reviewed by me
kocienda [Tue, 4 May 2004 22:38:51 +0000 (22:38 +0000)]
    Reviewed by me

        * WebCore.pbproj/project.pbxproj: Backed out unintentional
        change.

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

18 years agoWebCore:
kocienda [Tue, 4 May 2004 22:38:00 +0000 (22:38 +0000)]
WebCore:

        Reviewed by Hyatt

        Implemented DOM traversal objects, NodeIterator and TreeWalker.

        * WebCore-combined.exp: Regenerate
        * WebCore.exp: Export DOMNodeFilter protocol
        * khtml/dom/dom2_traversal.cpp: Completed half-done implementation pulled from KDE tree.
        * khtml/dom/dom2_traversal.h: Ditto.
        * khtml/dom/dom_doc.cpp:
        (DOM::Document::createNodeIterator): Ditto.
        (DOM::Document::createTreeWalker): Ditto.
        * khtml/dom/dom_doc.h: Ditto.
        * khtml/ecma/kjs_dom.cpp:
        (DOMDocumentProtoFunc::tryCall): Fix cases that create traversal objects.
        * khtml/ecma/kjs_traversal.cpp:
        (DOMNodeIterator::getValueProperty): Add referenceNode and pointerBeforeReferenceNode
        properties to node interator.
        (DOMTreeWalkerProtoFunc::tryCall): Fix typo where DOMTreeWalker::PreviousNode case called previousSibling function.
        (JSNodeFilterCondition::JSNodeFilterCondition): Implement JS glue class for node filter conditions.
        (JSNodeFilterCondition::acceptNode): Ditto.
        * khtml/ecma/kjs_traversal.h:
        (KJS::DOMNodeIterator::): Add ReferenceNode and PointerBeforeReferenceNode constants.
        * khtml/ecma/kjs_traversal.lut.h:
        (KJS::): Regenerated
        * khtml/xml/dom2_traversalimpl.cpp: Completed half-done implementation pulled from KDE tree.
        * khtml/xml/dom2_traversalimpl.h: Ditto.
        * khtml/xml/dom_docimpl.cpp:
        (DocumentImpl::createNodeIterator): Ditto.
        (DocumentImpl::createTreeWalker): Ditto.
        * khtml/xml/dom_docimpl.h: Ditto.
        * khtml/xml/dom_nodeimpl.cpp:
        (NodeImpl::checkAddChild): Patched due to change in isAncestor function. This was the one pre-existing caller.
        (NodeImpl::isAncestor): Changed so that it does not return true for itself: node->isAncestor(node) now returns false.
        * khtml/xml/dom_nodeimpl.h: Made isAncestor const.
        * kwq/DOM.mm: Implemented obj-c glue for traversal objects.
        * kwq/DOMInternal.h: Ditto.
        * kwq/DOMTraversal.h: Ditto.

WebKit:

        Reviewed by Hyatt

        * DOM.subproj/DOMTraversal.h: File coppied from WebCore

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

18 years ago Reviewed by Ken.
darin [Tue, 4 May 2004 16:29:50 +0000 (16:29 +0000)]
    Reviewed by Ken.

        - fixed <rdar://problem/3642252>: "starting to drag a link and then releasing needs to activate the link if you are still over it"

        * khtml/khtmlview.cpp:
        (KHTMLView::viewportMouseMoveEvent): Put hysteresis check inside !APPLE_CHANGES because
        the Web Kit does our hysteresis checks.
        (KHTMLView::viewportMouseReleaseEvent): Ditto.

        * kwq/KWQApplication.h: Removed startDragDistance and globalStrut; unused.
        * kwq/KWQApplication.mm: Removed the implementations.
        * kwq/KWQPointArray.h: Removed manhattanLength; unused.
        * kwq/KWQPoint.mm:  Removed the implementation.

        * WebCore-tests.exp: Removed manhattanLength.
        * WebCore-combined.exp: Regenerated.

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

18 years ago Reviewed by Hyatt
kocienda [Mon, 3 May 2004 22:54:25 +0000 (22:54 +0000)]
    Reviewed by Hyatt

Nifty hack to work around problem where BR's inserted at the end of a block do not
render. Since only the *last* BR has this quirk, insert two when at the end of a block.
Once done, you can't caret past the last one, so you never insert two again.

        * khtml/editing/htmlediting_impl.cpp:
        (InputNewlineCommandImpl::doApply)

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

18 years ago Reviewed by Ken
darin [Mon, 3 May 2004 22:29:59 +0000 (22:29 +0000)]
    Reviewed by Ken

        - fixed <rdar://problem/3091531>: "should format copied tables with tabs between cells, spreadsheet-style, for pasting to Excel"
        - fixed <rdar://problem/3110002>: "Find doesn't match across formatting boundaries"
        - fixed <rdar://problem/3640340>: "REGRESSION (136-137): nil-deref in KHTMLPart::setFocusNodeIfNeeded inside triple click code after repeatedly click/drag selecting text"
        - fixed <rdar://problem/3640422>: "too many blank lines between paragraphs in copied text"

        * khtml/dom/dom2_range.h: Added == and != operators to DOMRange.
        * khtml/dom/dom2_range.cpp: (DOM::operator==): Added.

        * khtml/khtml_part.cpp:
        (KHTMLPart::init): Don't call findTextBegin any more; it's now not used at all
        in WebCore.
        (KHTMLPart::clear): Don't call findTextBegin any more. Also don't set up the
        load statistics variables.
        (KHTMLPart::findTextNext): Roll out APPLE_CHANGES; this function is no longer
        used in WebCore any more and instead the entire thing is compiled out.
        (KHTMLPart::text): Reimplement this by calling one of the new text operations. All the interesting
        parts were moved into the TextIterator class.
        (KHTMLPart::setFocusNodeIfNeeded): Add a check for nil; this is the fix for 364030.

        * khtml/khtmlpart_p.h: (KHTMLPartPrivate::KHTMLPartPrivate): Put m_findPos,
        m_findNode, m_overURL, m_overURLTarget, m_scrollTimer, m_loadedObjects,
        m_totalObjectCount, and m_jobPercent inside !APPLE_CHANGES.

        * khtml/xml/dom_selection.h: Replaced uses of 4-character tabs with spaces.
        (DOM::Selection::Selection): Added a constructor that takes a DOM range.
        (DOM::Selection::operator=): Overloaded operator= for DOM range and position.
        This is slightly more efficient than letting a second Selection object be constructed.
        * khtml/xml/dom_selection.cpp: Replaced uses of 4-character tabs with spaces.
        (DOM::Selection::Selection): Added a constructor that takes a DOM range.

        * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::findString): Reimplement find so it uses
        the new text operations function for finding.

        * khtml/misc/khtml_text_operations.h:
        * khtml/misc/khtml_text_operations.cpp:
        * WebCore.pbproj/project.pbxproj:
        Added new text iterator classes that do the heavy lifting.

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