Timeline



Mar 16, 2005:

6:46 PM Changeset in webkit [8909] by darin
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/4045203> REGRESSION (125-188): Redundant JS imports crash Safari
  • khtml/html/htmltokenizer.h: Take inWRite bool out of NDEBUG ifdef.
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): Take inWrite bool management code out of NDEBUG ifdef. (khtml::HTMLTokenizer::write): Ditto. Don't call end if inWrite is true, since it will be called when you return to the body of the outer write() call. (khtml::HTMLTokenizer::allDataProcessed): Don't call end() if inWrite is true for the same reason. (khtml::HTMLTokenizer::finish): Ditto.
  • kwq/KWQWidget.mm: (QWidget::getOuterView): Removed bogus assertion that has been vexing us of late.
6:30 PM Changeset in webkit [8908] by harrison
  • 2 edits in trunk/WebCore

Reviewed by me (written by Patti Yeh).

  • kwq/KWQAccObject.mm: (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]): Use LeftWordIfOnBoundary instead of RightWordIfOnBoundary.

(-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
Use RightWordIfOnBoundary instead of LeftWordIfOnBoundary.

6:09 PM Changeset in webkit [8907] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4054590> AX: Dictionary panel does not work when page is scrolled on Safari

  • kwq/KWQAccObject.mm: (-[KWQAccObject doAXTextMarkerForPosition:]): Add in the view's contentsX and contentsY to the point.
5:32 PM Changeset in webkit [8906] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements

Also changed WebCore.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _shouldDeleteRange:]): Added call to new bridge method canDeleteRange.
5:31 PM Changeset in webkit [8905] by harrison
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements

Also changed WebKit.

  • khtml/editing/visible_units.h:
  • khtml/editing/visible_units.cpp: (khtml::startOfEditableContent): (khtml::endOfEditableContent): (khtml::inSameEditableContent): (khtml::isStartOfEditableContent): (khtml::isEndOfEditableContent): New.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canDeleteRange:]): New.
10:30 AM Changeset in webkit [8904] by jens
  • 2 edits in trunk/JavaScriptCore

[4025212] search not performed correctly; united.com. Fixed bug inherited from KJS that caused unescape() of an empty string to return a messed-up String object that would sometimes act like the value 'null'.

8:36 AM Changeset in webkit [8903] by kocienda
  • 5 edits in trunk

WebCore:

Reviewed by Darin

Fix for this bug:

<rdar://problem/4042935> undo doesn't work properly during inline input

  • kwq/WebCoreBridge.h: Declare new method below.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge replaceMarkedTextWithText:]): New method. Wraps calls to TypingCommand::deleteKeyPressed and TypingCommand::insertText to map the way that international text input works onto the typing undo system.

WebKit:

Reviewed by Darin

Fix for this bug:

<rdar://problem/4042935> undo doesn't work properly during inline input

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in order to provide a better mapping of international text input onto the typing command/undo design.
6:43 AM Changeset in webkit [8902] by harrison
  • 5 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4044336> REGRESSION (8A398-8A409): Option-Delete also deletes space to left of deleted word

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData):
  • skip smart delete if the selection to delete already starts or ends with whitespace
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick):
  • preserve selection on double-click when range is already selected
  • khtml/xml/dom_position.cpp: (DOM::Position::leadingWhitespacePosition): (DOM::Position::trailingWhitespacePosition):
  • fix considerNonCollapsibleWhitespace action (logic was reversed)
  • add non-breaking space to the non-collapsable ones
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]): (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
  • these methods do not set the selection, so remove calls to setSelectionGranularity

(-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
(-[WebCoreBridge alterCurrentSelection:verticalDistance:]):

  • set the granularity back to character
  • the one exception is that we need to keep word granularity to preserve smart delete behavior when extending by word

Mar 15, 2005:

7:23 PM Changeset in webkit [8901] by mjs
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Removed conflict marker.

7:19 PM Changeset in webkit [8900] by mjs
  • 2 edits in trunk/WebCore

Reviewed by John.

<rdar://problem/4053266> Pressing return a few times right after a link makes the new blank lines part of the link

  • khtml/editing/htmlediting.cpp: (khtml::InsertLineBreakCommand::doApply): Use positionOutsideContainingSpecialElement in the right two places. (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
  • move all these helper functions higher in the file
  • khtml/editing/htmlediting.cpp: (khtml::isSpecialElement): (khtml::isFirstVisiblePositionInSpecialElement): (khtml::positionBeforeNode): (khtml::positionBeforeContainingSpecialElement): (khtml::maxRangeOffset): (khtml::isLastVisiblePositionInSpecialElement): (khtml::positionAfterNode): (khtml::positionAfterContainingSpecialElement): (khtml::positionOutsideContainingSpecialElement):
6:02 PM Changeset in webkit [8899] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4053658> Crash getting direction at maps.google.com

Add non nil style() check.

Reviewed by Dave Harrison.

  • khtml/rendering/render_table.cpp: (RenderTableCell::collapsedRightBorder):
5:40 PM Changeset in webkit [8898] by kdecker
  • 3 edits in trunk/WebCore

Reviewed by John

Fixed: <rdar://problem/4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken

The reason why UNLOAD_EVENT wouldn't dispatch was because the code would delete all event listeners at the detach() phase which is prior to closeURL().

This fixes a recent regression from:

<rdar://problem/3977973> pages on ebay leak referenced JavaScript objects -- over time browsing becomes super-slow

  • khtml/khtml_part.cpp: (KHTMLPart::closeURL): After dispatching event handlers, go ahead and remove them from the DOM.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::detach): Took out the call to removeAllEventListenersFromAllNodes(). If we remove all event listeners here then when KHTMLPart::closeURL() checks for even listeners, it will never have any because they'll already be gone.
4:00 PM Changeset in webkit [8897] by rjw
  • 5 edits in trunk/WebKit

Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance

If client mutates request use new Foundation SPI to address remove applewebdata properties from request.

Reviewed by Ken Kocienda.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  • WebView.subproj/WebDataProtocol.h:
  • WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestPropertyKey]):
3:52 PM Changeset in webkit [8896] by rjw
  • 2 edits in trunk/JavaScriptCore

Fixed <rdar://problem/4053276> WebScripting protocol in WebKit cannot convert Boolean in Javascript to BOOL in Objective-C

Added JavaScript boolean to type that can be converted to
ObjC scalar parameters.

Reviewed by Ken Kocienda.

  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue):
3:27 PM Changeset in webkit [8895] by kocienda
  • 3 edits in trunk/WebKit

Reviewed by Vicki

Fox for this bug:

<rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing

Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
key went through separate code that is no longer in the tree that did not set the selection in the way
it is done now.

The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
-[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
selection will act to close typing or not. The code changes below all add this new argument with the
appropriate value for closeTyping.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction. (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping. (-[WebHTMLView selectToMark:]): Passes YES for closeTyping. (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping. (-[WebHTMLView transpose:]): Passes YES for closeTyping. (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping. (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
  • WebView.subproj/WebView.m: (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
3:27 PM Changeset in webkit [8894] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Vicki

Fox for this bug:

<rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing

Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
keystrokes grouped together in a single undo operation. A change on 27 Jan in WebKit to change the way delete
keystrokes are handled made this feature regress. Previous to that change, the backwards delete
key went through separate code that is no longer in the tree that did not set the selection in the way
it is done now.

The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
-[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
selection will act to close typing or not.

  • kwq/WebCoreBridge.h: Changed header accordingly to change method shown below.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Added closeTyping argument to this method.
2:27 PM Changeset in webkit [8893] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

  • fixed <rdar://problem/4052246> crash in KWQKHTMLPart::createPart() trying to display local file in frame
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createPart): Check part for nil before trying to ref. This was probably a longstanding code flaw revealed by the recent security fix.
1:44 PM Changeset in webkit [8892] by kdecker
  • 6 edits in trunk/WebCore

Reviewed by Ken and Maciej.

New fix for <rdar://problem/3667701> crash in KHTMLPart::jScriptEnabled()

The tokenizer has buffers which mean parsing can continue even after loading is supposed to be stopped. If the loading process was aborted, the tokenizer should abort, too.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): Initialize loadStopped to false. (khtml::HTMLTokenizer::write): Go ahead and bail out if loadStopped is true. (khtml::HTMLTokenizer::processToken):
  • khtml/html/htmltokenizer.h: Added loadStopped flag. Changed the view pointer from a standard pointer to a QGuardedPtr. This fixes the crash. Now the tokenizer's handle to the view will now automatically nil-out and never dangle.
  • khtml/khtml_part.cpp: (KHTMLPart::closeURL): Notify the tokenizer to stop parsing.
  • khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::XMLTokenizer): Initialize loadStopped to false.
  • khtml/xml/xml_tokenizer.h: (khtml::Tokenizer::stopParsing): Added.

Mar 14, 2005:

8:00 PM Changeset in webkit [8891] by rjw
  • 2 edits in trunk/WebKit

Fix <rdar://problem/4051389> 8A413: gifs animating too fast

Reviewed by Maciej.

Match Mozilla's policy for minimum frame duration, which is somewhat odd:

<= 0.01 sec use .1 sec, otherwise use specified duration.

  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _frameDurationAt:]):
6:06 PM Changeset in webkit [8890] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Darin, Maciej.

<rdar://problem/4046103> REGRESSION (Mail): clicking after style change sets insertion point incorrectly

Also fixes crash by adding nil check.

  • khtml/editing/htmlediting.cpp: (khtml::MoveSelectionCommand::doApply): Check the node for nil.
  • khtml/khtml_part.cpp: (KHTMLPart::khtmlMouseReleaseEvent): Use the node from the event rather than from the selection.
5:45 PM Changeset in webkit [8889] by darin
  • 4 edits in trunk/WebKit

Reviewed by Harrison.

  • fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
  • WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
  • WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added. Calls unmarkAllMisspellings on the bridge and self and all subframes.
  • WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]): Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
