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

Timeline



Feb 7, 2009:

11:03 PM Changeset in webkit [40771] by hyatt@apple.com
  • 4 edits in trunk/WebCore

2009-02-07 David Hyatt <hyatt@apple.com>

Shrink the size of all InlineTextBoxes and all InlineBoxes (for images and replaced elements) by four bytes.
Change the overflow variable on InlineFlowBoxes into a short and move the bits for InlineFlowBoxes out of the
base InlineBox class. Since the number of bits in the base class was 35, shoving the 3 bits for InlineFlowBoxes
back down into that class (into the 16 bits exposed by making the overflow variable into a short), all text
boxes and image boxes shrink by 4 bytes.

Reviewed by Anders

  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::InlineFlowBox): (WebCore::InlineFlowBox::maxHorizontalVisualOverflow): (WebCore::InlineFlowBox::hasTextChildren):
10:17 PM Changeset in webkit [40770] by dino@apple.com
  • 3 edits in trunk/WebCore

2009-02-07 Dean Jackson <dino@apple.com>

Attempted build fix for Qt. Not reviewed.

TransformationMatrix changes in r40761 broke non-Apple builds.

  • platform/graphics/qt/TransformationMatrixQt.cpp: (WebCore::TransformationMatrix::operator QMatrix):
  • platform/graphics/transforms/TransformationMatrix.h:
9:39 PM Changeset in webkit [40769] by hyatt@apple.com
  • 26 edits in trunk/WebCore

2009-02-07 David Hyatt <hyatt@apple.com>

This patch changes the base class of RenderInline from RenderBox to RenderBoxModelObject. This shift
in base class knocks 32 bytes off the size of every RenderInline. All of the necessary functions
for both RenderInline and RenderBox have either been pulled up into RenderBoxModelObject for sharing
or split into two functions (one in each derived class).

Reviewed by Anders and Antti

  • dom/Element.cpp: (WebCore::Element::offsetLeft): (WebCore::Element::offsetTop): (WebCore::Element::offsetWidth): (WebCore::Element::offsetHeight): (WebCore::Element::offsetParent): (WebCore::Element::clientWidth): (WebCore::Element::clientHeight): (WebCore::Element::scrollWidth): (WebCore::Element::scrollHeight):
  • dom/Node.cpp: (WebCore::Node::renderBox): (WebCore::Node::renderBoxModelObject):
  • dom/Node.h:
  • html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isKeyboardFocusable):
  • rendering/InlineBox.h: (WebCore::InlineBox::boxModelObject):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::marginLeft): (WebCore::InlineFlowBox::marginRight): (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::borderLeft): (WebCore::InlineFlowBox::borderRight): (WebCore::InlineFlowBox::paddingLeft): (WebCore::InlineFlowBox::paddingRight):
  • rendering/RenderBlock.cpp: (WebCore::getBorderPaddingMargin): (WebCore::RenderBlock::calcInlinePrefWidths):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::imageChanged): (WebCore::RenderBox::calcReplacedWidthUsing): (WebCore::RenderBox::calcReplacedHeightUsing): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::containingBlockHeightForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontal): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteVertical): (WebCore::RenderBox::calcAbsoluteVerticalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): (WebCore::RenderBox::calcAbsoluteVerticalReplaced): (WebCore::RenderBox::positionForCoordinates):
  • rendering/RenderBox.h: (WebCore::RenderBox::borderBoundingBox): (WebCore::RenderBox::offsetHeight): (WebCore::RenderBox::marginTop): (WebCore::RenderBox::marginBottom): (WebCore::RenderBox::marginLeft): (WebCore::RenderBox::marginRight):
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::offsetLeft): (WebCore::RenderBoxModelObject::offsetTop): (WebCore::RenderBoxModelObject::paddingTop): (WebCore::RenderBoxModelObject::paddingBottom): (WebCore::RenderBoxModelObject::paddingLeft): (WebCore::RenderBoxModelObject::paddingRight): (WebCore::RenderBoxModelObject::paintFillLayerExtended): (WebCore::RenderBoxModelObject::calculateBackgroundSize): (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
  • rendering/RenderBoxModelObject.h: (WebCore::RenderBoxModelObject::borderTop): (WebCore::RenderBoxModelObject::borderBottom): (WebCore::RenderBoxModelObject::borderLeft): (WebCore::RenderBoxModelObject::borderRight): (WebCore::RenderBoxModelObject::hasHorizontalBordersPaddingOrMargin): (WebCore::RenderBoxModelObject::hasHorizontalBordersOrPadding): (WebCore::RenderBoxModelObject::childBecameNonInline): (WebCore::RenderBoxModelObject::isBoxModelObject):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): (WebCore::RenderInline::destroy): (WebCore::RenderInline::styleDidChange): (WebCore::nextContinuation): (WebCore::RenderInline::continuationBefore): (WebCore::RenderInline::addChildIgnoringContinuation): (WebCore::RenderInline::splitInlines): (WebCore::RenderInline::splitFlow): (WebCore::RenderInline::addChildToContinuation): (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::offsetLeft): (WebCore::RenderInline::offsetTop): (WebCore::RenderInline::marginLeft): (WebCore::RenderInline::marginRight): (WebCore::RenderInline::positionForCoordinates): (WebCore::RenderInline::clippedOverflowRectForRepaint): (WebCore::RenderInline::rectWithOutlineForRepaint): (WebCore::RenderInline::computeRectForRepaint): (WebCore::RenderInline::updateDragState): (WebCore::RenderInline::childBecameNonInline): (WebCore::RenderInline::updateHitTestResult): (WebCore::RenderInline::imageChanged): (WebCore::RenderInline::addFocusRingRects):
  • rendering/RenderInline.h: (WebCore::RenderInline::marginTop): (WebCore::RenderInline::marginBottom): (WebCore::RenderInline::continuation): (WebCore::RenderInline::setContinuation):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::paint): (WebCore::RenderLineBoxList::hitTest):
  • rendering/RenderLineBoxList.h:
  • rendering/RenderObject.cpp: (WebCore::addLayers): (WebCore::RenderObject::removeLayers): (WebCore::RenderObject::moveLayers): (WebCore::RenderObject::findNextLayer): (WebCore::RenderObject::enclosingLayer): (WebCore::RenderObject::enclosingCompositingLayer): (WebCore::RenderObject::setLayerNeedsFullRepaint): (WebCore::RenderObject::handleDynamicFloatPositionChange): (WebCore::RenderObject::destroy): (WebCore::RenderObject::offsetParent):
  • rendering/RenderObject.h: (WebCore::RenderObject::isInlineContinuation):
  • rendering/RenderSVGTSpan.cpp: (WebCore::RenderSVGTSpan::absoluteRects): (WebCore::RenderSVGTSpan::absoluteQuads):
  • rendering/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::absoluteRects): (WebCore::RenderSVGTextPath::absoluteQuads):
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<):
  • rendering/RenderView.cpp: (WebCore::RenderView::setBestTruncatedAt):
  • rendering/RenderView.h:
  • rendering/bidi.cpp: (WebCore::getBorderPaddingMargin): (WebCore::inlineWidth): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::inlineFlowRequiresLineBox): (WebCore::requiresLineBox): (WebCore::RenderBlock::findNextLineBreak):
  • wml/WMLAElement.cpp: (WebCore::WMLAElement::isKeyboardFocusable):
