⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Mar 24, 2005:

4:14 PM Changeset in webkit [8978] by vicki
  • 3 edits in trunk

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

4:05 PM Changeset in webkit [8977]
  • 1 copy in tags/Safari-312

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

4:05 PM Changeset in webkit [8976] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (312)

3:59 PM Changeset in webkit [8975]
  • 1 copy in tags/Safari-412

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

3:59 PM Changeset in webkit [8974] by vicki
  • 6 edits in trunk

Safari-412 stamp

2:58 PM Changeset in webkit [8973] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4052683> After adding/removing stocks from Stocks Widget, stock areas went blank

The request was being collected before firing it's load handler.
We now gc protect the request while it's loading.

Reviewed by Maciej.

  • khtml/ecma/xmlhttprequest.cpp: (KJS::XMLHttpRequest::send): (KJS::XMLHttpRequest::abort): (KJS::XMLHttpRequest::slotFinished): (KJS::XMLHttpRequestProtoFunc::tryCall):

Mar 23, 2005:

7:39 PM Changeset in webkit [8972] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (411+)

7:31 PM Changeset in webkit [8971]
  • 1 copy in tags/Safari-311

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

7:31 PM Changeset in webkit [8970] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (311)

7:24 PM Changeset in webkit [8969]
  • 1 copy in tags/Safari-411

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

7:24 PM Changeset in webkit [8968] by vicki
  • 6 edits in trunk

Safari-411 stamp

7:03 PM Changeset in webkit [8967] by rjw
  • 2 edits in trunk/WebKit

Use Patti Yeh's hack to determine the appropriate rectangle
to place the "associated word" window.
If there is no marked text firstRectForCharacterRange: will
use the selected range to determine the returned rectangle,
ignoring the input range. This is the fix from
4029491 that I previously backed out.

Reviewed by Vicki.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView firstRectForCharacterRange:]):
5:47 PM Changeset in webkit [8966] by rjw
  • 2 edits in trunk/WebCore

Further fix for 4053515.

Covered cases where text position doesn't lie inside a
text node.

Reviewed by Richard.

  • khtml/editing/visible_text.cpp: (khtml::TextIterator::setRangeFromLocationAndLength):
3:55 PM Changeset in webkit [8965] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/4062490> REGRESSION (WebKit-408): no subresources reported in Activity window after going back at hrweb.apple.com

Stop collecting subresource responses after the document
had loaded, not after it has been opened.

Reviewed by Chris.

  • WebView.subproj/WebFrame.m: (-[WebFrame _setState:]): (-[WebFrame _opened]):
2:09 PM Changeset in webkit [8964] by mjs
  • 6 edits
    2 adds in trunk/WebKit

WebKit:

Reviewed by Darin.

<rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy

  • Plugins.subproj/WebPluginContainerCheck.h: Added.
  • Plugins.subproj/WebPluginContainerCheck.m: Added this new helper class to encapsulate an async plugin navigation check. (+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:]): Convenience allocator that gives autoreleased value. (-[WebPluginContainerCheck initWithRequest:target:resultObject:selector:controller:]): Initializer. (-[WebPluginContainerCheck finalize]): Just assert that we're done, it would be bad to deallocate this object while request is still outstanding. (-[WebPluginContainerCheck dealloc]): Ditto. (-[WebPluginContainerCheck _continueWithPolicy:]): Method to continue after async policy check. (-[WebPluginContainerCheck _isDisallowedFileLoad]): Do "file: URL from remote content" check. (-[WebPluginContainerCheck _actionInformationWithURL:]): Helper to make action dictionary. (-[WebPluginContainerCheck _askPolicyDelegate]): Call policy delegate to let the app decide if this load is allowed. (-[WebPluginContainerCheck start]): Start the check. (-[WebPluginContainerCheck cancel]): Cancel a check in progress.
  • Plugins.subproj/WebPluginController.h:
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController initWithDocumentView:]): Initialize new _checksInProgress field. (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]): Implement this new SPI method. (-[WebPluginController _cancelOutstandingChecks]): New helper to make sure to cancel all outstanding requests when destroying all plugins. (-[WebPluginController destroyAllPlugins]): Call above helper. (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): Implement this new plug-in SPI method. (-[WebPluginController bridge]): New helper method. (-[WebPluginController webView]): New helper method.
  • WebView.subproj/WebPolicyDelegatePrivate.h: Add new navigation type WebNavigationTypePlugInRequest.
  • WebKit.pbproj/project.pbxproj: Add new files.
  • WebView.subproj/WebDefaultPolicyDelegate.m: (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]): Don't open externally on a plug-in request.

WebBrowser:

Reviewed by Darin.

<rdar://problem/4051145> The QuickTime Cocoa plug-in needs an SPI that it can call to check for URL policy

  • BrowserWebController.m: (-[BrowserWebView decidePolicyForAction:request:frame:newFrameName:decisionListener:]): In case this is a plugin load request, accept it early to avoid throwing up UI or causing external loads.
11:49 AM Changeset in webkit [8963] by rjw
  • 7 edits in trunk

WebCore:

Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews

We now use actual document NSRanges to represent both marked text
ranges and selection ranges.

Reviewed by Ken.

  • khtml/editing/visible_text.cpp: (khtml::TextIterator::rangeLength): (khtml::TextIterator::setRangeFromLocationAndLength):
  • khtml/editing/visible_text.h:
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge convertToNSRange:DOM::]): (-[WebCoreBridge DOM::convertToDOMRange:]): (-[WebCoreBridge selectNSRange:]): (-[WebCoreBridge markedTextDOMRange]): (-[WebCoreBridge markedTextNSRange]):

WebKit:

Fixed <rdar://problem/4053515> REGRESSION (Mail): Kotoeri input method reconversion does not work in WebViews

We now use actual document NSRanges to represent both marked text
ranges and selection ranges.

Reviewed by Ken Kocienda.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView validAttributesForMarkedText]): (-[WebHTMLView firstRectForCharacterRange:]): (-[WebHTMLView selectedRange]): (-[WebHTMLView markedRange]): (-[WebHTMLView _selectMarkedText]): (-[WebHTMLView setMarkedText:selectedRange:]):

Mar 22, 2005:

6:42 PM Changeset in webkit [8962] by kdecker
  • 3 edits in trunk/WebCore

Reviewed by Vicki.

Fixed <rdar://problem/4062336> REGRESSION (406-407): HTML submenus not working at hrweb.apple.com after going back

Rolled out the fix for <rdar://problem/4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken

We clearly need a better solution to 4041374. We can't indiscriminately remove event listeners in closeURL() after-all. Since event listeners are registered in a <script> tag, which is evaluated and executed at page load time, this becomes a problem since we don't reevaluate a page's <script> that is in the back/forward cache. Thus once you leave the page, the listeners are gone for good. This is the problem.

  • khtml/khtml_part.cpp: (KHTMLPart::closeURL):
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::detach):
6:03 PM Changeset in webkit [8961]
  • 3 copies in tags/Safari-410

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

6:03 PM Changeset in webkit [8960]
  • 3 copies in tags/Safari-310

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

6:03 PM Changeset in webkit [8959] by vicki
  • 2 edits in trunk/WebCore
  • roll the fix for <rdar://problem/4060266> back in, since its now approved by CCC (and move the Safari-410 release marker)
  • khtml/editing/visible_text.cpp: (khtml::TextIterator::handleTextBox):
5:50 PM Changeset in webkit [8958] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (410+)

5:45 PM Changeset in webkit [8957] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (310)

5:39 PM Changeset in webkit [8956] by vicki
  • 6 edits in trunk

Safari-410 stamp

5:32 PM Changeset in webkit [8955] by vicki
  • 2 edits in trunk/WebCore
  • roll out the fix for <rdar://problem/4060266> since it was denied by CCC
  • khtml/editing/visible_text.cpp: (khtml::TextIterator::handleTextBox):
2:12 PM Changeset in webkit [8954] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4060266> Double-clicking in Dictionary.app doesn't work for some words (coming just after style change)

  • khtml/editing/visible_text.cpp: (khtml::TextIterator::handleTextBox): Complete the check of whether to emit space for collapsed space.
9:59 AM Changeset in webkit [8953] by harrison
  • 2 edits in trunk/WebCore

Reviewed by John.

<rdar://problem/4061443> REGRESSION (8A420-8A421): Pasting in the Stickies widget is broken again

  • khtml/editing/htmlediting.cpp: (khtml::positionBeforeContainingSpecialElement): (khtml::positionAfterContainingSpecialElement): Return unchanged Position rather than a null or non-editable one.
5:10 AM Changeset in webkit [8952] by darin
  • 2 edits in trunk/WebKit
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.

Mar 20, 2005:

7:18 PM Changeset in webkit [8951] by vicki
  • 3 edits in trunk

Versioning for TOT, Safari 2.0 (409+).
The tree is open!

7:12 PM Changeset in webkit [8950]
  • 1 copy in tags/Safari-309

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

7:12 PM Changeset in webkit [8949] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (309)

7:06 PM Changeset in webkit [8948]
  • 1 copy in tags/Safari-409

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

7:06 PM Changeset in webkit [8947] by vicki
  • 6 edits in trunk

Safari-409 stamp

4:33 PM Changeset in webkit [8946] by kocienda
  • 3 edits
    10 adds in trunk

Reviewed by me

I made an error in this test earlier. It was not testing what I intended. Fixed.

  • layout-tests/editing/unsupported-content/list-delete-001-expected.txt
  • layout-tests/editing/unsupported-content/list-delete-001.html

New tests:

  • layout-tests/editing/unsupported-content/table-delete-001-expected.txt: Added.
  • layout-tests/editing/unsupported-content/table-delete-001.html: Added.
  • layout-tests/editing/unsupported-content/table-delete-002-expected.txt: Added.
  • layout-tests/editing/unsupported-content/table-delete-002.html: Added.
  • layout-tests/editing/unsupported-content/table-delete-003-expected.txt: Added.
  • layout-tests/editing/unsupported-content/table-delete-003.html: Added.
  • layout-tests/editing/unsupported-content/table-type-after-expected.txt: Added.
  • layout-tests/editing/unsupported-content/table-type-after.html: Added.
  • layout-tests/editing/unsupported-content/table-type-before-expected.txt: Added.
  • layout-tests/editing/unsupported-content/table-type-before.html: Added.
4:27 PM Changeset in webkit [8945] by mjs
  • 3 edits
    1 add in trunk/WebKit

Reviewed by Darin.

<rdar://problem/4060020> Add stub version of security SPI for QuickTime plug-in so QuickTime team has something to compile and link against

  • Plugins.subproj/WebPluginContainerPrivate.h: Added.
  • Plugins.subproj/WebPluginController.m: (-[WebPluginController _webPluginContainerCheckIfAllowedToLoadRequest:inFrame:resultObject:selector:]): (-[WebPluginController _webPluginContainerCancelCheckIfAllowedToLoadRequest:]):
  • WebKit.pbproj/project.pbxproj:
3:48 PM Changeset in webkit [8944] by darin
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/3923903> REGRESSION (164-165): Repro Safari crash in khtml::RenderLayer::scrollToOffset
  • khtml/rendering/render_layer.cpp: (RenderLayer::scrollToOffset): Check canvas for nil.
1:31 PM Changeset in webkit [8943] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4055127> Dictionary pop-up panel misplaced at beginning of text blocks (breaks double-clicking in Dictionary.app)

SimplifiedBackwardsTextIterator::advance() needed to not limit to textnodes
when checking whether moving back across block boundaries

VisibleUnits previousBoundary() needed to INIT_DOWN when creating result VisiblePosition

All editing tests pass.

  • khtml/editing/visible_text.cpp: (khtml::SimplifiedBackwardsTextIterator::advance):
  • khtml/editing/visible_units.cpp: (khtml::previousBoundary):
1:18 PM Changeset in webkit [8942] by darin
  • 4 edits in trunk/WebCore

Reviewed by Harrison.

  • fixed <rdar://problem/4059914> when you select all of a frame's content, need to select the frame in the parent document so it can be easily deleted
  • khtml/khtml_part.h: Added selectFrameElementInParentIfFullySelected.
  • khtml/khtml_part.cpp: (isFrame): Added. (KHTMLPart::setFocusNodeIfNeeded): Changed to not set focus to a frame; was not what this function was intended to do, and caused trouble when trying to select a frame element. (KHTMLPart::khtmlMouseReleaseEvent): Call selectFrameElementInParentIfFullySelected. (KHTMLPart::selectAll): Call selectFrameElementInParentIfFullySelected. (KHTMLPart::selectFrameElementInParentIfFullySelected): Added. Selects the frame element in the parent if a frame is entirely selected, which makes it easier to delete or replace the frame and is consistent with the changes Maciej made recently for other elements.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge alterCurrentSelection:direction:granularity:]): Call selectFrameElementInParentIfFullySelected. (-[WebCoreBridge alterCurrentSelection:verticalDistance:]): Call selectFrameElementInParentIfFullySelected.
