Timeline


and

03/14/05:

20:00 Changeset [8891] by rjw

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:]):
18:06 Changeset [8890] by harrison

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.
17:45 Changeset [8889] by darin

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.
17:05 Changeset [8888] by darin

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.
16:50 Changeset [8887] by rjw

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):
16:43 Changeset [8886] by kocienda

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)
16:26 Changeset [8885] by kocienda

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.
15:50 Changeset [8884]

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

15:50 Changeset [8883]

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

15:50 Changeset [8882] by vicki
  • 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]):
15:33 Changeset [8881] by vicki
  • 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.
14:09 Changeset [8880] by kocienda

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
13:49 Changeset [8879] by kocienda

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.
13:40 Changeset [8878] by vicki

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

13:36 Changeset [8877] by vicki

versioning for SUPanWheat, Safari 1.3 (v306)

13:21 Changeset [8876] by vicki

Safari-406 stamp

09:58 Changeset [8875] by kocienda

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.
09:49 Changeset [8874] by darin

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.
09:49 Changeset [8873] by darin

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.
07:04 Changeset [8872] by kdecker

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.

03/13/05:

13:35 Changeset [8871] by darin

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.
09:29 Changeset [8870] by darin
  • 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.

03/12/05:

17:58 Changeset [8869] by mjs

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.
16:51 Changeset [8868] by mjs

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:

03/11/05:

16:43 Changeset [8867] by adele

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 Changeset [8866] by harrison

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 Changeset [8865] by kocienda

Reviewed by me

  • ForwardingHeaders/editing/visible_units.h: Added.
10:43 Changeset [8864] by kocienda

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.
09:40 Changeset [8863] by harrison

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.

09:32 Changeset [8862] by vicki

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

09:27 Changeset [8861] by vicki

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

08:52 Changeset [8860] by kocienda

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.
08:30 Changeset [8859] by kocienda

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.

03/10/05:

17:43 Changeset [8858] by rjw

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]):
17:27 Changeset [8857]

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

17:27 Changeset [8856]

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

17:27 Changeset [8855] by mjs

Reviewed by Vicki.

<rdar://problem/4046510> REGRESSION (TOT): All Flash and Shockwave plugin-based web content missing

  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
17:18 Changeset [8854] by darin

Reviewed by Richard.

  • fixed <rdar://problem/4037700> Every character typed causes stat call for /usr/share/icu/icudt32b_char.brk
  • khtml/rendering/render_text.cpp: (getCharacterBreakIterator): Set boolean "got iterator" to true.
16:49 Changeset [8853] by vicki

versioning for TOT, Safari 2.0 (v405+). The tree is open!

16:42 Changeset [8852] by vicki

versioning for SUPanWheat, Safari 1.3 (v305)

16:37 Changeset [8851] by vicki

Safari-405 stamp (skipped 404 since it ends in a "4")

14:05 Changeset [8850] by darin

Reviewed by Ken.

  • fixed <rdar://problem/4042867> "Bigger" changes the font size of too much text when the selection is on a style-change boundary
  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): Advance out of the starting text node if we're at the end of it.
13:59 Changeset [8849] by darin
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Fixed assertion for nested calls to write.
13:54 Changeset [8848] by harrison

Reviewed by Darin.

<rdar://problem/4032346> REGRESSION (Mail): changing 1st line of a URL that wraps to two lines doesn't always update 2nd line

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::matchedEndLine): Look at first clean line in case line wrap implicitly dirtied it.
13:43 Changeset [8847] by mjs

Reviewed by Vicki.

<rdar://problem/4046018> REGRESSION (TOT): RSS pages don't display anything

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Exempt feed: and feeds: pages from the local file security check.
13:40 Changeset [8846] by darin

Change written by Steve Peters, reviewed by me.

  • fixed <rdar://problem/4045924> improve compareBoundaryPoints to make style changes faster
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::compareBoundaryPoints): Do early outs in a couple of the loops to make things faster.
13:26 Changeset [8845] by sullivan

Reviewed by Vicki.

  • fixed <rdar://problem/4045843> Going back/forward to error page hits assertion in -[WebDataSource(WebPrivate) _setData:]
  • WebView.subproj/WebDataSource.m: (-[WebDataSource _setData:]): Removed bogus assertion
13:09 Changeset [8844] by jens

Fixes <rdar://problem/4040848> "REGR: Sun security-check demo applet does not load". Includes restoring part of the old NodeImpl::closeRenderer mechanism.

11:30 Changeset [8843] by darin

Reviewed by Darin.

  • fixed <rdar://problem/3997044> default encoding for non-Latin incorrect
  • WebKit/WebView.subproj/WebPreferences.m: (+[WebPreferences _systemCFStringEncoding]): Call CFStringGetUserDefaultEncoding to get region, and TECGetWebTextEncodings to get the first encoding to determine the default encoding.
11:29 Changeset [8842] by darin

Fixed an indenting problem that crept in with the last check-in.

09:24 Changeset [8841] by kocienda

Reviewed by John

Fix for this bug:

<rdar://problem/4024929> REGRESSION (Mail): Pasting text with multiple reply levels removes one level instead of all

The code to figure out which node to use to merge into an existing line did not drill into the first inline element
as needed to make the feature work as user expect. Instead, it looked at the first node, and if it was a block, it
skipped that node. This worked for some cases (including the important "paste-as-quotation" case) but obviously
doesn't work for content quoted more than once.

Now, mergeStartNode() will look for the first node in pasted content that is not a block. It will now also look
for nodes specially marked by Mail as a node added to make "Paste As Quotation" work. It won't skip those.

NOTE: This change will break Mail's "Paste As Quotation" feature for TOT WebKit users, but this is only a temporary
problem that will exist until we sync up with Mail's pending change to mark nodes as needed in its pasteAsQuotation:
method.

  • khtml/editing/html_interchange.h: Add ApplePasteAsQuotation constant used to check for "marked" blockquotes.
  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::mergeStartNode): Look for first node that is either not a block or is marked as an ApplePasteAsQuotation node. (khtml::isMailPasteAsQuotationNode): New helper that looks for nodes marked with ApplePasteAsQuotation.
  • khtml/editing/htmlediting.h: Updated header for new function.

This test result changed is an acceptable way.

  • layout-tests/editing/pasteboard/paste-text-013-expected.txt
  • layout-tests/editing/pasteboard/paste-text-013.html

NOTE: This change causes a regression in this layout test:

  • layout-tests/editing/pasteboard/paste-text-013.html

This problem will need to be fixed separately, and this bug has been filed to track this problem:
<rdar://problem/4045513> Copying and pasting selection starting at end of paragraph can incorrectly remove line break

Note: See TracTimeline for information about the timeline view.