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

Timeline



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