9:20 PM Changeset in webkit [40768] by bfulgham@webkit.org
  • 12 edits
    3 adds in trunk/WebCore

2009-02-07 Yael Aharon <yael.aharon@nokia.com>

Reviewed by Timothy Hatcher <timothy@hatcher.name>

Partial fix for <https://bugs.webkit.org/show_bug.cgi?id=21051>
Include localStorage and sessionStorage in DatabasesPanel.

  • WebCore.vcproj/WebCore.vcproj:
  • inspector/InspectorController.cpp: (WebCore::InspectorDOMStorageResource::create): (WebCore::InspectorDOMStorageResource::setScriptObject): (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): (WebCore::InspectorController::populateScriptObjects): (WebCore::InspectorController::addDOMStorageScriptResource): (WebCore::InspectorController::removeDOMStorageScriptResource): (WebCore::InspectorController::resetScriptObjects): (WebCore::InspectorController::didCommitLoad): (WebCore::InspectorController::didUseDOMStorage):
  • inspector/InspectorController.h:
  • inspector/front-end/DOMStorage.js: Added. (WebInspector.DOMStorage): (WebInspector.DOMStorage.prototype.get domStorage): (WebInspector.DOMStorage.prototype.set domStorage): (WebInspector.DOMStorage.prototype.get domain): (WebInspector.DOMStorage.prototype.set domain): (WebInspector.DOMStorage.prototype.get isLocalStorage): (WebInspector.DOMStorage.prototype.set isLocalStorage):
  • inspector/front-end/DOMStorageItemsView.js: Added. (WebInspector.DOMStorageItemsView): (WebInspector.DOMStorageItemsView.prototype.show): (WebInspector.DOMStorageItemsView.prototype.update):
  • inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView):
  • inspector/front-end/DatabaseTableView.js: (WebInspector.DatabaseTableView): (WebInspector.DatabaseTableView.prototype._queryFinished): (WebInspector.DatabaseTableView.prototype._queryError):
  • inspector/front-end/DatabasesPanel.js: (WebInspector.DatabasesPanel): (WebInspector.DatabasesPanel.prototype.reset): (WebInspector.DatabasesPanel.prototype.addDatabase): (WebInspector.DatabasesPanel.prototype.addDOMStorage): (WebInspector.DatabasesPanel.prototype.showDatabase): (WebInspector.DatabasesPanel.prototype.showDOMStorage): (WebInspector.DatabasesPanel.prototype.closeVisibleView): (WebInspector.DatabasesPanel.prototype.updateDatabaseTables): (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): (WebInspector.DOMStorageSidebarTreeElement): (WebInspector.DOMStorageSidebarTreeElement.prototype.onselect): (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle): (WebInspector.DOMStorageSidebarTreeElement.prototype.set mainTitle): (WebInspector.DOMStorageSidebarTreeElement.prototype.get subtitle): (WebInspector.DOMStorageSidebarTreeElement.prototype.set subtitle):
  • inspector/front-end/Images/domStorage.png: Added.
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.css:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js: (WebInspector.addDOMStorage):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): (WebCore::DOMWindow::localStorage):
6:47 PM Changeset in webkit [40767] by bfulgham@webkit.org
  • 3 edits in trunk/WebCore

2009-02-07 Feng Qian <feng@chromium.org>

Reviewed by Eric Seidel <eric@webkit.org>

Put #if ENABLE(PAN_SCROLLING) around EventHandler::setPanScrollCursor.
https://bugs.webkit.org/show_bug.cgi?id=23574

  • page/EventHandler.cpp:
  • page/EventHandler.h:
6:10 PM Changeset in webkit [40766] by bfulgham@webkit.org
  • 2 edits in trunk/WebCore

2009-02-07 Zalan Bujtas <zbujtas@gmail.com>

Reviewed by Rob Buis <rwlbuis@gmail.com>


https://bugs.webkit.org/show_bug.cgi?id=23788
call style()->isOriginalDisplayInlineType() on RenderBox instead of RenderObject.


  • rendering/bidi.cpp: (WebCore::RenderBlock::skipLeadingWhitespace):
