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

Timeline



Dec 2, 2004:

4:33 PM Changeset in webkit [8108] by kocienda
  • 2 edits
    2 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 rjw
  • 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 kocienda
  • 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 rjw
  • 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 rjw
  • 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 kocienda
  • 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 kocienda
  • 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 harrison
  • 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 kocienda
  • 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 cblu
  • 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 hyatt
  • 1 edit in trunk/WebCore/kwq/KWQScrollView.mm

Fix deployment build bustage

1:59 PM Changeset in webkit [8097] by kocienda
  • 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 kocienda
  • 8 edits
    3 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 kdecker
  • 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
Note: See TracTimeline for information about the timeline view.