Timeline



Mar 6, 2005:

7:48 PM Changeset in webkit [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 Adler>

  • 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.
7:46 PM Changeset in webkit [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.
2:33 PM Changeset in webkit [8802] by kali
  • 2 edits in trunk/WebCore
  • fixed text box search code for caret rect to properly account for BIDI text (4038674)
12:03 AM Changeset in webkit [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

Mar 5, 2005:

7:36 PM Changeset in webkit [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
5:37 PM Changeset in webkit [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.
3:35 PM Changeset in webkit [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:]):
3:20 PM Changeset in webkit [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.
3:08 PM Changeset in webkit [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.
2:40 PM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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.
7:39 AM Changeset in webkit [8792] by sullivan
  • 1 edit in trunk/WebCore/khtml/editing/htmlediting.cpp

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

Mar 4, 2005:

7:15 PM Changeset in webkit [8791] by kali
  • 1 edit in trunk/WebCore/khtml/rendering/render_text.cpp
  • forgot to check this in for the previous fix
5:50 PM Changeset in webkit [8790] by sullivan
  • 3 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/4033705> REGRESSION (Mail): Copy/Paste from Excel crashes Mail in KWQKHTMLPart::fontForSelection(bool*) const + 232
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForSelection): Check for nil startNode, not just nil renderer.
5:33 PM Changeset in webkit [8789] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/3968753> REGRESSION: Poor performance with differing multiple animated GIFs (was fast in Panther)

Disable coalesced updates (in CG). This restores the
panther behavior.

Reviewed by David Harrison.

  • WebView.subproj/WebView.m: (-[WebView _commonInitializationWithFrameName:groupName:]):
5:28 PM Changeset in webkit [8788] by adele
  • 2 edits in trunk/WebKit

Reviewed by Darin.

  • English.lproj/StringsNotToBeLocalized.txt: added new strings "text/x-vcf" and "text/x-csv" to the list
5:17 PM Changeset in webkit [8787] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Ken, Richard.

<rdar://problem/3996383> REGRESSION (Mail): Deleting all of first line also deletes line ending

Problem was the placeholder check was based on 0 height block, but the block in this
case is the BODY, which has other content even though the paragraph is gone.

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::insertBlockPlaceholder): Now does insert instead of append!

(khtml::CompositeEditCommand::appendBlockPlaceholder):
New. Actually does append.

(khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded):
Renamed from insertBlockPlaceholderIfNeeded because it can insert or append. Also accepts "force insert" flag.

(khtml::CompositeEditCommand::removeBlockPlaceholder):
Renamed for succinctness from removeBlockPlaceholderIfNeeded.

(khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent):
(khtml::DeleteSelectionCommand::moveNodesAfterNode):
Use renamed methods.

(khtml::DeleteSelectionCommand::doApply):
Use addBlockPlaceholderIfNeeded "force insert" flag if deleting whole paragraphs did not leave an empty one.

(khtml::InsertParagraphSeparatorCommand::doApply):
(khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply):
(khtml::InsertTextCommand::input):
Use renamed methods.

  • khtml/editing/htmlediting.h: Renamed and new methods per above.
5:02 PM Changeset in webkit [8786] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4032840> REGRESSION (Mail): crash in RemoveNodeCommand after pasting attachment at end of message

Reviewed by darin.

  • khtml/editing/visible_units.cpp: (khtml::endOfParagraph): don't consider text nodes that have no rendered characters
4:02 PM Changeset in webkit [8785] by adele
  • 2 edits in trunk/WebKit

Reviewed by Chris.

Fix for <rdar://problem/4032982> Sun iPlanet app: not able to import AddressBook CSV format addresses properly
Fix for <rdar://problem/4032985> Sun iPlanet app: not able to import vCard format addresses properly

  • WebView.subproj/WebTextView.m: (+[WebTextView unsupportedTextMIMETypes]): added "text/x-csv" and "text/x-vcf" to the list of MIME types that our text view doesn't handle
3:59 PM Changeset in webkit [8784] by rjw
  • 4 edits in trunk/WebCore

Fixed <rdar://problem/4034764> REGRESSION(125-188)Viewing text/plain page and going back/forward corrupts HTML pages (google.com)

The parse mode wasn't be restored to the document when going
back.

Reviewed by Hyatt.

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::openURLFromPageCache):
  • kwq/KWQPageState.h:
  • kwq/KWQPageState.mm: (-[KWQPageState initWithDocument:URL:windowProperties:locationProperties:interpreterBuiltins:]):
2:47 PM Changeset in webkit [8783] by darin
  • 3 edits in branches/Safari-1-2-branch/WebKit

Rolled in changes from Tiger for IDN spoofing.

2005-03-04 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
  • Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Added. Reads file and parses script names. (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession. (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense. Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of containsPossibleLatinLookalikes.
  • Resources/IDNScriptWhiteList.txt: Added.
  • WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
  • Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

2005-02-21 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/4016358> don't ever display IDN URLs with characters from "possible Latin look-alike" scripts
  • Misc.subproj/WebNSURLExtras.m: (containsPossibleLatinLookalikes): Added. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call containsPossibleLatinLookalikes, and if true, don't decode the host name.
2:47 PM Changeset in webkit [8782] by kocienda
  • 2 edits in trunk

Reviewed by me

  • layout-tests/editing/style/create-block-for-style-012-expected.txt: Shame on me! I landed my last fix without running layout tests. This one changes in a subtle, but acceptable way.
2:32 PM Changeset in webkit [8781] by kocienda
  • 6 edits in trunk/WebCore

Reviewed by Harrison

Fix for this bug:

<rdar://problem/4032543> REGRESSION (Mail): Mail hangs when quoted text is pasted twice

This code change fixes the bug in a non-obvious way. The root cause of the problem was
that a VisiblePosition created using an affinity originating in Mail code caused
two VisiblePosition objects that should have been equal to differ only in their
affinities, which in turn caused us to run a code path that should not have run.

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::VisiblePosition): Added copy constructor. (khtml::VisiblePosition::next): Factored out inline code that used to be here into new setAffinityUsingLinePosition() function. (khtml::isEqualIgnoringAffinity): New helper to handle cases when affinity in equality check does not matter. However, we want to know about such cases where a VisiblePosition differs only by affinity, and the code will assert in development when this happens. (khtml::isNotEqualIgnoringAffinity): Ditto, but not. :) (khtml::setAffinityUsingLinePosition): New helper function mentioned above. This will "correct" upstream affinity to downstream if the affinity does not make a difference for the position.
  • khtml/editing/visible_position.h:
  • khtml/editing/visible_range.h: Wacky bug. The operator== for this class took VisiblePosition classes!
  • khtml/editing/visible_units.cpp: (khtml::isStartOfParagraph): Now performs equality check without regard to affinity. (khtml::isEndOfParagraph): Ditto. (khtml::isStartOfBlock): Ditto. (khtml::isEndOfBlock): Ditto.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setSelectedDOMRange:affinity:]): Adjusts the affinity using setAffinityUsingLinePosition() if necessary.
2:24 PM Changeset in webkit [8780] by darin
  • 7 edits in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
  • khtml/editing/htmlediting.h: Added insertTextRunWithoutNewlines.
  • khtml/editing/htmlediting.cpp: (khtml::InsertTextCommand::input): Added assertion to make sure strings with newlines don't get down to this level. (khtml::TypingCommand::insertText): Added. Takes the name of the old function, but is a new level that breaks runs into lines and inserts each one separately. (khtml::TypingCommand::insertTextRunWithoutNewlines): Renamed old insertText to this.
  • khtml/dom/dom_string.h: Made substring be a const member function.
  • khtml/dom/dom_string.cpp: (DOM::DOMString::substring): Made this const.

WebKit:

Reviewed by John.

  • fixed <rdar://problem/4036817> REGRESSION: ctrl-y broken when a line + carriage return cut
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Merged _handleKillRing behavior into this function, since there's now a more-complicated way the startNewKillRingSequence boolean needs to be handled. Set the startNewKillRingSequence boolean after the entire process so changing the selection before and during the editing dosn't clear it. Also change "isTypingAction" parameter to "deletionAction" so we can handle forward delete with this method. (-[WebHTMLView _deleteSelection]): Pass deleteSelectionAction for action rather than NO for isTypingAction, which is the way to say the same thing using the new parameter. (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Refactor to use the _deleteRange method above. Also calls _shouldDeleteRange: for the pre-existing selection case; not doing that before was a bug. (-[WebHTMLView deleteToMark:]): Pass deleteSelectionAction for action rather than NO for isTypingAction, which is the way to say the same thing using the new parameter.
11:37 AM Changeset in webkit [8779] by darin
  • 5 edits in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
  • khtml/css/css_valueimpl.cpp: (DOM::isLegalIdentifier): Added. Commented out and not used. (DOM::quoteStringIfNeeded): Quotes the string if needed. For now only if it starts with "#". (DOM::CSSPrimitiveValueImpl::cssText): Call quoteStringIfNeeded when asked for cssText for an arbitrary string, since we need text you can re-parse. (DOM::FontFamilyValueImpl::cssText): Ditto.
  • khtml/editing/markup.cpp: (khtml::startMarkup): Added comments about lack of quoting for attributes. (khtml::createMarkup): Ditto.

WebKit:

Reviewed by John.

  • fixed <rdar://problem/4020413> REGRESSION (Mail): can't use fonts with names that start with "#" in Mail (Korean fonts)
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Quote font name when calling setFontFamily. (-[WebHTMLView _addToStyle:fontA:fontB:]): Ditto.
11:16 AM Changeset in webkit [8778] by adele
  • 2 edits in trunk/WebCore

Reviewed by Maciej

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

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::scriptHandler): set flag needToRefCachedScript so we can make sure notifyFinished is called after pendingSrc is set up with the right data from the cached script
9:54 AM Changeset in webkit [8777]
  • 1 copy in branches/Safari-1-2-branch/WebKit/Resources/IDNScriptWhiteList.txt

This commit was manufactured by cvs2svn to create branch
'Safari-1-2-branch'.

9:54 AM Changeset in webkit [8776] by darin
  • 4 edits
    1 add
    1 delete in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3965666> IDN spoofing vulnerability caused by Unicode characters that look like ASCII characters
  • Misc.subproj/WebNSURLExtras.m: (readIDNScriptWhiteListFile): Added. Reads file and parses script names. (readIDNScriptWhiteList): Added. Calls readIDNScriptWhiteList on each of the white list locations in succession. (allCharactersInIDNScriptWhiteList): Renamed from containsPossibleLatinLookalikes and changed sense. Now calls readIDNScriptWhiteList first time, and then uses the read-in list to check the scripts. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Call allCharactersInIDNScriptWhiteList instead of containsPossibleLatinLookalikes.
  • Resources/IDNScriptWhiteList.txt: Added.
  • WebKit.pbproj/project.pbxproj: Added IDNScriptWhiteList.txt file.
  • Misc.subproj/WebKitLocalizableStrings.m: Removed. This is simply unused.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
9:37 AM Changeset in webkit [8775] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3937667> REGRESSION (Mail): Zooming a window from titlebar button doesn't paint newly-exposed portions of window
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _recursiveDisplayAllDirtyWithLockFocus:visRect:]): Re-set-up the visRect if the bounds changes due to layout.
9:18 AM Changeset in webkit [8774] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

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

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): VisiblePosition constructor was failing to yield a position for a node just pasted into the document since a layout was needed for the calculation to come out right. Layout added. Crash gone.
12:58 AM Changeset in webkit [8773] by kali
  • 1 edit in trunk/WebCore/khtml/rendering/render_text.cpp
  • made RenderText::caretRect handle BIDI text correctly in its calculations (3587614)

