Timeline



Jan 25, 2005:

4:28 PM Changeset in webkit [8451] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Maciej and Richard.

<rdar://problem/3963731> AX VO: Changing window sizes causes a crash using with Voice Over - KWQPtrDictImpl::clear

  • khtml/html/html_miscimpl.cpp: (HTMLCollectionImpl::HTMLCollectionImpl): Ensure that isHTMLDocument before calling HTMLDocument-only method.
2:51 PM Changeset in webkit [8450] by rjw
  • 9 edits in trunk/WebCore

Part one of fix for <rdar://problem/3757712> REGRESSION (Mail): WebCore does not allow Devanagari ligature input

This patch changes the semantics of next() and previous() on
VisiblePosition to move a grapheme (character cluster) at a
time. This means that cursor navigation with correctly move
over an entire cluster.

However, the expected behavior for deleting a grapheme is to
delete individual code points, thus decomposing the grapheme
into it constituent parts. That will be addressed in the next
part of the fix.

Reviewed by Ken.

  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::previousPosition): (khtml::VisiblePosition::nextPosition):
  • khtml/editing/visible_position.h:
  • khtml/rendering/render_object.cpp: (RenderObject::previousOffset): (RenderObject::nextOffset):
  • khtml/rendering/render_object.h:
  • khtml/rendering/render_text.cpp: (RenderText::previousOffset): (RenderText::nextOffset): (RenderText::findNextInlineTextBox):
  • khtml/rendering/render_text.h:
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::previousOffset): (NodeImpl::nextOffset):
  • khtml/xml/dom_nodeimpl.h:
2:41 PM Changeset in webkit [8449] by sullivan
  • 4 edits in trunk/WebKit

Reviewed by Chris.

  • WebKit part of fix for: <rdar://problem/3970670> Text context menu in WebKit needs "Look Up in Dictionary" item
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (localizedMenuTitleFromAppKit): return English string in the case where AppKit bundle is found but doesn't contain the expected string. This case will be hit by people testing with an older AppKit. (-[WebDefaultUIDelegate menuItemWithTag:]): create Look Up in Dictionary item (-[WebDefaultUIDelegate contextMenuItemsForElement:]): add Look Up in Dictionary item and separator (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): ditto
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _lookUpInDictionaryFromMenu:]): new method, handles bringing up the Dictionary window. Includes FIXMEs for a couple of the known loose ends. (-[WebHTMLView validateUserInterfaceItem:]): handle Look Up in Dictionary item like the other new items
  • WebView.subproj/WebUIDelegatePrivate.h: added SPI constant for Look Up in Dictionary menu item
2:03 PM Changeset in webkit [8448] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Maciej.

<rdar://problem/3973067> AXWebArea for http://apple.netscape.com/ has an empty AXLinkUIElements

  • kwq/KWQAccObject.mm: (-[KWQAccObject accessibilityAttributeValue:]): Omit ignored AXLinks from AXLinkUIElements result
1:34 PM Changeset in webkit [8447] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3972851> REGRESSION (179-180+): Repro crash in ApplyStyleCommand::cleanUpEmptyStyleSpans

  • khtml/editing/htmlediting.cpp: (khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans): Added two null checks.
1:21 PM Changeset in webkit [8446] by kocienda
  • 3 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3954710> Mail crashed while editing signatures - NodeImpl::isBlockFlow

The fix is more general than for this one bug, and may work to fix many crashers. The problem
is that the ReplaceSelectionCommand never checked whether its starting selection is empty. If
it is, then we need to bail before doing the work of the command, which we need to deref the
start and end points of the selection in order to do its work. I think you can see the crash
potential.

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): Assert selection is not empty.
  • kwq/WebCoreBridge.mm: (partHasSelection): New helper function to test that bridge has a part with a selection.

Use new helper function to test part and selection; return from these function if this test fails.