12:19 PM Changeset in webkit [8941] by darin
  • 2 edits in trunk/WebCore

Reviewed by me, code change by Ken.

  • fixed <rdar://problem/4059852> Deleting from first element of list makes content jump to wrong place
  • khtml/editing/htmlediting.cpp: (khtml::isListStructureNode): Added. (khtml::DeleteSelectionCommand::moveNodesAfterNode): Check for list nodes as well as table nodes.
9:36 AM Changeset in webkit [8940] by kocienda
  • 1 edit
    11 adds in trunk

Reviewed by me

Added tests to cover new "unsupported content" editing code.

  • layout-tests/editing/unsupported-content/list-delete-001-expected.txt: Added.
  • layout-tests/editing/unsupported-content/list-delete-001.html: Added.
  • layout-tests/editing/unsupported-content/list-delete-002-expected.txt: Added.
  • layout-tests/editing/unsupported-content/list-delete-002.html: Added.
  • layout-tests/editing/unsupported-content/list-delete-003-expected.txt: Added.
  • layout-tests/editing/unsupported-content/list-delete-003.html: Added.
  • layout-tests/editing/unsupported-content/list-type-after-expected.txt: Added.
  • layout-tests/editing/unsupported-content/list-type-after.html: Added.
  • layout-tests/editing/unsupported-content/list-type-before-expected.txt: Added.
  • layout-tests/editing/unsupported-content/list-type-before.html: Added.
8:26 AM Changeset in webkit [8939] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Maciej

Fix for this bug:

<rdar://problem/4059578> Entire list deleted, and caret disappears, when delete key hit at end of list

The problem is that a new case in the delete code did not consider when the
downstream end node of the selection might be an ancestor of the upstream start
node. That is the case in this bug. The downstream end is the body element, and
this line of code would delete all the children of the downstream end:

removeChildrenInRangePreservingPosition(m_downstreamEnd.node(), 0,

m_downstreamEnd.offset(), m_upstreamStart);

The fix is to check for this "is ancestor" case, and do some tree logic to find
the right offset of the downstream end node for the call to
removeChildrenInRangePreservingPosition().

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleGeneralDelete): Fixed as described.

Mar 19, 2005:

8:58 PM Changeset in webkit [8938] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/4059479> Misspelling underline does underline the whole word, could go farther to the right

  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer misspellingLinePatternGapWidth]): (-[WebTextRenderer drawLineForMisspelling:withWidth:]): Consider that the last pixel in the underline dot pattern is transparent.
6:22 PM Changeset in webkit [8937] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Maciej

Fix for this bug:

<rdar://problem/4059384> Cannot place insertion point correctly in editable text that avoids floating elements

Note: I strongly suspect this bug blocks a complete solution to this other Tiger/P2:
<rdar://problem/4055748> AX: Dictionary pop-up panel shows at wrong place on specific parts of particular pages

  • khtml/rendering/render_text.cpp: (RenderText::caretRect): Change the y-coordinate used to calculate the available width for a line. Height is wrong. Top of the box containing the text where the click is done is correct. Also, add in the x-offset for the start of the text box when calculating the available width. If this text box is avoiding a float at the y-coordinate for the relevant box, failure to add in the amount of float-avoidance will make the text at the coordinates greater than end-of-line minus float-avoidance ineligible for caret placement.
4:58 PM Changeset in webkit [8936] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/4057594> REGRESSION (125-406): Unrepro crash in HTMLTokenizer::allDataProcessed after hitting Back button
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::allDataProcessed): To get the part safely after calling end, save a guarded pointer to the view. The old way could end trying to call a virtual function a part that was destroyed.
2:36 PM Changeset in webkit [8935] by mjs
  • 13 edits in trunk

Reviewed by Darin.

<rdar://problem/4053506> Pasting Tables and Cells in Mail does not allow editing before or after
<rdar://problem/4005954> REGRESSION (Mail): After copy/paste of content containing list element cannot go back to entering text at left side of page

  • khtml/editing/htmlediting.cpp: (khtml::maxDeepOffset): (khtml::CompositeEditCommand::removeFullySelectedNodePreservingPosition): (khtml::CompositeEditCommand::removeChildrenInRangePreservingPosition): (khtml::CompositeEditCommand::removeNodePreservingPosition): (khtml::CompositeEditCommand::insertBlockPlaceholder): (khtml::CompositeEditCommand::appendBlockPlaceholder): (khtml::CompositeEditCommand::forceBlockPlaceholder): (khtml::CompositeEditCommand::addBlockPlaceholderIfNeeded): (khtml::isSpecialElement): (khtml::isFirstVisiblePositionInSpecialElementInFragment): (khtml::positionBeforePossibleContainingSpecialElement): (khtml::positionAfterPossibleContainingSpecialElement): (khtml::ApplyStyleCommand::applyInlineStyle): (khtml::DeleteSelectionCommand::initializePositionData): (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent): (khtml::DeleteSelectionCommand::handleGeneralDelete): (khtml::DeleteSelectionCommand::calculateTypingStyleAfterDelete): (khtml::DeleteSelectionCommand::doApply): (khtml::InsertParagraphSeparatorCommand::doApply): (khtml::ReplacementFragment::ReplacementFragment): (khtml::ReplaceSelectionCommand::doApply):
  • khtml/editing/htmlediting.h:
  • khtml/editing/visible_position.cpp: (khtml::isRenderedBR): (khtml::VisiblePosition::initDownstream): (khtml::isLastVisiblePositionInBlock):
  • khtml/rendering/render_line.cpp: (khtml::RootInlineBox::closestLeafChildForXPos):
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::isBlockFlowOrTable): (NodeImpl::isEditableBlock): (NodeImpl::enclosingBlockFlowOrTableElement):
  • khtml/xml/dom_nodeimpl.h:
  • khtml/xml/dom_position.cpp: (DOM::Position::upstream): (DOM::Position::downstream):
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-003-expected.txt:
  • layout-tests/editing/deleting/delete-at-paragraph-boundaries-004-expected.txt:
  • layout-tests/editing/deleting/delete-select-all-001-expected.txt:
  • layout-tests/editing/deleting/delete-select-all-003-expected.txt:
  • layout-tests/editing/inserting/insert-3786362-fix-expected.txt:
11:34 AM Changeset in webkit [8934] by darin
  • 2 edits in trunk/WebKit

Reviewed by Maciej (a while back).

  • fixed <rdar://problem/4059323> local-file security check is allowing plug-in streams, but must not
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): Roll out change I made on 3-13. That change is needed for subresource, but not for plug-in streams. For plug-in streams it's too risky, and leaves a serious security hole open.
9:09 AM Changeset in webkit [8933] by darin
  • 2 edits in trunk/WebKit

Reviewed by Ken and John.

  • fixed <rdar://problem/4059123> REGRESSION (402-403): deleteWordForward: and deleteWordBackward: start deleting single characters after the first delete
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Fixed backwards logic in here and added missing check. Set action to one of the two typing actions only if isTypingAction is YES.
8:21 AM Changeset in webkit [8932] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Darin.

  • fixed <rdar://problem/4058740> Crash (nil-deref) editing Mail reply message in KWQKHTMLPart::fontForSelection (MailViewer-723)
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForSelection): Add nil check to loop. It shouldn't be necessary, but this crash trace seems to be running into it. We're not completely certain, but the check is harmless at worst.
8:07 AM Changeset in webkit [8931] by harrison
  • 2 edits in trunk/WebKit

Reviewed by me (written by Patti Yeh).

<rdar://problem/4029491> <TCIM> CangJie: the candidate window appears at the top left hand corner during typing in Mail and iChat

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView firstRectForCharacterRange:]): Use selected range if there is no marked range.

Mar 18, 2005:

6:19 PM Changeset in webkit [8930] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (408+)

6:12 PM Changeset in webkit [8929]
  • 1 copy in tags/Safari-308

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

6:12 PM Changeset in webkit [8928] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (308)

6:07 PM Changeset in webkit [8927]
  • 1 copy in tags/Safari-408

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

6:07 PM Changeset in webkit [8926] by vicki
  • 6 edits in trunk

Safari-408 stamp

4:56 PM Changeset in webkit [8925] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Darin.

<rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch

  • WebView.subproj/WebFrameView.m: (-[WebFrameView webCoreBridge]): New to conform to WebCoreBridgeHolder protocol.
4:53 PM Changeset in webkit [8924] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/3584942> AX: Safari Accessibility parent-child mismatch

Also changed WebKit.

  • kwq/KWQAccObject.mm: (-[KWQAccObject rendererForView:]): New to cover both the WebCore and WebKit NSViews.

(-[KWQAccObject _accessibilityParentForSubview:]):
Use rendererForView.

  • kwq/WebCoreFrameView.h: Add WebCoreBridgeHolder protocol to get access to WebKit NSViews.
4:34 PM Changeset in webkit [8923] by harrison
  • 18 edits in trunk/WebCore

Reviewed by Darin, Ken.

<rdar://problem/3735625> AX: add AXPress action if an element has an onclick handler

  • khtml/dom/html_form.cpp: (HTMLInputElement::click):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::click): (HTMLElementImpl::accessKeyAction):
  • khtml/html/html_elementimpl.h:
  • khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::submitClick): (DOM::HTMLButtonElementImpl::click): (DOM::HTMLButtonElementImpl::accessKeyAction): (DOM::HTMLInputElementImpl::click): (DOM::HTMLInputElementImpl::accessKeyAction): (DOM::HTMLInputElementImpl::defaultEventHandler): (DOM::HTMLLabelElementImpl::accessKeyAction): (DOM::HTMLSelectElementImpl::accessKeyAction): (DOM::HTMLTextAreaElementImpl::accessKeyAction):
  • khtml/html/html_formimpl.h:
  • khtml/html/html_inlineimpl.cpp: (HTMLAnchorElementImpl::defaultEventHandler): (HTMLAnchorElementImpl::accessKeyAction):
  • khtml/html/html_inlineimpl.h:
  • khtml/rendering/render_form.cpp: (RenderFileButton::click):
  • khtml/rendering/render_form.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::defaultEventHandler):
  • khtml/xml/dom_elementimpl.h: (DOM::ElementImpl::accessKeyAction):
  • kwq/DOMHTML.mm: (-[DOMHTMLInputElement click]):
  • kwq/KWQButton.h:
  • kwq/KWQButton.mm: (QButton::click):
  • kwq/KWQFileButton.h:
  • kwq/KWQFileButton.mm: (KWQFileButton::click):

Add accessKeyAction parameter about whether to limit to HTMLElementImpl subclasses that JavaScript wants, or to apply to others as well.

Add click() parameter about whether to send the mousedown and mouseup events in addition to the click event.

  • kwq/KWQAccObject.mm: (-[KWQAccObject mouseButtonListener]): Locate a mousedown, mouseup, or click handler in the current element and its ancestors.

(-[KWQAccObject actionElement]):
(-[KWQAccObject accessibilityIsIgnored]):
(-[KWQAccObject accessibilityPerformAction:]):
Consider mouseButtonListener.

2:56 PM Changeset in webkit [8922] by rjw
  • 4 edits in trunk/WebKit

Fixed <rdar://problem/4057004> Data from XMLHTTPRequest is never dealloced

WebDataSource keeps an array of all the NSURLResponses associated
with the load for a page. This is used to playback delegate messages
when loading from the page cache. However, after the document
has completed it's initial load, we continue to keep track of responses.
So, this has the consequence of keeping all the responses for a page
around for the life of the page. NSURLResponses are now very
heavy. They indirectly reference the resource data (via the
download assessment dictionary). This fix will keep
references to responses around for those resources loaded during initial
page load, but not after that point.

Reviewed by Ken.

  • WebView.subproj/WebDataSource.m: (-[WebDataSource _addResponse:]): (-[WebDataSource _stopRecordingResponses]):
  • WebView.subproj/WebDataSourcePrivate.h:
  • WebView.subproj/WebFrame.m: (-[WebFrame _opened]):
12:41 PM Changeset in webkit [8921] by sullivan
  • 7 edits in trunk/WebCore

Reviewed by Darin.

  • fixed <rdar://problem/4002164> maps that include start and end location don't print right from maps.google.com