Mar 3, 2005:

11:45 PM Changeset in webkit [8772] by vicki
  • 3 edits in trunk

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

11:38 PM Changeset in webkit [8771]
  • 1 copy in tags/Safari-302

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

11:38 PM Changeset in webkit [8770] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (v302)

11:29 PM Changeset in webkit [8769]
  • 1 copy in tags/Safari-402

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

11:29 PM Changeset in webkit [8768] by vicki
  • 6 edits in trunk

Safari-402 stamp

5:22 PM Changeset in webkit [8767] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/3992803> Cannot navigate through list items with the keyboard, you're stuck in the same <li> block unless you click out

Reviewed by harrison.

  • khtml/rendering/render_line.cpp: (khtml::RootInlineBox::closestLeafChildForXPos): avoid returning list markers when possible. Also improved heuristic for returning the best InlineBox given the passed X position.
4:05 PM Changeset in webkit [8766] by jens
  • 2 edits in trunk/WebKit

<rdar://problem/3991818> REGRESSION: Images scale while loading

3:54 PM Changeset in webkit [8765] by hyatt
  • 2 edits in trunk/WebKit

Fix for 3841186, scrollbar shows up disabled when it should not appear at all. Make sure updateScrollers
is never allowed to be re-entrant from any call point by moving the guard inside the function itself.

