Timeline
Aug 9, 2004:
- 11:30 PM Changeset in webkit [7217] by
-
- 2 edits in trunk/WebKit
3756599 - REGRESSION: hit assertion in KWQPageState invalidate
By inspection I found a flaw in the recently added logic, although
I have no steps to repro. My theoretical explanation is that we would
get two errors and go through _receivedMainResourceError: twice, which
would cause the pageState to be invalidated twice, which is the only
way I can see to hit the assert.
Reviewed by Darin
- WebView.subproj/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Clear the pageState out of the history item after it's been invalidated by WebCore.
- 8:05 PM Changeset in webkit [7216] by
-
- 2 edits in trunk/JavaScriptCore
Reviewed by Maciej.
- fixed <rdar://problem/3753467> REGRESSION (137-138): reproducible buffer overrun in UString manipulation code
- kjs/ustring.cpp: (KJS::UString::append): Fix incorrect size computation. Without it we get a buffer overflow.
- 5:33 PM Changeset in webkit [7215]
-
- 4 copies in tags/Safari-155
This commit was manufactured by cvs2svn to create tag 'Safari-155'.
- 5:33 PM Changeset in webkit [7214] by
-
- 2 edits in trunk/WebKit
Inspired by Trey we have a much better approach for conditionally
linking Quart.framework. Instead of multiple targets we use
to invoke some inline script to extend COMMON_LDFLAGS as
necessary. Thanks Trey!
Reviewed by Trey.
- WebKit.pbproj/project.pbxproj:
- 5:11 PM Changeset in webkit [7213] by
-
- 3 edits in trunk/WebKit
Hookup UI for "Continuous Spelling" menu item.
Reviewed by Richard.
- WebView.subproj/WebView.m: (-[WebView validateUserInterfaceItem:]): Enable and check the menu item to reflect our state. (-[WebView toggleContinuousSpellChecking:]): Change type to IBAction, just cosmetic.
- WebView.subproj/WebViewPrivate.h:
- 3:00 PM Changeset in webkit [7212] by
-
- 10 edits in trunk
WebCore:
3745023 - Safari crashes trying to access anchor while downloading
I bet this is behind a few other crashers as well. In this bug the start of the
download leaves a KWQPageState hanging around, and when that is freed it damages
the part and view. If you're still using that page, you're dead.
The fix is to properly invalidate the PageState when we receive an error before
reaching WebFrameCommitted state. Normally this happens when a page is reheated
from the PageState, but in this case we never manage to leave the page to begin
with, although we've already created the PageState.
Other errors besides the synthetic one download generates would have caused similar
crashing. Another example would be clicking on a second link before the load
caused by clicking on the first link reached committed state.
Reviewed by Richard
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge didNotOpenURL:pageCache:]): Invalidate the pageCache state when a load doesn't get off the ground.
WebKit:
3745023 - Safari crashes trying to access anchor while downloading
I bet this is behind a few other crashers as well. In this bug the start of the
download leaves a KWQPageState hanging around, and when that is freed it damages
the part and view. If you're still using that page, you're dead.
The fix is to properly invalidate the PageState when we receive an error before
reaching WebFrameCommitted state. Normally this happens when a page is reheated
from the PageState, but in this case we never manage to leave the page to begin
with, although we've already created the PageState.
Other errors besides the synthetic one download generates would have caused similar
crashing. Another example would be clicking on a second link before the load
caused by clicking on the first link reached committed state.
Reviewed by Richard
- WebView.subproj/WebDataSource.m: (-[WebDataSource _receivedMainResourceError:complete:]): Let the frame do the main work (since it has access to the pageCache state). Also renamed to make it clear that this is about an error for the main resource.
- WebView.subproj/WebDataSourcePrivate.h:
- WebView.subproj/WebFrame.m: (-[WebFrame _receivedMainResourceError:]): Let WC know about the failure, as the DataSource used to, but now pass the pageCache state along too.
- WebView.subproj/WebFramePrivate.h:
- WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient receivedError:]): Call renamed method. (-[WebMainResourceClient cancelWithError:]): Ditto.
Aug 8, 2004:
- 1:44 PM Changeset in webkit [7211] by
-
- 2 edits in trunk/WebKit
Reviewed by vicki (changes by rjw)
- make "weak" linking with Quartz work with buildit
- WebKit.pbproj/project.pbxproj:
Aug 6, 2004:
- 5:25 PM Changeset in webkit [7210] by
-
- 19 edits in trunk
WebCore:
Reviewed by Maciej
Finish off spellchecking support to HTML editing. Includes work to
enable continuous spellchecking.
- khtml/editing/htmlediting_impl.cpp: (khtml::EditCommandImpl::markMisspellingsInSelection): Basically, a one-liner convenience to make the call over to the KWQKHTMLPart. (khtml::ReplaceSelectionCommandImpl::doApply): Did some rearranging of code so that the inserted content can be spell-checked. The function is basically the same, except for the addition of calls to markMisspellingsInSelection. (khtml::TypingCommandImpl::markMisspellingsAfterTyping): New function. Takes a look at the selection that results after typing and determines whether it needs to spellcheck. Since the word containing the current selection is never marked, this does a check to see if typing made a new word that is not in the current selection. Basically, you get this by being at the end of a word and typing a space. (khtml::TypingCommandImpl::typingAddedToOpenCommand): Call markMisspellingsAfterTyping.
- khtml/editing/htmlediting_impl.h: Add new function declarations.
- khtml/khtml_part.cpp:
(KHTMLPart::setSelection): Since spell checks are updated when the selection changes,
and every selection change passes through here, this is a good place to put the call
to the spellchecker.
- khtml/rendering/render_text.cpp: (InlineTextBox::paintMarker): Remove temporary misspelling line drawing code. Replace with call that does AppKit-style drawing. Fix up some comments.
- khtml/xml/dom_docimpl.cpp: (DocumentImpl::addMarker): Repaint the node that had the marker added. This makes it show up on setting it. (DocumentImpl::removeMarker): Ditto. (DocumentImpl::removeAllMarkers): New function. Convenience for clearing all markers. Used when not in continuous spellchecking mode. (DocumentImpl::shiftMarkers): Moves markers in response to changes in a node's contents. This shifts the marker offsets by a given amount. This keeps the markers in the right place when a user types in a node with markers already set on it.
- khtml/xml/dom_docimpl.h: Added new functions. Removed unnecessary enum qualifier from some declarations.
- khtml/xml/dom_position.cpp: (DOM::Position::previousWordBoundary): This function was susceptible to endless loops...and needlessly so. Basically, if the current position is at a word boundary, run the code again to find the previous word boundary. (DOM::Position::nextWordBoundary): Same as above, but for next word boundary.
- khtml/xml/dom_textimpl.cpp: (CharacterDataImpl::setData): Call shiftMarkers to update markers when this node changes. (CharacterDataImpl::insertData): Ditto. (CharacterDataImpl::deleteData): Ditto. (CharacterDataImpl::replaceData): Ditto.
- kwq/KWQKHTMLPart.h:
- kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): (KWQKHTMLPart::markMisspellingsInSelection): (KWQKHTMLPart::updateSpellChecking): (KWQKHTMLPart::respondToChangedSelection):
- kwq/KWQPainter.h:
- kwq/KWQPainter.mm: (QPainter::drawLineForMisspelling): New function. Call over to WebKit to do the drawing.
- kwq/WebCoreBridge.h:
- kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Pass markMisspellings flag to setSelection call.
- kwq/WebCoreTextRenderer.h:
WebKit:
Reviewed by Maciej
Finish off spellchecking support to HTML editing. Includes work to
enable continuous spellchecking.
- WebCoreSupport.subproj/WebBridge.m: (-[WebBridge isContinuousSpellCheckingEnabled]): Simple bridge method.
- WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer drawLineForMisspelling:withWidth:]): New method to add AppKit-style misspelling underline.
- 11:50 AM Changeset in webkit [7209] by
-
- 3 edits in trunk
156u, Safari 2.0 for TOT. The tree is open!
- 11:45 AM Changeset in webkit [7208] by
-
- 6 edits in trunk
Safari-155 stamp