Timeline
May 24, 2004:
- 5:25 PM Changeset in webkit [6680] by
-
- 2 edits in trunk/WebKit
Reviewed by Ken.
- fixed <rdar://problem/3666022>: (REGRESSION: crash from infinite regress in -[WebFrameView(WebPrivate) scrollPageDown:])
- WebView.subproj/WebView.m: (-[WebView _performResponderOperation:sender:]): Helper method that knows how to pass on operations to the responder chain, allowing us to implement operations that will get passed to views inside us as necessary. Moved a few methods to this, and soon will move even more. (-[WebView scrollLineDown:]): Use the above method. (-[WebView scrollLineUp:]): Ditto. (-[WebView scrollPageDown:]): Ditto. (-[WebView scrollPageUp:]): Ditto. (-[WebView copy:]): Ditto. (-[WebView cut:]): Ditto. (-[WebView paste:]): Ditto. (-[WebView delete:]): Ditto. (-[WebView insertBacktab:]): Ditto.
- 5:18 PM Changeset in webkit [6679] by
-
- 1 edit2 adds in trunk
Reviewed by Dave.
Added a new simple layout test for outerText.
- layout-tests/fast/dom/outerText-expected.txt: Added.
- layout-tests/fast/dom/outerText.html: Added.
- 3:53 PM Changeset in webkit [6678] by
-
- 2 edits in trunk/WebCore
Reviewed by Vicki.
- fixed <rdar://problem/3665813>: (iBench is crashing in TOT)
- khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::HTMLSelectElementImpl): Initialize m_options to 0.
- 3:19 PM Changeset in webkit [6677] by
-
- 6 edits1 add in trunk/JavaScriptCore
Changed RuntimeArrayImp to inherit from ArrayInstanceImp and
fixed ClassInfo to correctly reflect inheritance. This is required
because of the runtime checks in JSC for arrays, i.e. in
the Function objects apply method.
Reviewed by Ken.
- bindings/jni/jni_runtime.cpp: (JavaArray::convertJObjectToArray):
- bindings/objc/objc_utility.mm: (KJS::Bindings::convertObjcValueToValue):
- bindings/runtime_array.cpp: (RuntimeArrayImp::RuntimeArrayImp):
- bindings/runtime_array.h:
- bindings/testM.js: Added.
- bindings/testbindings.mm: (+[MyFirstInterface webScriptNameForSelector:]): (-[MyFirstInterface logMessages:]): (-[MyFirstInterface logMessage:prefix:]): (-[MyFirstInterface callJSObject::]):
- 3:18 PM Changeset in webkit [6676] by
-
- 7 edits in trunk/WebCore
Reviewed by Richard
- khtml/xml/dom_selection.cpp: (DOM::Selection::toRange): Improved the code to return ranges that are convenient to use by WebKit code which needs to perform text-editor-like operations with ranges. Comments in the code describe this behavior. (DOM::Selection::nodeIsBeforeNode): Make this method const.
- khtml/xml/dom_selection.h: Ditto.
- 2:55 PM Changeset in webkit [6675] by
-
- 21 edits in trunk
WebCore:
Improved editing via drag.
Reviewed by kocienda.
- khtml/editing/htmlediting.cpp: Renamed PasteMarkupCommand to ReplaceSelectionCommand (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): (khtml::ReplaceSelectionCommand::impl): (khtml::MoveSelectionCommand::MoveSelectionCommand): (khtml::MoveSelectionCommand::~MoveSelectionCommand): (khtml::MoveSelectionCommand::impl):
- khtml/editing/htmlediting.h: (khtml::):
- khtml/editing/htmlediting_impl.cpp: (khtml::ReplaceSelectionCommandImpl::ReplaceSelectionCommandImpl): (khtml::ReplaceSelectionCommandImpl::~ReplaceSelectionCommandImpl): (khtml::ReplaceSelectionCommandImpl::commandID): (khtml::ReplaceSelectionCommandImpl::doApply): (khtml::MoveSelectionCommandImpl::MoveSelectionCommandImpl): new command (khtml::MoveSelectionCommandImpl::~MoveSelectionCommandImpl): (khtml::MoveSelectionCommandImpl::commandID): (khtml::MoveSelectionCommandImpl::doApply):
- khtml/editing/htmlediting_impl.h:
- khtml/khtml_part.cpp: (KHTMLPart::dragCaret): new (KHTMLPart::setDragCaret): new (KHTMLPart::notifyDragCaretChanged): new (KHTMLPart::paintDragCaret): new
- khtml/khtml_part.h:
- khtml/khtmlpart_p.h:
- khtml/rendering/render_block.cpp: (khtml::RenderBlock::paintObject): paint the drag caret
- kwq/DOM.mm: (+[DOMDocumentFragment _documentFragmentWithImpl:]): made internally available (-[DOMDocumentFragment _fragmentImpl]):
- kwq/DOMInternal.h:
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): new (-[WebCoreBridge documentFragmentWithText:]): new (-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:]): new (-[WebCoreBridge replaceSelectionWithNode:selectReplacement:]): renamed to take the selectReplacement BOOL (-[WebCoreBridge replaceSelectionWithMarkupString:baseURLString:selectReplacement:]): ditto (-[WebCoreBridge replaceSelectionWithText:selectReplacement:]): ditto (-[WebCoreBridge replaceSelectionWithNewline]): moved (-[WebCoreBridge setSelectionToDragCaret]): new (-[WebCoreBridge moveSelectionToDragCaret:]): new (-[WebCoreBridge moveDragCaretToPoint:]): set the drag caret, not the selection (-[WebCoreBridge removeDragCaret]): new
WebKit:
Improved editing via drag
Reviewed by kocienda.
- WebView.subproj/WebDataSource.m: (-[WebDataSource _documentFragmentWithImageResource:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment (-[WebDataSource _documentFragmentWithArchive:]): ditto (-[WebDataSource _replaceSelectionWithArchive:selectReplacement:]): call renamed methods
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebDocumentInternal.h:
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _documentFragmentFromPasteboard:]): made this method return a fragment instead of replace the selection so that the caller do other things with the fragment (-[WebHTMLView _replaceSelectionWithPasteboard:selectReplacement:]): new (-[WebHTMLView paste:]): call _replaceSelectionWithPasteboard:selectReplacement: (-[WebHTMLView dragOperationForDraggingInfo:]): handle the case where the destination is editable, but the source is not (-[WebHTMLView draggingCancelledWithDraggingInfo:]): new, removes drag caret (-[WebHTMLView draggingUpdatedWithDraggingInfo:]): remove drag caret when we can't handle the drag (-[WebHTMLView concludeDragForDraggingInfo:]): instead of calling paste, move the selection when doing a move and replace the drag caret when doing a copy
- WebView.subproj/WebHTMLViewPrivate.h:
- WebView.subproj/WebView.m: (-[WebViewPrivate dealloc]): (-[WebView _setDraggingDocumentView:]): new (-[WebView _dragOperationForDraggingInfo:]): if the current dragging document view changes, tell the previous dragging document view that dragging cancelled (-[WebView draggingExited:]): new, tell the previous dragging document view that dragging cancelled (-[WebView concludeDragOperation:]): release the dragging document view (-[WebView replaceSelectionWithNode:]): pass the selectReplacement BOOL to the bridge (-[WebView replaceSelectionWithText:]): ditto (-[WebView replaceSelectionWithMarkupString:]): ditto (-[WebView replaceSelectionWithArchive:]): ditto (-[WebView pasteAsPlainText:]): ditto (-[WebView insertTab:]): ditto (-[WebView insertText:]): ditto
- WebView.subproj/WebViewPrivate.h:
- 1:40 PM Changeset in webkit [6674] by
-
- 4 edits in trunk/WebCore
Reviewed by John
Fixed some life-cycle issues with node iterators and detaching. Big deal is
to detach in DOMNodeIterator dealloc. Otherwise, NodeIterators created from
obj-c leak.
- khtml/xml/dom2_traversalimpl.cpp: (DOM::NodeIteratorImpl::detach): Only detach if not yet detached.
- khtml/xml/dom2_traversalimpl.h: (DOM::NodeIteratorImpl::setDetached): New convenience.
- kwq/DOM.mm: (-[DOMNodeIterator dealloc]): Detach here, if not yet detached; fixes leak.
- 1:14 PM Changeset in webkit [6673] by
-
- 2 edits in trunk/WebCore
Reviewed by Hyatt
- khtml/css/css_computedstyle.cpp: (DOM::CSSComputedStyleDeclarationImpl::getPropertyValue): Fixed to return the property value, as it should, instead of the whole property, as it was doing before.
- 1:01 PM Changeset in webkit [6672] by
-
- 3 edits in trunk/WebKit
WebKit:
Reviewed by Dave.
- added private RSSFeedReferrer field to WebHistoryItem so RSS feeds in the back/forward list can remember what page (if any) they were initiated from.
- History.subproj/WebHistoryItem.m: new RSSFeedReferrer ivar in private structure (-[WebHistoryItemPrivate dealloc]): release RSSFeedReferrer (-[WebHistoryItem copyWithZone:]): copy RSSFeedReferrer (-[WebHistoryItem RSSFeedReferrer]): return RSSFeedReferrer (-[WebHistoryItem setRSSFeedReferrer:]): set RSSFeedReferrer
- History.subproj/WebHistoryItemPrivate.h: declare -RSSFeedReferrer and -setRSSFeedReferrer:
WebBrowser:
Reviewed by Dave.
More work on Emerson show/hide button. Now when the "Show RSS Feed" button
is clicked, we stash away the URL we are expecting to load. When (if) that URL
is loaded, we find the previous URL from the back list and store that in the
RSS feed's history item, so that if we revisit this RSS feed using the back/forward
list, we'll correctly display the "Hide RSS Feed" button. (If the RSS feed's URL
is visited some other way, it won't have a corresponding URL to "return" to, and
the "Hide RSS Feed" button will not appear.)
- BrowserWebController.h: new ivar and getter/setter for pendingRSSFeedURLString
- BrowserWebController.m: (-[BrowserWebView dealloc]): release _pendingRSSFeedURLString (-[BrowserWebView pendingRSSFeedURLString]): get _pendingRSSFeedURLString (-[BrowserWebView setPendingRSSFeedURLString:]): set _pendingRSSFeedURLString (-[BrowserWebView counterpartURLForRSS]): get RSS feed referrer from current back/forward list history item
- BrowserWindowController.m: (-[BrowserWindowController windowShouldGoToURL:]): cleanup noticed in passing: use [[self currentWebView] goToURL:URL] instead of [[self browserDocument] goToURL:URL] because it seems clearer (and does the same thing) (-[BrowserWindowController performQuickSearch:]): ditto (-[BrowserWindowController updateRSSButton]): added comment (-[BrowserWindowController goToCounterpartURLForRSS]): when going to an RSS feed, call setPendingRSSFeedURLString so we will set the referrer on the history item in the upcoming commit
- LocationChangeHandler.m: (-[LocationChangeHandler webView:didCommitLoadForFrame:]): if the incoming URL matches the pending RSS feed, set the RSS feed referrer on the history item for the incoming URL
May 23, 2004:
- 9:45 PM Changeset in webkit [6671] by
-
- 4 edits in trunk/WebCore
Reviewed by Ken.
- fixed <rdar://problem/3259919>: (Shift click should extend selection)
- khtml/khtmlpart_p.h: Renamed m_textElement to m_selectionGranularity and m_mouseMovedSinceLastMousePress to m_beganSelectingText.
- khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick): Set m_beganSelectingText if the double-click began selecting text. (KHTMLPart::handleMousePressEventTripleClick): Ditto. (KHTMLPart::handleMousePressEventSingleClick): Added code to extend selection if shift is down. (KHTMLPart::khtmlMousePressEvent): Remove code that sets the selection granularity to "by character". We only want to do that if we start selecting with a single click. Otherwise we want to leave the selection granularity alone. (KHTMLPart::khtmlMouseReleaseEvent): Change the code that clears the selection on a plain old click to check the m_beganSelectingText boolean so it won't run when you shift-click, for example.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::khtmlMouseMoveEvent): Updated for m_textElement name change.
- 3:45 PM Changeset in webkit [6670] by
-
- 35 edits4 adds12 deletes in trunk/WebCore
Reviewed by Ken.
- went through things marked "unimplemented" or "not implemented" and removed or implemented as many as possible
- kwq/DOM.mm: (-[DOMNode dispatchEvent:]): Implemented. Also moved DOMAbstractView and DOMDocumentView into DOMViews.mm.
- kwq/DOM-CSS.mm: (-[DOMDocument getComputedStyle::]): Implemented.
- kwq/DOMEventsInternal.h: Added.
- kwq/DOMEvents.mm: (-[DOMEvent type]): Implemented. (-[DOMEvent target]): Implemented. (-[DOMEvent currentTarget]): Implemented. (-[DOMEvent eventPhase]): Implemented. (-[DOMEvent bubbles]): Implemented. (-[DOMEvent cancelable]): Implemented. (-[DOMEvent timeStamp]): Implemented. (-[DOMEvent stopPropagation]): Implemented. (-[DOMEvent preventDefault]): Implemented. (-[DOMEvent initEvent:::]): Implemented. (-[DOMEvent _eventImpl]): Added. (-[DOMEvent _initWithEventImpl:]): Added. (+[DOMEvent _eventWithImpl:]): Added. (-[DOMMouseEvent _mouseEventImpl]): Added. (-[DOMMouseEvent screenX]): Implemented. (-[DOMMouseEvent screenY]): Implemented. (-[DOMMouseEvent clientX]): Implemented. (-[DOMMouseEvent clientY]): Implemented. (-[DOMMouseEvent ctrlKey]): Implemented. (-[DOMMouseEvent shiftKey]): Implemented. (-[DOMMouseEvent altKey]): Implemented. (-[DOMMouseEvent metaKey]): Implemented. (-[DOMMouseEvent button]): Implemented. (-[DOMMouseEvent relatedTarget]): Implemented. (-[DOMMouseEvent initMouseEvent:::::::::::::::]): Implemented. (-[DOMMutationEvent _mutationEventImpl]): Added. (-[DOMMutationEvent relatedNode]): Implemented. (-[DOMMutationEvent prevValue]): Implemented. (-[DOMMutationEvent newValue]): Implemented. (-[DOMMutationEvent attrName]): Implemented. (-[DOMMutationEvent attrChange]): Implemented. (-[DOMMutationEvent initMutationEvent::::::::]): (-[DOMUIEvent _UIEventImpl]): Added. (-[DOMUIEvent view]): Implemented. (-[DOMUIEvent detail]): Implemented. (-[DOMUIEvent initUIEvent:::::]): Implemented. (-[DOMDocument createEvent:]): Implemented.
- kwq/DOMHTMLInternal.h: Added.
- kwq/DOMHTML.mm: (+[DOMHTMLOptionsCollection _optionsCollectionWithImpl:]): Added. (-[DOMHTMLOptionsCollection length]): Implemented. (-[DOMHTMLOptionsCollection setLength:]): Implemented. (-[DOMHTMLOptionsCollection item:]): Implemented. (-[DOMHTMLOptionsCollection namedItem:]): Implemented. (-[DOMHTMLSelectElement options]): Implemented.
- kwq/DOMViews.h: Changed DOMDocumentView to be a category on DOMDocument rather than a separate class.
- kwq/DOMViewsInternal.h: Added.
- kwq/DOMViews.mm: Added. (-[DOMAbstractView document]): Implemnted. (-[DOMAbstractView _abstractViewImpl]): Added. (-[DOMAbstractView _initWithAbstractViewImpl:]): Added. (+[DOMAbstractView _abstractViewWithImpl:]): Added. (-[DOMDocument defaultView]): Implemented.
- khtml/dom/dom2_views.h: Made AbstractView constructor public to allow creation in the bindings. Would not be necessary if the impl classes were used consistently.
- khtml/html/html_formimpl.h: Added options() function to HTMLSelectElementImpl. Added HTMLOptionsCollectionImpl class.
- khtml/html/html_formimpl.cpp: (HTMLSelectElementImpl::~HTMLSelectElementImpl): Added code to detach and deref the options collection. (HTMLSelectElementImpl::options): Create an options collection if needed. (HTMLOptionsCollectionImpl::length): Added. Not yet implemented. (HTMLOptionsCollectionImpl::setLength): Ditto. (HTMLOptionsCollectionImpl::item): Ditto. (HTMLOptionsCollectionImpl::namedItem): Ditto.
- khtml/khtmlview.h: Move unused focusNextPrevChild virtual function inside !APPLE_CHANGES.
- khtml/khtmlview.cpp: Put the tp, paintBuffer, and formCompletions fields entirely inside !APPLE_CHANGES. Also made QT_NO_TOOLTIP entirely disable the tooltip field. Also put focusNextPrevChild and formCompletionItems functions inside !APPLE_CHANGES.
- khtml/rendering/render_text.h: Removed unused isFixedWidthFont member function.
- khtml/rendering/render_text.cpp: Ditto.
- kwq/KWQCursor.h: Removed unused pos member function.
- kwq/KWQCursor.mm: Ditto.
- kwq/KWQFontMetrics.h: Removed unused rightBearing and leftBearing member functions.
- kwq/KWQFontMetrics.mm: Ditto.
- kwq/KWQKComboBox.h: Removed KCompletionBase as a base class.
- kwq/KWQKConfigBase.h: Removed unused readBoolEntry, writeEntry, and readListEntry member functions.
- kwq/KWQKConfigBase.mm: Ditto. (KConfig::readEntry): Improved "not implemented" message to indicate which key is uinimplemented. (KConfig::readNumEntry): Ditto. (KConfig::readUnsignedNumEntry): Ditto.
- kwq/KWQKLineEdit.h: Removed everything, since all the KLineEdit stuff was unused. Changed KLineEdit to just be a typedef for QLineEdit.
- kwq/KWQSlot.mm: Removed slotAutoScroll. (KWQSlot::KWQSlot): And from here. (KWQSlot::call): And from here.
- kwq/KWQTextStream.h: Removed unused QTextOStream and QTextIStream.
- kwq/KWQTextStream.mm: Removed unused QTextIStream function. Also made buffer sizes larger so we don't have any problems on 64-bit systems. 10 bytes might not be long enough to sprintf an integer or a long or a pointer, but 100 bytes surely will.
- kwq/KWQWidget.h: Removed unused focusNextPrevChild.
- kwq/KWQWidget.mm: Ditto.
- WebCore.pbproj/project.pbxproj: Removed some files, added others.
- ForwardingHeaders/kcompletionbox.h: Emptied out, no KWQKCompletionBox.h any more.
- ForwardingHeaders/kiconloader.h: Emptied out, no KWQKIconLoader.h any more.
- ForwardingHeaders/kmimetype.h: Emptied out, no KWQKMimeType.h any more.
- ForwardingHeaders/ksimpleconfig.h: Emptied out, no KWQKSimpleConfig.h any more.
- ForwardingHeaders/qfontinfo.h: Emptied out, no KWQFontInfo.h any more.
- ForwardingHeaders/qtooltip.h: Replaced with define of QT_NO_TOOLTIP, no KWQToolTip.h any more.
- kwq/KWQCompletion.h: Removed.
- kwq/KWQCompletion.mm: Removed.
- kwq/KWQFontInfo.h: Removed.
- kwq/KWQFontInfo.mm: Removed.
- kwq/KWQKCompletionBox.h: Removed.
- kwq/KWQKIconLoader.h: Removed.
- kwq/KWQKIconLoader.mm: Removed.
- kwq/KWQKMimeType.h: Removed.
- kwq/KWQKMimeType.mm: Removed.
- kwq/KWQKSimpleConfig.h: Removed.
- kwq/KWQKSimpleConfig.mm: Removed.
- kwq/KWQToolTip.h: Removed.
- 3:34 PM Changeset in webkit [6669] by
-
- 6 edits in trunk/WebKit
Reviewed by Ken.
- implemented some of the trivial WebView editing operations; some had bug reports, to wit:
- fixed <rdar://problem/3655342>: (Editing: -centerSelectionInVisibleArea: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655398>: (Editing: -deleteWordBackward: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655397>: (Editing: -deleteWordForward: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655387>: (Editing: -insertBacktab: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655386>: (Editing: -insertTab: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655351>: (Editing: -moveWordBackward: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655352>: (Editing: -moveWordBackwardAndModifySelection: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655353>: (Editing: -moveWordForward: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655354>: (Editing: -moveWordForwardAndModifySelection: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655374>: (Editing: -pasteAsPlainText: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655362>: (Editing: -scrollLineDown: method unimplemented (WebKit editing API))
- fixed <rdar://problem/3655363>: (Editing: -scrollLineUp: method unimplemented (WebKit editing API))
- WebView.subproj/WebView.m: (-[WebView centerSelectionInVisibleArea:]): Implemented. The implementation isn't perfect, but it's hooked up. It simply calls ensureCaretVisible for now. (-[WebView moveBackward:]): Implemented. The WebCore API already has a way to specify backward as opposed to left. A separate issue is the fact that these operations don't have bi-di-savvy implementations, but now this method is hooked up and will work at least for left-to-right text. (-[WebView moveBackwardAndModifySelection:]): Ditto. (-[WebView moveForward:]): Ditto. (-[WebView moveForwardAndModifySelection:]): Ditto. (-[WebView moveWordBackward:]): Ditto. (-[WebView moveWordBackwardAndModifySelection:]): Ditto. (-[WebView moveWordForward:]): Ditto. (-[WebView moveWordForwardAndModifySelection:]): Ditto. (-[WebView scrollLineDown:]): Forward to WebFrameView. (-[WebView scrollLineUp:]): Ditto. (-[WebView scrollPageDown:]): Ditto. (-[WebView scrollPageUp:]): Ditto. (-[WebView delete:]): Implemented. Follows pattern used in cut, copy, and paste. (-[WebView pasteAsPlainText:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge. (-[WebView insertTab:]): Implemented. Calls delegate, then replaceSelectionWithText: on the bridge. (-[WebView insertBacktab:]): Implemented. Does nothing. If we ever change so that you can use a WebView as a field editor, then we might have to add code here. (-[WebView deleteWordForward:]): Implement by calling moveForwardAndModifySelection: and then delete:. Might not be a perfect implementation in the presence of delegates who refuse to delete because it will change the selection even if the delete is disallowed. (-[WebView deleteWordBackward:]): Implement by calling moveBackwardAndModifySelection: and then delete:. Same issue about about delegates as deleteWordForward:.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Added a FIXME.
- DOM.subproj/DOMViews.h: Updated from recent change to WebCore.
May 22, 2004:
- 12:18 AM Changeset in webkit [6668] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Maciej.
- fixed <rdar://problem/3664260>: (JS needs to listen to timezone change notifications)
- kjs/date_object.cpp: (CopyLocalTimeZone): As per Chris Kane and Jordan Hubbard, use <notify.h> with a hardcoded string of "com.apple.system.timezone", and do CFTimeZoneResetSystem since CoreFoundation doesn't do this itself. Turns out this affects the default time zone as long as it hasn't been set explicitly.
May 21, 2004:
- 11:53 PM Changeset in webkit [6667] by
-
- 6 edits in trunk/WebCore
Reviewed by Maciej.
- fixed <rdar://problem/3663659>: (result of toString mistakenly includes all subsequent sibling content)
- khtml/xml/dom2_rangeimpl.h: Added private startNode() and pastEndNode() functions.
- khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toString): Rewrote to use startNode(), pastEndNode(), and traverseNextNode(). The old code here was wrong, and it was easier to rewrite than fix. (DOM::RangeImpl::checkDeleteExtract): Extracted the logic to compute the start node and the past-end node into separate functions. (DOM::RangeImpl::startNode): Added. Started with code extracted from checkDeleteExtract, but then also fixed bugs by using the new traverseNextSibling. The old code handled cases where the offset was past the last child in a container incorrectly. (DOM::RangeImpl::pastEndNode): Added. Started with code extracted from checkDeleteExtract, but then also fixed bugs by using the new traverseNextSibling. The old code hanlded cases where the offset was past the last child in a container incorrectly, and also iterated one node too few in cases where the end contaier was a text node.
- khtml/xml/dom2_traversalimpl.h: Removed a bunch of unused and unneeded member functions.
- khtml/xml/dom_nodeimpl.h: Added traverseNextSibling.
- khtml/xml/dom_nodeimpl.cpp: (NodeImpl::traverseNextNode): Reformatted the code a little bit. (NodeImpl::traverseNextSibling): Added. Like traverseNextNode except it starts after the node's children instead of starting at the beginning of the first child.
- 6:50 PM Changeset in webkit [6666] by
-
- 8 edits in trunk/WebCore
Reviewed by Trey.
<rdar://problem/3656722>: Implement outerText and setOuterText DOM extensions
- khtml/html/html_elementimpl.cpp: (HTMLElementImpl::outerText): Return same value as innerText(). (HTMLElementImpl::setInnerText): Fix comment. (HTMLElementImpl::setOuterText): Replace node with text, merge neighboring text nodes.
- khtml/html/html_elementimpl.h: Prototype new methods.
- khtml/dom/html_element.cpp: (HTMLElement::outerText): Hook up to impl. (HTMLElement::setOuterText): Ditto.
- khtml/dom/html_element.h: Prototype new methods.
- khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::getValueProperty): Glue up outerText. (KJS::HTMLElement::putValue): Ditto.
- khtml/ecma/kjs_html.h: Added new enum value.
- khtml/ecma/kjs_html.lut.h: (KJS::): Regenerated.
- 3:27 PM Changeset in webkit [6665] by
-
- 8 edits in trunk
WebCore:
Removed _bindObject:forFrame: SPI.
Reviewed by Chris.
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm:
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm:
WebKit:
Removed _bindObject:forFrame: SPI.
Reviewed by Chris.
- WebView.subproj/WebView.m:
- WebView.subproj/WebViewPrivate.h:
- 3:17 PM Changeset in webkit [6664] by
-
- 3 edits in trunk/WebCore
Fix for 3663644, repaints don't occur when the .innerHTML of a positioned element is changed.
Reviewed by john
- khtml/rendering/bidi.cpp: (khtml::RenderBlock::layoutInlineChildren):
- khtml/rendering/render_layer.h: (khtml::RenderLayer::repaintRect):
- 11:59 AM Changeset in webkit [6663] by
-
- 3 edits in trunk
change version number to '142u'. the tree is open.
- 11:54 AM Changeset in webkit [6662]
-
- 3 copies in tags/Safari-141
This commit was manufactured by cvs2svn to create tag 'Safari-141'.
- 11:54 AM Changeset in webkit [6661] by
-
- 6 edits in trunk
Safari-141 stamp
- 10:22 AM Changeset in webkit [6660] by
-
- 2 edits in trunk/WebCore
Reviewed by Ken and Chris.
- fixed <rdar://problem/3656948>: (markup strings that contain <html> and <body> elements don't work, producing nothing)
- khtml/html/html_elementimpl.cpp: (HTMLElementImpl::createContextualFragment): Changed things around so that nodes are removed from their parent node before
- 9:42 AM Changeset in webkit [6659] by
-
- 2 edits in trunk/WebCore
Reviewed by Ken.
- fixed part of <rdar://problem/3656948>: (HTML Editing: -[WebView replaceSelectionWithMarkupString:] doesn't seem to work)
- khtml/editing/htmlediting_impl.cpp: (khtml::PasteMarkupCommandImpl::doApply): Changed code to handle case where contextual fragment parses to nothing without crashing.
- 9:41 AM Changeset in webkit [6658] by
-
- 3 edits in trunk/WebKit
Reviewed by Ken and Chris.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _pasteFromPasteboard:]): Call replaceSelectionWithText: instead of replaceSelectionWithMarkupString: when pasting plain text.
- WebView.subproj/WebDataSource.m: (-[WebDataSource _replaceSelectionWithMarkupString:baseURL:]): Remove bogus check for empty markup. There's nothing wrong with an empty string, and no reason that replacing with empty string should be a no-op instead of a delete.
- 8:44 AM Changeset in webkit [6657] by
-
- 2 edits in trunk/WebCore
Reviewed by Ken.
- kwq/DOM-CSS.mm: Change DOMCSSStyleDeclaration methods to use strings with dash-separators in them rather than interCaps.
- 1:34 AM Changeset in webkit [6656] by
-
- 3 edits in trunk/WebCore
Reviewed by Maciej.
- fixed <rdar://problem/3090663>: (scroll to top of page when anchor is "#top" or "#")
- khtml/khtml_part.cpp: (KHTMLPart::gotoAnchor): Detect anchor by checking for non-null, not non-empty, because an empty anchor is not the same as no anchor. (KHTMLPart::gotoAnchor): Add special case for anchors named "" and "top" (case insensitive), to scroll to the top left of the frame to match what WinIE and Mozilla do. (KHTMLPart::checkCompleted): Check for non-null here too for consistency.
- kwq/KWQKURL.mm: (KURL::ref): Change check so that we return empty, not null, if there's an empty ref, as opposed to no ref. (KURL::hasRef): Return true if there's an empty ref, as opposed to no ref. (KURL::parse): Preserve an empty fragment when parsing.
May 20, 2004:
- 11:52 PM Changeset in webkit [6655] by
-
- 4 edits in trunk/WebCore
Reviewed by Maciej.
- fixed <rdar://problem/3575385>: (multiple radio buttons checked when arriving at sites (poll at www.1170kfaq.com, many others))
- khtml/html/html_formimpl.cpp: (HTMLInputElementImpl::parseHTMLAttribute): Use setChecked to set the default value if we are still in "use default checked" mode. That way, other radio buttons will be unchecked properly and the proper changed methods will be dispatched. (HTMLInputElementImpl::reset): Ditto.
- khtml/html/html_formimpl.h: (DOM::HTMLInputElementImpl::checked): Changed to just return m_checked. The m_useDefaultChecked flag is now only really looked at when you parse a checked attribute; that's because m_checked and m_defaultChecked are kept equal as long as m_useDefaultChecked is true.
- khtml/xml/dom_nodeimpl.h: Removed an unnecessary virtual, to make code a little smaller and faster.
- 5:51 PM Changeset in webkit [6654] by
-
- 11 edits in trunk
WebCore:
Reviewed by Chris.
- fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
- fixed <rdar://problem/3662556>: (REGRESSION: letting up mouse while dragging over link activates the link)
- khtml/khtmlview.h: Added invalidateClick.
- khtml/khtmlview.cpp: (KHTMLView::invalidateClick): Added. Sets clickCount to 0.
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::matchLabelsAgainstElement): Changed a string replace to a character replace for slightly faster code and smaller code size. (KWQKHTMLPart::khtmlMouseMoveEvent): Call invalidateClick at the appropriate times. To do this correctly, had to add a boolean result to handleMouseDragged: so I can tell if a drag started or not (due to hysteresis). (KWQKHTMLPart::attributedString): Changed a string append to a character append for slightly faster code and smaller code size.
- kwq/WebCoreBridge.h: Added BOOL result to handleMouseDragged:.
Reviewed by Dave.
- handle rules with empty bodies properly
- khtml/css/parser.y: Remove bogus check for empty body that prevents the rule from being created.
- khtml/css/parser.cpp: Regenerated.
WebKit:
Reviewed by Chris.
- fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]): Added BOOL result to handleMouseDragged:.
- WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
- WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result, returning YES when the drag started, and no when the hysteresis has not yet been overcome.
- 5:07 PM Changeset in webkit [6653] by
-
- 3 edits in trunk/WebCore
Revise the patch for incorrect caret positions when brs get deleted. It can be even simpler.
Reviewed by kocienda
- khtml/rendering/render_flow.cpp: (RenderFlow::dirtyLinesFromChangedChild):
- khtml/rendering/render_text.cpp: (RenderText::detach):
- 5:00 PM Changeset in webkit [6652] by
-
- 5 edits in trunk/WebCore
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):
- 3:52 PM Changeset in webkit [6651] by
-
- 13 edits in trunk
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.
- 3:13 PM Changeset in webkit [6650] by
-
- 12 edits in trunk
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):
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:]):
- 1:48 PM Changeset in webkit [6649]
-
- 60 copies2 deletes in tags/WebCore-125~6~8
This commit was manufactured by cvs2svn to create tag
'WebCore-125~6~8'.
- 1:48 PM Changeset in webkit [6648] by
-
- 6 edits in branches/Safari-1-2-branch/WebCore
Even more Epiphhany changes.
2004-05-19 David Hyatt <hyatt@apple.com>
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]):
- 8:09 AM Changeset in webkit [6647] by
-
- 12 edits in trunk/WebCore
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.