Reviewed by John Sullivan

  • WebView.subproj/WebDynamicScrollBarsView.m: (-[WebDynamicScrollBarsView updateScrollers]): (-[WebDynamicScrollBarsView reflectScrolledClipView:]):
3:08 PM Changeset in webkit [8764] by kocienda
  • 4 edits in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/4035198> Pasting text with different styles does not get reproducible results

I had a good idea yesterday to improve the way we "fixup" styles after
pasting, but i chose a poor data structure to do it, a map of
nodes-to-styles. In the fixup step, I iterated over the map elements and
did the fixup. However, since the order in which the items would come
out of the map is indeterminate, we got unpredictable results.

So, the concept was good, but the implementation was flawed. I have
fixed this mapping to be a list instead, so the order that nodes are
evaluated in the fixup step is document order. This works nicely.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::~ReplacementFragment): No longer need to explicity deref nodes and styles saved away for later fixup. This is now handled by the new NodeDesiredStyle class. (khtml::ReplacementFragment::computeStylesUsingTestRendering): Now calls computeAndStoreNodeDesiredStyle, function renamed from mapDesiredStyleForNode. Now accepts a QValueList<NodeDesiredStyle> in place of the old map. (khtml::NodeDesiredStyle::NodeDesiredStyle): New class that represents a node-to-style mapping. (khtml::NodeDesiredStyle::~NodeDesiredStyle): Ditto. (khtml::NodeDesiredStyle::operator=): Ditto. (khtml::ReplaceSelectionCommand::doApply): Now calls computeAndStoreNodeDesiredStyle, function renamed from mapDesiredStyleForNode. (khtml::ReplaceSelectionCommand::fixupNodeStyles): Now operates on a QValueList<NodeDesiredStyle> in place of the old map. (khtml::computeAndStoreNodeDesiredStyle): Renamed from mapDesiredStyleForNode. Now operates on a QValueList<NodeDesiredStyle> in place of the old map.
  • khtml/editing/htmlediting.h: (khtml::NodeDesiredStyle): New class that represents a node-to-style mapping. (khtml::ReplacementFragment::desiredStyles): Now returns a QValueList<NodeDesiredStyle> in place of the old map.
  • layout-tests/editing/style/typing-style-003-expected.txt: Results changed in an acceptable way.

