Timeline



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:

Mar 11, 2005:

4:43 PM Changeset in webkit [8867] by adele
  • 2 edits in trunk/WebCore

backing out fix for <rdar://problem/4021711> REGRESSION (125-188): blank pages when browsing forum at cooperativeresearch.org - cached external script problem

This caused the following regressions (that we know of):
<rdar://problem/4047445> REGRESSION (Safari-400-403?): Some or all page contents sometimes don't appear (macworld.com)
<rdar://problem/4046153> 8a409: Problem loading Citibank page in Safari 2 (403)
<rdar://problem/4047801> REGRESSION (402-403): .Mac homepage links don't work

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptHandler):
12:54 PM Changeset in webkit [8866] by harrison
  • 2 edits in trunk/WebCore

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.
11:08 AM Changeset in webkit [8865] by kocienda
  • 1 edit
    1 add in trunk/WebCore

Reviewed by me

  • ForwardingHeaders/editing/visible_units.h: Added.
10:43 AM Changeset in webkit [8864] by kocienda
  • 2 edits
    6 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/4045521> Hitting return key with full line selected does not add blank line as it should

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorCommand::doApply): Removed some "special-case" code from this function that would look for a selection that started and ended in a different block, and would then bail right after the deletion of the selection without inserting a paragraph separator. This was just wrong. So, the code change is removal only. When the general-case code runs instead of the erroneous special-case code, the bug goes away.

New tests:

  • layout-tests/editing/inserting/return-key-with-selection-001-expected.txt: Added.
  • layout-tests/editing/inserting/return-key-with-selection-001.html: Added.
  • layout-tests/editing/inserting/return-key-with-selection-002-expected.txt: Added.
  • layout-tests/editing/inserting/return-key-with-selection-002.html: Added.
  • layout-tests/editing/inserting/return-key-with-selection-003-expected.txt: Added.
  • layout-tests/editing/inserting/return-key-with-selection-003.html: Added.
9:40 AM Changeset in webkit [8863] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4009446> AX: kAXTextMarkerForPositionParameterizedAttribute not working correctly (required for Dictionary pop-up)

  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityAttributeValue:]): Comment changes.

(-[KWQAccObject doAXTextMarkerForPosition:]):
Dig into widgets.

(-[KWQAccObject doAXBoundsForTextMarkerRange:]):
Use the selection's document instead of the top document, to accommodate frames, etc.

(-[KWQAccObject accessibilityAttributeValue:forParameter:]):
Fixed parameter processing to look for NSValue instead of AXValue.

9:32 AM Changeset in webkit [8862] by vicki
  • 1 edit in trunk/WebKit/ChangeLog

move the Safari-405 release marker, since <rdar://problem/4046510> will be included in 405

9:27 AM Changeset in webkit [8861] by vicki
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

move the Safari-405 release marker, since we're including <rdar://problem/4037700> in Safari-405

8:52 AM Changeset in webkit [8860] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Harrison

Fix for this bug:

<rdar://problem/3972665> 8A360: HTML message partially truncated on left hand side, text-indent from Script Editor

This was fixed, then regressed with Harrison's fix for this bug:

<rdar://problem/3948453> Can't type accented chars as first character in Stickies widget

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): My now addresses both problems in a way that they no longer clobber each other.
8:30 AM Changeset in webkit [8859] by kocienda
  • 6 edits
    20 adds in trunk

Reviewed by John

Fix for these bugs:

<rdar://problem/4045511> Copying and pasting end-of-paragraph selection puts insertion point in wrong place
<rdar://problem/4045513> Copying and pasting selection starting at end of paragraph can incorrectly remove line break

The copy/paste code before this patch had no notion of a "logical newline" at the start of the selection. We have
had a similar notion for "logical newline" at the end of the selection for quite some time. To fix these bugs, we
need to introduce the same idea for selection starts.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::ReplacementFragment): Process the "logical newline" at start as we write it out in markup. Set the bit we added to this object to signify we have such a newline. (khtml::ReplaceSelectionCommand::doApply): Many, many changes to introduce the new "logical newline" at start concept. I also tried to simply the code that sets the start position for inserting content to be pasted. I also improved a weakness in the smart-paste code. Now, we check before and after the paste for whether we need to add a leading or trailing space. The code previous to this patch only did a "before" check, with the result that we sometimes added a second space. In other words, the code did not realize that DOM changes done by pasting could cause formerly unrendered whitespace to become rendered. Also moved line placeholder clean up code to its own function. (khtml::ReplaceSelectionCommand::removeLinePlaceholderIfNeeded): New helper that further refines the notion of when we can remove a line placeholder. The definition is now, "If a line placeholder is at the visible start and visible end of its line, keep it; otherwise remove it".
  • khtml/editing/htmlediting.h: Declare new functions. Rework inlines in ReplacementFragment class to account for addition of new "logical newline" at start concept. (khtml::ReplacementFragment::hasInterchangeNewlineAtStart): New accessor. (khtml::ReplacementFragment::hasInterchangeNewlineAtEnd): Renamed from hasInterchangeNewline(), since before we only had a bit for the end, hence we did not need to distinguish it from the start.
  • khtml/editing/markup.cpp: (khtml::createMarkup): Added code to detect and write out markup for cases where we have a "logical newline" at start.
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::startPosition): New helper. (DOM::RangeImpl::endPosition): Ditto.
  • khtml/xml/dom2_rangeimpl.h: Declare new helpers.

New tests:

  • layout-tests/editing/pasteboard/paste-line-endings-001-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-001.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-002-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-002.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-003-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-003.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-004-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-004.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-005-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-005.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-006-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-006.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-007-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-007.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-008-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-008.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-009-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-009.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-010-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-010.html: Added.
Note: See TracTimeline for information about the timeline view.