5:05 PM Changeset in webkit [8888] by darin
  • 4 edits in trunk/WebCore

Reviewed by Harrison.

  • fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): Set markers list to be "auto-delete" so they don't all leak. (DocumentImpl::removeMarker): Remove markers list for a node when the last marker is removed for that node. Otherwise, we can have empty marker lists for each node forever until the document goes away. (DocumentImpl::removeAllMarkers): Added code to dirty the markers. (DocumentImpl::shiftMarkers): Remove unneeded empty check.
  • kwq/WebCoreBridge.h: Added unmarkAllMisspellings for WebKit.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge unmarkAllMisspellings]): Added. Calls removeAllMarkers.
4:50 PM Changeset in webkit [8887] by rjw
  • 4 edits in trunk

WebKit:

Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane

The Acrobat application triggers loads of new documents in it's policy delegate. This
ultimately causes the WebHTMLView to be released before their event handlers have
returned. To bullet proof against this case we retain/release self before passing
the event on for further handling.

Reviewed by Maciej.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]): (-[WebHTMLView scrollWheel:]): (-[WebHTMLView mouseDown:]): (-[WebHTMLView mouseDragged:]): (-[WebHTMLView mouseUp:]): (-[WebHTMLView keyDown:]): (-[WebHTMLView keyUp:]): (-[WebHTMLView performKeyEquivalent:]):

WebCore:

Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane

A document may be deleted as a consequence of handling an event,
as was the case with Acrobat.app. Ensure that the document is still valid
before passing the event on for further handling.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchUIEvent):
4:43 PM Changeset in webkit [8886] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

Added a couple of comments about setChanged() to this code based on my experiences with 4047028.

  • khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::addParsedProperties) (DOM::CSSMutableStyleDeclarationImpl::merge)
4:26 PM Changeset in webkit [8885] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4047028> Changing quote levels on stylized text causes it to be sent as colored (Blue). Tiger8A410

  • khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::removePropertiesInSet): This function now calls setChanged() at the end of its loop if any properties were removed. This makes the style system update correctly in response to changes made by this function. The code to paste removes style from the pasted content in a preliminary step, and the fact that the style system did not update properly left unwanted color declarations in the document.
3:50 PM Changeset in webkit [8884]
  • 5 copies in tags/Safari-406

This commit was manufactured by cvs2svn to create tag 'Safari-406'.

3:50 PM Changeset in webkit [8883]
  • 5 copies in tags/Safari-306

This commit was manufactured by cvs2svn to create tag 'Safari-306'.

3:50 PM Changeset in webkit [8882] by vicki
  • 5 edits in trunk/WebKit
  • roll out the fix for 4040321, since it is still pending CCC review.

2005-03-10 Richard Williamson <rjw@apple.com>

Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance

Reviewed by Darin.

