Timeline



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.

Mar 10, 2005:

5:43 PM Changeset in webkit [8858] by rjw
  • 5 edits in trunk/WebKit

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]):
5:27 PM Changeset in webkit [8857]
  • 3 copies in tags/Safari-405

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

5:27 PM Changeset in webkit [8856]
  • 3 copies in tags/Safari-305

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

5:27 PM Changeset in webkit [8855] by mjs
  • 2 edits in trunk/WebKit

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:]):
5:18 PM Changeset in webkit [8854] by darin
  • 2 edits in trunk/WebCore

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.
4:49 PM Changeset in webkit [8853] by vicki
  • 3 edits in trunk

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

4:42 PM Changeset in webkit [8852] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (v305)

4:37 PM Changeset in webkit [8851] by vicki
  • 6 edits in trunk

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

2:05 PM Changeset in webkit [8850] by darin
  • 2 edits in trunk/WebCore

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.
1:59 PM Changeset in webkit [8849] by darin
  • 2 edits in trunk/WebCore
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Fixed assertion for nested calls to write.
1:54 PM Changeset in webkit [8848] by harrison
  • 2 edits in trunk/WebCore

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.
1:43 PM Changeset in webkit [8847] by mjs
  • 2 edits in trunk/WebCore

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.
1:40 PM Changeset in webkit [8846] by darin
  • 2 edits in trunk/WebCore

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.
1:26 PM Changeset in webkit [8845] by sullivan
  • 2 edits in trunk/WebKit

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
1:09 PM Changeset in webkit [8844] by jens
  • 5 edits in trunk/WebCore

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

11:30 AM Changeset in webkit [8843] by darin
  • 1 edit in trunk/WebKit/ChangeLog

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 AM Changeset in webkit [8842] by darin
  • 1 edit in trunk/WebKit/WebView.subproj/WebPreferences.m

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

9:24 AM Changeset in webkit [8841] by kocienda
  • 6 edits in trunk

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

Mar 9, 2005:

8:04 PM Changeset in webkit [8840] by mjs
  • 9 edits in trunk/WebCore

Reviewed by Richard.

<rdar://problem/4040776> Dashboard (Weather widget) is a memory hog

Change things around so the event listeners for XMLHttpRequest
mark their JS listener objects instead of holding a hard
reference, to avoid an unbreakable reference cycle.

  • khtml/ecma/kjs_events.cpp: (JSAbstractEventListener::JSAbstractEventListener): (JSAbstractEventListener::~JSAbstractEventListener): (JSAbstractEventListener::handleEvent): (JSAbstractEventListener::eventListenerType): (JSUnprotectedEventListener::JSUnprotectedEventListener): (JSUnprotectedEventListener::~JSUnprotectedEventListener): (JSUnprotectedEventListener::listenerObj): (JSUnprotectedEventListener::windowObj): (JSUnprotectedEventListener::mark): (JSEventListener::JSEventListener): (JSEventListener::~JSEventListener): (JSEventListener::listenerObj): (JSEventListener::windowObj): (JSLazyEventListener::JSLazyEventListener):
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_html.h:
  • khtml/ecma/kjs_window.cpp: (Window::getJSEventListener): (Window::getJSUnprotectedEventListener):
  • khtml/ecma/kjs_window.h:
  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::putValue): (KJS::XMLHttpRequest::mark):
  • khtml/ecma/xmlhttprequest.h:
  • khtml/khtml_part.h:
7:21 PM Changeset in webkit [8839] by goldsmit
  • 1 edit in trunk/WebKit/WebView.subproj/WebPreferences.m

3997044 Use TECGetWebTextEncodings for default encoding per user language

5:34 PM Changeset in webkit [8838] by rjw
  • 2 edits in trunk/WebKit