2:06 PM Moving to Git edited by Simon Hausmann
(diff)
1:18 PM Changeset in webkit [40765] by Darin Adler
  • 2 edits in trunk/WebKit

2009-02-07 Darin Adler <Darin Adler>

  • StringsNotToBeLocalized.txt: Updated for recent changes.
1:13 PM Changeset in webkit [40764] by rwlbuis@webkit.org
  • 1 edit in trunk/LayoutTests/ChangeLog

Fix date.

1:10 PM Changeset in webkit [40763] by rwlbuis@webkit.org
  • 5 edits
    2 adds in trunk

Reviewed by Darin.

https://bugs.webkit.org/show_bug.cgi?id=3248
Bug 3248: Mouse events on OPTION element seem to be ignored

Support mouse events on options in a select when it forms a list box.

Test: fast/forms/option-mouseevents.html

12:46 PM Changeset in webkit [40762] by treat@webkit.org
  • 2 edits in trunk/WebCore

2009-02-07 Adam Treat <adam.treat@torchmobile.com>

Prospective build fix for all non-Apple platforms.

  • platform/graphics/transforms/TransformationMatrix.h:
10:40 AM Changeset in webkit [40761] by cmarrin@apple.com
  • 81 edits in trunk

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=6868

I have not only made TransformationMatrix platform independent
but I've also added 3D methods, which will be used when I update
WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689).
I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all
the math as doubles rather than floats. This makes a TransformationMatrix
go from 24 bytes to 128 bytes, but I don't think this class is used enough to
make this overhead will be significant.

The change from floats to doubles has caused some differences in rounding and
display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa),
so I've had to change some LayoutTest results in the SVG tests.

9:53 AM Changeset in webkit [40760] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-02-07 Holger Hans Peter Freyther <zecke@selfish.org>

Unreviewed build fix Use toNormalizedRange().

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::clipboard_get_contents_cb):
7:33 AM Changeset in webkit [40759] by Simon Hausmann
  • 4 edits in trunk/WebCore

2009-02-07 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

For the Qt port implement Image::drawPattern via
BitmapImage::drawPatterns' implementation and implement
Gradient::fill.

This partially fixes rendering of generated gradient content.

Feb 6, 2009:

8:19 PM Changeset in webkit [40758] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebKit/mac

Merge r40727.

8:19 PM Changeset in webkit [40757] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebKit/win

Merge r40726.

8:19 PM Changeset in webkit [40756] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebKit/win

Merge r40713.

8:19 PM Changeset in webkit [40755] by mrowe@apple.com
  • 9 edits in branches/Safari-6528

Merge r40712.

8:19 PM Changeset in webkit [40754] by mrowe@apple.com
  • 7 edits in branches/Safari-6528/WebKit/mac

Merge r40711.

8:19 PM Changeset in webkit [40753] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebKit/mac

Merge r40680.

8:19 PM Changeset in webkit [40752] by mrowe@apple.com
  • 6 edits in branches/Safari-6528/WebCore

Merge r40629.

8:19 PM Changeset in webkit [40751] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebCore

Merge r40623.

8:19 PM Changeset in webkit [40750] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebCore

Merge r40537.

8:18 PM Changeset in webkit [40749] by mrowe@apple.com
  • 3 edits in branches/Safari-6528/WebCore

Merge r40606.

8:18 PM Changeset in webkit [40748] by mrowe@apple.com
  • 2 edits in branches/Safari-6528/WebCore

Merge r40502.

6:44 PM Changeset in webkit [40747] by Adam Roben
  • 5 edits in trunk/WebKit/win

Build fix

Reviewed by Sam Weinig.

  • WebCoreSupport/WebFrameLoaderClient.cpp: Added missing #include. (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks): Removed incorrect .get(), and changed to use the new overload of WebHistory::itemForURLString.
  • WebHistory.cpp: (WebHistory::itemForURLString): Made this const. (WebHistory::itemForURLString): Added an overload that takes a WebCore::String and returns the IWebHistoryItem instead of using an out parameter.
  • WebHistory.h: Added public overload of itemForURLString.
  • WebView.cpp: (WebView::prepareCandidateWindow): (WebView::onIMERequestCharPosition): (WebView::onIMERequestReconvertString): Updated for toRange -> toNormalizedRange rename.
5:28 PM Changeset in webkit [40746] by eric@webkit.org
  • 27 edits
    5 adds in trunk

Reviewed by Justin Garcia.

DOMSelection.getRangeAt() returns a different range than the selection
https://bugs.webkit.org/show_bug.cgi?id=23601

Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range

