Timeline



Dec 23, 2004:

4:06 PM Changeset in webkit [8281] by darin
  • 21 edits in trunk

Reviewed by Ken.

  • re-fixed <rdar://problem/3760910> Request to include support for custom tag names in HTML (they already work in XML)
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): Changed some code that used ID_LAST_TAG in a slightly wrong, but harmless, way.
  • khtml/editing/htmlediting.cpp: (khtml::debugPosition): Use nodeName rather than getTagName, since the latter works for per-document tags and is just better all around for things like the document. (khtml::debugNode): Ditto.
  • khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Ditto.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
  • khtml/html/dtd.cpp: (DOM::checkChild): Use ID_LAST_TAG rather than 1000 for the check that allows non-HTML elements to be nested as desired.
  • khtml/html/htmlparser.h: Change forbidden tag array to be allocated in the object rather than on the heap. Also use ID_LAST_TAG for the array size; the old code used ID_CLOSE_TAG which is now a much larger number.
  • khtml/html/htmlparser.cpp: (KHTMLParser::KHTMLParser): Remove code that creates the forbidden tag array on the heap; makes more sense to just have the array be a member so we don't have to use new and delete on it. Also needed to eliminate code that used ID_CLOSE_TAG for an array size. (KHTMLParser::~KHTMLParser): Remove code that deletes the forbidden tag array. Also changed the code that manages isindex to use deref instead of delete. (KHTMLParser::reset): Use safer sizeof for clearing the forbidden tag array. Old code had the mistake of using ID_CLOSE_TAG for the array size too. (KHTMLParser::parseToken): Removed code that checks for bogus tags; it's not clear why it was ever there and it would prevent custom tags from working. Added range check before using the forbidden tag array with the token ID since custom tags will use index values past the end of the array. (KHTMLParser::getElement): Removed most of the code that makes an element by ID; now the work is done inside the DocumentImpl createHTMLElement. Any code that needs to be different than a dynamic createElement call is still here. Last time I left out a few form element types from this switch; fixed now.
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): Call the tagId function in the document if getTagID fails; this creates a unique per-document ID.
  • khtml/misc/htmlhashes.h: Changed return types to unsigned short.
  • khtml/misc/htmlhashes.cpp: (khtml::getTagID): Changed return type to unsigned short. (khtml::getAttrID): Ditto.
  • khtml/misc/htmltags.c: Regenerated.
  • khtml/misc/htmltags.h: Regenerated.
  • khtml/misc/maketags: Changed the generated constants to use "const unsigned short" instead of "#define". Changed ID_CLOSE_TAG to be a fixed value of 32000 rather than being just past the IDs of the HTML tags. Also rewrote getTagName to work with the new scheme.
  • khtml/xml/dom_docimpl.h: Added overload of createHTMLElement, made it non-virtual since it's not overriden.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::createHTMLElement): Refactored into two separate functions, one that takes the tag ID. Also updated for a few tags that the parser handled but this did not.
  • kwq/KWQRenderTreeDebug.cpp: (getTagName): Added. Works for custom nodes, because it calls nodeName rather than using getTagName on the tag ID directly, which only works for standard nodes. (operator<<): Update to call getTagName. (nodePositionRelativeToRoot): Ditto. (writeSelection): Ditto.

Dec 22, 2004:

4:45 PM Changeset in webkit [8280]
  • 1 copy in tags/Safari-177

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

4:45 PM Changeset in webkit [8279] by adele
  • 6 edits in trunk

Safari-177 stamp