I thought I checked this in yesterday but a ChangeLog conflict aborted my checkin
without me noticing.

  • khtml/rendering/render_style.cpp: (RenderStyle::diff): flag name changed from _should_correct_text_color to _force_backgrounds_to_white
  • khtml/rendering/render_style.h: (khtml::RenderStyle::InheritedFlags::operator==): flag name changed from _should_correct_text_color to _force_backgrounds_to_white (khtml::RenderStyle::setBitDefaults): ditto (khtml::RenderStyle::forceBackgroundsToWhite): ditto, and method name changed too (khtml::RenderStyle::setForceBackgroundsToWhite): ditto
  • khtml/rendering/render_text.cpp: (InlineTextBox::paint): updated for name change; also, compare text against white instead of current bg color because we no longer actually modify the bg color (previously we would always set the bg color to white, so the result is the same)
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::recalcStyle): updated for name change
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge styleSheetForPrinting]): removed this method (-[WebCoreBridge reapplyStylesForDeviceType:]): removed the code that called styleSheetForPrinting; we no longer use a stylesheet for this behavior.
  • khtml/rendering/render_box.cpp: (RenderBox::paintBackgroundExtended): If forceBackgroundsToWhite flag is set, convert background images and background colors to white background color with no background image.
9:49 AM Changeset in webkit [8920] by kocienda
  • 2 edits in trunk/WebKit

Reviewed by Darin

Fix for this bug:

<rdar://problem/4053729> Copy/paste of page with frames into Blot or Mail does nothing and loses insertion point

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _selectedArchive]): Wrap frameset documents in an iframe, so they can be pasted into existing documents which will have a body or frameset of their own.
9:32 AM Changeset in webkit [8919] by kocienda
  • 3 edits in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/4056718> Pasting quotes the entire message

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): After pasting, nodes are moved to the block containing the end of the pasted content in certain cases. This move logic used to stop once it moved all the siblings of the node following the last node of the pasted-in content. This means that block elements could get moved, and if the pasted-in content included a mail blockquote, this could result in one quote level getting added. The fix is to stop the move of nodes once a <br>, block element, or <table> is seen. This only affected one of the many test cases we have for such scenarios, and the change to that result makes sense given the code change.
  • layout-tests/editing/pasteboard/paste-text-003-expected.txt: This test result changed in a way that adequately tests the behavior change, so I did not add a new test.
7:56 AM Changeset in webkit [8918] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Harrison

Fix for this bug:

<rdar://problem/4051809> 8A413: Cursor-up in a mail message sometimes gets stuck (with specific reproducible case)

  • khtml/rendering/render_text.cpp: (RenderText::positionForCoordinates): Consider two lines: line-above and line-below. If the caret position in line-below was at an x coordinate between half way through the x coordinate of the last character on the line-above and the end of that same character, this bug would happen since the positioning code would assume that it could create a VisiblePosition with a DOWNSTREAM affinity. Now, I check to see if the character position on the line-above is the last character on that line, and if it is, I use UPSTREAM as the affinity.

Mar 17, 2005:

2:59 PM Changeset in webkit [8917] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (407+)

2:48 PM Changeset in webkit [8916]
  • 1 copy in tags/Safari-307

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

2:48 PM Changeset in webkit [8915] by vicki
  • 3 edits in trunk

versioning for Safari 1.3 (307) on SUPanWheat

2:41 PM Changeset in webkit [8914]
  • 1 copy in tags/Safari-407

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

2:41 PM Changeset in webkit [8913] by vicki
  • 6 edits in trunk

Safari-407 stamp

1:43 PM Changeset in webkit [8912] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/4055562> REGRESSION (Tiger): Safari doesn't draw progressively-loaded JPEGs (www.theregister.co.uk, www.titantalk.com)

Anothe side effect of lazy loading of image meta data. We now
don't cache image size until size meta data is actually available.

Reviewed by Darin.

  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData size]):
11:09 AM Changeset in webkit [8911] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin, Ken.

  • khtml/editing/htmlediting.cpp: (khtml::EditCommandPtr::setEndingSelection): Fixed typo so that it calls setEndingSelection rather than setStartingSelection. Commented out this unused method, tho, since this is late in Tiger. Proved unused by successful build after temporarily removing method declaration or implemenation.
9:57 AM Changeset in webkit [8910] by kdecker
  • 2 edits in trunk/WebCore

Reviewed by mjs.

Fixed <rdar://problem/4046665> REGRESSION (403-405): mypage.apple.com login does not work (hits assertion in Development build)

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Check always came back false when callers would send a nil NSURL to this method. Now we allow the empty url cases, eg., <frame src="">

Mar 16, 2005:

6:46 PM Changeset in webkit [8909] by darin
  • 4 edits in trunk/WebCore

Reviewed by Maciej.

  • fixed <rdar://problem/4045203> REGRESSION (125-188): Redundant JS imports crash Safari
  • khtml/html/htmltokenizer.h: Take inWRite bool out of NDEBUG ifdef.
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): Take inWrite bool management code out of NDEBUG ifdef. (khtml::HTMLTokenizer::write): Ditto. Don't call end if inWrite is true, since it will be called when you return to the body of the outer write() call. (khtml::HTMLTokenizer::allDataProcessed): Don't call end() if inWrite is true for the same reason. (khtml::HTMLTokenizer::finish): Ditto.
  • kwq/KWQWidget.mm: (QWidget::getOuterView): Removed bogus assertion that has been vexing us of late.
6:30 PM Changeset in webkit [8908] by harrison
  • 2 edits in trunk/WebCore

Reviewed by me (written by Patti Yeh).

  • kwq/KWQAccObject.mm: (-[KWQAccObject doAXNextWordEndTextMarkerForTextMarker:]): Use LeftWordIfOnBoundary instead of RightWordIfOnBoundary.

(-[KWQAccObject doAXPreviousWordStartTextMarkerForTextMarker:]):
Use RightWordIfOnBoundary instead of LeftWordIfOnBoundary.

6:09 PM Changeset in webkit [8907] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4054590> AX: Dictionary panel does not work when page is scrolled on Safari

  • kwq/KWQAccObject.mm: (-[KWQAccObject doAXTextMarkerForPosition:]): Add in the view's contentsX and contentsY to the point.
5:32 PM Changeset in webkit [8906] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Maciej.

<rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements

Also changed WebCore.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _shouldDeleteRange:]): Added call to new bridge method canDeleteRange.
5:31 PM Changeset in webkit [8905] by harrison
  • 5 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/4048506> Deleting from beginning of editable div deletes other document elements

Also changed WebKit.

  • khtml/editing/visible_units.h:
  • khtml/editing/visible_units.cpp: (khtml::startOfEditableContent): (khtml::endOfEditableContent): (khtml::inSameEditableContent): (khtml::isStartOfEditableContent): (khtml::isEndOfEditableContent): New.
  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canDeleteRange:]): New.
10:30 AM Changeset in webkit [8904] by jens
  • 2 edits in trunk/JavaScriptCore

[4025212] search not performed correctly; united.com. Fixed bug inherited from KJS that caused unescape() of an empty string to return a messed-up String object that would sometimes act like the value 'null'.

8:36 AM Changeset in webkit [8903] by kocienda
  • 5 edits in trunk

WebCore:

Reviewed by Darin

Fix for this bug:

<rdar://problem/4042935> undo doesn't work properly during inline input

  • kwq/WebCoreBridge.h: Declare new method below.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge replaceMarkedTextWithText:]): New method. Wraps calls to TypingCommand::deleteKeyPressed and TypingCommand::insertText to map the way that international text input works onto the typing undo system.

WebKit:

Reviewed by Darin

Fix for this bug:

<rdar://problem/4042935> undo doesn't work properly during inline input

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView setMarkedText:selectedRange:]): Call new -[WebCoreBridge replaceMarkedTextWithText:] instead of -[WebCoreBridge replaceSelectionWithText:selectReplacement:smartReplace:]. The former call was just added in order to provide a better mapping of international text input onto the typing command/undo design.
6:43 AM Changeset in webkit [8902] by harrison
  • 5 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4044336> REGRESSION (8A398-8A409): Option-Delete also deletes space to left of deleted word

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData):
  • skip smart delete if the selection to delete already starts or ends with whitespace
  • khtml/khtml_part.cpp: (KHTMLPart::handleMousePressEventDoubleClick):
  • preserve selection on double-click when range is already selected
  • khtml/xml/dom_position.cpp: (DOM::Position::leadingWhitespacePosition): (DOM::Position::trailingWhitespacePosition):
  • fix considerNonCollapsibleWhitespace action (logic was reversed)
  • add non-breaking space to the non-collapsable ones
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge rangeByExpandingSelectionWithGranularity:]): (-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:]):
  • these methods do not set the selection, so remove calls to setSelectionGranularity

(-[WebCoreBridge alterCurrentSelection:direction:granularity:]):
(-[WebCoreBridge alterCurrentSelection:verticalDistance:]):

  • set the granularity back to character
  • the one exception is that we need to keep word granularity to preserve smart delete behavior when extending by word

Mar 15, 2005:

7:23 PM Changeset in webkit [8901] by mjs
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Removed conflict marker.

7:19 PM Changeset in webkit [8900] by mjs
  • 2 edits in trunk/WebCore

Reviewed by John.

<rdar://problem/4053266> Pressing return a few times right after a link makes the new blank lines part of the link

  • khtml/editing/htmlediting.cpp: (khtml::InsertLineBreakCommand::doApply): Use positionOutsideContainingSpecialElement in the right two places. (khtml::InsertParagraphSeparatorCommand::doApply): Ditto.
  • move all these helper functions higher in the file
  • khtml/editing/htmlediting.cpp: (khtml::isSpecialElement): (khtml::isFirstVisiblePositionInSpecialElement): (khtml::positionBeforeNode): (khtml::positionBeforeContainingSpecialElement): (khtml::maxRangeOffset): (khtml::isLastVisiblePositionInSpecialElement): (khtml::positionAfterNode): (khtml::positionAfterContainingSpecialElement): (khtml::positionOutsideContainingSpecialElement):
6:02 PM Changeset in webkit [8899] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4053658> Crash getting direction at maps.google.com

Add non nil style() check.

Reviewed by Dave Harrison.

  • khtml/rendering/render_table.cpp: (RenderTableCell::collapsedRightBorder):
5:40 PM Changeset in webkit [8898] by kdecker
  • 3 edits in trunk/WebCore

Reviewed by John

Fixed: <rdar://problem/4041374> REGRESSION (185-186): unload handlers (at least those added with addEventListener) are broken

The reason why UNLOAD_EVENT wouldn't dispatch was because the code would delete all event listeners at the detach() phase which is prior to closeURL().

This fixes a recent regression from:

<rdar://problem/3977973> pages on ebay leak referenced JavaScript objects -- over time browsing becomes super-slow

  • khtml/khtml_part.cpp: (KHTMLPart::closeURL): After dispatching event handlers, go ahead and remove them from the DOM.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::detach): Took out the call to removeAllEventListenersFromAllNodes(). If we remove all event listeners here then when KHTMLPart::closeURL() checks for even listeners, it will never have any because they'll already be gone.
4:00 PM Changeset in webkit [8897] by rjw
  • 5 edits in trunk/WebKit

Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance

If client mutates request use new Foundation SPI to address remove applewebdata properties from request.

Reviewed by Ken Kocienda.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  • WebView.subproj/WebDataProtocol.h:
  • WebView.subproj/WebDataProtocol.m: (+[NSURLRequest _webDataRequestPropertyKey]):
3:52 PM Changeset in webkit [8896] by rjw
  • 2 edits in trunk/JavaScriptCore

Fixed <rdar://problem/4053276> WebScripting protocol in WebKit cannot convert Boolean in Javascript to BOOL in Objective-C

Added JavaScript boolean to type that can be converted to
ObjC scalar parameters.

Reviewed by Ken Kocienda.

  • bindings/objc/objc_utility.mm: (KJS::Bindings::convertValueToObjcValue):
3:27 PM Changeset in webkit [8895] by kocienda
  • 3 edits in trunk/WebKit

Reviewed by Vicki

Fox for this bug:

<rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing

Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
keystrokes grouped together in a single undo operation. My change on 27 Jan to route delete keystrokes
through _deleteRange:killRing:... made this feature regress. Previous to that change, the backwards delete
key went through separate code that is no longer in the tree that did not set the selection in the way
it is done now.

The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
-[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
selection will act to close typing or not. The code changes below all add this new argument with the
appropriate value for closeTyping.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteRange:killRing:prepend:smartDeleteOK:deletionAction:]): Passes NO for closeTyping when deletionAction is deleteKeyAction or forwardDeleteKeyAction; YES when deleteSelectionAction. (-[WebHTMLView _expandSelectionToGranularity:]): Passes YES for closeTyping. (-[WebHTMLView selectToMark:]): Passes YES for closeTyping. (-[WebHTMLView swapWithMark:]): Passes YES for closeTyping. (-[WebHTMLView transpose:]): Passes YES for closeTyping. (-[WebHTMLView _selectMarkedText]): Passes NO for closeTyping. (-[WebHTMLView _selectRangeInMarkedText:]): Passes NO for closeTyping.
  • WebView.subproj/WebView.m: (-[WebView setSelectedDOMRange:affinity:]): Passes YES for closeTyping.
3:27 PM Changeset in webkit [8894] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Vicki

Fox for this bug:

<rdar://problem/4052642> Each delete keystroke is in its own undo group; not included in undo group with other typing

Calling -[WebCore setSelectedDOMRange:range affinity:] had the result of "closing" any active set of typing
keystrokes grouped together in a single undo operation. A change on 27 Jan in WebKit to change the way delete
keystrokes are handled made this feature regress. Previous to that change, the backwards delete
key went through separate code that is no longer in the tree that did not set the selection in the way
it is done now.

The solution is to add an extra argument to the set-selection call. The WebCoreBridge now offers this method:
-[WebCore setSelectedDOMRange:range affinity:closeTyping:]. Now, callers must indicate whether setting the
selection will act to close typing or not.

  • kwq/WebCoreBridge.h: Changed header accordingly to change method shown below.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setSelectedDOMRange:affinity:closeTyping:]): Added closeTyping argument to this method.
2:27 PM Changeset in webkit [8893] by sullivan
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

  • fixed <rdar://problem/4052246> crash in KWQKHTMLPart::createPart() trying to display local file in frame
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::createPart): Check part for nil before trying to ref. This was probably a longstanding code flaw revealed by the recent security fix.
1:44 PM Changeset in webkit [8892] by kdecker
  • 6 edits in trunk/WebCore

Reviewed by Ken and Maciej.

New fix for <rdar://problem/3667701> crash in KHTMLPart::jScriptEnabled()

The tokenizer has buffers which mean parsing can continue even after loading is supposed to be stopped. If the loading process was aborted, the tokenizer should abort, too.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::HTMLTokenizer): Initialize loadStopped to false. (khtml::HTMLTokenizer::write): Go ahead and bail out if loadStopped is true. (khtml::HTMLTokenizer::processToken):
  • khtml/html/htmltokenizer.h: Added loadStopped flag. Changed the view pointer from a standard pointer to a QGuardedPtr. This fixes the crash. Now the tokenizer's handle to the view will now automatically nil-out and never dangle.
  • khtml/khtml_part.cpp: (KHTMLPart::closeURL): Notify the tokenizer to stop parsing.
  • khtml/xml/xml_tokenizer.cpp: (khtml::XMLTokenizer::XMLTokenizer): Initialize loadStopped to false.
  • khtml/xml/xml_tokenizer.h: (khtml::Tokenizer::stopParsing): Added.

Mar 14, 2005:

8:00 PM Changeset in webkit [8891] by rjw
  • 2 edits in trunk/WebKit

Fix <rdar://problem/4051389> 8A413: gifs animating too fast

Reviewed by Maciej.

Match Mozilla's policy for minimum frame duration, which is somewhat odd:

<= 0.01 sec use .1 sec, otherwise use specified duration.

  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData _frameDurationAt:]):
6:06 PM Changeset in webkit [8890] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Darin, Maciej.

<rdar://problem/4046103> REGRESSION (Mail): clicking after style change sets insertion point incorrectly

Also fixes crash by adding nil check.

  • khtml/editing/htmlediting.cpp: (khtml::MoveSelectionCommand::doApply): Check the node for nil.
  • khtml/khtml_part.cpp: (KHTMLPart::khtmlMouseReleaseEvent): Use the node from the event rather than from the selection.
5:45 PM Changeset in webkit [8889] by darin
  • 4 edits in trunk/WebKit

Reviewed by Harrison.

  • fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
  • WebView.subproj/WebFrameInternal.h: Added _unmarkAllMisspellings.
  • WebView.subproj/WebFrame.m: (-[WebFrame _unmarkAllMisspellings]): Added. Calls unmarkAllMisspellings on the bridge and self and all subframes.
  • WebView.subproj/WebView.m: (-[WebView setContinuousSpellCheckingEnabled:]): Call _unmarkAllMisspellings on the main frame when turning continuous spell checking off.
5:05 PM Changeset in webkit [8888] by darin
  • 4 edits in trunk/WebCore

Reviewed by Harrison.

  • fixed <rdar://problem/4049776> Seed: Mail: Disable spellcheck leaves red artifacts
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::DocumentImpl): Set markers list to be "auto-delete" so they don't all leak. (DocumentImpl::removeMarker): Remove markers list for a node when the last marker is removed for that node. Otherwise, we can have empty marker lists for each node forever until the document goes away. (DocumentImpl::removeAllMarkers): Added code to dirty the markers. (DocumentImpl::shiftMarkers): Remove unneeded empty check.
  • kwq/WebCoreBridge.h: Added unmarkAllMisspellings for WebKit.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge unmarkAllMisspellings]): Added. Calls removeAllMarkers.
4:50 PM Changeset in webkit [8887] by rjw
  • 4 edits in trunk

WebKit:

Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane

The Acrobat application triggers loads of new documents in it's policy delegate. This
ultimately causes the WebHTMLView to be released before their event handlers have
returned. To bullet proof against this case we retain/release self before passing
the event on for further handling.

Reviewed by Maciej.

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _updateMouseoverWithEvent:]): (-[WebHTMLView scrollWheel:]): (-[WebHTMLView mouseDown:]): (-[WebHTMLView mouseDragged:]): (-[WebHTMLView mouseUp:]): (-[WebHTMLView keyDown:]): (-[WebHTMLView keyUp:]): (-[WebHTMLView performKeyEquivalent:]):

WebCore:

Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane

A document may be deleted as a consequence of handling an event,
as was the case with Acrobat.app. Ensure that the document is still valid
before passing the event on for further handling.

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchUIEvent):
4:43 PM Changeset in webkit [8886] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

Added a couple of comments about setChanged() to this code based on my experiences with 4047028.

  • khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::addParsedProperties) (DOM::CSSMutableStyleDeclarationImpl::merge)
4:26 PM Changeset in webkit [8885] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4047028> Changing quote levels on stylized text causes it to be sent as colored (Blue). Tiger8A410

  • khtml/css/css_valueimpl.cpp: (DOM::CSSMutableStyleDeclarationImpl::removePropertiesInSet): This function now calls setChanged() at the end of its loop if any properties were removed. This makes the style system update correctly in response to changes made by this function. The code to paste removes style from the pasted content in a preliminary step, and the fact that the style system did not update properly left unwanted color declarations in the document.
3:50 PM Changeset in webkit [8884]
  • 5 copies in tags/Safari-406

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

3:50 PM Changeset in webkit [8883]
  • 5 copies in tags/Safari-306

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

3:50 PM Changeset in webkit [8882] by vicki
  • 5 edits in trunk/WebKit
  • roll out the fix for 4040321, since it is still pending CCC review.

2005-03-10 Richard Williamson <rjw@apple.com>

Fixed <rdar://problem/4040321> Exception: Someone's trying to encode a WebDataRequestParameters instance

Reviewed by Darin.

If a delegate returns a mutated applewebdata: request in it's willSendRequest:
method, we don't load using the WebDataRequest. Instead we do a normal load.
Unfortunately, if the request they return is mutated *copy* of the applewebdata:
request it will hold the applewebdata: special properties. These properties
will be encoded into the cache. They should not be. So, to fix, we sanitize the
request, by removing the special properties from the request.

Note that we had to dig into the private guts of NSURLRequest because there is
no public mechanism to remove properties from a request, see 4046775.

  • WebView.subproj/WebBaseResourceHandleDelegate.m: (-[WebBaseResourceHandleDelegate willSendRequest:redirectResponse:]):
  • WebView.subproj/WebDataProtocol.h:
  • WebView.subproj/WebDataProtocol.m: (-[NSURLRequest _webDataRequestExternalRequest]): (-[NSURLRequest _webDataRequestSanitize]):
3:33 PM Changeset in webkit [8881] by vicki
  • 2 edits in trunk/WebCore
  • roll out this change for now, since it was denied by CCC

2005-03-11 David Harrison <harrison@apple.com>

Reviewed by Darin.

<rdar://problem/4046602> WebCore invokes undefined behavior when the spell checker isn't running

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): (KWQKHTMLPart::markMisspellings): Nil check checker.
2:09 PM Changeset in webkit [8880] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4050403> Mail crashes after pasting and deleting the content of one Excel cell

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleGeneralDelete): Add some null checks to the code. This fixes the crash, although following the steps described in the bug by John Sullivan on 3/14/05 at 10:49 AM will leave us with a "blank line" in the document that cannot be removed (this is actually an empty table). This is undesirable, however, work Maciej is doing to fix the general-case problem of trying to edit constructs we do not handle well in editing should fix this particular case, making the deletion of this "blank line" possible. Maciej is doing this work as part of this bug: <rdar://problem/4036051> Hard to select (and thus delete) an IFRAME in an editable WebView
1:49 PM Changeset in webkit [8879] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Darin

Fix for this bug:

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

The problem is that removeInlineStyle() can remove nodes, and if either the start or end node of the
selection at the time of the call to removeInlineStyle() was in a node that got removed, bad things
would happen. The fix is described below.

  • khtml/editing/htmlediting.cpp: (khtml::maxRangeOffset): Moved this static function to a different place in the file so the code below can use it. (khtml::ApplyStyleCommand::applyInlineStyle): Calling removeInlineStyle() now has the side effect of setting the command's ending selection. Now resets start and end using the ending selection after the call to removeInlineStyle() as it is done elsewhere in this function. (khtml::ApplyStyleCommand::removeInlineStyle): Track the removal of the start or end node based on the positions passed in. If either the start or the end node is removed as part of style removal, set an appropriate replacement start or end that is still in the document.
1:40 PM Changeset in webkit [8878] by vicki
  • 3 edits in trunk

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

1:36 PM Changeset in webkit [8877] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (v306)

1:21 PM Changeset in webkit [8876] by vicki
  • 6 edits in trunk

Safari-406 stamp

9:58 AM Changeset in webkit [8875] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Darin

I need to roll out Kevin's change to fix 3667701. It breaks contextual fragments, and hence breaks
paste in editing (among other things).

  • khtml/html/htmltokenizer.cpp: Roll out recent change. (khtml::HTMLTokenizer::write)
  • khtml/html/htmltokenizer.h: Ditto.
9:49 AM Changeset in webkit [8874] by darin
  • 3 edits in trunk/WebKit

Reviewed by Ken and Maciej.

  • fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
  • Plugins.subproj/WebNetscapePluginStream.m: (-[WebNetscapePluginStream initWithRequest:pluginPointer:notifyData:sendNotification:]): Allow plug-in subresource streams to load with any URL, ignoring the "canLoadURL" method's restriction (only file URLs can load other file URLs), which now applies only to main resources, like web pages in frames or object tags and plug-in main resources.
  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge startLoadingResource:withURL:customHeaders:]): Allow subresources to load with any URL, as above. This allows things like images, stylesheets, and JavaScript to be loaded without the "canLoadURL" method's restriction. (-[WebBridge startLoadingResource:withURL:customHeaders:postData:]): Ditto. (-[WebBridge syncLoadResourceWithURL:customHeaders:postData:finalURL:responseHeaders:statusCode:]): Ditto.
9:49 AM Changeset in webkit [8873] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken and Maciej.

  • fixed <rdar://problem/4049040> REGRESSION (403-405): security check prevents user stylesheet from loading (Dictionary.app doesn't work at all!)
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Changed to give "applewebdata:" documents the same privileges to open local files that "file:" documents have.
7:04 AM Changeset in webkit [8872] by kdecker
  • 3 edits in trunk/WebCore

Reviewed by mjs.

Fixed: <rdar://problem/3667701> crash in KHTMLPart::jScriptEnabled()

The problem here was that the tokenizer would continue to receive chunks of data from the loader already
after the view and part had been destroyed. Situations like this could arise when clicking on another link
while still loading the current view, or during self test where we rapidly open, load, and close browser
windows very fast.

  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::write): Simple nil check against the view.
  • khtml/html/htmltokenizer.h: Changed the view pointer from a standard pointer to a QGuardedPtr. The tokenizer's handle to the view will now automatically nil-out and never dangle.

Mar 13, 2005:

1:35 PM Changeset in webkit [8871] by darin
  • 3 edits
    6 adds in trunk

Reviewed by John and Ken.

  • fixed <rdar://problem/4044347> REGRESSION (Mail): Control-K in particular message moves insertion point to previous line

Tweaked the deleting code, and added three new deleting layout tests to confirm the new code works.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleSpecialCaseBRDelete): Removed special case with comment that said it was for the case where a "selection contains only a BR right after a block ended". This code was being triggered in more cases than just that one, and in all the cases I tested, the general delete code works fine. (khtml::DeleteSelectionCommand::handleGeneralDelete): Changed the code that decides whether to delete an entire block to understand the case where the end block is outside the start block, but contains the start block. In that case, we want to delete the entire block. Not deleting the block was causing us to delete just the <br>, and not the enclosing <div> in the case in the bug.
  • layout-tests/editing/deleting/delete-line-015-expected.txt: Added.
  • layout-tests/editing/deleting/delete-line-015.html: Added.
  • layout-tests/editing/deleting/delete-line-016-expected.txt: Added.
  • layout-tests/editing/deleting/delete-line-016.html: Added.
  • layout-tests/editing/deleting/delete-line-017-expected.txt: Added.
  • layout-tests/editing/deleting/delete-line-017.html: Added.
  • layout-tests/editing/style/smoosh-styles-002-expected.txt: Updated to improved results. With the code change, the deletion now deletes more than it used to. The old results had an empty text node and <h1> element that were both 0-sized, and now we delete both of those.
