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

Timeline



Apr 29, 2007:

11:27 PM Changeset in webkit [21187] by oliver
  • 2 edits in trunk/WebCore

Reviewed by Brady.

Build fix for experimental features build

  • rendering/RenderForeignObject.cpp:
8:29 PM Changeset in webkit [21186] by bdash
  • 3 edits
    4 adds in trunk

2007-04-29 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/repaint/layer-hide-when-needs-layout.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle): If we get a layout hint, we count on layout() or updateLayerPositions() to repaint. In the case of a layer going invisible, however, we need to repaint here since neither of the above will do it.

2007-04-29 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/repaint/layer-hide-when-needs-layout-expected.checksum: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.png: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
  • fast/repaint/layer-hide-when-needs-layout.html: Added.
5:24 PM Changeset in webkit [23336] by aroben
  • 2 edits in branches/WindowsMerge/WebCore

Build fix after r21183.

  • WebCore.vcproj/WebCore.vcproj: Added LayoutState.(h|cpp).
3:40 PM Changeset in webkit [23335] by oliver
  • 2 edits in branches/WindowsMerge/WebCore

Reviewed by Steve.

Fix for <rdar://problem/5126393> REGRESSION (r19672-19697): Safari drag image drags at original size (13261)


Prevent build bustage from opensource changes, correct scaling

  • platform/win/DragImageWin.cpp: (WebCore::scaleDragImage):
3:31 PM Changeset in webkit [21185] by oliver
  • 7 edits in trunk/WebCore

Reviewed by Steve.

Fix for <rdar://problem/5126393> REGRESSION (r19672-19697): Safari drag image drags at original size (13261)

Added logic to ensure that when we create the drag image
we're looking at the rendered image size.

  • page/DragController.cpp: (WebCore::DragController::doImageDrag): Pass the rendered image size to fitDragImageToMaxSize
  • platform/DragImage.cpp: (WebCore::fitDragImageToMaxSize):

Need to do scaling relative to rendered image size

  • platform/DragImage.h:

scaleDragImage needs x and y scales to allow for them to be
scaled seperately on a page

  • platform/gdk/DragImageGdk.cpp: (WebCore::scaleDragImage):

Prevent build bustage

  • platform/mac/DragImageMac.mm: (WebCore::scaleDragImage):

scale width and height independently

  • platform/qt/DragImageQt.cpp: (WebCore::scaleDragImage):

Prevent build bustage

1:32 PM Changeset in webkit [21184] by darin
  • 18 edits in trunk/WebCore

Reviewed by Adele.

