Timeline


and

03/09/05:

20:04 Changeset [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:
19:21 Changeset [8839] by goldsmit
  • 1 edit in trunk/WebKit/WebView.subproj/WebPreferences.m

3997044 Use TECGetWebTextEncodings for default encoding per user language

17:34 Changeset [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.
17:00 Changeset [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:
14:30 Changeset [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 Changeset [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 Changeset [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 Changeset [8833] by darin
  • 2 edits in trunk/WebKit
  • DOM.subproj/DOMPrivate.h: Checked in file copied from WebCore.
10:21 Changeset [8832] by darin
  • 1 edit in trunk/WebKit/ChangeLog

Updated bug number in Richard's change.

03/08/05:

17:06 Changeset [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.
16:23 Changeset [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.
16:08 Changeset [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().
16:00 Changeset [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]):
13:31 Changeset [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 Changeset [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 Changeset [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:
09:42 Changeset [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.

03/07/05:

18:27 Changeset [8823] by rjw
  • 2 edits in trunk/WebKit

More bullet proofing for <rdar://problem/4038304> CrashTracer: ....9 crashes at com.apple.WebKit: -[WebTextRenderer initWithFont:usingPrinterFont:] + 840

Protect against removal of Times and Times New Roman from
system. If these fonts are removed attempt to get system font
instead of FATAL_ALWAYS.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer initWithFont:usingPrinterFont:]):
18:27 Changeset [8822] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Darin.

  • <rdar://problem/4040868> REGRESSION (Mail, 403-403+): Drag and drop deletes text, many other bad editing problems
  • khtml/rendering/render_text.cpp: (RenderText::caretMaxOffset): A "-" should have been a "+" in this method that was tweaked an hour ago. Editing was completely horked.
17:46 Changeset [8821] by rjw
  • 2 edits in trunk/WebCore

Additional nil check from fix for 4040749.

  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
17:38 Changeset [8820] by rjw
  • 2 edits in trunk/WebCore

Additional nil check from fix for 4040749.

  • khtml/rendering/render_layer.cpp: (RenderLayer::updateLayerPosition):
17:30 Changeset [8819] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4033202> REGRESSION (Mail): Can't arrow up at a particular spot in a particular Mail message

Doublecheck that new position is really on a different line, because the VisiblePosition constructor does not.
Filed <rdar://problem/4040763> for that problem.

  • khtml/editing/visible_units.cpp: (khtml::previousLinePosition):
17:11 Changeset [8818] by rjw
  • 3 edits in trunk/WebCore

Fixed <rdar://problem/4040749> REGRESSION (125-178): opacity style not working, breaks fading images on okcupid.com

When layers are dynamically created/removed as a result of changing opacity they weren't being correctly
sized and positioned. This happens whenever opacity goes from < 1 to 1.

Reviewed by Darin.

  • khtml/rendering/render_box.cpp: (RenderBox::setStyle):
  • khtml/rendering/render_layer.cpp: (RenderLayer::updateLayerPosition):
17:05 Changeset [8817]
  • 28 copies
    3 deletes in tags/WebKit-125~5~7

This commit was manufactured by cvs2svn to create tag
'WebKit-125~5~7'.

17:05 Changeset [8816] by adele
  • 2 edits in branches/Safari-1-2-branch/WebKit

versioning for Security Update 2005-003, WebKit-125.5.7

17:00 Changeset [8815] by kali
  • 2 edits in trunk/WebCore
  • fixed handling of min max caret position to take into account the possibility of BIDI text (4016072)
16:24 Changeset [8814] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Ken.

<rdar://problem/4029225> REGRESSION (Mail): Crash if hit return after dragging in attachment - DeleteSelectionCommand::initializePositionData

Work around the fact that the height() of a BR is 0 if there are no text elements on the line, even if there are replaced elements.
Filed <rdar://problem/4040358> RenderBR height() is not accurate.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): When height is 0, double check that the placeholder is the first position on the line.
15:35 Changeset [8813] by vicki
  • 3 edits in trunk

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

15:23 Changeset [8812]
  • 1 copy in tags/Safari-303

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

15:23 Changeset [8811] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (v303)

15:17 Changeset [8810]
  • 1 copy in tags/Safari-403

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

15:17 Changeset [8809] by vicki
  • 6 edits in trunk

Safari-403 stamp

14:36 Changeset [8808] by adele
  • 2 edits in branches/Safari-1-2-branch/WebKit

2005-03-07 Adele Amchan <adele@apple.com>

Reviewed by Darin.

  • Resources/IDNScriptWhiteList.txt: Took out Katakana_Or_Hiragana, since the Panther version of ICU doesn't have this script.
14:04 Changeset [8807] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Vicki

Fix for this bug:

<rdar://problem/4040136> Expose SPI for WebCore's functions to create document fragments from plain text and markup strings

  • kwq/DOMHTML.mm: Add two new SPI functions. (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]) (-[DOMHTMLDocument _createDocumentFragmentWithText:])
  • kwq/DOMPrivate.h: Declare the new SPI here, a privately-exported header, so Mail can make use of it.
13:18 Changeset [8806] by kocienda
  • 3 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/4039676> REGRESSION (Mail): in reply, <cr> on pasted text (without trailing newline) is eaten when pasted above date

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): Code to "eat" a <br> element, that was creating an otherwise empty line, was running when it should not. If the content being pasted in does not end in a "logical" newline itself, then the <br> already in the content needs to be preserved. A simple one-line change now sees to this.
  • layout-tests/editing/pasteboard/paste-text-010-expected.txt: This test now has an extra, but harmless, <br> at the end of a paragraph. This makes sense given the code change.

New test:

  • layout-tests/editing/pasteboard/paste-text-018-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-018.html: Added.
08:19 Changeset [8805] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/4035648> REGRESSION (Mail): line feed in source HTML file causes bad copy/paste behavior

The createMarkup() function in markup.cpp iterates over the nodes in a range,
and does some bookkeeping to figure out when to add close tags to the markup.
Some code added at the start of the loop to prevent markup from being written
for unrendered nodes short-circuited the rest of the loop, and so prevented
the close-tag-writing code from running when it should.

This is why the "plain" text wound up inside of the bold tag in the example
above. The addition of the unrendered return character caused an incorrect
delay in the close tag for the bold element from being written out, with the
result being that it wound up including additional content.

The fix is to add checks for node renderers throughout the loop at the points
where markup is written out for each node. This allows the additional close
tag logic to run as needed.

All layout tests pass with this change.

  • khtml/editing/markup.cpp: (khtml::createMarkup)

New test:

  • layout-tests/editing/pasteboard/paste-4035648-fix-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-4035648-fix.html: Added.

03/06/05:

19:48 Changeset [8804] by darin
  • 2 edits in branches/Safari-1-2-branch/WebKit

Rolled in fix from Tiger for IDN spoofing.

2005-03-06 Darin Adler <darin@apple.com>

  • fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
  • Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array, not "script", which is the script number, not the 32-bit-word index.
19:46 Changeset [8803] by darin
  • 2 edits in trunk/WebKit
  • fixed obvious mistake in IDN script code (luckily it hasn't been in a submission yet!)
  • Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Use "index" to index into the array, not "script", which is the script number, not the 32-bit-word index.
14:33 Changeset [8802] by kali
  • 2 edits in trunk/WebCore
  • fixed text box search code for caret rect to properly account for BIDI text (4038674)
00:03 Changeset [8801] by kali
  • 3 edits in trunk/WebCore
  • fixed problem with searching for BIDI text boxes (3587609)
  • fixed missing initalizer of RTL flag in WebCoreStyle

03/05/05:

19:36 Changeset [8800] by kdecker
  • 5 edits in trunk/WebKit

Reviewed by Darin.

Fixed: <rdar://problem/4038529> Infinite progress bar loading webcams and other sites that use multipart/x-mixed-replace

The previous patch I landed prevented us from loading multipart/x-mixed-replace but did not always update the progress bar accordingly.
This stops websites from having seemingly infinite progress in the browser UI.

  • WebCoreSupport.subproj/WebSubresourceClient.m: (-[WebSubresourceClient didReceiveResponse:]): If this is "multipart/x-mixed-replace", remove the WebBaseResourceHandleDelegate client from the datasource's subresource array, otherwise -[WebDataSource isLoading] incorrectly returns YES. Also it's possible at this point in time we're done loading now (loaded everything else except for the multipart/x-mixed-replace content) so go ahead and check to see if in fact we're complete.
  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveResponse:]): ditto
17:37 Changeset [8799] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/4038417> Mail crashed in StyleChange::checkForLegacyHTMLStyleChange when composing a reply
  • khtml/editing/htmlediting.cpp: (khtml::StyleChange::checkForLegacyHTMLStyleChange): Added missing nil check.
15:35 Changeset [8798] by rjw
  • 2 edits in trunk/WebKit

Fixed panther build problem. Shouldn't include
changes for 3968753 on panther.

Reviewed by John.

  • WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]):
15:20 Changeset [8797] by darin
  • 2 edits in trunk/WebCore

Reviewed by Don.

  • fixed <rdar://problem/4038478> Crash in renderer viewing RSS feed at feed://wvs.topleftpixel.com/index.rdf
  • khtml/xml/dom_docimpl.cpp: (widgetForNode): Check for nil before going from node to renderer.
15:08 Changeset [8796] 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): Added. Helper that sets up an iterator for the passed-in text. Shares a single global iterator (fast, albeit not thread-safe). (RenderText::previousOffset): Changed to call getCharacterBreakIterator. (RenderText::nextOffset): Ditto.
14:40 Changeset [8795] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by Darin

Fix for this bug:

<rdar://problem/4038267> REGRESSION (Mail): Crash copying and pasting end of paragraph

Code to handle content that has a "logical" newline at the end of the pasted content, and the code
to adjust the selection at the end of the paste operation made an assumption that at least one
node had been inserted by the paste command. This is not necessarily true in the case where the sole content
in the pasted content is one of these "logical" newlines. Adjust some code around so that we don't deref
null, but still adjust the selection correctly for this case. In each of the two functions below, some
null checks have been added, and some code has been rearranged a little bit to continue on through
the end of completeHTMLReplacement, even if no nodes have been inserted. The patch looks bigger and more
complicated than the conceptual change.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply) (khtml::ReplaceSelectionCommand::completeHTMLReplacement)
  • layout-tests/editing/pasteboard/paste-4038267-fix-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-4038267-fix.html: Added.
11:20 Changeset [8794] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/4025918> images copied from Safari with relative src URLs aren't pasted into Mail messages (KURL resolves base URLs incorrectly)
  • kwq/KWQKURL.mm: (KURL::KURL): Add a slash at the start of the path if a relative part is adding a path onto a URL that has "pre-path" bits like host name, but no path yet. This doesn't come up for http because in that case we add a trailing "/" as part of canonicalization.
11:17 Changeset [8793] by darin
  • 3 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/4034603> REGRESSION (185-188): RadarWeb can't send enclosures anymore
  • WebView.subproj/WebFormDataStream.m: (closeCurrentStream): Release currentData when closing the stream. (advanceCurrentStream): Set up and retain currentData when the current stream is reading that data, so the data won't be released while in use. (formCreate): Initialize currentData to NULL.
  • fixed <rdar://problem/4037562> Tiger8A402: Help Viewer crashed when viewing help for iChat (infinite recursion in WebView)
  • WebView.subproj/WebView.m: (-[WebView _responderValidateUserInterfaceItem:]): Check for the case where we ourselves are the responder. This avoids an infinite loop. The actual code to perform operations avoids this with a global variable, but this lighter weight solution is sufficient here because validate operations don't call through to the next responder.
07:39 Changeset [8792] by sullivan
  • 1 edit in trunk/WebCore/khtml/editing/htmlediting.cpp

Rolled out a couple of assertion-related changes I accidentally checked in.

Note: See TracTimeline for information about the timeline view.