9:29 AM Changeset in webkit [8870] by darin
  • 2 edits in trunk/WebCore
  • fixed <rdar://problem/4049172> REGRESSION (403-405): Gmail: text box in "Invite a friend" section overlaps other sections

Rolled out fix for <rdar://problem/3952698> Function buttons do not display properly with Telia Webmail

  • khtml/rendering/render_replaced.cpp: (RenderReplaced::calcMinMaxWidth): Back to previous version of this file.

Mar 12, 2005:

5:58 PM Changeset in webkit [8869] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Adele.

<rdar://problem/4046144> RSS pages leave a hole in local file security policy (need to revert feed: exemption)

  • kwq/WebCoreBridge.mm: (-[WebCoreBridge canLoadURL:fromReferrer:hideReferrer:]): Revert emergency workaround for Safari RSS, now that a new Syndication has been submitted.
4:51 PM Changeset in webkit [8868] by mjs
  • 13 edits in trunk

Reviewed by Kevin.

<rdar://problem/4026787> text typed after a link (pasted or Mail Link to this Page) is part of the link, underlined and colored blue

The concept of this change is every time you type at the very
start or very end of a link (even if nested in further inner
elements), the typed text goes outside the link instead of inside.

  • khtml/editing/htmlediting.cpp: (khtml::InsertTextCommand::prepareForTextInsertion): Check whether we are at the first visible position or last visible position of a special element. For now this only includes HTML A elements that are links (i.e. they have an href). (khtml::isSpecialElement): Helper function that identifies special elements (for now only links). (khtml::isFirstVisiblePositionInSpecialElement): Checks if a given DOM position is equivalent to the first visible position in some containing editable special element. (khtml::positionBeforeNode): Returns the DOM position immediately before a node. (khtml::positionBeforeContainingSpecialElement): Gives a DOM position immediately before the outermost editable containing special element where the passed-in position is equivalent to the first visible position. (khtml::maxRangeOffset): Helper to get the maximum allowed range/position offset for a node, does the right thing based on whether the node would use a character offset or child offset. (khtml::isLastVisiblePositionInSpecialElement): Similar to above, but for end of node instead of start. (khtml::positionAfterNode): Ditto. (khtml::positionAfterContainingSpecialElement): Ditto.

Some layout tests changed - I looked over all the diffs and found
that the only changes were "junk nodes" like empty spans and text
nodes moving from one spot in the tree to another. These changes
are all harmless and do not affect layout or future editing.

  • layout-tests/editing/inserting/typing-003-expected.txt:
  • layout-tests/editing/style/remove-underline-across-paragraph-expected.txt:
  • layout-tests/editing/style/remove-underline-across-paragraph-in-bold-expected.txt:
  • layout-tests/editing/style/remove-underline-after-paragraph-expected.txt:
  • layout-tests/editing/style/remove-underline-after-paragraph-in-bold-expected.txt:
  • layout-tests/editing/style/remove-underline-expected.txt:
  • layout-tests/editing/style/remove-underline-from-stylesheet-expected.txt:
  • layout-tests/editing/style/remove-underline-in-bold-expected.txt:
  • layout-tests/editing/style/typing-style-003-expected.txt:
  • layout-tests/editing/style/unbold-in-bold-expected.txt:
  • layout-tests/editing/style/underline-expected.txt:

Mar 11, 2005:

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

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

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

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

Reviewed by Darin.

<rdar://problem/4046602> WebCore invokes undefined behavior when the spell checker isn't running

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::advanceToNextMisspelling): (KWQKHTMLPart::markMisspellings): Nil check checker.
11:08 AM Changeset in webkit [8865] by kocienda
  • 1 edit
    1 add in trunk/WebCore

Reviewed by me

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

Reviewed by John

Fix for this bug:

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

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

New tests:

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

Reviewed by Darin.

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

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

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

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

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

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

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

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

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

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

Reviewed by Harrison

Fix for this bug:

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

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

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

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

Reviewed by John

Fix for these bugs:

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

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

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

New tests:

  • layout-tests/editing/pasteboard/paste-line-endings-001-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-001.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-002-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-002.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-003-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-003.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-004-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-004.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-005-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-005.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-006-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-006.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-007-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-007.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-008-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-008.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-009-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-009.html: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-010-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-line-endings-010.html: Added.

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.

Mar 7, 2005:

6:27 PM Changeset in webkit [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:]):
6:27 PM Changeset in webkit [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.
5:46 PM Changeset in webkit [8821] by rjw
  • 2 edits in trunk/WebCore

Additional nil check from fix for 4040749.

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

Additional nil check from fix for 4040749.

  • khtml/rendering/render_layer.cpp: (RenderLayer::updateLayerPosition):
5:30 PM Changeset in webkit [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):
5:11 PM Changeset in webkit [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):
5:05 PM Changeset in webkit [8817]
  • 28 copies
    3 deletes in tags/WebKit-125~5~7

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

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

versioning for Security Update 2005-003, WebKit-125.5.7

5:00 PM Changeset in webkit [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)
4:24 PM Changeset in webkit [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.
3:35 PM Changeset in webkit [8813] by vicki
  • 3 edits in trunk

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

3:23 PM Changeset in webkit [8812]
  • 1 copy in tags/Safari-303

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

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

versioning for SUPanWheat, Safari 1.3 (v303)

3:17 PM Changeset in webkit [8810]
  • 1 copy in tags/Safari-403

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

3:17 PM Changeset in webkit [8809] by vicki
  • 6 edits in trunk

Safari-403 stamp

2:36 PM Changeset in webkit [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.
2:04 PM Changeset in webkit [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.
1:18 PM Changeset in webkit [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.
8:19 AM Changeset in webkit [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.

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

Mar 1, 2005:

8:33 PM Changeset in webkit [8747] by hyatt
  • 2 edits in trunk/WebCore

Fix for 4030890, regression with <sup> on Google. Fix some bogus != comparison checks in verticalPositionHint.

Reviewed by John

(RenderObject::getVerticalPosition):

7:38 PM Changeset in webkit [8746] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/4030669> smart delete does not delete spaces from pasted content

Reviewed by rjw.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData): pass true for treatNBSPAsWhiteSpace to leadingWhitespacePosition and trailingWhitespacePosition when testing whether or not we have to delete those characters as well.
  • khtml/editing/jsediting.cpp: pass true for smartDelete when the selection granularity is WORD. This allows us to write smart delete layout tests.
  • layout-tests/editing/deleting/smart-delete-001-expected.txt: Added.
  • layout-tests/editing/deleting/smart-delete-001.html: Added.
  • layout-tests/editing/deleting/smart-delete-002-expected.txt: Added.
  • layout-tests/editing/deleting/smart-delete-002.html: Added.
6:17 PM Changeset in webkit [8745] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4027928> Tiger_8A394:Acrobat crashes while tried to remove the subscription errors by clicking on "Would you like to remove the subscription" from Tracker details view pane

The string objects created by KWQHeaderStringFromDictionary() leaked.

Reviewed by John Louch.

  • kwq/KWQLoader.mm: (KWQHeaderStringFromDictionary):
5:38 PM Changeset in webkit [8744] by jens
  • 2 edits in trunk/WebCore

<rdar://problem/4004531> Simple Sun Signed Applet throws exceptions; doesn't run

5:21 PM Changeset in webkit [8743] by rjw
  • 1 edit in trunk/WebCore/khtml/rendering/render_flow.cpp

Re-checkin after previously backing out:

Fixed <rdar://problem/3990258> REGRESSION (125.12-181): top of picture that spans two pages is cut off on print from Safari

The problem was due to incorrect "object truncation" in RenderFlow::paintLines.
We attempt to push objects down if they don't fit on a page at
paint time. If the attempt to push object down failed we just
didn't paint at all.

Reviewed by Hyatt.

  • khtml/rendering/render_flow.cpp: (RenderFlow::paintLines):
5:18 PM Changeset in webkit [8742] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (401+) -- the tree is open!

5:12 PM Changeset in webkit [8741]
  • 1 copy in tags/Safari-301

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

5:12 PM Changeset in webkit [8740] by vicki
  • 3 edits in trunk

versioning for SUPanWheat, Safari 1.3 (v301)

5:07 PM Changeset in webkit [8739]
  • 1 copy in tags/Safari-401-test

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

5:07 PM Changeset in webkit [8738]
  • 8 copies in tags/Safari-401

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

5:07 PM Changeset in webkit [8737] by vicki
  • 6 edits in trunk

Safari-401 stamp

5:00 PM Changeset in webkit [8736] by cblu
  • 3 edits in trunk/WebCore

Backed out my patch since the tree was closed.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData):
  • khtml/editing/jsediting.cpp:
4:49 PM Changeset in webkit [8735] by rjw
  • 1 edit in trunk/WebCore/khtml/rendering/render_flow.cpp

Backed out change. Tree is closed.

4:47 PM Changeset in webkit [8734] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3990258> REGRESSION (125.12-181): top of picture that spans two pages is cut off on print from Safari

The problem was due to incorrect "object truncation" in RenderFlow::paintLines.
We attempt to push objects down if they don't fit on a page at
paint time. If the attempt to push object down failed we just
didn't paint at all.

Reviewed by Hyatt.

  • khtml/rendering/render_flow.cpp: (RenderFlow::paintLines):
3:26 PM Changeset in webkit [8733] by cblu
  • 3 edits
    4 adds in trunk

Fixed: <rdar://problem/4030669> smart delete does not delete spaces from pasted content

Reviewed by rjw.

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::initializePositionData): pass true for treatNBSPAsWhiteSpace to leadingWhitespacePosition and trailingWhitespacePosition when testing whether or not we have to delete those characters as well.
  • khtml/editing/jsediting.cpp: pass true for smartDelete when the selection granularity is WORD. This allows us to write smart delete layout tests.
  • layout-tests/editing/deleting/smart-delete-001-expected.txt: Added.
  • layout-tests/editing/deleting/smart-delete-001.html: Added.
  • layout-tests/editing/deleting/smart-delete-002-expected.txt: Added.
  • layout-tests/editing/deleting/smart-delete-002.html: Added.
2:46 PM Changeset in webkit [8732] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Vicki

Fix for this bug:

<rdar://problem/4030068> Trailing <return> gets eaten when pasted at the end of a document

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): Add code to handle formerly-unhandled end-of-document case.
2:42 PM Changeset in webkit [8731] by mjs
  • 16 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/4003774> REGRESSION(125-181): JavaScript problems @ Yankee/Dixie quiz

Reworked how scopes are set up for event handlers to match other
browser. This includes the following changes:

  • Special scope entries are set up at the time the event handler is created, not at the time it fires.
  • Special scope is only set up for event handlers set in the html source through an html attribute, not for handlers set using addEventHandler or setting JS properties like onclick through JavaScript.
  • Special scope is based on the DOM node on which the handler is an attribute, not the event target.

This fixes the regression while allowing the fix to
<rdar://problem/3798453> (DIG: getting variable with same name as
DOM element attribute gets attribute value instead) to keep
working correctly.

  • khtml/ecma/kjs_events.cpp: (JSEventListener::handleEvent): (JSLazyEventListener::JSLazyEventListener): (JSLazyEventListener::parseCode):
  • khtml/ecma/kjs_events.h:
  • khtml/ecma/kjs_proxy.cpp: (KJSProxyImpl::createHTMLEventHandler):
  • khtml/ecma/kjs_proxy.h:
  • khtml/ecma/kjs_window.cpp: (Window::getJSLazyEventListener):
  • khtml/ecma/kjs_window.h:
  • khtml/html/html_baseimpl.cpp: (HTMLBodyElementImpl::parseHTMLAttribute): (HTMLFrameElementImpl::parseHTMLAttribute): (HTMLFrameSetElementImpl::parseHTMLAttribute):
  • khtml/html/html_elementimpl.cpp: (HTMLElementImpl::parseHTMLAttribute):
  • khtml/html/html_formimpl.cpp: (DOM::HTMLFormElementImpl::parseHTMLAttribute): (DOM::HTMLButtonElementImpl::parseHTMLAttribute): (DOM::HTMLInputElementImpl::parseHTMLAttribute): (DOM::HTMLLabelElementImpl::parseHTMLAttribute): (DOM::HTMLSelectElementImpl::parseHTMLAttribute): (DOM::HTMLTextAreaElementImpl::parseHTMLAttribute):
  • khtml/html/html_imageimpl.cpp: (HTMLImageElementImpl::parseHTMLAttribute):
  • khtml/html/html_objectimpl.cpp: (HTMLObjectElementImpl::parseHTMLAttribute):
  • khtml/khtml_part.cpp: (KHTMLPart::createHTMLEventListener):
  • khtml/khtml_part.h:
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::createHTMLEventListener):
  • khtml/xml/dom_docimpl.h:
2:27 PM Changeset in webkit [8730] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Darin.

  • fixed <rdar://problem/3987482> Format>Style>Italic is not enabled when a compose window is empty (works in Blot)
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView becomeFirstResponder]): call _updateFontPanel here so NSFontManager knows the right font for the menu items and the font panel
1:53 PM Changeset in webkit [8729] by harrison
  • 2 edits in trunk/WebKit

Reviewed by Chris.

<rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop

  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _smartDeleteRangeForProposedRange:]): (-[WebHTMLView _smartInsertForString:replacingRange:beforeString:afterString:]): New.
1:53 PM Changeset in webkit [8728] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Chris.

<rdar://problem/3915560> Mail would like an SPI to enable "smart" text paste/drop

  • kwq/WebCoreBridge.h:
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge smartDeleteRangeForProposedRange:]): (-[WebCoreBridge smartInsertForString:replacingRange:beforeString:afterString:]): New.
1:15 PM Changeset in webkit [8727] by cblu
  • 2 edits
    14 adds in trunk

Fixed: <rdar://problem/4030404> selection granularity should be set when extending selection via JS

Reviewed by kocienda.

  • khtml/ecma/kjs_window.cpp: (SelectionFunc::tryCall): set the granularity on the part. This will allow us to write smart paste layout tests.
  • layout-tests/editing/pasteboard/smart-paste-001-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-001.html: Added.
  • layout-tests/editing/pasteboard/smart-paste-002-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-002.html: Added.
  • layout-tests/editing/pasteboard/smart-paste-003-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-003.html: Added.
  • layout-tests/editing/pasteboard/smart-paste-004-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-004.html: Added.
  • layout-tests/editing/pasteboard/smart-paste-005-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-005.html: Added.
  • layout-tests/editing/pasteboard/smart-paste-006-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-006.html: Added.
  • layout-tests/editing/pasteboard/smart-paste-007-expected.txt: Added.
  • layout-tests/editing/pasteboard/smart-paste-007.html: Added.
11:16 AM Changeset in webkit [8726] by cblu
  • 4 edits in trunk/WebCore

Fixed: <rdar://problem/4029934> smart paste with plain text can add too many spaces

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): pass true for treatNBSPAsWhitespace to leadingWhitespacePosition and trailingWhitespacePosition
  • khtml/xml/dom_position.cpp: (DOM::isWS): take treatNBSPAsWhitespace param (DOM::Position::leadingWhitespacePosition): ditto (DOM::Position::trailingWhitespacePosition): ditto
  • khtml/xml/dom_position.h:
9:48 AM Changeset in webkit [8725] by kocienda
  • 19 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

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

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorCommand::doApply): Look for the upstream-most block to insert after when at the visible end of a block. This helps to avoid some undesirable sequences of markup which Dave says will be vary hard to render. Changing the command in this way avoids the "limitations" of the render tree by not asking it to render markup we do not want to make anyway.

All these tests change, but either in insignificant ways, or for the better.

  • 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-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:
  • 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:

New test to check specific problem mentioned in the bug.

  • layout-tests/editing/inserting/insert-div-026-expected.txt: Added.
  • layout-tests/editing/inserting/insert-div-026.html: Added.

Feb 28, 2005:

5:58 PM Changeset in webkit [8724] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4002864> REGRESSION(125-146) getElementById in onload fails in a test case involving external resources

Moved management of elementById hashtable from attach/detach to
insertedIntoDocument/removedFromDocument, to avoid being thrown
off by temporary detaches due to style recalcs.

  • khtml/xml/dom_elementimpl.cpp: (ElementImpl::insertedIntoDocument): (ElementImpl::removedFromDocument): (ElementImpl::attach): (ElementImpl::updateId):
  • khtml/xml/dom_elementimpl.h:

Make sure that insertedIntoDocument is called before firing any
DOM events.

  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::dispatchChildInsertedEvents):
5:45 PM Changeset in webkit [8723] by hyatt
  • 3 edits in trunk/WebCore

Fix for 4028999, safari crashes when resetting if mallocsribble is on. Clip rects were being cleared using dead
render objects. Change the ordering.

Reviewed by rjw

  • khtml/rendering/render_box.cpp: (RenderBox::detach):
  • khtml/rendering/render_layer.cpp: (RenderLayer::~RenderLayer):
4:49 PM Changeset in webkit [8722] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4024786> REGRESSION (Mail): "Smart paste" plain-text word into Blot leaves insertion point misplaced

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::completeHTMLReplacement): Call updateLayout so caretMinOffset and caretMaxOffset return correct values.
4:07 PM Changeset in webkit [8721] by sullivan
  • 5 edits in trunk

WebCore:

Reviewed by Ken.

  • WebCore part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links on frameset page gets stuck at end (tivofaq.com)
  • kwq/WebCoreBridge.h: add nextValidKeyViewOutsideWebFrameViews (code is in WebKit)

WebKit:

Reviewed by Ken.

  • WebKit part of fix for <rdar://problem/4023490> REGRESSION (125-185): Tabbing through links on frameset page gets stuck at end (tivofaq.com)

This tab-to-links stuff has been in shaky condition ever since AppKit futzed with
tabbing behavior in Tiger to add support for including the toolbar in the key loop.
I made some changes months ago to compensate for that, but some cases, such as this
one, still weren't fixed.

  • WebCoreSupport.subproj/WebBridge.m: (-[WebBridge _nextKeyViewOutsideWebFrameViewsWithValidityCheck:]): new bottleneck method, extracted from nextKeyViewOutsideWebFrameViews; handles nextKeyView or nextValidKeyView depending on parameter. (-[WebBridge nextKeyViewOutsideWebFrameViews]): now calls extracted method (-[WebBridge nextValidKeyViewOutsideWebFrameViews]): new method, calls new bottleneck method
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView nextValidKeyView]): when we're stuck at the end of a nextKeyView chain inside a nexted frame, use nextValidKeyViewOutsideWebFrameViews. Make sure we don't end up looking inside the web frame views while doing this.
3:43 PM Changeset in webkit [8720] by kocienda
  • 6 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

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

  • khtml/css/css_computedstyle.cpp: inheritableProperties array now defined in css_valueimpl.cpp.
  • khtml/css/css_valueimpl.cpp: Define inheritableProperties array here. (DOM::CSSMutableStyleDeclarationImpl::copyBlockProperties): Use new name for blockProperties, and use the new constant for the number of items in the array. (DOM::CSSMutableStyleDeclarationImpl::removeBlockProperties): Ditto. (DOM::CSSMutableStyleDeclarationImpl::removeInheritableProperties): New function.
  • khtml/css/css_valueimpl.h: Declare inheritableProperties array and numInheritableProperties extern so they can be defined in css_valueimpl.cpp and used in css_computedstyle.cpp.
  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::removeStyleNodes): This code was misguided, and removed too much style from HTML elements. Now, it removes from HTML elements only the styles that we replace later with a call to applyStyle(). Also, add ID_B to list of inline "style" nodes we are willing to remove. Leaving it off was an oversight.
  • layout-tests/editing/pasteboard/paste-text-011-expected.txt: ID_B fix made this result change, without any visible change in the test.

New test:

  • layout-tests/editing/style/smoosh-styles-003.html
  • layout-tests/editing/style/smoosh-styles-003-expected.txt
3:10 PM Changeset in webkit [8719] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4026985> CrashTracer: ...14 crashes at com.apple.WebCore: -[KWQPageState invalidate] + 32

Added more nil checking and ASSERTS.
Without a reproducible case this is hard to definitively resolve.

Reviewed by John Sullivan.

  • kwq/KWQPageState.mm: (-[KWQPageState invalidate]):
2:51 PM Changeset in webkit [8718] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/4027702> 3.5% performance regression btwn Safari-188 and Safari-400

I inadvertently checked in some debugging code that disabled
style sharing. Backed out that change.

  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::styleForElement):
1:16 PM Changeset in webkit [8717] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4026639> www.bmw.ca configurator does not work with Safari

Reviewed by john.

  • khtml/ecma/kjs_html.cpp: (KJS::HTMLElement::tryGet): when frameset.<name of frame child> is called, return the window object of the frame child
9:51 AM Changeset in webkit [8716] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by Chris

Fix for this bug:

<rdar://problem/4026906> Paste of HTML table content can break table structure

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::pruneEmptyNodes): Call new isProbablyTableStructureNode() function to prevent removal of empty table structure nodes. (khtml::ReplacementFragment::removeUnrenderedNodesUsingTestRendering): Ditto. (khtml::isProbablyTableStructureNode): New helper function.
  • khtml/editing/htmlediting.h: Declare new helper.
9:11 AM Changeset in webkit [8715] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste

Reviewed by kocienda.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): ref and deref the element while it is "floating" (khtml::ReplacementFragment::insertFragmentForTestRendering): ditto (khtml::floatRefdElement): new, keeps an element alive while its ref count is 0 (khtml::createDefaultParagraphElement): removed commented out code (khtml::createBlockPlaceholderElement): ref the element and return it as "floating" (khtml::createFontElement): ditto (khtml::createStyleSpanElement): ditto
  • khtml/editing/htmlediting.h:

Feb 27, 2005:

8:21 PM Changeset in webkit [8714] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/3993557> REGRESSION (125-180-ish): getElementsByTagName no longer works with namespace designations

  • khtml/xml/dom_nodeimpl.cpp: (NodeBaseImpl::getElementsByTagNameNS): When no namespace is specified, find elements of the specified name in any namespace to match Mozilla and earlier Safari behavior.

Feb 25, 2005:

5:41 PM Changeset in webkit [8713] by darin
  • 5 edits in trunk/WebCore

Reviewed by Adele.

  • fixed <rdar://problem/4025618> Crash while searching at hollywoodvideo.com
  • khtml/html/html_formimpl.h: Added valueWithDefault.
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::appendFormData): Call valueWithDefault instead of going at the render object to try to get the default value; there may be no render object if this is display:none. (DOM::HTMLInputElementImpl::valueWithDefault): Added. Knows about the defaults for "submit" and "reset" buttons; otherwise just returns the value as-is.
  • khtml/rendering/render_form.h: Removed the defaultLabel member functions.
  • khtml/rendering/render_form.cpp: (RenderSubmitButton::rawText): Call valueWithDefault instead of using defaultLabel function here on the render side. The DOM needs to know how to deal with the default anyway for form submission. (RenderSubmitButton::defaultLabel): Removed. (RenderResetButton::defaultLabel): Removed. (RenderPushButton::defaultLabel): Removed.
5:03 PM Changeset in webkit [8712] by darin
  • 7 edits in trunk

WebCore:

Reviewed by John.

  • fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
  • kwq/KWQKHTMLPart.h: Added setWindowHasFocus function and m_windowHasFocus data member.
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::setDisplaysWithFocusAttributes): Took out the code that sends the focus and blur events. (KWQKHTMLPart::setWindowHasFocus): Put that code here instead.
  • kwq/WebCoreBridge.h: Added setWindowHasFocus: method to the bridge.
  • kwq/WebCoreBridge.mm: (-[WebCoreBridge setWindowHasFocus:]): Added. Calls method on the part.

WebKit:

Reviewed by John.

  • fixed <rdar://problem/4025088> window onblur and onfocus don't fire when text field has focus
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView updateFocusState]): Renamed from updateFocusDisplay. Added call to setWindowHasFocus: method. (-[WebHTMLView viewDidMoveToWindow]): Call method by new name. (-[WebHTMLView windowDidBecomeKey:]): Ditto. (-[WebHTMLView windowDidResignKey:]): Ditto. (-[WebHTMLView becomeFirstResponder]): Ditto. (-[WebHTMLView resignFirstResponder]): Ditto.
4:43 PM Changeset in webkit [8711] by darin
  • 2 edits in trunk/WebCore

Reviewed by John.

  • re-fixed <rdar://problem/3665430> horizontal scroll bar of text area does not show, even when text is wide in "no wrap" mode
  • kwq/KWQTextArea.mm: (-[KWQTextArea _updateTextViewWidth]): Don't change the text view width to match the text area's width in the "wrap" case.
3:51 PM Changeset in webkit [8710] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4021518> 8A394 Mail crashes during paste: khtml::RootInlineBox::closestLeafChildForXPos

  • khtml/editing/visible_units.cpp: (khtml::previousLinePosition): Adding an updateLayout call at the start of the function fixes the crash, since we caught line boxes in a not-completely-updated state. (khtml::nextLinePosition): Ditto.