(-[WebCoreBridge rangeByExpandingSelectionWithGranularity:])
(-[WebCoreBridge rangeByAlteringCurrentSelection:direction:granularity:])
(-[WebCoreBridge alterCurrentSelection:direction:granularity:])
(-[WebCoreBridge rangeByAlteringCurrentSelection:verticalDistance:])
(-[WebCoreBridge alterCurrentSelection:verticalDistance:])
(-[WebCoreBridge documentFragmentWithText:])
(-[WebCoreBridge replaceSelectionWithFragment:selectReplacement:smartReplace:])
(-[WebCoreBridge insertLineBreak])
(-[WebCoreBridge insertParagraphSeparator])
(-[WebCoreBridge insertParagraphSeparatorInQuotedContent])
(-[WebCoreBridge insertText:selectInsertedText:])
(-[WebCoreBridge deleteSelectionWithSmartDelete:])
(-[WebCoreBridge ensureSelectionVisible])

Jan 24, 2005:

7:56 PM Changeset in webkit [8445] by kdecker
  • 2 edits in trunk/WebCore

Reviewed by Darin.

Fixed <rdar://problem/3932374> REGRESSION: 'ReferenceError - Can't find variable' JavaScript error at webxpress.fidelity.com

  • khtml/html/html_miscimpl.h: Missing virtual identifiers for namedItem() and nextNamedItem() exposed a flaw that prevented finding variables in form [HTMLFormCollectionImpl] scopes.
5:18 PM Changeset in webkit [8444] by mjs
  • 2 edits in trunk/WebKit

Fixed Panther build (missing ifdef)

  • WebView.subproj/WebDefaultContextMenuDelegate.m:
4:46 PM Changeset in webkit [8443] by sullivan
  • 5 edits in trunk/WebKit

Reviewed by Darin.

  • WebKit part of fix for <rdar://problem/3960231> Text context menu in WebKit needs Spotlight and Google items
  • WebView.subproj/WebDefaultContextMenuDelegate.m: (localizedMenuTitleFromAppKit): new function, gets localized string from AppKit so we can avoid adding localized strings to WebKit at this late date in Tiger. Returns the non-localized English string if we can't find the localized string in AppKit. (-[WebDefaultUIDelegate menuItemWithTag:]): handle the two new menu items by tag name (-[WebDefaultUIDelegate contextMenuItemsForElement:]): add menu items for Search in Google and Search in Spotlight to selected-text menu item for the noneditable case (-[WebDefaultUIDelegate editingContextMenuItemsForElement:]): add menu items for Search in Google and Search in Spotlight to selected-text menu item for the editable case
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _searchWithGoogleFromMenu:]): implement this menu item action method, using same method name and implementation as NSTextView (-[WebHTMLView _searchWithSpotlightFromMenu:]): implement this menu item action method, using same basic implementation as NSTextView (-[WebHTMLView validateUserInterfaceItem:]): validate new menu items
  • WebView.subproj/WebUIDelegatePrivate.h: define new tags for new menu items
  • English.lproj/StringsNotToBeLocalized.txt: updated for these changes
4:35 PM Changeset in webkit [8442] by vicki
  • 2 edits in trunk/WebCore

Reviewed by kocienda.

  • fix <rdar://problem/3810661> computed style not handled for Apple extensions
  • khtml/css/css_computedstyle.cpp: (DOM::): (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): add -apple-line-clamp and -apple-text-size-adjust
2:21 PM Changeset in webkit [8441] by darin
  • 2 edits in trunk/WebCore

Reviewed by Kevin.

  • fixed <rdar://problem/3969884> REGRESSION (179-180): Typing password not echoed as "bullets" at paypal.com when field is first focused
  • kwq/KWQTextField.mm: (-[KWQTextFieldController initWithTextField:QLineEdit:]): Sizing up the form editor, which fixes things for normal fields and search fields, screws things up for password fields. Eventually, I'll need to figure out why this is and file a bug so that the AppKit team fixes it. In the mean time, just check for the case of the secure text field, and don't size up in that case.
2:20 PM Changeset in webkit [8440] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Hyatt

Fix for this bug:

<rdar://problem/3963560> 8A354: Inserting Japanese text to the line head causes line break

  • khtml/editing/htmlediting.cpp: (khtml::ReplaceSelectionCommand::doApply): Add one more case where we merge content into the existing line. This covers the situation see using the steps to reproduce this bug.