This patch changes things so that resizing can make things larger than their
initial size, but not smaller. I believe this resolves the problem for Gmail,
but you can still get strange behavior if you have a small right-aligned <textarea>.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::resize): Rewrote to use more IntPoint and IntSize and add in a new minimum-size algorithm. This function now has the side effect of storing a new minimumSizeForResizing in the element being resized, and respects any existing minimum as well. (WebCore::RenderLayer::offsetFromResizeCorner): Reversed this so it converts the point into coordinates relative to the resize corner, hence negative numbers mean the point is above and to the left. This is used only in the algorithm above.
  • dom/Element.h: Removed unneeded include of Attr.h, and added forward declarations as needed. Removed all friend declarations; there was no need for any of them. Tweaked formatting of various declarations and removed unneeded parameter names. Made as much as possible private, and a couple things public to avoid the need for friend classes. Added minimumSizeForResizing, setMinimumSizeForResizing, rareData, and createRareData functions.
  • dom/Element.cpp: (WebCore::rareDataMap): Added. Function to return the single global map. (WebCore::rareDataFromMap): Added. For use by inlined functions to get the data from the map in the case where it's present. (WebCore::ElementRareData::ElementRareData): Added. (WebCore::Element::~Element): Added code to delete the element from the rare data map when appropriate. (WebCore::Element::rareData): Added. (WebCore::Element::createRareData): Added. (WebCore::Element::setAttributeNodeNS): Got rid of the old inline version of this, since it was the sole reason we had to include Attr.h in Element.h. (WebCore::Element::minimumSizeForResizing): Added. Accesses rare data. (WebCore::Element::setMinimumSizeForResizing): Ditto.
  • dom/Node.h: Renamed the m_specified bit since it's now used for two purposes. Its new long name is m_attrWasSpecifiedOrElementHasRareData.
  • dom/Attr.cpp: (WebCore::Attr::Attr): Updated for bit name change.
  • dom/Attr.h: (WebCore::Attr::specified): Ditto. (WebCore::Attr::setSpecified): Added, since setting the bit directly is pretty ugly now.
  • dom/Document.cpp: (WebCore::Document::adoptNode): Updated for bit name change.
  • dom/Node.cpp: (WebCore::Node::Node): Ditto. (WebCore::Node::dump): Ditto.
  • dom/NamedAttrMap.cpp: (WebCore::NamedAttrMap::isReadOnlyNode): Moved out of line, since this was the sole reason we had to include Element.h in NamedAttrMap.h.
  • html/HTMLElement.cpp: (WebCore::HTMLElement::nodeName): Changed to use tagQName() since that's a public way to do something that's now private. (WebCore::HTMLElement::cloneNode): Ditto.
  • dom/Attribute.cpp:
  • dom/NamedAttrMap.h:
  • dom/NamedMappedAttrMap.cpp:
  • dom/StyledElement.h:
  • html/HTMLTokenizer.h:
  • xml/XPathFunctions.cpp:
  • xml/XPathStep.cpp: Updated includes, and other administrivia.
1:09 PM Changeset in webkit [21183] by weinig
  • 31 edits
    6 adds in trunk

LayoutTests:

Reviewed by Darin and Hyatt.

  • fast/repaint/bugzilla-3509-expected.checksum:
  • fast/repaint/bugzilla-3509-expected.png:
  • fast/repaint/intermediate-layout-position-clip-expected.checksum: Added.
  • fast/repaint/intermediate-layout-position-clip-expected.png: Added.
  • fast/repaint/intermediate-layout-position-clip-expected.txt: Added.
  • fast/repaint/intermediate-layout-position-clip.html: Added.
  • fast/repaint/intermediate-layout-position-expected.checksum:
  • fast/repaint/intermediate-layout-position-expected.png:

WebCore:

Reviewed by Darin and Hyatt.

Test for a bug fixed by this patch: fast/repaint/intermediate-layout-position-clip.html