3:49 PM Changeset in webkit [8709] by hyatt
  • 2 edits in trunk/WebCore

Fix for 4010774, make sure to avoid an O(N2) algorithm in nextRenderer() that is triggered when large
DOM subtrees are inserted into documents via one insert/append call.

Reviewed by kocienda

  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::nextRenderer):
3:41 PM Changeset in webkit [8708] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

Second pass at fixing 3382926 w/o causing layout regressions. Same concept:
if directionality of text's element is RTL and first character has neutral directionality
then set the initial directionality to RTL.

Reviewed by Hyatt.

  • khtml/rendering/bidi.cpp: (khtml::RenderBlock::bidiReorderLine): (khtml::RenderBlock::determineStartPosition):
2:16 PM Changeset in webkit [8707] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (400+)

2:10 PM Changeset in webkit [8706]
  • 1 copy in tags/Safari-300

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

2:10 PM Changeset in webkit [8705] by vicki
  • 3 edits in trunk

Safari 1.3 (300) stamp, for 10.3 Panther

2:05 PM Changeset in webkit [8704]
  • 1 copy in tags/Safari-400

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

2:05 PM Changeset in webkit [8703] by vicki
  • 6 edits in trunk

Safari-400 stamp

This is our first build with the new versioning scheme. Versions are Safari 2.0 (400) on 10.4, and Safari (1.3) 300 for 10.3. See this bug for details:

<rdar://problem/3962707> upgrade install of Tiger over SUPanWheat leaves Panther version of WebKit (need new version numbering scheme)

1:33 PM Changeset in webkit [8702] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by me

Roll out Chris' change to fix this bug:

<rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste

That code change is responsible for all these new crashers:

<rdar://problem/4025177> crash copying safari.apple.com into Blot document
<rdar://problem/4025184> crash in DOM::NodeImpl::parentNode copying "New!" from google.com to Blot
<rdar://problem/4025214> crash in DOM::NodeImpl::getRect loading paste-match-style-001.html

Since we wish to close the tree for a build right now, I am rolling out rather than investigating.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded) (khtml::ReplacementFragment::insertFragmentForTestRendering) (khtml::createDefaultParagraphElement) (khtml::createBlockPlaceholderElement) (khtml::createFontElement) (khtml::createStyleSpanElement)
  • khtml/editing/htmlediting.h
12:54 PM Changeset in webkit [8701] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/4000962> 8A375: Help Viewer displays voiced sound and semi-voiced characters strangely (characters don't seem to be composed)

Added special case for voiced marks.

Reviewed by John.

  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter):
11:42 AM Changeset in webkit [8700] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/4020108> Pasting text into message makes Mail crash reproducibly

Note that, even with this fix, development build will crash until this bug is fixed:
<rdar://problem/4024996> Applying block styles can cause assertion failure in inline style removal

This will not crash deployment builds, so I am going to land.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyBlockStyle): Applying block styles can make the loop to reach beyondEnd fail since the structure of the document can change. Cache the next node first before operating on it, as we do elsewhere.
11:38 AM Changeset in webkit [8699] by vicki
  • 4 edits in trunk/WebCore
  • recommit this change, since rolling it out did NOT fix the performance regression!

2005-02-23 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves

The key was to change things around so that we don't push text from the DOM to the widget
unless the DOM has actually been changed. This prevents the code path that wipes out inline input
during the blur process.

  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false. (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer to true, and also sends out the input event. It's better to have this here than in the renderer code. (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces m_dirtyvalue) and m_valueMatchesRenderer as false. (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on where the value came from. (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work. (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer. (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
  • khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer, and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
  • khtml/rendering/render_form.cpp: (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer is true. (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM directly. (RenderTextArea::detach): Call updateValue instead of calling value for its side effect. (RenderTextArea::handleFocusOut): Ditto. (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the DOM if valueMatchesRenderer is true. (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
11:34 AM Changeset in webkit [8698] by cblu
  • 3 edits in trunk/WebCore

Fixed: <rdar://problem/4023566> Stickies: Crash in ReplacementFragment::insertFragmentForTestRendering on paste

Reviewed by darin.

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): (khtml::ReplacementFragment::insertFragmentForTestRendering): (khtml::floatRefdElement): (khtml::createDefaultParagraphElement): (khtml::createBlockPlaceholderElement): (khtml::createFontElement): (khtml::createStyleSpanElement):
  • khtml/editing/htmlediting.h:
10:48 AM Changeset in webkit [8697] by darin
  • 2 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/4019823> Seed: Control-Y doesn't work
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _deleteWithDirection:granularity:killRing:isTypingAction:]): Call _handleKillRing after setting the selection, since it uses the selection to get the text. (-[WebHTMLView _insertText:selectInsertedText:]): Check for empty string to avoid an assertion on the other side of the bridge when you yank the empty string.
10:38 AM Changeset in webkit [8696] by darin
  • 2 edits in trunk/WebCore
  • kwq/character-sets.txt: Checked in updated file. This new file has no effect, because none of the changes affect character sets that we support, but it's good to have the latest file in here, and completely safe because I checked that the generated files have not changed.
10:36 AM Changeset in webkit [8695] by vicki
  • 4 edits in trunk/WebCore

Reviewed by Darin.

  • back out this change, since it causes a 3.5% performance regression

2005-02-23 Darin Adler <Darin Adler>

Reviewed by John.

  • fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves

The key was to change things around so that we don't push text from the DOM to the widget
unless the DOM has actually been changed. This prevents the code path that wipes out inline input
during the blur process.

  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false. (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer to true, and also sends out the input event. It's better to have this here than in the renderer code. (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces m_dirtyvalue) and m_valueMatchesRenderer as false. (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on where the value came from. (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work. (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer. (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
  • khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer, and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
  • khtml/rendering/render_form.cpp: (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer is true. (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM directly. (RenderTextArea::detach): Call updateValue instead of calling value for its side effect. (RenderTextArea::handleFocusOut): Ditto. (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the DOM if valueMatchesRenderer is true. (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
10:29 AM Changeset in webkit [8694] by darin
  • 2 edits in trunk/WebCore

Reviewed by Chris.

  • fixed <rdar://problem/4024786> REGRESSION (Mail): "Smart paste" plain-text word into Blot leaves insertion point misplaced
  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): Use the insertNodeAfterAndUpdateNodesInserted and insertNodeBeforeAndUpdateNodesInserted functions to add the leading and trailing spaces for smart paste.
9:43 AM Changeset in webkit [8693] by hyatt
  • 2 edits in trunk/WebCore

Back out fix for 3382926, since it breaks LTR text inside RTL contexts.

Reviewed by john

  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::direction):
9:33 AM Changeset in webkit [8692] by hyatt
  • 4 edits in trunk/WebCore

Fix for 3975039, scrolling is slow in huge RSS views. Optimize the calculation of clip rects for overflow:hidden
layers. Also optimize layer movement when scrolling overflow sections.

Reviewed by darin

  • khtml/rendering/render_layer.cpp: (throw): (ClipRects::operator delete): (ClipRects::detach): (RenderLayer::RenderLayer): (RenderLayer::~RenderLayer): (RenderLayer::updateLayerPosition): (RenderLayer::removeOnlyThisLayer): (RenderLayer::insertOnlyThisLayer): (RenderLayer::scrollToOffset): (RenderLayer::hitTest): (RenderLayer::calculateClipRects): (RenderLayer::calculateRects): (RenderLayer::containsPoint): (RenderLayer::clearClipRects): (RenderLayer::clearClipRect):
  • khtml/rendering/render_layer.h: (khtml::ClipRects::m_refCnt): (khtml::ClipRects::overflowClipRect): (khtml::ClipRects::fixedClipRect): (khtml::ClipRects::posClipRect): (khtml::ClipRects::ref): (khtml::ClipRects::deref): (khtml::RenderLayer::clipRects):
  • khtml/rendering/render_object.cpp: (RenderObject::setStyle):

Feb 24, 2005:

7:41 PM Changeset in webkit [8691] by mjs
  • 2 edits in trunk/WebCore

Reviewed by Darin and Dave a while ago.

<rdar://problem/3996685> REGRESSION: Crash in KWQVectorImpl::at loading http://maps.google.com/mapfiles/homepanel.xsl

  • kwq/WebCoreBridge.mm: (formElementFromDOMElement): Check for isHTMLElement() as well as id() == ID_FORM. This seems like an impossible situation, but papering over it seems more expedient for the time being.
5:33 PM Changeset in webkit [8690] by rjw
  • 1 edit in trunk/WebKit/WebCoreSupport.subproj/WebImageRenderer.m

Fixed panther build problem.

4:50 PM Changeset in webkit [8689] by rjw
  • 4 edits in trunk

WebCore

Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

Use mirror characters correctly when rendering with RTL directionality.

Reviewed by Hyatt.

  • khtml/rendering/bidi.cpp: (khtml::BidiIterator::direction):

WebKit

Fixed <rdar://problem/3382926> Bidi neutrals at RTL/LTR boundaries not handled correctly.

If directionality is specified use that as initial directionality,
rather than neutral directionality.

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebTextRenderer.m: (widthForNextCharacter):
4:33 PM Changeset in webkit [8688] by adele
  • 2 edits in trunk/WebKit

Reviewed by Chris.

Fix for <rdar://problem/4023393> Safari crashed in khtml::RenderObject::repaintAfterLayoutIfNeeded(QRect const&, QRect const&)

We were crashing after hitting PageDown when viewing a pdf because
WebKit was calling over to WebCore to scroll overflow areas.
Since this only needs to be done if we're dealing with a WebHTMLView,
I added a wrapper function to check the documentView before calling
over to WebCore.

  • WebView.subproj/WebFrameView.m: (-[WebFrameView _scrollOverflowInDirection:granularity:]): added wrapper function that checks if documentView is a WebHTMLView (-[WebFrameView scrollToBeginningOfDocument:]): uses new wrapper function now (-[WebFrameView scrollToEndOfDocument:]): uses new wrapper function now (-[WebFrameView _pageVertically:]): uses new wrapper function now (-[WebFrameView _pageHorizontally:]): uses new wrapper function now (-[WebFrameView _scrollLineVertically:]): uses new wrapper function now (-[WebFrameView _scrollLineHorizontally:]): uses new wrapper function now
4:25 PM Changeset in webkit [8687] by rjw
  • 14 edits in trunk

WebCore:

Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame

Reviewed by Hyatt.

  • WebCore.pbproj/project.pbxproj:
  • khtml/html/html_imageimpl.cpp: (HTMLImageLoader::updateFromElement):
  • khtml/rendering/render_image.cpp: (RenderImage::resetAnimation):
  • khtml/rendering/render_image.h:
  • khtml/rendering/render_list.cpp: (RenderListMarker::setStyle): (RenderListMarker::paint):
  • khtml/rendering/render_list.h:
  • kwq/KWQPixmap.h:
  • kwq/KWQPixmap.mm:

WebKit:

Fixed <rdar://problem/3985889> REGRESSION (125-180): setting <img> src to GIF that already animated does not animate; just shows final frame

Reviewed by Hyatt.

  • WebCoreSupport.subproj/WebImageData.h:
  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData resetAnimation]):
  • WebCoreSupport.subproj/WebImageRenderer.m: (-[WebImageRenderer resetAnimation]): (-[WebInternalImage resetAnimation]): (-[WebImageRenderer drawImageInRect:fromRect:compositeOperator:context:]):
4:00 PM Changeset in webkit [8686] by cblu
  • 2 edits in trunk/WebCore

Fixed: <rdar://problem/4020110> Safari crashes in setAllData while taking a www.zoomerang.com survey

Reviewed by rjw.

  • kwq/KWQResourceLoader.mm: (-[KWQResourceLoader finishJobAndHandle:]): clear the job after we've deleted to avoid reentrancy
3:07 PM Changeset in webkit [8685] by kdecker
  • 5 edits in trunk/WebKit

Reviewed by John.

Fixed <rdar://problem/3962401> Don't load multipart/x-mixed-replace content to prevent memory leak

Since we're not going to fix <rdar://problem/3087535> for Tiger, we should not load multipart/x-mixed-replace content. Pages with such content contain what is essentially an infinite load and therefore may leak.

  • WebView.subproj/WebMainResourceClient.m: (-[WebMainResourceClient connection:didReceiveResponse:]): Disabled loading of multipart/x-mixed-replace content until we fully implement server side push.
    • WebCoreSupport.subproj/WebSubresourceClient.m:

(-[WebSubresourceClient didReceiveResponse:]): Ditto. Same exact thing for sub resources.

2:35 PM Changeset in webkit [8684] by darin
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

  • fixed <rdar://problem/4023360> REGRESSION (186-187): image file upload is broken at pep.apple.com
  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::appendFormData): Return true after setting up the form data for an uploaded file. The old code would fall through to the ISINDEX case and send double form data (the filename instead of the file contents the second time).
2:17 PM Changeset in webkit [8683] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Ken.

<rdar://problem/3990849> AX: textMarkerRange for an AXUIElement within an AXWebArea

  • kwq/KWQAccObject.mm: (-[KWQAccObject textMarkerRange]): (-[KWQAccObject accessibilityParameterizedAttributeNames]): (-[KWQAccObject doAXTextMarkerRangeForUIElement:]): (-[KWQAccObject accessibilityAttributeValue:forParameter:]): Added AXTextMarkerRangeForUIElement, or you can send textMarkerRange to the UIElement itself.
1:28 PM Changeset in webkit [8682] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/4004279> 3 AXSelectedTextChanged notifications are firing each time I type a character

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): Send notification only if the selection is not null. This safely ignores transitory selections set during editing.
9:59 AM Changeset in webkit [8681] by darin
  • 5 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3987619> in some cases, text doesn't resize with Format->Style->Bigger/Smaller
  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::applyRelativeFontStyleChange): Only call nodeFullySelected for non-text nodes. Text nodes are already split so they're either in the range and full selected or out of the range. And nodeFullySelected doesn't work for text nodes. (khtml::ApplyStyleCommand::nodeFullySelected): Add an assertion, since this function only works for elements, not text nodes. (khtml::ApplyStyleCommand::nodeFullyUnselected): Ditto.
  • make big improvement in <rdar://problem/3953636> Mail hung for ~10sec changing font of 84328 characters: khtml::ApplyStyleCommand::nodeFullySelected
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::compareBoundaryPoints): Improve algorithm based on suggestion from Nate Begeman.
  • fixed <rdar://problem/4020305> REGRESSION (185-186): loading image in new window using document.write fails
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::open): If there is no parent document, don't blow away the base URL.
  • fixed <rdar://problem/4021701> REGRESSION (188-188+): form not submitted after pressing <return> at http://hrweb.apple.com
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchMouseEvent): Send activate event in the case where the event sent is a KHTML_CLICK_EVENT, not CLICK_EVENT.
7:30 AM Changeset in webkit [8680] by kdecker
  • 2 edits in trunk/WebCore