Mar 2, 2005:

5:13 PM Changeset in webkit [8763] by cblu
  • 3 edits in trunk/WebKit

Fixed: <rdar://problem/4029010> Expose method to retrieve drag image for WebView's selection

Reviewed by sullivan.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _startDraggingImage:at:operation:event:sourceIsDHTML:DHTMLWroteData:]): call _selectionDraggingImage (-[WebHTMLView _selectionDraggingImage]): new SPI for Mail, factored from previous method (-[WebHTMLView _selectionDraggingRect]): new SPI for Mail
  • WebView.subproj/WebHTMLViewPrivate.h:
5:12 PM Changeset in webkit [8762] by darin
  • 3 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/4029741> REGRESSION (188-189): <input type=text> are cleared when you hide/show them
  • khtml/html/html_formimpl.h: Added detach functions for both input and text area elements, since both have m_valueMatchesRenderer flags.
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::detach): Set m_valueMatchesRenderer to false, since the renderer is going away. (DOM::HTMLTextAreaElementImpl::detach): Ditto.
5:00 PM Changeset in webkit [8761] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4006151> in reply, caret moves to next line after toggling bold style then typing

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyInlineStyle): Defer cleaning up empty style until the end of the function. In some situations, the render tree can get confused when we do this removal up front. I wish I understood the reasons more deeply, but this bit of code shuffling seems harmless, and fixes the bug.
4:59 PM Changeset in webkit [8760] by darin
  • 2 edits in trunk/WebCore/khtml/html

Roll out two files I just checked in by accident.

4:58 PM Changeset in webkit [8759] by darin
  • 9 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/4024966> crash happened twice in [KWQTextField setHasFocus:] + 0xe8