2:06 PM Changeset in webkit [8439] by mjs
  • 3 edits
    2 adds in trunk

Reviewed by Darin.

<rdar://problem/3967572> Editing should split elements before removing style

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::splitElement): (khtml::CompositeEditCommand::mergeIdenticalElements): (khtml::CompositeEditCommand::wrapContentsInDummySpan): (khtml::CompositeEditCommand::splitTextNodeContainingElement): (khtml::ApplyStyleCommand::applyInlineStyle): (khtml::ApplyStyleCommand::splitTextAtStartIfNeeded): (khtml::ApplyStyleCommand::splitTextAtEndIfNeeded): (khtml::ApplyStyleCommand::splitTextElementAtStartIfNeeded): (khtml::ApplyStyleCommand::splitTextElementAtEndIfNeeded): (khtml::areIdenticalElements): (khtml::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): (khtml::ApplyStyleCommand::mergeEndWithNextIfIdentical): (khtml::ApplyStyleCommand::cleanUpEmptyStyleSpans): (khtml::ApplyStyleCommand::addInlineStyleIfNeeded): (khtml::InsertParagraphSeparatorCommand::doApply): (khtml::InsertParagraphSeparatorInQuotedContentCommand::doApply): (khtml::InsertTextCommand::prepareForTextInsertion): (khtml::SplitTextNodeCommand::doUnapply): (khtml::SplitElementCommand::SplitElementCommand): (khtml::SplitElementCommand::~SplitElementCommand): (khtml::SplitElementCommand::doApply): (khtml::SplitElementCommand::doUnapply): (khtml::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): (khtml::MergeIdenticalElementsCommand::~MergeIdenticalElementsCommand): (khtml::MergeIdenticalElementsCommand::doApply): (khtml::MergeIdenticalElementsCommand::doUnapply): (khtml::WrapContentsInDummySpanCommand::WrapContentsInDummySpanCommand): (khtml::WrapContentsInDummySpanCommand::~WrapContentsInDummySpanCommand): (khtml::WrapContentsInDummySpanCommand::doApply): (khtml::WrapContentsInDummySpanCommand::doUnapply): (khtml::SplitTextNodeContainingElementCommand::SplitTextNodeContainingElementCommand): (khtml::SplitTextNodeContainingElementCommand::~SplitTextNodeContainingElementCommand): (khtml::SplitTextNodeContainingElementCommand::doApply):
  • khtml/editing/htmlediting.h:

New layout test that shows the side benefit of this.

  • layout-tests/editing/style/unbold-in-bold-expected.txt: Added.
  • layout-tests/editing/style/unbold-in-bold.html: Added.
1:07 PM Changeset in webkit [8438] by darin
  • 2 edits in trunk/WebKit
  • WebView.subproj/WebDataSource.m: (+[WebDataSource _repTypesAllowImageTypeOmission:]): Do the same check as for view types, so the representation types are consistent.
12:48 PM Changeset in webkit [8437] by darin
  • 7 edits in trunk/WebCore