Reviewed by mjs

Fixed <rdar://problem/4020747> REGRESSION: stray </applet> tags crash Safari

  • khtml/html/htmlparser.cpp: (KHTMLParser::processCloseTag): Made a typesafe check that prevents crashes whenever there is a closing applet tag without an actual <applet> in the first place. Now verifies the current token is ID_APPLET before casting it to an HTMLAppletElementImpl.

Feb 23, 2005:

4:35 PM Changeset in webkit [8679] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3977962> font loses bold style after pasting next to existing text and pressing return

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Problem here was that we were doing work in cases where we should not, and content whose style would have been correct if we had done nothing was getting clobbered. It turns out that extra work to apply style to the new paragraph added in this command only needs to be done if we're at the boundaries of a paragraph. Otherwise, content that is moved as part of the work of the command will lend their styles to the new paragraph without any extra work needed. So, make this position check and return unless at a paragraph boundary.

New test:

  • layout-tests/editing/style/block-styles-007-expected.txt
  • layout-tests/editing/style/block-styles-007.html
2:59 PM Changeset in webkit [8678] by sullivan
  • 2 edits in trunk/WebKit

Reviewed by Ken.

  • fixed <rdar://problem/4021370> REGRESSION (Tiger): WebKit part of fix for shift-tab on tivofaq doing the wrong thing
  • WebView.subproj/WebFrameView.m: (-[WebFrameView becomeFirstResponder]): If our previousValidKeyView is nil or self (same as nil modulo AppKit oddness), look out of the box and get the previousValidKeyView of our webview.
2:11 PM Changeset in webkit [8677] by kocienda
  • 5 edits
    8 adds in trunk

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/4017641> REGRESSION (Mail): you can only bold/unbold a selection starting from end of line once

Problem is with the way we figure out whether to add or remove a style based on
the current selection. In this case, the code is looking at the end of the
previous line, which is not bold, and deduces incorrectly that the operation is
a "make bold". Then the style code runs to make bold, but there is nothing on
the end of the previous line to embolden, so we get into a cycle where the same
thing happens each time cmd-b is hit.

  • khtml/khtml_part.cpp: (KHTMLPart::selectionComputedStyle): Call editingStartPosition() to get the right position for the font determination.
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::editingStartPosition): New helper function that "does the right thing" based on whether the selection is a caret or a range, moving upstream for the former, and downstream for the latter.
  • khtml/xml/dom2_rangeimpl.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::fontForSelection): Call editingStartPosition() to get the right position for the font determination.

New tests:

  • layout-tests/editing/style/style-boundary-001-expected.txt
  • layout-tests/editing/style/style-boundary-001.html
  • layout-tests/editing/style/style-boundary-002-expected.txt
  • layout-tests/editing/style/style-boundary-002.html
  • layout-tests/editing/style/style-boundary-003-expected.txt
  • layout-tests/editing/style/style-boundary-003.html
  • layout-tests/editing/style/style-boundary-004-expected.txt
  • layout-tests/editing/style/style-boundary-004.html
2:04 PM Changeset in webkit [8676] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3985579> 8A367: Dashboard: Stock widget not visible when click remove to remove single char ticker symbol

Explicitly remove scroll bar views when removing them from
the overflow.

Don't paint synchronously when the scroll position changes,
this caused funky clip problems.

Reviewed by Hyatt.

  • khtml/rendering/render_layer.cpp: (RenderLayer::scrollToOffset): (RenderLayer::setHasHorizontalScrollbar): (RenderLayer::setHasVerticalScrollbar): (RenderLayer::updateScrollInfoAfterLayout):
1:38 PM Changeset in webkit [8675] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3959996> REGRESSION (Mail): cursor moves to beginning of document when click is past end

  • khtml/rendering/render_block.cpp: (khtml::RenderBlock::positionForCoordinates): Skip blocks that are invisible or have no height when looking for a child to pass off to. And save away the last visible block with a height to pass off to if there is no child at the right y-coordinate.
1:25 PM Changeset in webkit [8674] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Darin.

<rdar://problem/4010059> BoundsForTextMarkerRange does not update with scrolled web area

  • kwq/KWQAccObject.mm: (-[KWQAccObject doAXBoundsForTextMarkerRange:]): Adjust for scrolling.
12:22 PM Changeset in webkit [8673] by mjs
  • 4 edits in trunk/WebCore

Reviewed by Ken.

<rdar://problem/3949790> hitting return after pasted styled line results in extra content getting the style

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorCommand::doApply): In the case where the start block is the root, insert the newly created DIV at the end of the root block instead of after the last sibling in the start node, since the start node could be inside other style-affecting nodes and we don't want to reparent its cousins into that.
12:09 PM Changeset in webkit [8672] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/4014691> switch to correctly spelled NSAccessibilityForegroundColorTextAttribute constant

Also removed two older, now unneeded, wrappers.

  • kwq/KWQAccObject.mm: (-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]): (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]): Removed these older, now unneeded, wrappers.

(NSAccessibilityForegroundColorTextAttributeWrapper):
New wrapper for NSAccessibilityForegroundColorTextAttribute.

(AXAttributeStringSetStyle):
Use NSAccessibilityForegroundColorTextAttributeWrapper.

(-[KWQAccObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
Remove uses of visiblePositionForStartOfTextMarkerRange and visiblePositionForEndOfTextMarkerRange.

11:07 AM Changeset in webkit [8671] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Vicki.

<rdar://problem/3524784> AX hit test doesn't return info when done in empty space of content area

  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityHitTest:]): Return unignored object.
11:06 AM Changeset in webkit [8670] by darin
  • 2 edits in trunk/WebKit

Reviewed by Hyatt.

  • fixed <rdar://problem/4010196> REGRESSION (125-186+): 8-character timestamps in gmail wrap to 2 lines (width:8ex; font-size:80%)
  • WebCoreSupport.subproj/WebTextRenderer.m: (-[WebTextRenderer xHeight]): Return the maximum of the "x" height and width. Comment in the code explains why in more detail.
10:23 AM Changeset in webkit [8669] by darin
  • 2 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/4006509> REGRESSION (171-172): Setting CSS -khtml-user-modify property triggers crash
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::applyProperty): Removed the code that changes the style of the element. This was never needed, and caused the style to be modified while we were iterating it.
9:54 AM Changeset in webkit [8668] by kocienda
  • 7 edits in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3980209> Mail crashed when I pressed Cmd-Shift-[ (nil-deref in ApplyStyleCommand::addBlockStyleIfNeeded)

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Reordered the new block insertion so that it come before the move. The logic stays exactly the same, however, with the old ordering, the new block could want to become a child of itself come insertion time. I considered making a more complicated code change to fix this problem, but the simple reordering works just as well, and seems less risky.

These all changed in an insignificant way. It seems that with the new code, some empty text nodes
got reordered in the document. This has no effect on anything visible to the user.

  • layout-tests/editing/style/create-block-for-style-003-expected.txt
  • layout-tests/editing/style/create-block-for-style-004-expected.txt
  • layout-tests/editing/style/create-block-for-style-009-expected.txt
  • layout-tests/editing/style/create-block-for-style-011-expected.txt
  • layout-tests/editing/style/create-block-for-style-013-expected.txt
9:42 AM Changeset in webkit [8667] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/4013986> REGRESSION (173-174): onclick event not sent when mouse click on checkbox is double-click

We need to send an onclick event *and* an ondblclick event when we process a double click.

  • khtml/khtmlview.cpp: (KHTMLView::dispatchMouseEvent): In the case where we're sending a CLICK_EVENT, follow it by a KHTML_CLICK_EVENT, a KHTML_DBLCLICK_EVENT when handling a double click, and a DOMACTIVATE_EVENT. We no longer do the DOMACTIVATE_EVENT in dispatchGenericEvent.
  • khtml/rendering/render_form.cpp: (RenderFormElement::slotClicked): send only CLICK_EVENT here, and lets dispatchMouseEvent deal with the other subsequent events.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::dispatchGenericEvent): Remove the code that sends a DOMACTIVATE_EVENT, since there's no longer a good way to figure out if this is the last event that should be sent before it is. (NodeImpl::dispatchMouseEvent): Set the meta key modifier here (as it already is set elsewhere), and follow up a CLICK_EVENT with KHTML_CLICK_EVENT, a KHTML_DBLCLICK_EVENT, and DOMACTIVATE_EVENT as above.
9:35 AM Changeset in webkit [8666] by darin
  • 4 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/4011405> REGRESSION (180-181): Unconfirmed text disappears when text focus moves

The key was to change things around so that we don't push text from the DOM to the widget
unless the DOM has actually been changed. This prevents the code path that wipes out inline input
during the blur process.

  • khtml/html/html_formimpl.cpp: (DOM::HTMLInputElementImpl::HTMLInputElementImpl): Start m_valueMatchesRenderer as false. (DOM::HTMLInputElementImpl::parseHTMLAttribute): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValue): Set m_valueMatchesRenderer to false when a new value is set here. (DOM::HTMLInputElementImpl::setValueFromRenderer): Added. Sets m_value, sets m_valueMatchesRenderer to true, and also sends out the input event. It's better to have this here than in the renderer code. (DOM::HTMLTextAreaElementImpl::HTMLTextAreaElementImpl): Start m_valueIsValid as false (replaces m_dirtyvalue) and m_valueMatchesRenderer as false. (DOM::HTMLTextAreaElementImpl::updateValue): Added. Factored this out from the value function. Uses the new booleans and keeps them up to date, specifically setting m_valueMatchesRenderer based on where the value came from. (DOM::HTMLTextAreaElementImpl::value): Updated to call updateValue to do most of the work. (DOM::HTMLTextAreaElementImpl::setValue): Set both m_valueIsValid and m_valueMatchesRenderer. (DOM::HTMLTextAreaElementImpl::setDefaultValue): Take parameter by reference.
  • khtml/html/html_formimpl.h: Added setValueFromRenderer, valueMatchesRenderer, setValueMatchesRenderer, and m_valueMatchesRenderer to input element. For textarea element, made some parameters pass DOMString by reference, and added invalidateValue, updateValue, valueMatchesRenderer, and setValueMatchesRenderer.
  • khtml/rendering/render_form.cpp: (RenderLineEdit::updateFromElement): Don't re-get the value from the DOM if valueMatchesRenderer is true. (RenderLineEdit::slotTextChanged): Call setValueFromRenderer instead of manipulating the DOM directly. (RenderTextArea::detach): Call updateValue instead of calling value for its side effect. (RenderTextArea::handleFocusOut): Ditto. (RenderTextArea::updateFromElement): Call updateValue and then not re-get the value from the DOM if valueMatchesRenderer is true. (RenderTextArea::slotTextChanged): Call invalidateValue instead of directly setting m_dirtyvalue to true.
Note: See TracTimeline for information about the timeline view.