By keeping track of the total translation and clip during layout, absolutePosition and
computeAbsoluteRepaintRect become O(1).

  • WebCore.pro: Added LayoutState.cpp
  • WebCore.vcproj/WebCore/WebCore.vcproj: Added LayoutState.{cpp,h}
  • WebCore.xcodeproj/project.pbxproj: Added LayoutState.{cpp,h}
  • WebCoreSources.bkl: Added LayoutState.cpp
  • page/FrameView.cpp: (WebCore::FrameView::layout): When doing subtree layout, push an initial layout state for the layout root.
  • rendering/LayoutState.cpp: Added. A LayoutState corresponding to a box consists of the origin of its coordinate system in view coordinates and possibly the clip rect, in view coordinates, which applies to its children. (WebCore::LayoutState::LayoutState): (WebCore::LayoutState::destroy): (WebCore::throw): (WebCore::LayoutState::operator delete):
  • rendering/LayoutState.h: Added. (WebCore::LayoutState::LayoutState):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): Factored out the "only positioned objects" case into layoutOnlyPositionedObjects(). Added code to push/pop LayoutState, unless we have columns, in which case we disable/enable LayoutState. Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox(). (WebCore::RenderBlock::layoutOnlyPositionedObjects): Added this helper function that checks for and handles the case where only positioned objects need layout. Returns true in that case. (WebCore::RenderBlock::repaintOverhangingFloats): Disabled LayoutState when repainting floats, since they may belong to other containers. (WebCore::RenderBlock::updateFirstLetter): Disabled LayoutState when adding and removing from the first letter container, since it may be different than ourselves.
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::setStyle): Minor cleanup: changed element()->document() to the equivalent document(). (WebCore::RenderBox::offsetForPositionedInContainer): Added. Factored out common code from absolutePosition, computeAbsoluteRepaintRect and RenderLayer::updateLayerPosition into this function. (WebCore::RenderBox::absolutePosition): Added an O(1) code path when this function is called during layout (and LayoutState has not been disabled). Factored out some code into offsetForPositionedInContainer. (WebCore::RenderBox::absoluteClippedOverflowRect): Added the layout delta here, so callers don't need to. (WebCore::RenderBox::computeAbsoluteRepaintRect): Added an O(1) code path when this function is called during layout (and LayoutState has not been disabled). Factored out some code into offsetForPositionedInContainer.
  • rendering/RenderContainer.cpp: (WebCore::RenderContainer::layout): Added LayoutState push/pop.
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Factored out the "only positioned objects" case into layoutOnlyPositionedObjects(). Added LayoutState push/pop. Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox().
  • rendering/RenderFlow.cpp: (WebCore::RenderFlow::absoluteClippedOverflowRect): Added an ASSERT.
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::layout): Disabled LayoutState because it is incompatible with arbitrary affine transforms.
  • rendering/RenderHTMLCanvas.cpp: (WebCore::RenderHTMLCanvas::layout): Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox().
  • rendering/RenderImage.cpp: (WebCore::RenderImage::layout): Ditto.
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): Added ASSERTs. Factored out some code into RenderBox::offsetForPositionedInContainer. (WebCore::RenderLayer::updateScrollInfoAfterLayout): Disabled LayoutState around the call to scrollToOffset.
  • rendering/RenderListItem.cpp: (WebCore::RenderListItem::updateMarkerLocation): Disabled LayoutState when moving the list marker, since it can trigger repainting in other containers.
  • rendering/RenderObject.cpp: (WebCore::RenderObject::isRoot): Minor cleanup: changed element()->document() to the equivalent document(). (WebCore::RenderObject::computeAbsoluteRepaintRect): Removed 'return' at the end of the function. (WebCore::RenderObject::container): Reordered to avoid calling isText() twice. (WebCore::RenderObject::absoluteOutlineBox): Added the layout delta here, so callers don't need to.
  • rendering/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): Disabled LayoutState because it is incompatible with arbitrary affine transforms.
  • rendering/RenderTable.cpp: (WebCore::RenderTable::layout): Factored out the "only positioned objects" case into layoutOnlyPositionedObjects(). Added LayoutState push/pop. Removed the translation by the layout delta of the old absolute rects, since that is now integral to absoluteClippedOverflowRect() and absoluteOutlineBox().
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::absoluteClippedOverflowRect): Added the layout delta here, so callers don't need to. (WebCore::RenderTableCell::computeAbsoluteRepaintRect): For the O(1) code path, skipped the correction for the parent row, because RenderTableRow doesn't push a translation into LayoutState. (WebCore::RenderTableCell::absolutePosition): Ditto.
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): Added LayoutState push/pop.
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::setCellWidths): Added LayoutState push/pop if cells are repainted or receive layout. (WebCore::RenderTableSection::calcRowHeight): Ditto. (WebCore::RenderTableSection::layoutRows): Added LayoutState push/pop.
  • rendering/RenderView.cpp: (WebCore::RenderView::RenderView): (WebCore::RenderView::layout): Added initial LayoutState setup for the layout. (WebCore::RenderView::paintBoxDecorations): Minor cleanup: changed element()->document() to the equivalent document(). (WebCore::RenderView::repaintViewRectangle): Ditto. (WebCore::RenderView::pushLayoutState): Added. Pushes initial layout state for subtree layout.
  • rendering/RenderView.h: (WebCore::RenderView::pushLayoutState): (WebCore::RenderView::popLayoutState): (WebCore::RenderView::layoutState): (WebCore::RenderView::disableLayoutState): (WebCore::RenderView::enableLayoutState):