Reviewed by John.

  • fixed <rdar://problem/3933435> -[DOMRange cloneContents] sometimes alters the original DOMRange
  • khtml/xml/dom2_rangeimpl.cpp: (DOM::RangeImpl::processContents): Fixed code that was collapsing the range after processing the contents. That's right for extract and delete, but not clone.
  • fixed <rdar://problem/3714184> inline input works incorrectly when I type Korean slowly in textfield in form on www.google.co.kr
  • fixed <rdar://problem/3193848> Can't enter SSN to sign up for Chase visa online account (changing focus inside key press handler)
  • fixed <rdar://problem/3874683> REGRESSION (161-162): Crash after typing command-Z to undo after pasting text with newline in it into a text field <input type=text>
  • kwq/KWQLineEdit.mm: (QLineEdit::text): Changed to call a new string method on the controller instead of calling stringValue, since stringValue has a bad side effect of ending inline input. (QLineEdit::selectAll): Changed to only call selectText: when the field is already selected. When you are giving the field focus, it automatically gets all selected, and this change is required in the case where we defer the focus change.
  • kwq/KWQTextField.h: Added a new string method to the controller.
  • kwq/KWQTextField.mm: (-[KWQTextFieldController setMaximumLength:]): Call the new string method instead of using stringValue. (-[KWQTextFieldController controlTextDidChange:]): Removed the code to truncate at the first CR or LF. That's now handled in the shouldChangeTextInRange method instead. (-[KWQTextFieldController textView:shouldHandleEvent:]): Add new logic to defer responder changes until after the event is handled. This makes sure the key gets into the field that's already handling it at rather than ending up in the newly-focused field if the key press handler focuses a different element. (-[KWQTextFieldController textView:didHandleEvent:]): Turn off deferral here, now that the key press has been handled. (-[KWQTextFieldController string]): Added. Calls stringValue only if there's no editor. If there is an editor, calls string on that instead. (-[KWQTextFieldController textView:shouldChangeTextInRange:replacementString:]): Added. Called by the three field subclasses. Truncates incoming strings at the first CR or LF character. This works properly with Undo, and the old technique did not. (-[KWQTextFieldController preprocessString:]): Added. Helper used for all the setStringValue methods so they all truncate at the first CR or LF as well as truncating to the appropriate length. (-[KWQTextField setStringValue:]): Changed to call the controller. (-[KWQTextField textView:shouldChangeTextInRange:replacementString:]): Added. Calls the controller. (-[KWQSecureTextField setStringValue:]): More of the same. (-[KWQSecureTextField textView:shouldChangeTextInRange:replacementString:]): Ditto. (-[KWQSearchField setStringValue:]): Ditto. (-[KWQSearchField textView:shouldChangeTextInRange:replacementString:]): Ditto.
  • kwq/KWQWidget.h: Added the new setDeferFirstResponderChanges function.
  • kwq/KWQWidget.mm: (QWidget::~QWidget): Clear out the deferredFirstResponder global just in case we are destroyed while we "have the ball". (QWidget::hasFocus): If we are in the deferred mode, use the global to decide who to say is focused. (QWidget::setFocus): If we are in the deferred mode, set the global instead of making something be the first responder. (QWidget::setDeferFirstResponderChanges): Set the boolean. If the boolean is being cleared, then get the deferred first responder and call setFocus on it again, which will do the work we didn't want to do earlier.
12:48 PM Changeset in webkit [8436] by darin
  • 4 edits in trunk/WebKit

Reviewed by John.

  • fixed <rdar://problem/3791158> REGRESSION (Mail): copyFont: and pasteFont: copy and paste only the NSFont, not other attributes
  • WebView.subproj/WebHTMLView.m: (-[WebHTMLView _styleFromFontAttributes:]): Added the last few loose ends here: strikethrough and underline.
  • fixed <rdar://problem/3967393> add a user default that lets you turn off WebKit PDF support
  • WebView.subproj/WebFrameView.m: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Leave the PDF-handling classes out of the dictionary if the secret default is set.
  • English.lproj/StringsNotToBeLocalized.txt: Updated for recent changes.
10:28 AM Changeset in webkit [8435] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3964350> Deleting all content and typing in a message gets one letter, then beeps

This is a problem with the way we turn key events, when a user starts typing, into editing commands.
Right now, that initial delete key in an empty window is turned into an editing command, and much
editing code runs that need not run. What's more, this is confusing the selection machinery. The
solution is to detect the "delete in an empty window" case and don't turn this into an editing
command at all.

  • khtml/editing/htmlediting.cpp: (khtml::TypingCommand::deleteKeyPressed)

Jan 23, 2005:

5:09 PM Changeset in webkit [8434] by adele
  • 4 edits in trunk/WebCore

Fixed <rdar://problem/3964286> REGRESSION (178-179): menus and "go to old site" link at Ameritrade's new site don't work