Test: fast/dom/Selection/getRangeAt.html

  • WebCore.base.exp:
  • dom/InputElement.cpp: (WebCore::InputElement::handleBeforeTextInsertedEvent):
  • editing/DeleteButtonController.cpp: (WebCore::enclosingDeletableElement):
  • editing/Editor.cpp: (WebCore::Editor::selectedRange): (WebCore::Editor::fontForSelection): (WebCore::Editor::applyStyleToSelection): (WebCore::Editor::applyParagraphStyleToSelection): (WebCore::Editor::insertTextWithoutSendingTextEvent): (WebCore::Editor::insertLineBreak): (WebCore::Editor::insertParagraphSeparator): (WebCore::Editor::ignoreSpelling): (WebCore::Editor::isSelectionUngrammatical): (WebCore::Editor::guessesForUngrammaticalSelection): (WebCore::markMisspellingsOrBadGrammar): (WebCore::Editor::rangeForPoint):
  • editing/EditorCommand.cpp: (WebCore::expandSelectionToGranularity): (WebCore::executeDeleteToMark): (WebCore::executeSelectToMark):
  • editing/RemoveFormatCommand.cpp: (WebCore::RemoveFormatCommand::doApply):
  • editing/ReplaceSelectionCommand.cpp: (WebCore::ReplacementFragment::ReplacementFragment):
  • editing/Selection.cpp: (WebCore::Selection::firstRange): (WebCore::Selection::toNormalizedRange):
  • editing/Selection.h:
  • editing/SelectionController.h: (WebCore::SelectionController::toNormalizedRange):
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed):
  • editing/markup.cpp: (WebCore::createMarkup):
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::createFromSelection):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange):
  • page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected):
  • page/DOMSelection.cpp: (WebCore::DOMSelection::getRangeAt): (WebCore::DOMSelection::addRange): (WebCore::DOMSelection::deleteFromDocument): (WebCore::DOMSelection::containsNode): (WebCore::DOMSelection::toString):
  • page/DragController.cpp: (WebCore::setSelectionToDragCaret): (WebCore::DragController::concludeEditDrag): (WebCore::DragController::startDrag):
  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent):
  • page/Frame.cpp: (WebCore::Frame::selectedText): (WebCore::Frame::shouldChangeSelection): (WebCore::Frame::shouldDeleteSelection): (WebCore::Frame::selectionComputedStyle): (WebCore::Frame::selectionTextRects): (WebCore::Frame::findString): (WebCore::Frame::respondToChangedSelection):
  • platform/ContextMenu.cpp: (WebCore::selectionContainsPossibleWord):
5:26 PM Changeset in webkit [40745] by beidson@apple.com
  • 2 edits in trunk/WebCore

2009-02-06 Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein

<rdar://problem/6563402> - Workaround a case where ::didReceiveData() might be called on a ResourceHandleClient
before ::didReceiveResponse().

No layout test, as we don't have a concrete way to reproduce these conditions. To that effect, I've added an ASSERT
to catch the conditions before the workaround takes effect in case any WebKit Debug-build developer runs across
this case and can come up with something more reproducible.

  • loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didReceiveData): If the response is null create a dummy response. This is much like the FrameLoader::init() response that is used for initial document creation.
5:16 PM Changeset in webkit [40744] by ggaren@apple.com
  • 2 edits in trunk/WebCore

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCore.base.exp:
5:10 PM Changeset in webkit [40743] by ggaren@apple.com
  • 9 edits in trunk/WebKit

WebKit/gtk:

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::updateGlobalHistoryRedirectLinks):
  • WebCoreSupport/FrameLoaderClientGtk.h:

WebKit/qt:

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::updateGlobalHistoryRedirectLinks):
  • WebCoreSupport/FrameLoaderClientQt.h:

WebKit/wx:

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Build fix.

  • WebKitSupport/FrameLoaderClientWx.cpp: (WebCore::FrameLoaderClientWx::updateGlobalHistoryRedirectLinks):
  • WebKitSupport/FrameLoaderClientWx.h:
5:05 PM Changeset in webkit [40742] by zecke@webkit.org
  • 2 edits in trunk/WebCore

2009-02-06 Xan Lopez <xan@gnome.org>

Reviewed by Holger Freyther.

https://bugs.webkit.org/show_bug.cgi?id=23621

Do not use m_scrollOffset to check if we are setting the same
value than we already have.

m_scrollOffset starts at 0 for ScrollView, so when opening a new
page and scrolling to 0 (the usual case) the check will fail and
we won't update the adjustment value, resulting in a possibly
mispositioned scrollbar. Use the adjustment value directly
instead, which is what we are updating anyway.

  • platform/gtk/ScrollViewGtk.cpp: (WebCore::ScrollView::platformHandleHorizontalAdjustment): (WebCore::ScrollView::platformHandleVerticalAdjustment):
4:42 PM Changeset in webkit [40741] by justin.garcia@apple.com
  • 4 edits
    4 adds
    4 deletes in trunk

WebCore:

2009-02-06 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver Hunt.


https://bugs.webkit.org/show_bug.cgi?id=23800
Header elements are not always preserved during paste


At paste time, don't merge out of header elements. At copy time, be sure to include
headers in the list of special common ancestor blocks, so that copying a paragraph or less
of content inside a header will include the header element in the copied markup.

  • editing/ReplaceSelectionCommand.cpp: (WebCore::areSameHeaderElements): (WebCore::ReplaceSelectionCommand::shouldMerge):
  • editing/markup.cpp: (WebCore::isSpecialAncestorBlock): (WebCore::createMarkup):

LayoutTests:

2009-02-06 Justin Garcia <justin.garcia@apple.com>

Reviewed by Oliver Hunt.


https://bugs.webkit.org/show_bug.cgi?id=23800
Header elements are not always preserved during paste

  • editing/execCommand/4128080-1-expected.txt: Added.
  • editing/execCommand/4128080-1.html: Added.
  • editing/execCommand/4128080-2-expected.txt: Added.
  • editing/execCommand/4128080-2.html: Added.
4:28 PM Changeset in webkit [40740] by ggaren@apple.com
  • 17 edits in trunk

WebCore:

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Part III of <rdar://problem/6552272>.


Make redirect data available to WebKit. (I tried having WebKit track this
data for itself, but that went wrong -- it's just too hard to figure
out the weird corners of the WebCore loader from within another framework.)

  • loader/DocumentLoader.cpp: (WebCore::DocumentLoader::DocumentLoader):
  • loader/DocumentLoader.h: Store a flag indicating whether we created a global history entry. If we didn't, then we know that the next redirect should not link to us, since we're not in history.


