⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 30, 2004:

5:25 PM Changeset in webkit [8094] by cblu
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23
  • ChangeLog: removed conflict marker
5:23 PM Changeset in webkit [8093] by cblu
  • 22 edits in trunk

WebCore:

Fixed:
<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)

Reviewed by darin.

  • khtml/misc/loader.cpp: (CachedObject::~CachedObject): release m_allData (CachedObject::setAllData): new (Loader::servePendingRequests): connect slotAllData (Loader::slotAllData): new (Cache::requestImage): tweak
  • khtml/misc/loader.h: (khtml::CachedObject::CachedObject): set allData to 0 (khtml::CachedObject::allData): new
  • kwq/KWQKJobClasses.h:
  • kwq/KWQKJobClasses.mm: (KIO::TransferJob::TransferJob): set m_allData (KIO::TransferJob::emitAllData): new
  • kwq/KWQLoader.mm: (KWQCheckCacheObjectStatus): pass WebKit the data instead of the length of the resource
  • kwq/KWQResourceLoader.mm: (-[KWQResourceLoader finishWithData:]): renamed to pass all data for the resource
  • kwq/KWQSlot.mm: (KWQSlot::KWQSlot): support for slotAllData (KWQSlot::call):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreResourceLoader.h:

WebKit:

Fixed:
<rdar://problem/3685766> WebDataSource is missing subresources when they use cached WebCore data
<rdar://problem/3722434> REGRESSION?: Assertion failure trying to drag image in iframe (itapema.sc.gov.br)

Reviewed by darin.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge objectLoadedFromCacheWithURL:response:data:]): renamed to pass all data for the resource, moved delegate code to new method (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): call renamed method
  • WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient didFinishLoading]): call renamed method
  • WebView.subproj/WebFrame.m: (-[WebFrame _opened]): call _sendResourceLoadDelegateMessagesForURL:response:length:, not objectLoadedFromCacheWithURL:response:data: (-[WebFrame _internalLoadDelegate]): (-[WebFrame _sendResourceLoadDelegateMessagesForURL:response:length:]): moved from objectLoadedFromCacheWithURL:response:data:
  • WebView.subproj/WebFrameInternal.h:
4:54 PM Changeset in webkit [8092] by mjs
  • 3 edits in trunk/WebCore

Reviewed by John.

<rdar://problem/3805311> REGRESSION (159-163): onload in dynamically written document not called (causes blank search page at Japanese EPP site, many others)

  • khtml/khtml_part.cpp: (KHTMLPart::begin): call setParsing on document here after opening
  • from now on we'll only set parsing to true for a document open caused by page loading, not a programmatic one.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::open): don't setParsing to true here any more.