Removed check for document from checkCompleted. In this case, WebCore never knew that a WebImageView was complete because
it fell into this document check case in checkCompleted.
Added check for document to tokenizerProcessedData (see <rdar://problem/3807144>)

Reviewed by Darin.

  • khtml/khtml_part.cpp: (KHTMLPart::stop): (KHTMLPart::checkCompleted):
  • khtml/khtml_part.h:
  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::tokenizerProcessedData):

Jan 21, 2005:

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

Fixed <rdar://problem/3759399> Javascript / Liveconnect problems ((event handler):Undefined value)

Java applets specified with <object> or <embed> weren't scriptable. Now they are.

Reviewed by Chris.

  • khtml/html/html_objectimpl.cpp: (HTMLEmbedElementImpl::getEmbedInstance): (HTMLObjectElementImpl::getObjectInstance):
4:16 PM Changeset in webkit [8432] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3959464> REGRESSION (Mail): Insertion point goes back to beginning of document after deleting

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::handleGeneralDelete): Add special case to handle retaining a fully-selected block. This fixes the bug.
  • layout-tests/editing/deleting/delete-3959464-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-3959464-fix.html: Added.
3:01 PM Changeset in webkit [8431]
  • 4 copies in tags/Safari-180

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

3:01 PM Changeset in webkit [8430] by rjw
  • 2 edits in trunk/WebCore

Fixed <rdar://problem/3966998> REGRESSION(179-TOT) clicking on gmail message brings me to blank screen

getElementById() sometimes returns Undefined() instead of Null().

Reviewed by Hyatt.

  • khtml/ecma/kjs_dom.cpp: (DOMDocumentProtoFunc::tryCall):
2:45 PM Changeset in webkit [8429] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3773809, make sure that overflow regions never end up at an invalid scroll offset because of a layout change.

Reviewed by kocienda

  • khtml/rendering/render_layer.cpp: (RenderLayer::updateScrollInfoAfterLayout):
2:43 PM Changeset in webkit [8428] by darin
  • 3 edits in trunk/WebKit

Reviewed by Kristin Forster.

  • fixed <rdar://problem/3964972> update _initWithCGSEvent:eventRef: call in mouse moved workaround (breaks cursors in Carbon WebKit applications)
  • Carbon.subproj/HIWebView.m: (MouseMoved): Instead of munging the event record's window number directly before calling _initWithCGSEvent, on Tiger we call _eventRelativeToWindow on the event after creating it. Also added a check so that with Macromedia Contribute's workaround in place we don't do anything at all to the event. Tested with both Contribute and CarbonWeb.
  • English.lproj/StringsNotToBeLocalized.txt: Update for recent changes.
1:45 PM Changeset in webkit [8427] by hyatt
  • 2 edits in trunk/WebCore

Fix for 3966349, hang loading page. Make sure that loops using popOneBlock properly check for a null
blockStack to avoid an infinite loop.

Reviewed by kocienda

  • khtml/html/htmlparser.cpp: (KHTMLParser::parseToken): (KHTMLParser::insertNode): (KHTMLParser::popInlineBlocks):
10:55 AM Changeset in webkit [8426] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3957204> Mail crashed when sending a message in ~InsertParagraphSeparatorInQuotedContentCommand

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorInQuotedContentCommand::InsertParagraphSeparatorInQuotedContentCommand): InsertParagraphSeparatorInQuotedContentCommand has this member variable: DOM::ElementImpl *m_breakNode; I failed to initialize this variable to null in the constructor, and there is an uncommonly-traveled code path which does not set this variable to something good. In the destructor, we check for null, and deref if non-null. Obvious "BOOM" potential. Fixed.
9:29 AM Changeset in webkit [8425] by kocienda
  • 2 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3966311> REGRESSION (Mail): Hitting return makes space character disappear

  • khtml/editing/htmlediting.cpp: (khtml::InsertParagraphSeparatorCommand::doApply): When writing the code to insert a block in response to the return key, I did not write code to cover the case described in the bug. Now I have.
  • layout-tests/editing/inserting/insert-div-025-expected.txt: Added.
  • layout-tests/editing/inserting/insert-div-025.html: Added.
Note: See TracTimeline for information about the timeline view.