3:18 PM Changeset in webkit [8278] by darin
  • 20 edits in trunk/WebCore
  • rolled out my custom tag name change -- it broke amazon.com
  • khtml/css/cssstyleselector.cpp:
  • khtml/editing/htmlediting.cpp:
  • khtml/editing/selection.cpp:
  • khtml/editing/visible_position.cpp:
  • khtml/html/dtd.cpp:
  • khtml/html/htmlparser.cpp:
  • khtml/html/htmlparser.h:
  • khtml/html/htmltokenizer.cpp:
  • khtml/misc/htmlhashes.cpp:
  • khtml/misc/htmlhashes.h:
  • khtml/misc/htmltags.c:
  • khtml/misc/htmltags.h:
  • khtml/misc/maketags:
  • khtml/xml/dom_docimpl.cpp:
  • khtml/xml/dom_docimpl.h:
  • khtml/xml/dom_nodeimpl.cpp:
  • khtml/xml/dom_position.cpp:
  • kwq/KWQRenderTreeDebug.cpp:
1:37 PM Changeset in webkit [8277] by harrison
  • 3 edits in trunk/WebCore

Reviewed by Darin Adler.

  • khtml/editing/selection.cpp: (khtml::Selection::validate): The selecting/deselecting bad behavior is because the Selection code that expands by words had an inaccurate test for being at the end of the document (where double-clicking needs to select the last word). Fixed that check.
10:23 AM Changeset in webkit [8276] by adele
  • 2 edits in trunk/WebCore

Reviewed by Chris.

Fix for <rdar://problem/3911650> tabs at safeway.com stop working after a while

  • kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::scrollToAnchor): removed call to cancelRedirection so that we match Firefox and WinIE behavior.
9:58 AM Changeset in webkit [8275] by darin
  • 28 edits in trunk

Reviewed by Ken.

  • fixed <rdar://problem/3760910> Request to include support for custom tag names in HTML (they already work in XML)
  • khtml/css/cssstyleselector.cpp: (khtml::CSSStyleSelector::checkOneSelector): Changed some code that used ID_LAST_TAG in a slightly wrong, but harmless, way.
  • khtml/editing/htmlediting.cpp: (khtml::debugPosition): Use nodeName rather than getTagName, since the latter works for per-document tags and is just better all around for things like the document. (khtml::debugNode): Ditto.
  • khtml/editing/selection.cpp: (khtml::Selection::debugPosition): Ditto.
  • khtml/editing/visible_position.cpp: (khtml::VisiblePosition::debugPosition): Ditto.
  • khtml/xml/dom_nodeimpl.cpp: (NodeImpl::displayNode): Ditto.
  • khtml/xml/dom_position.cpp: (DOM::Position::debugPosition): Ditto.
  • khtml/html/dtd.cpp: (DOM::checkChild): Use ID_LAST_TAG rather than 1000 for the check that allows non-HTML elements to be nested as desired.
  • khtml/html/htmlparser.h: Change forbidden tag array to be allocated in the object rather than on the heap. Also use ID_LAST_TAG for the array size; the old code used ID_CLOSE_TAG which is now a much larger number.
  • khtml/html/htmlparser.cpp: (KHTMLParser::KHTMLParser): Remove code that creates the forbidden tag array on the heap; makes more sense to just have the array be a member so we don't have to use new and delete on it. Also needed to eliminate code that used ID_CLOSE_TAG for an array size. (KHTMLParser::~KHTMLParser): Remove code that deletes the forbidden tag array. Also changed the code that manages isindex to use deref instead of delete. (KHTMLParser::reset): Use safer sizeof for clearing the forbidden tag array. Old code had the mistake of using ID_CLOSE_TAG for the array size too. (KHTMLParser::parseToken): Removed code that checks for bogus tags; it's not clear why it was ever there and it would prevent custom tags from working. Added range check before using the forbidden tag array with the token ID since custom tags will use index values past the end of the array. (KHTMLParser::getElement): Removed most of the code that makes an element by ID; now the work is done inside the DocumentImpl createHTMLElement. Any code that needs to be different than a dynamic createElement call is still here.
  • khtml/html/htmltokenizer.cpp: (khtml::HTMLTokenizer::parseTag): Call the tagId function in the document if getTagID fails; this creates a unique per-document ID.
  • khtml/misc/htmlhashes.h: Changed return types to unsigned short.
  • khtml/misc/htmlhashes.cpp: (khtml::getTagID): Changed return type to unsigned short. (khtml::getAttrID): Ditto.
  • khtml/misc/htmltags.c: Regenerated.
  • khtml/misc/htmltags.h: Regenerated.
  • khtml/misc/maketags: Changed the generated constants to use "const unsigned short" instead of "#define". Changed ID_CLOSE_TAG to be a fixed value of 32000 rather than being just past the IDs of the HTML tags. Also rewrote getTagName to work with the new scheme.
  • khtml/xml/dom_docimpl.h: Added overload of createHTMLElement, made it non-virtual since it's not overriden.
  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::createHTMLElement): Refactored into two separate functions, one that takes the tag ID. Also updated for a few tags that the parser handled but this did not.
  • kwq/KWQRenderTreeDebug.cpp: (getTagName): Added. Works for custom nodes, because it calls nodeName rather than using getTagName on the tag ID directly, which only works for standard nodes. (operator<<): Update to call getTagName. (nodePositionRelativeToRoot): Ditto. (writeSelection): Ditto.