3:12 PM Changeset in webkit [8091] by mjs
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fix recent regression from collection perf fixes.
  • khtml/html/html_miscimpl.cpp: (HTMLFormCollectionImpl::updateNameCache): Look up the name attribute in the name cache, not the id cache (d'oh!)
1:08 PM Changeset in webkit [8090] by darin
  • 21 edits in trunk/WebCore

Reviewed by Ken.

  • rolled in a KDE fix for a problem that may underlie a number of crashes
  • khtml/xml/dom2_rangeimpl.cpp: (RangeImpl::compareBoundaryPoints): Rolled in a change from the KDE guys to fix a subtle problem. Code said "n = n =".
  • rolled in a KDE fix for a containingBlock crash
  • khtml/rendering/render_object.cpp: Roll in a change from KDE that adds frameset to the list of elements that can not be a containingBlock. They said this fixes a crash, although I did not look into that further.
  • fixed <rdar://problem/3884660> 8A305: Repro crash in QScrollBar::setValue (affects Safari RSS)
  • kwq/KWQButton.mm: (-[KWQButton initWithQButton:]): Set up target and action here instead of in caller. (-[KWQButton detachQButton]): Added. (-[KWQButton sendConsumedMouseUpIfNeeded]): Check button for nil instead of checking target. (-[KWQButton mouseDown:]): Add calls to QWidget::beforeMouseDown/afterMouseDown. (-[KWQButton widget]): Added. (-[KWQButton becomeFirstResponder]): Added check to handle when button is 0. (-[KWQButton resignFirstResponder]): Ditto. (-[KWQButton canBecomeKeyView]): Ditto. (QButton::QButton): Remove target and action setup; handled in KWQButton now. (QButton::~QButton): Call detachQButton instead of setTarget:nil.
  • kwq/KWQComboBox.mm: (QComboBox::~QComboBox): Call detachQComboBox. (-[KWQPopUpButtonCell detachQComboBox]): Added. (-[KWQPopUpButtonCell trackMouse:inRect:ofView:untilMouseUp:]): Handle case where box is 0. (-[KWQPopUpButtonCell setHighlighted:]): Ditto. (-[KWQPopUpButton action:]): Ditto. (-[KWQPopUpButton widget]): Tweaked. (-[KWQPopUpButton mouseDown:]): Added. Calls QWidget::beforeMouseDown/afterMouseDown. (-[KWQPopUpButton becomeFirstResponder]): Handle case where widget is 0. (-[KWQPopUpButton resignFirstResponder]): Ditto. (-[KWQPopUpButton canBecomeKeyView]): Ditto.
  • kwq/KWQLineEdit.mm: (QLineEdit::~QLineEdit): Updated to use new detachQLineEdit name.
  • kwq/KWQListBox.mm: (-[KWQTableView mouseDown:]): Added. Calls QWidget::beforeMouseDown/afterMouseDown.
  • kwq/KWQScrollBar.h: Removed m_scroller field.
  • kwq/KWQScrollBar.mm: (-[KWQScrollBar initWithQScrollBar:]): Rearranged a little bit. (-[KWQScrollBar detachQScrollBar]): Added. (-[KWQScrollBar widget]): Added. (-[KWQScrollBar mouseDown:]): Added. Calls QWidget::beforeMouseDown and afterMouseDown. (QScrollBar::QScrollBar): Changed to no longer set m_scroller. (QScrollBar::~QScrollBar): Changed to call detachQScrollBar. No longer calls removeFromSuperview. (QScrollBar::setValue): Chagned to use getView instad of m_scrollBar. (QScrollBar::setKnobProportion): Ditto. (QScrollBar::scrollbarHit): Ditto.
  • kwq/KWQScrollView.mm: (QScrollView::addChild): Changed to call QWidget to add to superview to accomodate the hack where we don't remove right away when doing mouse tracking. (QScrollView::removeChild): Changed to call QWidget to remove from superview to accomodate the hack where we don't add right away when doing mouse tracking.
  • kwq/KWQSlider.h: Added destructor.
  • kwq/KWQSlider.mm: (-[KWQSlider initWithQSlider:]): Tweaked a little. (-[KWQSlider detachQSlider]): Added. (-[KWQSlider mouseDown:]): Added call to QWidget::beforeMouseDown/afterMouseDown. (-[KWQSlider widget]): Added. (QSlider::~QSlider): Added. Calls detachQSlider.
  • kwq/KWQTextArea.h: Added detachQTextEdit method.
  • kwq/KWQTextArea.mm: (-[KWQTextArea detachQTextEdit]): Added. (-[KWQTextArea textDidChange:]): Added check for widget of 0. (-[KWQTextArea becomeFirstResponder]): Ditto. (-[KWQTextArea nextKeyView]): Ditto. (-[KWQTextArea previousKeyView]): Ditto. (-[KWQTextArea drawRect:]): Ditto. (-[KWQTextAreaTextView insertTab:]): Ditto. (-[KWQTextAreaTextView insertBacktab:]): Ditto. (-[KWQTextAreaTextView shouldDrawInsertionPoint]): Ditto. (-[KWQTextAreaTextView selectedTextAttributes]): Ditto. (-[KWQTextAreaTextView mouseDown:]): Ditto. (-[KWQTextAreaTextView keyDown:]): Ditto. (-[KWQTextAreaTextView keyUp:]): Ditto.
  • kwq/KWQTextEdit.h: Added ~QTextEdit.
  • kwq/KWQTextEdit.mm: (QTextEdit::~QTextEdit): Added. Calls detachQTextEdit.
  • kwq/KWQTextField.h: Changed invalidate to detachQLineEdit.
  • kwq/KWQTextField.mm: (-[KWQTextFieldController detachQLineEdit]): Changed.
  • kwq/KWQWidget.h: Added addToSuperview/removeFromSuperview for use from QScrollView. Added beforeMouseDown and afterMouseDown for use in widget implementations. Removed unused hasMouseTracking function.
  • kwq/KWQWidget.mm: (QWidget::QWidget): Initialize two new fields. (QWidget::~QWidget): Added code to remove view when widget is destroyed. (QWidget::getOuterView): Remove unneeded exception blocking since we're just caling superview. (QWidget::addToSuperview): Added. (QWidget::removeFromSuperview): Added. (QWidget::beforeMouseDown): Added. (QWidget::afterMouseDown): Added.
  • khtml/rendering/render_layer.cpp: (RenderLayer::setHasHorizontalScrollbar): Remove parent parameter; let addChild call addSubview:. (RenderLayer::setHasVerticalScrollbar): Ditto.
8:33 AM Changeset in webkit [8089] by kocienda
  • 5 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3863031> REGRESSION (Mail): caret continues flashing while mouse is down

  • khtml/khtml_part.cpp: (KHTMLPart::timerEvent): Add a check for whether the mouse is down. Keep the caret drawn with no blink if it is.
7:30 AM Changeset in webkit [8088] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::mergeEndNode): Fixed one-line coding mistake that created an endless loop. Seemed simple enough to land without review.