(WebCore::DocumentLoader::clientRedirectSourceForHistory):
(WebCore::DocumentLoader::clientRedirectDestinationForHistory):
(WebCore::DocumentLoader::setClientRedirectSourceForHistory):
(WebCore::DocumentLoader::serverRedirectSourceForHistory):
(WebCore::DocumentLoader::serverRedirectDestinationForHistory):
(WebCore::DocumentLoader::didCreateGlobalHistoryEntry):
(WebCore::DocumentLoader::setDidCreateGlobalHistoryEntry): Added accessors
to help WebKit wade through the muck of WebCore history.

  • loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryRedirectLinks): Renamed this client function to say what it does, instead of when it's called.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::load): (WebCore::FrameLoader::loadWithNavigationAction): In the case of a redirect, store a link to the previous history URL in the new DocumentLoader, so it can update WebKit with that link when the load commits.

(WebCore::FrameLoader::updateHistory*): Use our new flags and names,
described above.

  • loader/FrameLoader.h: (WebCore::FrameLoader::documentLoader): (WebCore::FrameLoader::policyDocumentLoader): (WebCore::FrameLoader::provisionalDocumentLoader): (WebCore::FrameLoader::state): Inlined a few trivial functions because performance mistakes give me the itches.


  • loader/FrameLoaderClient.h: Renamed this client function to say what it does, instead of when it's called.

WebKit/mac:

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Part III of <rdar://problem/6552272>.


Refactored to use the redirect data WebCore makes available, instead of
tracking loading state in WebKit.


  • History/WebHistory.mm: (-[WebHistoryPrivate dealloc]): (-[WebHistory _visitedURL:withTitle:method:wasFailure:]): (-[WebHistory _visitedURLForRedirectWithoutHistoryItem:]):
  • History/WebHistoryInternal.h:
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::updateGlobalHistory): (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):

WebKit/win:

2009-02-06 Geoffrey Garen <ggaren@apple.com>

Reviewed by Sam Weinig.

Part III of <rdar://problem/6552272>.


Refactored to use the redirect data WebCore makes available, instead of
tracking loading state in WebKit.


  • WebCoreSupport/WebFrameLoaderClient.cpp: (WebFrameLoaderClient::updateGlobalHistory): (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebHistory.cpp: (WebHistory::visitedURL):
  • WebHistory.h:
4:10 PM Changeset in webkit [40739] by zecke@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-02-06 Xan Lopez <xan@gnome.org>

Reviewed by Holger Freyther.

Reported by Daniel Macks.

https://bugs.webkit.org/show_bug.cgi?id=20412

Use positive numbers for the target info IDs, gtk_target_list_add
casts them to 'guint'. Also just start them from 0, since the
values are not relevant or magic in any way, they are just used as
tokens for the user of the API.

  • webkit/webkitwebview.h:
4:04 PM Changeset in webkit [40738] by eric@webkit.org
  • 7 edits in trunk/WebCore

Reviewed by Justin Garcia.

Minor refactoring and cleanup to Selection code
https://bugs.webkit.org/show_bug.cgi?id=23774

No functional changes, thus no tests.

  • editing/Editor.cpp: (WebCore::Editor::applyStyle): (WebCore::Editor::applyParagraphStyle):
  • editing/Selection.cpp: (WebCore::Selection::Selection): (WebCore::Selection::setBaseAndExtentToDeepEquivalents): (WebCore::Selection::setStartAndEndFromBaseAndExtentRespectingGranularity): (WebCore::Selection::updateSelectionType): (WebCore::Selection::validate): (WebCore::Selection::setWithoutValidation): (WebCore::Selection::adjustSelectionToAvoidCrossingEditingBoundaries):
  • editing/Selection.h: (WebCore::Selection::): (WebCore::Selection::selectionType): (WebCore::Selection::extent): (WebCore::Selection::isNone): (WebCore::Selection::isCaret): (WebCore::Selection::isRange): (WebCore::Selection::isCaretOrRange):
  • editing/SelectionController.h: (WebCore::SelectionController::selectionType):
  • editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed):
  • page/Frame.cpp: (WebCore::Frame::revealSelection):
3:39 PM Changeset in webkit [40737] by Dimitri Glazkov
  • 1 edit
    3 adds in trunk/WebCore

2009-02-06 Dimitri Glazkov <Dimitri Glazkov>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23801
Add custom V8 bindings for SVG.

  • bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8SVGLengthCustom.cpp: Added. (WebCore::ACCESSOR_GETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8SVGMatrixCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL):
3:29 PM Changeset in webkit [40736] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-02-06 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

Bug 23792: unused param is used in RenderLayer.cp but not #include'd
<https://bugs.webkit.org/show_bug.cgi?id=23792>

Add include file for UnusedParam which is used in this file.

  • rendering/RenderLayer.cpp:
3:25 PM Changeset in webkit [40735] by eric@webkit.org
  • 4 edits in trunk/WebCore

2009-02-06 David Levin <levin@chromium.org>

Reviewed by Eric Seidel.

<https://bugs.webkit.org/show_bug.cgi?id=23741>

Bug 23798: KURLGoogle needs support for protocolInHTTPFamily
<https://bugs.webkit.org/show_bug.cgi?id=23798>

Add protocolInHTTPFamily() to the KURLGoogle implementation.
This is another chromium build fix to mirror r40553.

While in this file, I did some style fixes and consistency fixes:
+ fixed many_occurences_of_underscoring_naming
+ usages of NULL
+ comparisons to 0
+ changed the copyright remove an extraneous , and capitalize the (C)

which was suggested for other files that I've submitted.

