Timeline
Dec 2, 2004:
- 4:33 PM Changeset in webkit [8108] by
-
- 2 edits2 adds in trunk
Reviewed by John
Fix for this bug:
<rdar://problem/3786362> REGRESSION (Mail): pasted text loses one newline
- khtml/editing/htmlediting.cpp: (khtml::InsertLineBreakCommand::doApply): Added check for strict mode before adding an extra br element at the end of a block. This is only necessary in quirks mode. Also, lower-case "br" used to make element. (khtml::ReplaceSelectionCommand::doApply): If the replacement adds a br element as the last element in a block and the document is in quirks mode, add an additional br to make the one in the replacement content show up. This turns out to be much the same logic as is done in InsertLineBreakCommand.
- layout-tests/editing/inserting/insert-3786362-fix-expected.txt: Added.
- layout-tests/editing/inserting/insert-3786362-fix.html: Added.
- 4:24 PM Changeset in webkit [8107] by
-
- 5 edits in trunk
WebKit:
Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
Ensure that the document is cleared when leaving a non-HTML page. This ensures that
the b/f cache won't incorrectly trash the previous state when restoring.
Reviewed by John.
- WebView.subproj/WebFrame.m: (-[WebFrame _setState:]):
WebCore:
Fixed <rdar://problem/3841332> REGRESSION (125.9-167u): repro crash in -[KWQPageState invalidate] involving .Mac images
Ensure that the document is cleared when leaving a non-HTML page. This ensures that
the b/f cache won't incorrectly trash the previous state when restoring.
Reviewed by John.
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge openURL:reload:contentType:refresh:lastModified:pageCache:]): (-[WebCoreBridge canCachePage]): (-[WebCoreBridge clear]):
- 3:08 PM Changeset in webkit [8106] by
-
- 2 edits in trunk/WebKit
Reviewed by Richard
<rdar://problem/3748323> Problem with -[WebView editableDOMRangeForPoint:] (-isFlipped not taken into account?)
<rdar://problem/3852590> REGRESSION (Mail): Dropped content appears in wrong place if Mail message is scrolled down
When implementing drag and drop, moveDragCaretToPoint: and editableDOMRangeForPoint: are used in
concert to track the mouse and determine a drop location, respectively. However, moveDragCaretToPoint:
did a conversion of the passed-in point to the document view's coordinate space, whereas
editableDOMRangeForPoint: did not. Now it does.
Note that I will need to coordinate with Grant to have him roll out some code in Mail that
attempts to work around this problem (unsuccessfully), and actually manages to block the
real fix (which needs to be in WebKit).
- WebView.subproj/WebView.m: (-[WebView editableDOMRangeForPoint:]): Convert the passed-in point to the document view's coordinate space.
- 2:17 PM Changeset in webkit [8105] by
-
- 2 edits in trunk/WebKit
Fixed <rdar://problem/3895810> FATAL ERROR: <WebTextRenderer: 0x9328a20> unable to initialize with font "Times-Roman 16.00 pt. S ....
We have a hack to replace Times with Times New Roman if we fail
to setup Times. If we then fail to setup Times New Roman we
don't attempt to further fallback to the system font. Added
that additional fallback.
Reviewed by Ken.
- WebCoreSupport.subproj/WebTextRenderer.m: (+[WebTextRenderer webFallbackFontFamily]): (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- 1:37 PM Changeset in webkit [8104] by
-
- 2 edits in trunk/WebKit
Fixed build problem on Tiger8A821. Private macro and function
we were using have been deprecated,
Reviewed by Vicki.
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):
- 1:04 PM Changeset in webkit [8103] by
-
- 2 edits in trunk/WebCore
Reviewed by Richard
Fix for this bug:
<rdar://problem/3857775> 8A293: Mail.app crashes converting copy-pasted text into plain text
- khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::commonAncestorContainer): Return the document element if no common ancestor container was found. This can happen in cases where the DOM was built from malformed markup (as in the case of this bug where there is content after the body tag). Did a little code clean up as well. (DOM::RangeImpl::compareBoundaryPoints): Made code more robust by adding some null checks.
- 11:05 AM Changeset in webkit [8102] by
-
- 2 edits in trunk/WebCore
Reviewed by Chris
Fix for this bug:
<rdar://problem/3668157> REGRESSION (Mail): shift-click deselects when selection was created right-to-left
- khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventSingleClick): Use RangeImpl::compareBoundaryPoints to figure out which end of the selection to extend.
- 10:22 AM Changeset in webkit [8101] by
-
- 4 edits in trunk/WebCore
Reviewed by Ken Kocienda.
<rdar://problem/3834917> REGRESSION (Mail): double-clicking blank line selects end of previous line
Fixed originally reported bug plus the case of double-clicking whitespace at the beginning of a line, which has a similar result.
- khtml/editing/visible_text.cpp: (khtml::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): (khtml::SimplifiedBackwardsTextIterator::handleTextNode): (khtml::SimplifiedBackwardsTextIterator::handleReplacedElement): (khtml::SimplifiedBackwardsTextIterator::handleNonTextNode): (khtml::SimplifiedBackwardsTextIterator::emitCharacter): Distinguish BR from whitespace.
- khtml/editing/visible_text.h: Distinguish BR from whitespace.
- khtml/editing/visible_units.cpp: (khtml::previousWordBoundary): Use UPSTREAM visible position now that SimplifiedBackwardsTextIterator distinguishes BR from whitespace. Otherwise, double-clicking at end of line would result in caret selection at start of next line.
- 9:43 AM Changeset in webkit [8100] by
-
- 2 edits in trunk/WebCore
Reviewed by John
Fix for this bug:
<rdar://problem/3900996> Crash dragging past end of contentEditable DIV, at DOM::RangeImpl::pastEndNode() const + 24
- khtml/xml/dom_position.cpp: (DOM::Position::equivalentRangeCompliantPosition): Fixed this function so that it constrains the offset of the position to be >= 0 and <= number of kids of its node. Not doing this constraining led to a DOM exception trying to use a Position returned from this function to set the boundary point of a Range (which eventually led to the crash). Since this crash happened, it seems like this function was failing in its contract to return a range-compliant position, hence the need for this fix.
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