Nov 29, 2004:

4:07 PM Changeset in webkit [8087] by kocienda
  • 6 edits
    20 adds in trunk

Reviewed by Chris

Rewrite of paste code (specifically the ReplaceSelectionCommand class). Many more cases
are handled correctly now, including selections that span multiple blocks, and cases
where content on the pasteboard ends in newlines (or what appear to be newlines to a
user, really block ends or BRs). I also made one small, but important change in the
copy code to annotate the markup written to the pasteboard to support these selections
ending in newlines.

New header that defines a couple of constants used in copying and pasting.

  • ForwardingHeaders/editing/html_interchange.h: Added.
  • khtml/editing/html_interchange.h: Added.

Rewrite of the ReplaceSelectionCommand. There are several new helper functions, as well
as a new helper class, ReplacementFragment, which encapsulates information and functions
pertaining to a document fragment that is being inserted into a document.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::ReplacementFragment): (khtml::ReplacementFragment::~ReplacementFragment): (khtml::ReplacementFragment::firstChild): Simple accessor. (khtml::ReplacementFragment::lastChild): Ditto. (khtml::ReplacementFragment::mergeStartNode): Looks at the nodes in a fragment and determines the starting node to use for merging into the block containing the start of the selection. (khtml::ReplacementFragment::mergeEndNode): Same as above, but for the end of the selection. (khtml::ReplacementFragment::pruneEmptyNodes): Simple helper. (khtml::ReplacementFragment::isInterchangeNewlineComment): Determines if a node is the special annotation comment added in by the copy code. (khtml::ReplacementFragment::removeNode): Simple helper. (khtml::isComment): Simple helper. (khtml::isProbablyBlock): Determines if a node is of a type that is usually rendered as a block. I would like to do better than this some day, but this check will hold us until I can do better. (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): (khtml::ReplaceSelectionCommand::doApply): (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Figures out the right ending selection.
  • khtml/editing/htmlediting.h: Declarations for the new ReplacementFragment class. (khtml::ReplacementFragment::root): (khtml::ReplacementFragment::type): (khtml::ReplacementFragment::isEmpty): (khtml::ReplacementFragment::isSingleTextNode): (khtml::ReplacementFragment::isTreeFragment): (khtml::ReplacementFragment::hasMoreThanOneBlock): (khtml::ReplacementFragment::hasLogicalNewlineAtEnd):

This smaller set of changes markup generation to add the newline annotation described in the
comment at the start of this entry.

  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::addCommentToHTMLMarkup): Simple helper. (DOM::RangeImpl::toHTML): Added new EAnnotateForInterchange default argument to control whether comment annotations are added to the markup generated.
  • khtml/xml/dom2_rangeimpl.h: Add some new declarations.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge markupStringFromRange:nodes:]): Request that markup resulting from call to DOM::RangeImpl::toHTML uses annotations when generating.