Reviewed by Richard.

  • fixed <rdar://problem/4034175> REGRESSION (Mail): Can't use any font with style Light/Condensed/Semibold/Extrabold, etc
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Use a constant instead of hard-coded weight for clarity. (-[WebHTMLView _originalFontA]): Ditto. (-[WebHTMLView _originalFontB]): Ditto. (-[WebHTMLView _addToStyle:fontA:fontB:]): Add code to detect the case where the family name is not good enough to specify the font precisely. In that case, use the Postscript font name instead. Also change variable names so it's easier to understand the method.
5:00 PM Changeset in webkit [8837] by mjs
  • 17 edits in trunk

WebCore:

Reviewed by Darin.

<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLDocument::putValue):
  • khtml/ecma/kjs_window.cpp: (Window::put): (WindowFunc::tryCall): (Location::put): (LocationFunc::tryCall):
  • khtml/khtml_part.cpp: (KHTMLPart::begin): (KHTMLPart::scheduleLocationChange): (KHTMLPart::slotRedirect): (KHTMLPart::processObjectRequest):
  • khtml/khtml_part.h:
  • khtml/khtmlpart_p.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLRequest): (KWQKHTMLPart::urlSelected): (KWQKHTMLPart::createPart):
  • kwq/KWQKHTMLPartBrowserExtension.mm: (KHTMLPartBrowserExtension::createNewWindow):
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (hasCaseInsensitivePrefix): (-[WebCoreBridge didNotOpenURL:pageCache:]): (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]):

WebKit:

Reviewed by Darin.

<rdar://problem/4005575> Arbitrary file disclosure vulnerability due to ability to load local html from remote content

  • Plugins.subproj/WebBaseNetscapePluginView.m: (-[WebBaseNetscapePluginView requestWithURLCString:]):
  • Plugins.subproj/WebNetscapePluginEmbeddedView.m: (-[WebNetscapePluginEmbeddedView didStart]):
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]):
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge createWindowWithURL:frameName:]): (-[WebBridge startLoadingResource:withURL:customHeaders:]): (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]): (-[WebBridge postWithURL:referrer:target:data:contentType:triggeringEvent:form:formValues:]): (-[WebBridge createChildFrameNamed:withURL:referrer:renderPart:allowsScrolling:marginWidth:marginHeight:]): (-[WebBridge viewForPluginWithURL:attributeNames:attributeValues:MIMEType:]):
  • WebView.subproj/WebFrame.m: (-[WebFrame _loadURL:referrer:intoChild:]):
  • WebView.subproj/WebFramePrivate.h:
2:30 PM Changeset in webkit [8836] by rjw
  • 5 edits in trunk

WebKit:

Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted

The AppKit and ATS reports that MS P Gothic is fixed pitch. It is
not! This is another case of "fixed pitch" being wrong. I've
coalesced all the special cases into our isFontFixedPitch:, and
used a dictionary to improve speed. No performance regression.

Reviewed by Maciej.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer _computeWidthForSpace]):
  • WebCoreSupport.subproj/WebTextRendererFactory.m: (-[WebTextRendererFactory clearCaches]): (-[WebTextRendererFactory isFontFixedPitch:]):

WebCore:

Fixed <rdar://problem/4032938> Safari: text layout for MS P Gothic font is corrupted

Remove our hacked special case now we have our own cache of
which fonts are fixed pitch.

Reviewed by Maciej.

  • kwq/KWQFont.mm: (QFont::isFixedPitch):
11:49 AM Changeset in webkit [8835] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4037141> REGRESSION (Mail): Pasting deletes preceding blank lines with certain steps

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent): Add check for anonymous text after blocks.
11:00 AM Changeset in webkit [8834] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/4040388> REGRESSION (172-173): nonrepro crash in -[NSString(WebNSURLExtras) _web_isUserVisibleURL]

  • Misc.subproj/WebNSURLExtras.m: (-[NSString _web_isUserVisibleURL]): Fixed some pointer expressions that didn't include the index in the expression. (readIDNScriptWhiteListFile): Removed NSLog statements in here since we decided they aren't useful and they will write some messages on Tiger.
10:37 AM Changeset in webkit [8833] by darin
  • 2 edits in trunk/WebKit
  • DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