Dec 21, 2004:

5:05 PM Changeset in webkit [8274] by harrison
  • 4 edits in trunk/WebCore

Reviewed by Ken Kocienda.

<rdar://problem/3924934> REGRESSION: double click at end of line selects start of next line

Problem was the TextIterator was not handling exitNode() from a P block properly.

  • khtml/editing/visible_text.cpp: (khtml::TextIterator::TextIterator): Add new param that specifies whether the iterator is for content or for searching. Search iterators do not prevent newlines at the beginning. (khtml::TextIterator::advance): Added some comments. (khtml::TextIterator::handleTextNode): Added some comments. (khtml::TextIterator::exitNode): Emit newline for P (and other) blocks with position following the block, instead of the m_lastTextNode. (khtml::TextIterator::emitCharacter): Added some comments. (khtml::TextIterator::range): Added some comments. (khtml::CharacterIterator::CharacterIterator): Specify search type TextIterator. (khtml::CharacterIterator::advance):
  • khtml/editing/visible_text.h: (khtml::): Add new TextIterator::TextIterator param that specifies whether the iterator is for content or for searching.
  • khtml/editing/visible_units.cpp: (khtml::nextWordBoundary): Specify search type TextIterator.
4:52 PM Changeset in webkit [8273] by harrison
  • 2 edits in trunk/WebCore

Reviewed by Ken Kocienda.

<rdar://problem/3924695> REGRESSION (Mail): double-clicking past end of line shows no selection, should select to EOL

Problem was that RenderText::setSelectionState did not handle the SelectionStart case where start and end are the end of the line.
Fixed by pretending the start == end-1 in that situation, as long as end > 0.

  • khtml/rendering/render_text.cpp: (RenderText::setSelectionState)
4:44 PM Changeset in webkit [8272] by mjs
  • 2 edits in trunk/WebCore

Reviewed by John.

<rdar://problem/3929187> WebKit needs to restrict access to certain window operations by domain

  • khtml/ecma/kjs_window.cpp: (Window::get): Change most window functions to be restricted by XSS domain check.
11:45 AM Changeset in webkit [8271] by kocienda
  • 3 edits
    2 adds in trunk

Reviewed by John

Fix for this bug:

<rdar://problem/3928305> selecting an entire line and typing over causes new inserted text at top of document

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::insertPlaceholderForAncestorBlockContent): New function to detect case formerly undetected and unhandled. This is the crux of the bug fix. (khtml::DeleteSelectionCommand::doApply): Call insertPlaceholderForAncestorBlockContent() during execution of command.
  • khtml/editing/htmlediting.h: Declare new function.
  • layout-tests/editing/deleting/delete-3928305-fix-expected.txt: Added.
  • layout-tests/editing/deleting/delete-3928305-fix.html: Added.