No observable change in behavior, so no test.

  • platform/KURL.h: (WebCore::KURL::protocolInHTTPFamily):
  • platform/KURLGoogle.cpp: (WebCore::KURLCharsetConverter::ConvertFromUTF16): (WebCore::lowerCaseEqualsASCII): (WebCore::KURLGooglePrivate::KURLGooglePrivate): (WebCore::KURLGooglePrivate::setUtf8): (WebCore::KURLGooglePrivate::setAscii): (WebCore::KURLGooglePrivate::init): (WebCore::KURLGooglePrivate::initProtocolInHTTPFamily): (WebCore::KURLGooglePrivate::copyTo): (WebCore::KURLGooglePrivate::replaceComponents): (WebCore::KURL::KURL): (WebCore::KURL::createCFURL): (WebCore::KURL::isEmpty): (WebCore::KURL::protocolInHTTPFamily): (WebCore::KURL::query): (WebCore::decodeURLEscapeSequences): (WebCore::KURL::protocolIs): (WebCore::encodeWithURLEscapeSequences): (WebCore::KURL::invalidate): (WebCore::equalIgnoringRef):
  • platform/KURLGooglePrivate.h:
2:48 PM Changeset in webkit [40734] by ddkilzer@apple.com
  • 5 edits in trunk/WebCore

Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer

<https://bugs.webkit.org/show_bug.cgi?id=23741>

Reviewed by Darin Adler.

  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::contentDataEquivalent): Moved method to WebCore::StyleRareNonInheritedData class.
  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::contentDataEquivalent): Replaced declaration with inline method that calls contentDataEquivalent() on WebCore::StyleRareNonInheritedData instead.
  • rendering/style/StyleRareNonInheritedData.cpp: (WebCore::StyleRareNonInheritedData::operator==): This is the bug fix! Replaced pointer comparison of ContentData objects with call to StyleRareNonInheritedData::contentDataEquivalent(). (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added.
  • rendering/style/StyleRareNonInheritedData.h: (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added declaration.
2:42 PM Changeset in webkit [40733] by andersca@apple.com
  • 6 edits in trunk/WebKit/mac

2009-02-06 Anders Carlsson <andersca@apple.com>

Reviewed by Sam Weinig.

<rdar://problem/6562220>
CrashTracer: [USER] 21 crashes in Safari at com.apple.WebKit • WebKit::NetscapePluginHostProxy::port


Make the handling of crashes in the plug-in host more robust.


  • Plugins/Hosted/NetscapePluginHostProxy.h: Add m_portSet.


  • Plugins/Hosted/NetscapePluginHostProxy.mm: (WebKit::NetscapePluginHostProxy::NetscapePluginHostProxy): Initialize m_portSet.


(WebKit::NetscapePluginHostProxy::~NetscapePluginHostProxy):
Free m_portSet.


(WebKit::NetscapePluginHostProxy::processRequests):
Listen for messages on the port set. If we get a message to the port death notification port,
then call pluginHostDied. Otherwise, process the message.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::cleanup): Factor code that should be shared between destroy() and pluginHostDied() into cleanup.


(WebKit::NetscapePluginInstanceProxy::destroy):
Call cleanup().


(WebKit::NetscapePluginInstanceProxy::pluginHostDied):
Call cleanup().


(WebKit::NetscapePluginInstanceProxy::processRequestsAndWaitForReply):
Call NetscapePluginHostProxy::processRequests.


  • Plugins/Hosted/ProxyInstance.mm: (WebKit::ProxyInstance::invalidate): Add a null check for the host proxy.
2:17 PM Changeset in webkit [40732] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-02-06 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Factor code that checks whether the object is rooted in
repaint() and repaintRectangle() into a common isRooted()
method.

  • rendering/RenderObject.cpp: (WebCore::RenderObject::repaint): (WebCore::RenderObject::repaintRectangle): (WebCore::RenderObject::isRooted):
  • rendering/RenderObject.h:
2:16 PM Changeset in webkit [40731] by Simon Fraser
  • 4 edits in trunk/WebCore

2009-02-06 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Expose an isRootLayer() method on RenderLayer that works whether the
layer is rooted or not, and use that in a few places in the
accelerated compositing code.

  • rendering/RenderLayer.h: (WebCore::RenderLayer::isRootLayer):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintingGoesToWindow):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): (WebCore::RenderLayerCompositor::requiresCompositingLayer):
2:13 PM Changeset in webkit [40730] by Simon Fraser
  • 3 edits in trunk/WebCore

2009-02-06 Simon Fraser <Simon Fraser>

Reviewed by Eric Seidel

Make RenderStyle::transitionForProperty() const.

  • rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::transitionForProperty):
  • rendering/style/RenderStyle.h:
1:44 PM Changeset in webkit [40729] by mitz@apple.com
  • 7 edits in trunk/WebCore

Reviewed by Darin Adler.

  • fix <rdar://problem/6552338> FontCache::releaseFontData() called on a small caps font that is not in the cache

Most platforms do not retrieve the small caps font from the FontCache,
but cross-platform code in ~SimpleFontData() assumes the the small caps
font data did come from the cache and therefore calls releaseFontData()
on it.

  • platform/graphics/SimpleFontData.cpp: (WebCore::SimpleFontData::~SimpleFontData): Reordered to call platformDestroy() before releasing the small caps font and pruning the glyph page tree. This allows platformDestroy() to reset m_smallCapsFontData to 0 if it was not obtained from the cache.
  • platform/graphics/chromium/SimpleFontDataLinux.cpp: (WebCore::SimpleFontData::platformDestroy): Set m_smallCapsFontData to 0 after deleting it.
  • platform/graphics/gtk/SimpleFontDataGtk.cpp: (WebCore::SimpleFontData::platformDestroy): Ditto.
  • platform/graphics/gtk/SimpleFontDataPango.cpp: (WebCore::SimpleFontData::platformDestroy): Ditto.
  • platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::platformCommonDestroy): Ditto.
  • platform/graphics/wx/SimpleFontDataWx.cpp: (WebCore::SimpleFontData::platformDestroy): Ditto.