Added more nil checks to the widget implementations. Anywhere a widget pointer is used, do a nil check,
rather than relying on high level assumptions about which calls can and can't destroy the HTML element
(and hence the widget). The case in the bug seems to be a case where scrolling destroyed the element.
We can't be sure this fixes the bug, but we can be relatively sure we didn't introduce any new problems,
because this just avoids nil-dereferencing.

  • kwq/KWQButton.mm: (-[KWQButton becomeFirstResponder]): (-[KWQButton nextKeyView]): (-[KWQButton previousKeyView]):
  • kwq/KWQListBox.mm: (-[KWQTableView mouseDown:]): (-[KWQTableView becomeFirstResponder]): (-[KWQTableView numberOfRowsInTableView:]): (-[KWQTableView tableViewSelectionDidChange:]): (-[KWQTableView tableView:shouldSelectRow:]): (-[KWQTableView selectionShouldChangeInTableView:]):
  • kwq/KWQScrollBar.mm: (-[KWQScrollBar scroll:]):
  • kwq/KWQSlider.mm: (-[KWQSlider mouseDown:]): (-[KWQSlider slide:]): (-[KWQSlider becomeFirstResponder]): (-[KWQSlider nextKeyView]): (-[KWQSlider previousKeyView]):
  • kwq/KWQTextArea.mm: (-[KWQTextAreaTextView becomeFirstResponder]): (-[KWQTextAreaTextView resignFirstResponder]): (-[KWQTextAreaTextView mouseDown:]):
  • kwq/KWQTextField.mm: (-[KWQTextFieldController action:]): (-[KWQTextFieldController controlTextDidEndEditing:]): (-[KWQTextFieldController controlTextDidChange:]): (-[KWQTextFieldController textView:didHandleEvent:]): (-[KWQTextFieldController setHasFocus:]):
4:38 PM Changeset in webkit [8758] by rjw
  • 3 edits in trunk/WebCore

Fixed <rdar://problem/4031483> Leak (RenderObject::createInlineBox) reproducible with Stock widget

We were leaking inline block line boxes. Argh!

Reviewed by Hyatt.

  • khtml/rendering/render_flow.cpp: (RenderFlow::dirtyLineBoxes):
  • khtml/rendering/render_line.cpp: (khtml::InlineBox::deleteLine):
4:31 PM Changeset in webkit [8757] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/3976872> REGRESSION (Mail): Pasted plain text doesn't get the proper style if pasted into newlines

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::EditCommand::styleAtPosition): new, factored out from calculateStyleBeforeInsertion (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): call styleAtPosition (khtml::ReplaceSelectionCommand::ReplaceSelectionCommand): clear new m_insertionStyle ivar (khtml::ReplaceSelectionCommand::~ReplaceSelectionCommand): deref new m_insertionStyle ivar (khtml::ReplaceSelectionCommand::doApply): store the style so it later be applied when matching style (khtml::ReplaceSelectionCommand::completeHTMLReplacement): apply style from m_insertionStyle when matching style
  • khtml/editing/htmlediting.h:
4:30 PM Changeset in webkit [8756] by mjs
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4031718> REGRESSION (401-401+): Safari reproducible crash setting up scope in JSLazyEventListener::parseCode authenticating to bugweb

  • khtml/ecma/kjs_events.cpp: (JSLazyEventListener::parseCode): If originalNode is NULL, don't mess with the scope chain.
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseHTMLAttribute): For handlers that are delcared on body but set on the document, pass NULL to avoid swizzling the scope chain. It turns out that this is what browsers do, and it finesses the crash.
4:10 PM Changeset in webkit [8755] by sullivan
  • 4 edits in trunk/WebKit

Reviewed by Adele.

  • fixed <rdar://problem/4023337> Safari stops loading any page (-[NSCFDictionary setObject:forKey:]: attempt to insert nil key)

It is very likely that the exception being hit is caused by the same problem as WebFoundation
bug 4018486. This change makes the code robust against this kind of problem regardless.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate saveResource]): Don't call addSubresource if newly-created resource is nil (but do assert on debug builds). Also assert that originalURL and MIMEType are not nil.
  • WebView.subproj/WebDataSource.m: (-[WebDataSource addSubresource:]): Don't add nil subresource to dictionary, but do assert on debug builds.
2:59 PM Changeset in webkit [8754] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Ken.

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

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply):
2:05 PM Changeset in webkit [8753] by rjw
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Fixed comment in ChangeLog.

12:58 PM Changeset in webkit [8752] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4020574> REGRESSION (Mail): copy/paste first part of reply-quoted text alters downstream style