11:29 AM Changeset in webkit [8270] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by me

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Note to self: Must compile code before checking in (aka must return false from function returning bool).
11:23 AM Changeset in webkit [8269] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by John

Fix for this bug:

<rdar://problem/3927752> Crash in khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded(DOM::NodeImpl*)

  • khtml/editing/htmlediting.cpp: (khtml::CompositeEditCommand::insertBlockPlaceholderIfNeeded): Added some null checks. (khtml::CompositeEditCommand::removeBlockPlaceholderIfNeeded): Ditto.
11:05 AM Changeset in webkit [8268] by kocienda
  • 2 edits
    6 adds in trunk

Reviewed by Darin

  • khtml/editing/htmlediting.cpp: (khtml::ReplacementFragment::mergeStartNode): Refine concept of how this node is found based on further experiements. (khtml::ReplaceSelectionCommand::doApply): Add a special case for determining merges that need to be done if the insertion point is in an empty block.
  • layout-tests/editing/pasteboard/paste-text-012-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-012.html: Added.
  • layout-tests/editing/pasteboard/paste-text-013-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-013.html: Added.
  • layout-tests/editing/pasteboard/paste-text-014-expected.txt: Added.
  • layout-tests/editing/pasteboard/paste-text-014.html: Added.
9:38 AM Changeset in webkit [8267] by darin
  • 4 edits in trunk/WebCore

Reviewed by Ken.

  • fixed <rdar://problem/3899133> text search in a Safari window takes a very long time on Tiger updates page (and some other pages)
  • khtml/editing/visible_text.h: Add an "offset base node" parameter to emitCharacter, and also add a field to track it. Must make a few things mutable so we can update them in the range accessor.
  • khtml/editing/visible_text.cpp: (khtml::TextIterator::advance): Pass in base node and offsets rather than computing actual offsets using the node's index. We only compute the node index if actually asked for the range. (khtml::TextIterator::handleTextNode): Pass 0 for base node and set base node to 0 when setting up the offsets. (khtml::TextIterator::handleTextBox): Ditto. (khtml::TextIterator::handleReplacedElement): Pass base node and set base node instead of calling nodeIndex. (khtml::TextIterator::handleNonTextNode): Pass 0 for offset. (khtml::TextIterator::exitNode): More of the same. (khtml::TextIterator::emitCharacter): Ditto. (khtml::TextIterator::range): If an offset base node is stored, then get its node index, and then add that in to the offsets. Doing the work here guarantees it's done only once when doing a text search.
  • another small fix
  • khtml/khtml_part.cpp: Removed SPEED_DEBUG define. Not sure why it was on.

Dec 20, 2004:

7:01 PM Changeset in webkit [8266] by vicki
  • 3 edits in trunk

versioning for TOT, Safari 2.0 (176+)

6:34 PM Changeset in webkit [8265]
  • 2 copies in tags/Safari-176

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

6:34 PM Changeset in webkit [8264] by vicki
  • 6 edits in trunk

Safari-176 stamp

5:15 PM Changeset in webkit [8263] by rjw
  • 2 edits in trunk/WebKit

Add call to new API. ImageIO deprecated some older (although
quite new!) API. This caused us to fail to build on 337 or later.

Developers wanting to build on older versions of Tiger must define
USE_DEPRECATED_IMAGESOURCE_API in WebImageData.m.

Reviewed by Vicki.

  • WebCoreSupport.subproj/WebImageData.m: (-[WebImageData propertiesAtIndex:]):
5:03 PM Changeset in webkit [8262] by rjw
  • 2 edits in trunk/WebKit

Don't call Tiger SPI on Panther.

Reviewed by Vicki.

  • WebCoreSupport.subproj/WebTextRendererFactory.m: (+[WebTextRendererFactory createSharedFactory]):
4:25 PM Changeset in webkit [8261] by kocienda
  • 2 edits in trunk/WebCore