3:33 AM Changeset in webkit [21182] by hyatt
  • 4 adds in trunk/LayoutTests/fast/block/positioning

Add layout test for previous checkin.

3:30 AM Changeset in webkit [21181] by hyatt
  • 2 edits in trunk/WebCore

Fix for bugzilla 13535, regression from positioning cleanup a while
back. Some code got added to compute available width for a relpositioned
inline, only the code meant to be used for inline flows and not inline blocks.

Reviewed by mjs

fast/block/positioning/inline-block-relposition.html

  • rendering/RenderBox.cpp: (WebCore::RenderBox::containingBlockWidthForPositioned):
3:17 AM Changeset in webkit [21180] by oliver
  • 12 edits in trunk

2007-04-29 Oliver Hunt <oliver@apple.com>

Drag and drop support for WebKit/Qt

WebCore:

Reviewed by Zack.

Implement basic drag and drop support for qt
this allows content and link dragging but does not
provide the DOM data access methods.

  • platform/DragData.h:
  • platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::ClipboardQt): (WebCore::ClipboardQt::~ClipboardQt): (WebCore::ClipboardQt::clearData): (WebCore::ClipboardQt::clearAllData): (WebCore::ClipboardQt::setData): (WebCore::ClipboardQt::declareAndWriteDragImage): (WebCore::ClipboardQt::writeURL): (WebCore::ClipboardQt::writeRange): (WebCore::ClipboardQt::hasData):
  • platform/qt/ClipboardQt.h: (WebCore::ClipboardQt::clipboardData): (WebCore::ClipboardQt::invalidateWritableData):
  • platform/qt/DragDataQt.cpp: (WebCore::DragData::canSmartReplace): (WebCore::DragData::containsPlainText): (WebCore::DragData::asPlainText): (WebCore::DragData::createClipboard): (WebCore::DragData::containsCompatibleContent): (WebCore::DragData::containsURL): (WebCore::DragData::asURL): (WebCore::DragData::asFragment):

WebKitQt:

Reviewed by Zack.

Tie QT drag events to the DragController logic
to allow drag and drop events to be handled by
webkit.

  • Api/qwebframe.cpp:
  • Api/qwebframe.h:
  • Api/qwebpage.cpp: (QWebPagePrivate::QWebPagePrivate): (QWebPage::QWebPage): (dropActionToDragOp): (dragOpToDropAction): (QWebPage::dragEnterEvent): (QWebPage::dragLeaveEvent): (QWebPage::dragMoveEvent): (QWebPage::dropEvent):
  • Api/qwebpage.h:
  • WebCoreSupport/DragClientQt.cpp: (WebCore::DragClientQt::startDrag):
  • WebCoreSupport/DragClientQt.h: (WebCore::DragClientQt::DragClientQt):
12:33 AM Changeset in webkit [21179] by mjs
  • 22 edits in trunk/WebCore

Reviewed by Darin and Oliver.

  • change Document to hold onto Frame* instead of FrameView*


This is an architectural cleanup and a prerequisite to fixing citibank login
in an architecturally sound way.

Some fixups for the page cache:


  • history/CachedPage.cpp: (WebCore::CachedPage::restore): Add an assert that the document's view matches the cached page's view - this needs to be true by the time this function is called. (WebCore::CachedPage::clear): Change assert to require frame matching, not view matching.
  • history/CachedPage.h: (WebCore::CachedPage::view): Add a way to get the view out.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): pass Frame, not FrameView, when creating document (WebCore::FrameLoader::open): restore view based on CachedPage, not Document.