1:30 PM Changeset in webkit [40728] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-02-06 Simon Fraser <Simon Fraser>

Fix build when ACCELERATED_COMPOSITING is turned on.

Remove font smoothing changes that will be committed
separately.

  • platform/graphics/mac/WebLayer.mm: (WebCore::if):
1:09 PM Changeset in webkit [40727] by mitz@apple.com
  • 2 edits in trunk/WebKit/mac
  • try to fix the Tiger build
  • Misc/WebNSArrayExtras.h:
12:49 PM Changeset in webkit [40726] by mitz@apple.com
  • 2 edits in trunk/WebKit/win

Reviewed by Anders Carlsson.

  • fix an assertion failure in Vector::at() beneath WebHistoryItem::dictionaryRepresentation.
  • WebHistoryItem.cpp: (WebHistoryItem::dictionaryRepresentation): Give the numbers vector initial size. Also reduced the inline capacity of the vector used for weekly visit counts to 5, which is the expected maximum size.
12:33 PM Changeset in webkit [40725] by andersca@apple.com
  • 2 edits in trunk/WebCore

2009-02-06 Anders Carlsson <andersca@apple.com>

Build fix.


  • bridge/npapi.h:
12:16 PM Changeset in webkit [40724] by darin@chromium.org
  • 2 edits in trunk/WebCore

2009-02-06 Darin Fisher <darin@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23790
Custom -> JSCCustom in SVGPointList.idl

  • svg/SVGPointList.idl:
11:22 AM Changeset in webkit [40723] by andersca@apple.com
  • 2 edits in trunk/WebKit/mac

2009-02-06 Anders Carlsson <andersca@apple.com>

Reviewed by Dan Bernstein.

<rdar://problem/6563650>
Add Netscape plug-in API to tell the browser not to load streams (some plug-ins handle network loading manually)


  • Plugins/WebNetscapePluginView.mm: (-[WebNetscapePluginView loadStream]): (-[WebNetscapePluginView pluginView:receivedData:]): (-[WebNetscapePluginView _shouldCancelSrcStream]):
10:08 AM Changeset in webkit [40722] by Dimitri Glazkov
  • 5 edits in trunk/WebCore

2009-02-06 Anantanarayanan Iyengar <ananta@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23309
Fix whitespace indent errors. The rest of the original patch has already
landed.

  • platform/graphics/cairo/ImageSourceCairo.cpp: (WebCore::ImageSource::clear):
  • platform/graphics/cg/ImageSourceCG.cpp: (WebCore::ImageSource::clear):
  • platform/graphics/qt/ImageSourceQt.cpp: (WebCore::ImageSource::clear):
  • platform/graphics/wx/ImageSourceWx.cpp: (WebCore::ImageSource::clear):
9:37 AM Changeset in webkit [40721] by krit@webkit.org
  • 2 edits in trunk/WebCore

2009-02-06 Dirk Schulze <krit@webkit.org>

Reviewed by Simon Hausmann.

Fix bug in clearRect(). Use fillRect() instead of eraseRect() to get
the context transparent.

[QT] clearRect fill's a given rect with white
https://bugs.webkit.org/show_bug.cgi?id=23728

  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::clearRect):
9:32 AM Changeset in webkit [40720] by bfulgham@webkit.org
  • 2 edits in trunk/WebKit/win

Build fix. Re-enable missing file in Release_Cairo target.

9:05 AM Changeset in webkit [40719] by Simon Fraser
  • 2 edits in trunk/WebCore

2009-02-06 Simon Fraser <Simon Fraser>

Reviewed by Dave Hyatt

https://bugs.webkit.org/show_bug.cgi?id=23781

When the document is attached and detached, and when it becomes active/inactive
(e.g. coming out or going into the page cache) we need to call
RenderView::didMoveOnscreen()/willMoveOffscreen() to hook and unhook the composited
layers.

Also, if Document::recalcStyle() does not do a layout, it needs to
update the compositing layers.

  • dom/Document.cpp: (WebCore::Document::updateRendering): (WebCore::Document::updateLayout): (WebCore::Document::attach): (WebCore::Document::detach): (WebCore::Document::documentWillBecomeInactive): (WebCore::Document::documentDidBecomeActive):
5:50 AM Changeset in webkit [40718] by Simon Hausmann
  • 2 edits in trunk/WebKit/qt

2009-02-06 Kavindra Palaraja <kavindra.palaraja@nokia.com>

Reviewed by Simon Hausmann.

Doc - made 2 functions internal as they are not part of the API anymore (and this fixes 2 qdoc warnings)

4:35 AM Changeset in webkit [40717] by Simon Hausmann
  • 10 edits in trunk

WebCore:

2009-02-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Added support for different ownership models for wrapped QObjects in
the JavaScript environment.

WebKit/qt:

2009-02-06 Simon Hausmann <simon.hausmann@nokia.com>

Reviewed by Tor Arne Vestbø.

Added an overload of QWebFrame::addToJavaScriptWindowObject that takes a QScriptEngine::ValueOwnership parameter.

2:10 AM Changeset in webkit [40716] by ap@webkit.org
  • 2 edits in trunk/WebKit/gtk

2009-02-06 Xan Lopez <xan@gnome.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23769

Do not use empty ResourceError errors.