Reviewed by Darin

  • khtml/editing/htmlediting.cpp: (khtml::DeleteSelectionCommand::moveNodesAfterNode): My one-liner for this bug introduced layout test regressions: <rdar://problem/3926142> REGRESSION (Mail): Deleting text decreases quote level Rolling out until I can develop a real fix.
3:54 PM Changeset in webkit [8260] by harrison
  • 1 edit in trunk/WebCore/ChangeLog-2005-08-23

Reviewed by Dave Hyatt.

Initial checkin of AXTextMarkerRef support.

  • khtml/xml/dom_docimpl.cpp: (DocumentImpl::updateSelection): (DocumentImpl::setFocusNode):
  • kwq/KWQAccObject.h:
  • kwq/KWQAccObject.mm: (-[KWQAccObject detach]): (-[KWQAccObject anchorElement]): (-[KWQAccObject addChildrenToArray:]): (-[KWQAccObject accessibilityAttributeNames]): (-[KWQAccObject accessibilityActionDescription:]): (-[KWQAccObject accessibilityPerformAction:]): (-[KWQAccObject textMarkerRangeFromMarkers:andEndMarker:]): (-[KWQAccObject textMarkerForVisiblePosition:]): (-[KWQAccObject visiblePositionForTextMarker:]): (-[KWQAccObject AXTextMarkerRangeCopyStartMarkerWrapper:]): (-[KWQAccObject AXTextMarkerRangeCopyEndMarkerWrapper:]): (-[KWQAccObject visiblePositionForStartOfTextMarkerRange:]): (-[KWQAccObject visiblePositionForEndOfTextMarkerRange:]): (-[KWQAccObject accessibilityAttributeValue:]): (-[KWQAccObject accessibilityParameterizedAttributeNames]): (-[KWQAccObject textMarkerRangeFromVisiblePositions:andEndPos:]): (-[KWQAccObject getSelectedTextMarkerRange]): (-[KWQAccObject doAXLineForTextMarker:]): (-[KWQAccObject doAXTextMarkerRangeForLine:]): (-[KWQAccObject doAXStringForTextMarkerRange:]): (-[KWQAccObject doAXNextTextMarkerForTextMarker:]): (-[KWQAccObject doAXPreviousTextMarkerForTextMarker:]): (-[KWQAccObject doAXLeftWordTextMarkerRangeForTextMarker:]): (-[KWQAccObject doAXRightWordTextMarkerRangeForTextMarker:]): (-[KWQAccObject doAXLeftLineTextMarkerRangeForTextMarker:]): (-[KWQAccObject doAXRightLineTextMarkerRangeForTextMarker:]): (-[KWQAccObject accessibilityAttributeValue:forParameter:]): (-[KWQAccObject accessibilityFocusedUIElement]): (-[KWQAccObject clearChildren]): (-[KWQAccObject accObjectID]): (-[KWQAccObject setAccObjectID:]): (-[KWQAccObject removeAccObjectID]):
  • kwq/KWQAccObjectCache.h:
  • kwq/KWQAccObjectCache.mm: (KWQAccObjectCache::KWQAccObjectCache): (KWQAccObjectCache::~KWQAccObjectCache): (KWQAccObjectCache::getAccObjectID): (KWQAccObjectCache::removeAccObjectID): (KWQAccObjectCache::textMarkerForVisiblePosition): (KWQAccObjectCache::visiblePositionForTextMarker):
3:51 PM Changeset in webkit [8259] by harrison
  • 5 edits in trunk/WebCore

ChangeLog

3:36 PM Changeset in webkit [8258] by rjw
  • 2 edits in trunk/WebKit

Fixed <rdar://problem/3884448> WebKit should turn on CG local font cache

Enable mutli-tier font caching. We should see a performance boost with this
change.

Reviewed by Chris.

  • WebCoreSupport.subproj/WebTextRendererFactory.m: (+[WebTextRendererFactory createSharedFactory]):