New tests.

  • layout-tests/editing/pasteboard/paste-text-001-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-001.html: Added.
  • layout-tests/editing/pasteboard/paste-text-002-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-002.html: Added.
  • layout-tests/editing/pasteboard/paste-text-003-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-003.html: Added.
  • layout-tests/editing/pasteboard/paste-text-004-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-004.html: Added.
  • layout-tests/editing/pasteboard/paste-text-005-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-005.html: Added.
  • layout-tests/editing/pasteboard/paste-text-006-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-006.html: Added.
  • layout-tests/editing/pasteboard/paste-text-007-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-007.html: Added.
  • layout-tests/editing/pasteboard/paste-text-008-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-008.html: Added.
  • layout-tests/editing/pasteboard/paste-text-009-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-009.html: Added.
3:13 PM Changeset in webkit [8086] by darin
  • 4 edits in trunk/WebKit

Reviewed by John.

  • worked around bug in Panther where NSScroller calls _destinationFloatValueForScroller: on superview without first checking if it's implemented
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _destinationFloatValueForScroller:]): Implemented. Calls floatValue on the scroller.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
2:17 PM Changeset in webkit [8085] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Harrison

Made two small changes that make it possible for comments to have DOM nodes made for them
when pasting. This relies on some earlier work I did some days ago.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::startMarkup): Get the string from the comment.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge documentFragmentWithMarkupString:baseURLString:]): Did some very minor rearranging. Now passes a flag when creating a contextual fragment, requesting that comments be included in the DOM.
2:17 PM Changeset in webkit [8084] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Harrison

Added some new helpers to the VisiblePosition class. I will begin to use these when I check in
my improved paste code.

  • khtml/editing/visible_position.cpp: (khtml::blockRelationship) (khtml::visiblePositionsInDifferentBlocks) (khtml::isFirstVisiblePositionInBlock) (khtml::isFirstVisiblePositionInNode) (khtml::isLastVisiblePositionInBlock)
  • khtml/editing/visible_position.h
2:13 PM Changeset in webkit [8083] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Harrison

  • khtml/xml/dom_position.cpp: (DOM::Position::downstream): Fix a bug in downstream that prevented a call with DoNotStayInBlock specified from obeying that directive. The old code would stop at an outer block boundary in the case where that block had a block as its first child. The correct behavior is to drill into that inner block (and continue on drilling down, if possible), to find the correct position.
2:11 PM Changeset in webkit [8082] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Harrison

Small improvements to the node-display debugging helpers.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayTree): Make the rootNode be this if there is no rootEditableElement.
  • khtml/xml/dom_nodeimpl.h: Make displayNode take a default argument of "" for its string.
2:05 PM Changeset in webkit [8081] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Harrison

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleGeneralDelete): The downstream position in this function may need to be adjusted when deleting text off the front part of a text node. This fixes a problem I discovered while improving the paste command, where the insertion poitn wound up in the wrong place after the delete.
2:03 PM Changeset in webkit [8080] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Harrison

Add a new helper function to insert a paragraph separator. Will be used in my
upcoming paste improvments.

  • khtml/editing/htmlediting.cpp: Added function (khtml::CompositeEditCommand::insertParagraphSeparator)
  • khtml/editing/htmlediting.h: Ditto.
Note: See TracTimeline for information about the timeline view.