10:21 AM Changeset in webkit [8832] by darin
  • 1 edit in trunk/WebKit/ChangeLog

Updated bug number in Richard's change.

Mar 8, 2005:

5:06 PM Changeset in webkit [8831] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for these bugs:

<rdar://problem/4039661> crash in ApplyStyleCommand::applyBlockStyle pasting contents of webpage into Mail or Blot
<rdar://problem/4039672> hang in moveParagraphContentsToNewBlockIfNecessary after pasting contents of webpage into Blot

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix for 4039672. Iteration needs to do a traverseNextSibling(), not a traverseNextNode(). The latter might iterate into a child that already got moved, and the code can infinite loop as a result. (khtml::ApplyStyleCommand::applyBlockStyle): Fix for 4039661. This function iterates over a set of nodes to apply block styles. Before, the iteration would go from the start to the end of the selection, and apply block styles as it went. However, the act of applying style could confuse the iteration. Now I iterate and store the relevant nodes in QPtrList before doing any style manipulation, and then iterate that set of nodes.
4:23 PM Changeset in webkit [8830] by darin
  • 2 edits in trunk/WebCore

Change written by Hyatt, reviewed by me.

  • fixed <rdar://problem/3952698> Function buttons do not display properly with Telia Webmail
  • khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): Only use a minWidth of 0 for images with a percentage value. Other replaced elements aren't scalable so their minWidth should be their calculated width. This has been wrong all along, but it's a relatively safe change because it only affects replaced elements' min-width.
4:08 PM Changeset in webkit [8829] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Ken.

<rdar://problem/4039006> REGRESSION (Mail): Command-left-arrow goes to the start of the wrong line in particular message

  • khtml/editing/visible_units.cpp: (khtml::startOfLine): Use firstLeafChild() instead of firstChild().
4:00 PM Changeset in webkit [8828] by rjw
  • 3 edits in trunk/WebKit

Fixed <rdar://problem/4042570> Need to check image properties for presence of width/height properties

ImageIO-55 changed how image properties are created. They
are now created incrementally. So we need "re-get" the image
properties if the properties we care about (width/height) aren't
in the property dictionary.

Reviewed by John.

  • WebCoreSupport.subproj/WebImageData.h:
  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData init]): (-[WebImageData fileProperties]): (-[WebImageData propertiesAtIndex:]): (-[WebImageData _isSizeAvailable]): (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]): (-[WebImageData size]):
1:31 PM Changeset in webkit [8827] by rjw
  • 2 edits in trunk/WebCore

Fixed by Tom Madden.

Fixed <rdar://problem/4038586> 8A402: Osaka-Mono text overlaps when typing with input method

We weren't clearing the "all ascii" flag when setting text on
RenderText.

Reviewed by Richard Williamson.

  • khtml/rendering/render_text.cpp: (RenderText::setText):
11:05 AM Changeset in webkit [8826] by sullivan
  • 2 edits in trunk/WebKit

A couple of tweaks to the previous patch, from Darin's review.

  • Misc.subproj/WebNSPasteboardExtras.m: (_writableTypesForImageWithoutArchive): remove unnecessary _web prefix (_writableTypesForImageWithArchive): ditto (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]): use mutableCopy rather than initWithArray:, and adjust for name changes
10:53 AM Changeset in webkit [8825] by sullivan
  • 6 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/4031826> REGRESSION (Mail): standalone images from Safari can't be pasted into Mail (WebKit part of fix)

We were always declaring webarchive-related pasteboard types, even in the standalone
image cases where we had no webarchive. Unfortunately, the WebView pasteboard-related
API doesn't prevent this kind of thing from happening, because the code that
declares the types isn't guaranteed to be anywhere near the code that writes
the pasteboard data.