2:34 PM Changeset in webkit [8257] by rjw
  • 4 edits in trunk/WebKit

Fix image decoding to separately decode image meta data from actual image bits. I
incorrectly consolidated decode of meta data and image bits resulting in a huge
performance regression.

Double size of WebCore cache on lower end machines. On the PLT run on machines with
256MB of memory, too many images were being evicted, causing a re-decode on the PLT.
Upping the lower limit of the cache size ensure that no images are evicted (this
goes hand-in-hand with the change to the minimum object size from 32K to 40K).

Reviewed by Ken.

  • WebCoreSupport.subproj/WebImageData.h:
  • WebCoreSupport.subproj/WebImageData.m: (+[WebImageData initialize]): (-[WebImageData _commonTermination]): (-[WebImageData _invalidateImages]): (-[WebImageData _invalidateImageProperties]): (-[WebImageData imageAtIndex:]): (-[WebImageData propertiesAtIndex:]): (-[WebImageData _cacheImages:allImages:]): (-[WebImageData decodeData:isComplete:callback:]): (-[WebImageData incrementalLoadWithBytes:length:complete:callback:]):
  • WebView.subproj/WebPreferences.m: (+[WebPreferences initialize]):
12:34 PM Changeset in webkit [8256] by rjw
  • 2 edits in trunk/WebKit

Fixed build problem caused by change to ImageIO API.

Reviewed by Adele.

  • WebCoreSupport.subproj/WebImageData.m:

Dec 19, 2004:

12:40 PM Changeset in webkit [8255] by darin
  • 5 edits in trunk/WebKit

Reviewed by Kevin.

  • some garbage collection fixes
  • Misc.subproj/WebNSObjectExtras.h: (WebCFAutorelease): Replaced the old WebNSRetainCFRelease with this much-easier-to-understand function cribbed from what David Harrison did in WebCore.
  • Misc.subproj/WebKitNSStringExtras.m: (+[NSString _web_encodingForResource:]): Use CFRelease here to get rid of an unnecessary use of WebNSRetainCFRelease.
  • Misc.subproj/WebNSURLExtras.m: (+[NSURL _web_URLWithData:relativeToURL:]): Use WebCFAutorelease instead of WebNSRetainCFRelease and autorelease. (-[NSURL _web_URLWithLowercasedScheme]): Ditto. (-[NSString _web_mapHostNameWithRange:encode:makeString:]): Use WebCFAutorelease here; the old code would not work correctly under GC.
  • Plugins.subproj/WebNetscapePluginPackage.m: (+[WebNetscapePluginPackage preferredLocalizationName]): Use WebCFAutorelease here; the old code would not work correctly under GC.
12:35 PM Changeset in webkit [8254] by darin
  • 2 edits in trunk/WebCore
  • kwq/KWQFoundationExtras.h: (KWQCFAutorelease): Added nil check.
12:30 PM Changeset in webkit [8253] by darin
  • 3 edits in trunk/WebCore

Reviewed by Kevin.

  • a garbage collection fix
  • kwq/KWQFoundationExtras.h: (KWQCFAutorelease): Added a more-extensive comment and fixed the BUILDING_ON_PANTHER #ifndef to use #if (in practice, either is OK).
  • kwq/KWQKURL.mm: (KURL::getNSURL): Use KWQCFAutorelease instead of autorelease.
11:09 AM Changeset in webkit [8252] by cblu
  • 2 edits in trunk/WebKit

Fixed: <rdar://problem/3766915> PDF content needs search to work

Reviewed by kevin, john.

  • WebView.subproj/WebPDFView.m: (-[WebPDFView searchFor:direction:caseSensitive:wrap:]): implemented (-[WebPDFView takeFindStringFromSelection:]): new (-[WebPDFView jumpToSelection:]): new (-[WebPDFView validateUserInterfaceItem:]): new
Note: See TracTimeline for information about the timeline view.