If a delegate returns a mutated applewebdata: request in it's willSendRequest:
method, we don't load using the WebDataRequest. Instead we do a normal load.
Unfortunately, if the request they return is mutated *copy* of the applewebdata:
request it will hold the applewebdata: special properties. These properties
will be encoded into the cache. They should not be. So, to fix, we sanitize the
request, by removing the special properties from the request.

Note that we had to dig into the private guts of NSURLRequest because there is
no public mechanism to remove properties from a request, see 4046775.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  • WebView.subproj/WebDataProtocol.h:
  • WebView.subproj/WebDataProtocol.m: (-[NSURLRequest _webDataRequestExternalRequest]): (-[NSURLRequest _webDataRequestSanitize]):
3:33 PM Changeset in webkit [8881] by vicki
  • 2 edits in trunk/WebCore
  • roll out this change for now, since it was denied by CCC

2005-03-11 David Harrison <harrison@apple.com>

Reviewed by Darin.

<rdar://problem/4046602> WebCore invokes undefined behavior when the spell checker isn't running

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): (KWQKHTMLPart::markMisspellings): Nil check checker.
2:09 PM Changeset in webkit [8880] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4050403> Mail crashes after pasting and deleting the content of one Excel cell

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleGeneralDelete): Add some null checks to the code. This fixes the crash, although following the steps described in the bug by John Sullivan on 3/14/05 at 10:49 AM will leave us with a "blank line" in the document that cannot be removed (this is actually an empty table). This is undesirable, however, work Maciej is doing to fix the general-case problem of trying to edit constructs we do not handle well in editing should fix this particular case, making the deletion of this "blank line" possible. Maciej is doing this work as part of this bug: <rdar://problem/4036051> Hard to select (and thus delete) an IFRAME in an editable WebView
1:49 PM Changeset in webkit [8879] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

<rdar://problem/4029632> Mail crashes in DOM::NodeImpl::isBlockFlow() after pasting text with alignment style and BR element from Safari

The problem is that removeInlineStyle() can remove nodes, and if either the start or end node of the
selection at the time of the call to removeInlineStyle() was in a node that got removed, bad things
would happen. The fix is described below.

  • khtml/editing/htmlediting.cpp: (khtml::maxRangeOffset): Moved this static function to a different place in the file so the code below can use it. (khtml::ApplyStyleCommand::applyInlineStyle): Calling removeInlineStyle() now has the side effect of setting the command's ending selection. Now resets start and end using the ending selection after the call to removeInlineStyle() as it is done elsewhere in this function. (khtml::ApplyStyleCommand::removeInlineStyle): Track the removal of the start or end node based on the positions passed in. If either the start or the end node is removed as part of style removal, set an appropriate replacement start or end that is still in the document.
1:40 PM Changeset in webkit [8878] by vicki
  • 3 edits in trunk

versioning for tip of tree, Safari 2.0 (406+)

1:36 PM Changeset in webkit [8877] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (v306)

1:21 PM Changeset in webkit [8876] by vicki
  • 6 edits in trunk

Safari-406 stamp

9:58 AM Changeset in webkit [8875] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Darin

I need to roll out Kevin's change to fix 3667701. It breaks contextual fragments, and hence breaks
paste in editing (among other things).

  • khtml/html/htmltokenizer.cpp: Roll out recent change. (khtml::HTMLTokenizer::write)
  • khtml/html/htmltokenizer.h: Ditto.
9:49 AM Changeset in webkit [8874] by darin
  • 3 edits in trunk/WebKit

Reviewed by Ken and Maciej.

  • fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or object tags and plug-in main resources.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above. This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's restriction. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
9:49 AM Changeset in webkit [8873] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken and Maciej.

  • fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Changed to give "applewebdata:" documents the same privileges to open local files that "file:" documents have.
7:04 AM Changeset in webkit [8872] by kdecker
  • 3 edits in trunk/WebCore

Reviewed by mjs.

Fixed: <rdar://problem/3667701> crash in KHTMLPart::jScriptEnabled()

The problem here was that the tokenizer would continue to receive chunks of data from the loader already
after the view and part had been destroyed. Situations like this could arise when clicking on another link
while still loading the current view, or during self test where we rapidly open, load, and close browser
windows very fast.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Simple nil check against the view.
  • khtml/html/htmltokenizer.h: Changed the view pointer from a standard pointer to a QGuardedPtr. The tokenizer's handle to the view will now automatically nil-out and never dangle.

Mar 13, 2005:

1:35 PM Changeset in webkit [8871] by darin
  • 3 edits
    6 adds in trunk

Reviewed by John and Ken.

  • fixed <rdar://problem/4044347> REGRESSION (Mail): Control-K in particular message moves insertion point to previous line

Tweaked the deleting code, and added three new deleting layout tests to confirm the new code works.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed special case with comment that said it was for the case where a "selection contains only a BR right after a block ended". This code was being triggered in more cases than just that one, and in all the cases I tested, the general delete code works fine. (khtml::DeleteSelectionCommand::handleGeneralDelete): Changed the code that decides whether to delete an entire block to understand the case where the end block is outside the start block, but contains the start block. In that case, we want to delete the entire block. Not deleting the block was causing us to delete just the <br>, and not the enclosing <div> in the case in the bug.
  • layout-tests/editing/deleting/delete-line-015-expected.txt: Added.
  • layout-tests/editing/deleting/delete-line-015.html: Added.
  • layout-tests/editing/deleting/delete-line-016-expected.txt: Added.
  • layout-tests/editing/deleting/delete-line-016.html: Added.
  • layout-tests/editing/deleting/delete-line-017-expected.txt: Added.
  • layout-tests/editing/deleting/delete-line-017.html: Added.
  • layout-tests/editing/style/smoosh-styles-002-expected.txt: Updated to improved results. With the code change, the deletion now deletes more than it used to. The old results had an empty text node and <h1> element that were both 0-sized, and now we delete both of those.
9:29 AM Changeset in webkit [8870] by darin
  • 2 edits in trunk/WebCore
  • fixed <rdar://problem/4049172> REGRESSION (403-405): Gmail: text box in "Invite a friend" section overlaps other sections

Rolled out fix for <rdar://problem/3952698> Function buttons do not display properly with Telia Webmail

  • khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): Back to previous version of this file.

Mar 12, 2005:

5:58 PM Changeset in webkit [8869] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Adele.

<rdar://problem/4046144> RSS pages leave a hole in local file security policy (need to revert feed: exemption)

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Revert emergency workaround for Safari RSS, now that a new Syndication has been submitted.
4:51 PM Changeset in webkit [8868] by mjs
  • 13 edits in trunk

Reviewed by Kevin.

<rdar://problem/4026787> text typed after a link (pasted or Mail Link to this Page) is part of the link, underlined and colored blue

The concept of this change is every time you type at the very
start or very end of a link (even if nested in further inner
elements), the typed text goes outside the link instead of inside.

  • khtml/editing/htmlediting.cpp: (khtml::InsertTextCommand::prepareForTextInsertion): Check whether we are at the first visible position or last visible position of a special element. For now this only includes HTML A elements that are links (i.e. they have an href). (khtml::isSpecialElement): Helper function that identifies special elements (for now only links). (khtml::isFirstVisiblePositionInSpecialElement): Checks if a given DOM position is equivalent to the first visible position in some containing editable special element. (khtml::positionBeforeNode): Returns the DOM position immediately before a node. (khtml::positionBeforeContainingSpecialElement): Gives a DOM position immediately before the outermost editable containing special element where the passed-in position is equivalent to the first visible position. (khtml::maxRangeOffset): Helper to get the maximum allowed range/position offset for a node, does the right thing based on whether the node would use a character offset or child offset. (khtml::isLastVisiblePositionInSpecialElement): Similar to above, but for end of node instead of start. (khtml::positionAfterNode): Ditto. (khtml::positionAfterContainingSpecialElement): Ditto.

Some layout tests changed - I looked over all the diffs and found
that the only changes were "junk nodes" like empty spans and text
nodes moving from one spot in the tree to another. These changes
are all harmless and do not affect layout or future editing.

  • layout-tests/editing/inserting/typing-003-expected.txt:
  • layout-tests/editing/style/remove-underline-across-paragraph-expected.txt:
  • layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
  • layout-tests/editing/style/remove-underline-after-paragraph-expected.txt:
  • layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
  • layout-tests/editing/style/remove-underline-expected.txt:
  • layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt:
  • layout-tests/editing/style/remove-underline-in-bold-expected.txt:
  • layout-tests/editing/style/typing-style-003-expected.txt:
  • layout-tests/editing/style/unbold-in-bold-expected.txt:
  • layout-tests/editing/style/underline-expected.txt:
Note: See TracTimeline for information about the timeline view.