Timeline
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.
May 19, 2004:
- 7:25 PM Changeset in webkit [6646] by
-
- 6 edits in trunk/WebCore
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]):
- 5:48 PM Changeset in webkit [6645] by
-
- 19 edits in trunk
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:
- 12:18 PM Changeset in webkit [6644] by
-
- 5 edits in trunk
WebKit:
Removed extraneous tabs that were added (by XCode?).
- DOM.subproj/DOM-compat.h:
- Plugins.subproj/WebScriptObject.h:
Removed extraneous tabs that were added (by XCode?).
- bindings/objc/WebScriptObject.h:
- 12:14 PM Changeset in webkit [6643] by
-
- 2 edits in trunk/WebKit
Updated header copy script to only copy if modified headers
are different.
- copy-webcore-files-to-webkit:
- 11:36 AM Changeset in webkit [6642] by
-
- 9 edits in trunk
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.
- 11:21 AM Changeset in webkit [6641] by
-
- 9 edits in trunk/WebCore
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.
- 9:42 AM Changeset in webkit [6640] by
-
- 10 edits in trunk
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.
- 7:37 AM Changeset in webkit [6639] by
-
- 12 edits in trunk/WebCore
- 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:
- 7:34 AM Changeset in webkit [6638] by
-
- 4 edits in trunk/WebKit
- fixed headers with licenses mangled by Xcode auto-indenting
- DOM.subproj/DOMExtensions.h:
- WebCoreSupport.subproj/WebGraphicsBridge.h:
- WebCoreSupport.subproj/WebGraphicsBridge.m:
- 7:33 AM Changeset in webkit [6637] by
-
- 6 edits in trunk/JavaScriptCore
- 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:
- 1:58 AM Changeset in webkit [6636] by
-
- 1 edit in branches/Safari-1-2-branch/WebCore/ChangeLog-2005-08-23
WebCore-125.6.8
- 1:56 AM Changeset in webkit [6635] by
-
- 4 edits in branches/Safari-1-2-branch/WebCore
Merged more Epiphany changes.
2004-05-18 David Hyatt <hyatt@apple.com>
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:]):
2004-05-18 David Hyatt <hyatt@apple.com>
Fix crash when retrieving the AXHelp text.
- kwq/KWQAccObject.mm: (-[KWQAccObject helpText]):