Timeline
Dec 1, 2004:
- 2:44 PM Changeset in webkit [8099] by
-
- 6 edits in trunk/WebKit
Fixed: <rdar://problem/3879870> Flash Player unable to stop data stream from continuing to download by returning -1 from NPP_Write
Also improved and cleaned-up the plug-in stream termination code.
Reviewed by john.
- Plugins.subproj/WebBaseNetscapePluginStream.h:
- Plugins.subproj/WebBaseNetscapePluginStream.m: (+[WebBaseNetscapePluginStream reasonForError:]): return NPRES_DONE for a nil error (-[WebBaseNetscapePluginStream _pluginCancelledConnectionError]): new, factored out from other methods (-[WebBaseNetscapePluginStream errorForReason:]): new (-[WebBaseNetscapePluginStream dealloc]): release MIME type (-[WebBaseNetscapePluginStream setMIMEType:]): new (-[WebBaseNetscapePluginStream startStreamResponseURL:expectedContentLength:lastModifiedDate:MIMEType:]): call setMIMEType so we can use it in _pluginCancelledConnectionError, call renamed methods (-[WebBaseNetscapePluginStream _destroyStream]): prepended underscore, replaced some early returns with asserts as the callers are now smarter (-[WebBaseNetscapePluginStream _destroyStreamWithReason:]): prepended underscore, only call _destroyStream if there is an error or if the load is complete and there is no more data to be streamed (-[WebBaseNetscapePluginStream cancelLoadWithError:]): new, overridden by subclasses to cancel the actual NSURLConnection (-[WebBaseNetscapePluginStream destroyStreamWithError:]): new, calls _destroyStreamWithReason (-[WebBaseNetscapePluginStream finishedLoadingWithData:]): call renamed methods (-[WebBaseNetscapePluginStream _deliverData]): prepended underscore, call cancelLoadAndDestroyStreamWithError if NPP_Write returns a negative number
- Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView destroyStream:reason:]): call cancelLoadAndDestroyStreamWithError
- Plugins.subproj/WebNetscapePluginRepresentation.m: (-[WebNetscapePluginRepresentation receivedError:withDataSource:]): call destroyStreamWithError (-[WebNetscapePluginRepresentation cancelLoadWithError:]): new, override method, tell the data source to stop loading
- Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream cancelLoadWithError:]): new, override method, tell the loader to stop (-[WebNetscapePluginStream stop]): call cancelLoadAndDestroyStreamWithError (-[WebNetscapePluginConnectionDelegate isDone]): new (-[WebNetscapePluginConnectionDelegate didReceiveResponse:]): call cancelLoadAndDestroyStreamWithError (-[WebNetscapePluginConnectionDelegate didFailWithError:]): call destroyStreamWithError
- 2:11 PM Changeset in webkit [8098] by
-
- 1 edit in trunk/WebCore/kwq/KWQScrollView.mm
Fix deployment build bustage
- 1:59 PM Changeset in webkit [8097] by
-
- 3 edits in trunk/WebCore
Reviewed by me
Moving code only.
- khtml/editing/htmlediting.cpp: Move ReplaceSelectionCommand into alphabetical order with regard to other editing commands. The class had a name change ages ago, and it was never moved.
- khtml/editing/htmlediting.h: Ditto.
- 1:52 PM Changeset in webkit [8096] by
-
- 8 edits3 adds in trunk
Reviewed by Hyatt
Some improvements for paste, including some new code to annotate
whitespace when writing to the pasteboard to ensure that the meaning
of the markup on the pasteboard is unambiguous.
There is also new code for reading this annotated markup from the pasteboard,
removing the nodes that were added only to prevent ambiguity.
- WebCore.pbproj/project.pbxproj: Added html_interchange.h and html_interchange.cpp files. The header should have been added earlier, but I did not do so.
- khtml/editing/html_interchange.cpp: Added. (convertHTMLTextToInterchangeFormat):
- khtml/editing/html_interchange.h: Added some new constants for use with whitespace annotations.
- khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::ReplacementFragment): Now looks for and removes annotations added for whitespace. Also fixed a bug in the code that counts blocks in a fragment. (khtml::ReplacementFragment::isInterchangeConvertedSpaceSpan): New helper. Recognizes annotation spans. (khtml::ReplacementFragment::insertNodeBefore): New helper. (khtml::ReplaceSelectionCommand::doApply): Fixed a bug in the code that sets the start position for the replacement after deleting. This was causing a bug when pasting at the end of a block.
- khtml/editing/htmlediting.h: Add some new declarations.
- khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::toHTML): Calls to startMarkup now pass true for the new annotate flag.
- khtml/xml/dom_nodeimpl.cpp: (NodeImpl::stringValueForRange): New helper. (NodeImpl::renderedText): New helper to return only the rendered text in a node. (NodeImpl::startMarkup): Now takes an additional flag to control whether interchange annotations should be added. Called by the paste code.
- khtml/xml/dom_nodeimpl.h: Added and modified function declarations.
New test to check the khtml::ReplaceSelectionCommand::doApply fix.
- layout-tests/editing/pasteboard/paste-text-010-expected.txt: Added.
- layout-tests/editing/pasteboard/paste-text-010.html: Added.
- 11:56 AM Changeset in webkit [8095] by
-
- 3 edits in trunk/WebKit
Reviewed by Harrison.
Fixed: <rdar://problem/3228878> potential performance problem in finding in large framesets
Got rid of O(N2) conditions in _nextSibling and _previousSibling of where we were looking up self in the parent array of frames.
- WebView.subproj/WebFrame.h: Added two new pointers, one for the previous kid and one for the next kid
- WebView.subproj/WebFrame.m: (-[WebFrame _addChild:]): Updates the previous frame and the next frame after this child (-[WebFrame _removeChild:]): ditto (-[WebFrame _nextSibling]): just return the pointer now (-[WebFrame _previousSibling]): ditto
Nov 30, 2004:
- 5:25 PM Changeset in webkit [8094] by
-
- 1 edit in trunk/WebCore/ChangeLog-2005-08-23
- ChangeLog: removed conflict marker
- 5:23 PM Changeset in webkit [8093] by
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 6 edits20 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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
-
- 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.