The problem was that the operation to move nodes following the newly-pasted nodes did not preserve the
style of these moved nodes. I have generalized some of the functions that compute and preserve styles
for nodes and then apply these styles after a DOM operation.

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::~ReplacementFragment): Call new derefNodesAndStylesInMap() helper function in place of old code that had this deref'ing inline. (khtml::ReplacementFragment::computeStylesUsingTestRendering): Now calls new mapDesiredStyleForNode() helper function place of old code that had this style computation inline. (khtml::ReplacementFragment::removeStyleNodes): Updated comment for new helper name. (khtml::ReplaceSelectionCommand::doApply): Now calls new helpers in place of helpers whose names were changed, or in place of pre-refactored inline code. (khtml::ReplaceSelectionCommand::fixupNodeStyles): Renamed from applyStyleToInsertedNodes(). Now generalized to take the map of nodes to use for the fixup. This makes it possible to call this code with different maps, and that is needed to fix the bug. (khtml::mapDesiredStyleForNode): New helper function to compute the inheritable styles for a given node and map this style to the given node in the given map. This function now also includes the code that was in the removeBlockquoteColorsIfNeeded(). This latter helper has now been removed. (khtml::derefNodesAndStylesInMap): Simple helper to deref map members.
  • khtml/editing/htmlediting.h: (khtml::ReplacementFragment::desiredStyles): New helper to return map of nodes-to-desiredStyles.
11:52 AM Changeset in webkit [8751] by vicki
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

move changes for rdar://problem/4003774 and rdar://problem/3990258 above the Safari-401 release marker -- neither of these changes are included in Safari-401

9:12 AM Changeset in webkit [8750] by kocienda
  • 16 edits in trunk

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4011358> REGRESSION(Mail): after dragging text to mail message and deleting, typing or dragging new text doesn't work

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::isCandidate): Insertion point disappearing was due to a failed check here after deleting all the content in the body element. The special "empty block" needs to add check for DOM children. A block may have straggling anonymous render children in
some cases, and so the check needs to be (!DOM-kids
!render-kids).

Also, I botched the last checkin trying to split these two patches in my tree. Wrong layout tests
got checked in, I checked in a conflict marker in the Changelog, etc. I fixed everything with this checkin.

9:08 AM Changeset in webkit [8749] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4011358> REGRESSION(Mail): after dragging text to mail message and deleting, typing or dragging new text doesn't work

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::isCandidate): Insertion point disappearing was due to a failed check here after deleting all the content in the body element. The special "empty block" needs to add check for DOM children. A block may have straggling anonymous render children in
some cases, and so the check needs to be (!DOM-kids
!render-kids).
9:04 AM Changeset in webkit [8748] by kocienda
  • 2 edits
    2 adds in trunk

2005-03-01 Ken Kocienda <kocienda@apple.com>

Reviewed by Maciej

Improved fix for this bug:

<rdar://problem/3996605> Insert paragraph command puts new block in wrong place, creating difficult-to-handle HTML

Maciej and I discussed this situation at length, and we came up with a better fix than I did earlier.

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorCommand::doApply): Simplify one special case so that it only handles the "last in block" situation. Remove special case for "downstream node is in different block" and handle this case with a little bit of special code in the general insertion case.

Results studied to make sure there were no problems.

  • layout-tests/editing/deleting/delete-3959464-fix-expected.txt
  • layout-tests/editing/inserting/insert-div-001-expected.txt
  • layout-tests/editing/inserting/insert-div-002-expected.txt
  • layout-tests/editing/inserting/insert-div-004-expected.txt
  • layout-tests/editing/inserting/insert-div-005-expected.txt
  • layout-tests/editing/inserting/insert-div-009-expected.txt
  • layout-tests/editing/inserting/insert-div-014-expected.txt
  • layout-tests/editing/inserting/insert-div-018-expected.txt
  • layout-tests/editing/inserting/insert-div-024-expected.txt
  • layout-tests/editing/pasteboard/paste-text-011-expected.txt
  • layout-tests/editing/pasteboard/paste-text-013-expected.txt
  • layout-tests/editing/pasteboard/paste-text-015-expected.txt
  • layout-tests/editing/style/block-style-004-expected.txt
  • layout-tests/editing/style/block-style-005-expected.txt
  • layout-tests/editing/style/block-style-006-expected.txt

New test:

  • layout-tests/editing/inserting/insert-div-027.html
  • layout-tests/editing/inserting/insert-div-027-expected.txt
Note: See TracTimeline for information about the timeline view.