Remaining changes are just straightforward updates based on which
pointer is held or passed:


  • dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): (WebCore::DOMImplementation::createHTMLDocument):
  • dom/DOMImplementation.h:
  • dom/Document.cpp: (WebCore::Document::Document): (WebCore::Document::view): (WebCore::Document::frame): (WebCore::Document::recalcStyle): (WebCore::Document::updateLayout): (WebCore::Document::attach): (WebCore::Document::detach): (WebCore::Document::createTokenizer): (WebCore::Document::recalcStyleSelector): (WebCore::Document::setInPageCache): (WebCore::Document::applyXSLTransform):
  • dom/Document.h:
  • html/HTMLDocument.cpp: (WebCore::HTMLDocument::HTMLDocument):
  • html/HTMLDocument.h:
  • html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
  • html/HTMLViewSourceDocument.h:
  • ksvg2/svg/SVGDocument.cpp: (WebCore::SVGDocument::SVGDocument):
  • ksvg2/svg/SVGDocument.h:
  • loader/ImageDocument.cpp: (WebCore::ImageDocument::ImageDocument):
  • loader/ImageDocument.h:
  • loader/PluginDocument.cpp: (WebCore::PluginDocument::PluginDocument):
  • loader/PluginDocument.h:
  • loader/TextDocument.cpp: (WebCore::TextDocument::TextDocument):
  • loader/TextDocument.h:
  • xml/XSLTProcessor.cpp: (WebCore::XSLTProcessor::createDocumentFromSource): (WebCore::XSLTProcessor::transformToDocument):
  • xml/XSLTProcessor.h:

Apr 28, 2007:

11:42 PM Changeset in webkit [21178] by bdash
  • 2 edits in trunk/JavaScriptCore

2007-04-28 Jungshik Shin <jungshik.shin@gmail.com>

Reviewed by Sam Weinig.

  • bindings/npruntime.h:
10:32 PM Changeset in webkit [21177] by adele
  • 3 edits
    2 adds in trunk

LayoutTests:

Added test to cover updated fix for <rdar://problem/5152299>

  • fast/events/no-blur-on-enter-button-expected.txt: Added.
  • fast/events/no-blur-on-enter-button.html: Added.

WebCore:

RS by Darin.

Update to fix for <rdar://problem/5152299>

Test: fast/events/no-blur-on-enter-button.html

  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::defaultEventHandler): Don't blur the button when handling the enter key. This matches our new behavior for input elements.
9:35 PM Changeset in webkit [21176] by darin
  • 1 edit in trunk/JavaScriptCore/ChangeLog

Improved the ChangeLog comment. Maybe the code needs a comment like this too.

9:25 PM Changeset in webkit [21175] by darin
  • 3 edits
    2 adds in trunk

JavaScriptCore:

Reviewed by Maciej.

  • fix <rdar://problem/5154144> Hamachi test fails: assertion failure in ListHashSet

Test: fast/forms/add-remove-form-elements-stress-test.html

  • wtf/ListHashSet.h: (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): Initialize m_isDoneWithInitialFreeList to false. (WTF::ListHashSetNodeAllocator::allocate): Added assertions based on a debug-only m_isAllocated flag that make sure we don't allocate a block that's already allocated. These assertions helped pinpoint the bug. Set m_isDoneWithInitialFreeList when we allocate the last block of the initial free list. Once we're done with the initial free list, turn off the rule that says that the next node in the pool after the last node in the free list is also free. This rule works because any free nodes are added to the head of the free list, so a node that hasn't been allocated even once is always at the tail of the free list. But it doesn't work any longer once the entire pool has been used at least once. (WTF::ListHashSetNodeAllocator::deallocate): Set the node's m_isAllocated to false. (WTF::ListHashSetNodeAllocator::pastPool): Added. Used above. (WTF::ListHashSetNodeAllocator::inPool): Changed to use the pastPool function. (WTF::ListHashSetNode::ListHashSetNode): Initialize m_isAllocated to true. (WTF::ListHashSetNode::operator new): Removed variable name for unused size parameter. (WTF::ListHashSetNode::destroy): Changed to call the destructor rather than delete -- this gets rid of the need to define an operator delete.

LayoutTests:

Reviewed by Maciej.

  • test for <rdar://problem/5154144> Hamachi test fails: assertion failure in ListHashSet
  • fast/forms/add-remove-form-elements-stress-test-expected.txt: Added.
  • fast/forms/add-remove-form-elements-stress-test.html: Added.
9:09 PM Changeset in webkit [21174] by adele
  • 4 edits
    4 adds in trunk

LayoutTests:

Tests for <rdar://problem/5152299> REGRESSION: <button> elements do not respond to space and return key as similar <input> elements do

  • fast/forms/button-enter-click-expected.txt: Added.
  • fast/forms/button-enter-click.html: Added.
  • fast/forms/button-spacebar-click-expected.txt: Added.
  • fast/forms/button-spacebar-click.html: Added.

WebCore:

Fix by Darin, reviewed by me.

Fix for <rdar://problem/5152299> REGRESSION: <button> elements do not respond to space and return key as similar <input> elements do

Tests:
fast/forms/button-spacebar-click.html
fast/forms/button-enter-click.html

  • html/HTMLButtonElement.h: (WebCore::HTMLButtonElement::): Made type enum private. Removed unnecessary m_value and m_currValue, and unused m_dirty.
  • html/HTMLButtonElement.cpp: (WebCore::HTMLButtonElement::HTMLButtonElement): Removed initialization of m_dirty. (WebCore::HTMLButtonElement::parseMappedAttribute): Removed case to parse value and accesskey attributes, which don't do anything. (WebCore::HTMLButtonElement::defaultEventHandler): Removed unnecessary check for button type. Added cases to handle spacebar and enter keys in the same way that they're handled for <input type=button/reset/submit> buttons. (WebCore::HTMLButtonElement::isSuccessfulSubmitButton): Shortened comment. (WebCore::HTMLButtonElement::appendFormData): Use value() instead of m_currValue. Renamed encoding argument to formData.
6:36 PM Changeset in webkit [21173] by darin
  • 3 edits
    4 adds in trunk

LayoutTests:

Reviewed by Darin.

  • fast/dynamic/anonymous-block-layer-lost-expected.checksum: Added.
  • fast/dynamic/anonymous-block-layer-lost-expected.png: Added.
  • fast/dynamic/anonymous-block-layer-lost-expected.txt: Added.
  • fast/dynamic/anonymous-block-layer-lost.html: Added.

WebCore:

Reviewed by Darin.

Test: fast/dynamic/anonymous-block-layer-lost.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::removeChild): Avoid cutting off layers when removing the anonymous block.
6:34 PM Changeset in webkit [21172] by darin
  • 3 edits
    1 add in trunk/WebCore

Reviewed by Darin.

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::clear): Replaced direct access to Frame's d->m_doc with a call to Frame::setDocument. (WebCore::FrameLoader::begin): Ditto. (WebCore::FrameLoader::open): Ditto. (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): Ditto. (WebCore::FrameLoader::canCachePage): Added a comment.
  • manual-tests/secure-keyboard-enabled-after-submit.html: Added.
  • page/Frame.cpp: (WebCore::Frame::setDocument): Reset secure keyboard entry, in case the old document's focused node has set it.
6:30 PM Changeset in webkit [21171] by darin
  • 2 edits
    1 add in trunk/WebCore

Reviewed by Adele.

  • manual-tests/update-empty-popup.html: Added.
  • platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added a call to the client's hidePopup() callback before returning in the case that the menu is empty. Otherwise the client thinks that the menu stayed open.
12:00 PM Changeset in webkit [21170] by adele
  • 3 edits
    3 adds in trunk

LayoutTests:

Reviewed by Darin.

Test for <rdar://problem/4806988> REGRESSION: history.go(0) doesn't reload page (affects buttons at facebook.com)

  • fast/history/history_reload-expected.txt: Added.
  • fast/history/history_reload.html: Added.
  • fast/history/resources/history_reload_window.html: Added.

WebCore:

Reviewed by Darin.