After this fix, I discovered that pasting standalone images into Mail still doesn't
work right, but the remaining issues seem to be entirely in Mail. I wrote up 4041671
to cover these.

  • Misc.subproj/WebNSPasteboardExtras.h: (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]): Added boolean parameter; clients must specify whether or not there's an archive involved, because the array of types is different if there is.
  • Misc.subproj/WebNSPasteboardExtras.m: (_web_writableTypesForImageWithoutArchive): new static function, constructs (once) and returns the array of types for images that don't have archives (_web_writableTypesForImageWithArchive): new static function, constructs (once) and returns the array of types for images that do have archives (+[NSPasteboard _web_writableTypesForImageIncludingArchive:]): added boolean parameter, now calls one of the two new static functions

(-[NSPasteboard _web_writeImage:URL:title:archive:types:]):
added asserts that we aren't declaring the archive types if we don't have archive data

(-[NSPasteboard _web_declareAndWriteDragImage:URL:title:archive:source:]):
updated to pass parameter to _web_writableTypesForImageIncludingArchive:

  • WebView.subproj/WebDefaultContextMenuDelegate.m: (-[WebDefaultUIDelegate copyImageToClipboard:]): updated to pass parameter to _web_writableTypesForImageIncludingArchive:
  • WebView.subproj/WebImageView.m: (-[WebImageView copy:]): updated to pass parameter to _web_writableTypesForImageIncludingArchive:
  • WebView.subproj/WebView.m: (-[WebView pasteboardTypesForElement:]): updated to pass parameter to _web_writableTypesForImageIncludingArchive:
9:42 AM Changeset in webkit [8824] by darin
  • 6 edits in trunk/WebCore

Reviewed by Ken and Maciej.

  • fixed <rdar://problem/3988809> REGRESSION (Mail): wide space characters are turned into plain old spaces when typed or pasted

Changed the few places where it matters to use a "collapsible whitespace" concept instead of
the general whitespace concept. This means treating only ' ' and '\n' specially instead of
including other space characters, which matches what the space-collapsing logic does in RenderText,
although it really needs to behave differently based on whitespace mode.

  • khtml/editing/visible_text.h: (khtml::isCollapsibleWhitespace): Added. This returns true only for ' ' and '\n' since they are the only characters collapsed once text is in the DOM. But really it can't do the job ignoring white-space mode, so some day it must go.
  • khtml/editing/html_interchange.cpp: (convertHTMLTextToInterchangeFormat): Changed to use isCollapsibleWhitespace and removed unnecessary calls to latin1().
  • khtml/editing/htmlediting.cpp: (khtml::isNBSP): Removed unnecessary creation/destruction of QChar each time this is called. (khtml::nextCharacterIsCollapsibleWhitespace): Renamed from isWS and changed to use isCollapsibleWhitespace. (khtml::DeleteSelectionCommand::fixupWhitespace): Use isCollapsibleWhitespace instead of isWS, since we only want to do our NBSP tricks for collapsible whitespace. (khtml::InsertTextCommand::input): Changed use of isTab to instead say == "\t" since that does the same thing and is arguably just as clear. Changed use of isWS to == " " since the input text can't include any "\n" characters, and really a plain old space is the only collapsible thing that can be passed in. Use isCollapsibleWhitespace instead of isWS since we want to do NBSP tricks only for collapsible whitespace, not all whitespace. (khtml::InsertTextCommand::insertSpace): Use isCollapsibleWhitespace instead of isWS since we want to do NBSP tricks only for collapsible whitespace, not all whitespace. (khtml::RebalanceWhitespaceCommand::doApply): Ditto.
  • khtml/xml/dom_position.h: Changed treatNBSPAsWhiteSpace parameters to considerNonCollapsibleWhitespace parameters. The most common callers are only interested in collapsible whitespace, and the smart copy and paste callers want to include all whitespace, including non-breaking spaces and all the Unicode spaces.
  • khtml/xml/dom_position.cpp: (DOM::Position::leadingWhitespacePosition): Rename the parameter, and use either QChar::isSpace or isCollapsibleWhitespace depending on the boolean passed in. (DOM::Position::trailingWhitespacePosition): Ditto.
Note: See TracTimeline for information about the timeline view.