Timeline



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.
Note: See TracTimeline for information about the timeline view.