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

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