Rather create bogus but non-null errors, since some codepaths
expect these. For example, see DocumentLoader::mainReceivedError.

  • WebCoreSupport/FrameLoaderClientGtk.cpp: (WebKit::FrameLoaderClient::cancelledError): (WebKit::FrameLoaderClient::blockedError): (WebKit::FrameLoaderClient::cannotShowURLError): (WebKit::FrameLoaderClient::interruptForPolicyChangeError): (WebKit::FrameLoaderClient::cannotShowMIMETypeError): (WebKit::FrameLoaderClient::fileDoesNotExistError): (WebKit::FrameLoaderClient::pluginWillHandleLoadError):
1:21 AM Changeset in webkit [40715] by ap@webkit.org
  • 3 edits in trunk/WebKit/gtk

2009-02-06 Xan Lopez <xan@gnome.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23761

Use two-arg KURL ctor.

We are using the one-arg ctor currently, but:

  • It assumes the strings are already encoded, which is not necesarily the case for us.
  • The single-argument KURL ctors expect their input to already be the output of a previous KURL::parse call, so for the general case (ie, random user input) we need to use the two-arg ctor anyway.
  • webkit/webkitwebframe.cpp:
  • webkit/webkitwebview.cpp:
12:56 AM Changeset in webkit [40714] by zecke@webkit.org
  • 2 edits in trunk/WebKit/qt

2009-02-06 Aaron Boodman <aa@chromium.org>

Reviewed by Holger Freyther.

  • WebCoreSupport/FrameLoaderClientQt.cpp: (WebCore::FrameLoaderClientQt::documentElementAvailable):) Fix compile error in Qt build introduced by the below change (r40694).
12:16 AM Changeset in webkit [40713] by mjs@apple.com
  • 2 edits in trunk/WebKit/win

2009-02-06 Maciej Stachowiak <mjs@apple.com>

Rubber stamped by Dan Bernstein.

fix obvious problem in previous commit (
used instead of &&)
  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation):
12:11 AM Changeset in webkit [40712] by mjs@apple.com
  • 9 edits in trunk

WebCore:

2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein and Geoff Garen.

  • WebCore code to track per-day and per-week visit counts in history

The basic idea is as follows: we track daily visits for up to 13
days, and weekly visits for up to 5 weeks past the end of the
current daily visits. As soon as the number of daily counts goes
over 13, we squish them down into weeks, and then prune the excess weeks.

  • history/HistoryItem.cpp: (WebCore::HistoryItem::HistoryItem): Remove bogus whitespace. (WebCore::timeToDay): Helper function: convert time to days from the epoch. (WebCore::HistoryItem::padDailyCountsForNewVisit): Insert 0 counts if a site is visited after a span of days. (WebCore::HistoryItem::collapseDailyVisitsToWeekly): Core day/week upgrade algorithm as described above. (WebCore::HistoryItem::recordVisitAtTime): Use above helpers to record all info about a visit to this history item. (WebCore::HistoryItem::setLastVisitedTime): Updated. (WebCore::HistoryItem::visited): Updated. (WebCore::HistoryItem::recordInitialVisit): New function to handle recording data about the very first visit, replacing the prior practice of explicitly setting visit count to 1. (WebCore::HistoryItem::adoptVisitCounts): Take ownership of daily and weekly visit count vectors. (WebCore::HistoryItem::mergeAutoCompleteHints): Added a comment noting that this function doesn't work properly now (though this shouldn't matter much in practice.)
  • history/HistoryItem.h: (WebCore::HistoryItem::dailyVisitCounts): Accessor for daily counts. (WebCore::HistoryItem::weeklyVisitCounts): Ditto for weekly counts.
  • WebCore.base.exp: Add new symbols and sort.

WebKit/win:

2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein and Geoff Garen..

  • WebKit code to track per-day and per-week visit counts in history

For now this data is only exposed via SPI for performance reasons.

  • Interfaces/IWebHistoryItemPrivate.idl: Added new interface.
  • WebHistory.cpp: (WebHistory::visitedURL): Use new recordInitialVisit method.
  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation): Add parsing support for new data. (WebHistoryItem::dictionaryRepresentation): Add saving support for new data. (WebHistoryItem::getDailyVisitCounts): SPI accessor. (WebHistoryItem::getWeeklyVisitCounts): SPI accessor. (WebHistoryItem::recordInitialVisit): Tell WebCore to record an initial visit.
  • WebHistoryItem.h:
12:04 AM Changeset in webkit [40711] by mjs@apple.com
  • 7 edits in trunk/WebKit/mac

2009-02-05 Maciej Stachowiak <mjs@apple.com> and Brady Eidson <beidson@apple.com>

Reviewed by Dan Bernstein and Geoff Garen.

  • WebKit code to track per-day and per-week visit counts in history

For now this data is only exposed via SPI for performance reasons.


  • History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): Add parsing support for new data. (-[WebHistoryItem _recordInitialVisit]): Tell WebCore to record an initial visit. (-[WebHistoryItem dictionaryRepresentation]): Add saving support for new data. (-[WebHistoryItem _getDailyVisitCounts:]): SPI accessor. (-[WebHistoryItem _getWeeklyVisitCounts:]): SPI accessor.
  • History/WebHistoryItemInternal.h: Declare new methods.
  • History/WebHistoryItemPrivate.h: Ditto.
  • History/WebHistory.mm: (-[WebHistoryPrivate visitedURL:withTitle:]): For the initial visit, use the new _recordInitialVisit method instead of setting visit count to 1.
  • Misc/WebNSArrayExtras.h:
  • Misc/WebNSArrayExtras.m: (-[NSArray _webkit_numberAtIndex:]): Helper to retrieve an NSNumber or nil from an NSArray (-[NSArray _webkit_stringAtIndex:]): Helper to retrieve an NSString of nil from an NSArray
Note: See TracTimeline for information about the timeline view.