Fix for <rdar://problem/4806988> REGRESSION: history.go(0) doesn't reload page (affects buttons at facebook.com)

Test: fast/history/history_reload.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::scheduleHistoryNavigation): We avoid doing a redirection when going to the same url in a history navigation, but we have to still schedule a redirection when the number of steps is zero so we can force a reload.
11:29 AM Changeset in webkit [21169] by ap
  • 5 edits
    2 adds in trunk

Reviewed by Darin.

http://bugs.webkit.org/show_bug.cgi?id=13514
REGRESSION (r20997-21003): Crash in WebCore::Node::document

Test: fast/dom/NodeList/childNodes-reset-cache.html

  • dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsChildrenChanged): Reset the common caches for child node lists. We cannot rely on notifications, since there may be no list objects left around.
  • dom/ChildNodeList.cpp: (WebCore::ChildNodeList::rootNodeChildrenChanged):
  • dom/ChildNodeList.h: Override rootNodeChildrenChanged() with an empty implementation, now that caches are reset in Node::notifyLocalNodeListsChildrenChanged().
4:36 AM Changeset in webkit [21168] by bdash
  • 2 edits in trunk/WebCore

2007-04-28 Mark Rowe <mrowe@apple.com>

Build fix. Change use of nil to 0 in C++ source file.

  • editing/Editor.cpp: (WebCore::Editor::increaseSelectionListLevel): (WebCore::Editor::increaseSelectionListLevelOrdered): (WebCore::Editor::increaseSelectionListLevelUnordered):
1:11 AM Changeset in webkit [21167] by darin
  • 3 edits
    2 adds in trunk

LayoutTests:

Reviewed by Adele.

  • fast/dom/namespaces-1-expected.txt: Added.
  • fast/dom/namespaces-1.html: Added.

WebCore:

Reviewed by Adele.

  • dom/Node.cpp: (WebCore::TagNodeList::TagNodeList): Changed parameter to PassRefPtr, tweaked formatting. (WebCore::TagNodeList::item): Tweaked formatting. (WebCore::TagNodeList::nodeMatches): Tweaked formatting. (WebCore::Node::setPrefix): Tweaked formatting. (WebCore::Node::getElementsByTagNameNS): Added special case to turn empty namespaces into null namespaces.
1:07 AM Changeset in webkit [21166] by darin
  • 4 edits in trunk

LayoutTests:

Reviewed by Kevin Decker.

  • update test result for fix for <rdar://problem/5148271> Chinese numbers are incorrect in numbered lists (including pasting from TextEdit to Mail)
  • fast/lists/w3-list-styles-expected.txt: Updated. The new test results match the behavior of Firefox.

WebCore:

Reviewed by Kevin Decker.

  • fix <rdar://problem/5148271> Chinese numbers are incorrect in numbered lists (including pasting from TextEdit to Mail)

Covered by an existing regression test, which had wrong results checked in.

Hyatt told me not to use the algorithm in the CSS 3 specification, but I didn't listen!
This corrects mistakes there and makes our results match current Firefox.

  • rendering/RenderListMarker.cpp: (WebCore::toCJKIdeographic): Added code to strip off trailing zero digits. Added special case for zero, since that's the one case where we don't want to strip off trailing zero digits. Fixed mixed-up logic that would put the digits in each group backwards. (WebCore::listMarkerText): Corrected character values for the CJK_IDEOGRAPHIC case.
1:02 AM Changeset in webkit [21165] by darin
  • 2 edits in trunk/WebCore

Reviewed by Oliver.

  • fix <rdar://problem/5138250> REGRESSION (r18245): Changing any one aspect of a font applies all the aspects to selected text

Since this bug is only visible with the font panel, I don't
think there's any way to make a DumpRenderTree-driven test.

  • editing/Editor.cpp: (WebCore::Editor::fontForSelection): Set hasMultipleFonts properly. The old code had an early exit that was left over from when hasMultipleFonts was a pointer.
Note: See TracTimeline for information about the timeline view.