Timeline


and

02/11/09:

23:58 Changeset [40888] by ap@webkit.org

2009-02-11 Dmitry Titov <dimich@chromium.org>

Reviewed by Alexey Proskuryakov.

https://bugs.webkit.org/show_bug.cgi?id=23705
Fix the UI freeze caused by Worker generating a flood of messages.
Measure time we spend in executing posted work items. If too much time is spent
without returning to the run loop, exit and reschedule.

  • wtf/MainThread.h: Added initializeMainThreadPlatform() to initialize low-level mechanism for posting work items from thread to thread. This removes #ifdefs for WIN and CHROMIUM from platform-independent code.
  • wtf/MainThread.cpp: (WTF::initializeMainThread): (WTF::dispatchFunctionsFromMainThread): Instead of dispatching all work items in the queue, dispatch them one by one and measure elapsed time. After a threshold, reschedule and quit.

(WTF::callOnMainThread):
(WTF::callOnMainThreadAndWait):
Only schedule dispatch if the queue was empty - to avoid many posted messages in the run loop queue.

  • wtf/mac/MainThreadMac.mm: (WTF::scheduleDispatchFunctionsOnMainThread): Use static instance of the mainThreadCaller instead of allocating and releasing it each time. (WTF::initializeMainThreadPlatform):
  • wtf/gtk/MainThreadChromium.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/gtk/MainThreadGtk.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/qt/MainThreadQt.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform):
  • wtf/wx/MainThreadWx.cpp: (WTF::initializeMainThreadPlatform):
21:53 Changeset [40887] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Fix the build on Leopard with ACCELERATED_COMPOSITING turned on.

  • WebCore.xcodeproj/project.pbxproj: FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h
  • platform/graphics/mac/GraphicsLayerCA.mm: (WebCore::getTransformFunctionValue): (WebCore::caValueFunctionSupported): (WebCore::GraphicsLayerCA::setAnchorPoint): (WebCore::GraphicsLayerCA::setPreserves3D): (WebCore::GraphicsLayerCA::setContentsToImage): (WebCore::GraphicsLayerCA::setBasicAnimation): (WebCore::GraphicsLayerCA::setKeyframeAnimation):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::isRootLayer): Fix isRootLayer to return true for the renderView's layer, not the root renderer's layer.
21:48 Changeset [40886] by beidson@apple.com

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

Fix my last checkin for more effect.

  • WebHistoryItem.cpp: (WebHistoryItem::initFromDictionaryRepresentation):
21:06 Changeset [40885] by adele@apple.com

2009-02-11 Adele Peterson <adele@apple.com>

Reviewed by Oliver Hunt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=23910
<rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing

  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant.
20:15 Changeset [40884] by mrowe@apple.com

Fix the build.

  • History/WebHistory.mm:

(-[WebHistoryPrivate visitedURL:withTitle:]): Use ASSERT_UNUSED in a manner that makes sense.

20:07 Changeset [40883] by aroben@apple.com

Windows fix for Bug 22239: Implement missing animation & transition APIs on LayoutTestController for non-mac platforms

WebKit/win:

Windows fix for Bug 22239: Implement missing animation & transition
APIs on LayoutTestController for non-mac platforms

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

Reviewed by Simon Fraser.

  • Interfaces/IWebFramePrivate.idl: Added pauseAnimation, pauseTransition, and numberOfActiveAnimations.
  • WebFrame.cpp: (WebFrame::pauseAnimation): (WebFrame::pauseTransition): (WebFrame::numberOfActiveAnimation): Added. These all call through to AnimationController.
  • WebFrame.h: Added pauseAnimation, pauseTransition, and numberOfActiveAnimations.

WebKitTools:

Windows fix for Bug 22239: Implement missing animation & transition
APIs on LayoutTestController for non-mac platforms

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

Reviewed by Simon Fraser.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::pauseAnimationAtTimeOnElementWithId): (LayoutTestController::pauseTransitionAtTimeOnElementWithId): (LayoutTestController::numberOfActiveAnimations): Implemented these by calling through to IWebFramePrivate.

LayoutTests:

Windows fix for Bug 22239: Implement missing animation & transition
APIs on LayoutTestController for non-mac platforms

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

Reviewed by Simon Fraser.

  • platform/win/Skipped: Enable the previously-skipped tests.
18:30 Changeset [40882] by beidson@apple.com

WebKit/mac:

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

Reviewed by Mark Rowe

<rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative

Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.

  • History/WebHistory.mm: (-[WebHistoryPrivate visitedURL:withTitle:]): Swap the removeItemFromDateCaches and visitedWithTitle calls. (-[WebHistoryPrivate addItem:discardDuplicate:]): Add a mode that allows the entry being added to be discarded if an entry for the URL already exists. Use that mode when reading the History.plist so only the most recent entry for a given URL will be used. (-[WebHistoryPrivate addItems:]): (-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):

WebKit/win:

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

Reviewed by Mark Rowe

<rdar://problem/6570573> Some visit counts in History.plist have insanely high values, can roll over to negative

Remove the item from the date caches before registering the visit. Otherwise it might not be successfully removed
and when we add it back later it will exist in the list twice. This will cause the entry to be written out twice,
which would lead to doubling (or more!) the visit count on next launch when these multiple items are merged.

  • WebHistory.cpp: (WebHistory::loadHistoryGutsFromURL): (WebHistory::addItems): (WebHistory::addItem): Add a mode that allows the entry being added to be discarded if an entry for the URL already exists. Use that mode when reading the History.plist so only the most recent entry for a given URL will be used. (WebHistory::visitedURL): Swap the removeItemFromDateCaches and visitedWithTitle calls.
  • WebHistory.h:
17:59 Changeset [40881] by hyatt@apple.com

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

Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox. Devirtualize the functions.
Patch all of the call sites to convert to a RenderBox.

Reviewed by Simon Fraser

  • dom/Position.cpp: (WebCore::nextRenderedEditable): (WebCore::previousRenderedEditable): (WebCore::Position::getInlineBoxAndOffset):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::deleteLine): (WebCore::InlineBox::extractLine): (WebCore::InlineBox::attachLine):
  • rendering/RenderLineBoxList.cpp: (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::removeChildNode):
  • rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::textWithHardLineBreaks):
17:35 Changeset [40880] by hyatt@apple.com

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

Eliminate createInlineBox and dirtyLineBoxes from RenderObject. These functions have been devirtualized.
The single call site now calls a helper function that just bit checks and casts before calling the correct
type. RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has
just been removed.

Reviewed by Eric Seidel

  • rendering/RenderBR.cpp:
  • rendering/RenderBR.h:
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::createRootInlineBox):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.cpp: (WebCore::RenderBox::createInlineBox):
  • rendering/RenderBox.h:
  • rendering/RenderCounter.cpp:
  • rendering/RenderCounter.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::createInlineFlowBox):
  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:
  • rendering/RenderObject.h:
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::createTextBox):
  • rendering/RenderSVGInlineText.h: (WebCore::RenderSVGInlineText::isSVGText):
  • rendering/RenderText.cpp: (WebCore::RenderText::createTextBox): (WebCore::RenderText::createInlineTextBox):
  • rendering/RenderText.h:
  • rendering/bidi.cpp: (WebCore::createInlineBoxForRenderer): (WebCore::RenderBlock::createLineBoxes): (WebCore::RenderBlock::constructLine): (WebCore::RenderBlock::layoutInlineChildren):
16:37 Changeset [40879] by weinig@apple.com

2009-02-11 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

Style cleanup.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::CodeLocationCommon::CodeLocationCommon): (JSC::AbstractMacroAssembler::CodeLocationCommon::operator bool): (JSC::AbstractMacroAssembler::CodeLocationCommon::reset): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForSwitch): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForExceptionHandler): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForJSR): (JSC::AbstractMacroAssembler::CodeLocationLabel::getJumpDestination): (JSC::AbstractMacroAssembler::CodeLocationJump::relink): (JSC::AbstractMacroAssembler::CodeLocationJump::CodeLocationJump): (JSC::AbstractMacroAssembler::CodeLocationCall::relink): (JSC::AbstractMacroAssembler::CodeLocationCall::calleeReturnAddressValue): (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::repatch): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::CodeLocationDataLabel32): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::repatch): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::ProcessorReturnAddress): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToFunction): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::operator void*): (JSC::AbstractMacroAssembler::PatchBuffer::link): (JSC::::CodeLocationCommon::labelAtOffset): (JSC::::CodeLocationCommon::jumpAtOffset): (JSC::::CodeLocationCommon::callAtOffset): (JSC::::CodeLocationCommon::dataLabelPtrAtOffset): (JSC::::CodeLocationCommon::dataLabel32AtOffset):
16:35 Changeset [40878] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

No review.

Fix ACCELERATED_COMPOSITING build.

  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::createGraphicsLayer): (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::updateLayerCompositingState):
16:09 Changeset [40877] by cmarrin@apple.com

Reviewed by Dave Hyatt.

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

Adds support for 3D CSS properties (transform-style-3d, perspective,
perspective-origin, and backface-visibility) to RenderStyle and friends

15:18 Changeset [40876] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

Add a bit on RenderStyle that gets set when running accelerated
transitions of transform or opacity. These ensure that styles
compare as different during the transition, so that interruption
can be detected reliably.

14:43 Changeset [40875] by hyatt@apple.com

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

Eliminate the virtual position() function from RenderObject. Rename the position() overrides
in RenderText and RenderBox to positionLineBox and devirtualize them.


Patch the one call site to just check for isText() and isBox() and call the methods directly.


Remove some unnecessary overrides of position() on table sections and rows.


Reviewed by Simon Fraser

  • rendering/RenderBox.cpp: (WebCore::RenderBox::positionLineBox):
  • rendering/RenderBox.h:
  • rendering/RenderObject.h:
  • rendering/RenderSVGRoot.cpp:
  • rendering/RenderSVGRoot.h:
  • rendering/RenderTableRow.h: (WebCore::RenderTableRow::lineHeight):
  • rendering/RenderTableSection.h: (WebCore::RenderTableSection::lineHeight):
  • rendering/RenderText.cpp: (WebCore::RenderText::positionLineBox):
  • rendering/RenderText.h:
  • rendering/bidi.cpp: (WebCore::RenderBlock::computeVerticalPositionsForLine):
14:41 Changeset [40874] by dglazkov@chromium.org

2009-02-11 Scott Violet <sky@google.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=23805
The test transitions/transition-end-event-multiple-03.html occasionally fails.

  • transitions/transition-end-event-multiple-03.html: Upped the timeout.
14:35 Changeset [40873] by dglazkov@chromium.org

2009-02-11 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23901
Add HTML options/collections V8 custom bindings.

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added. (WebCore::getNamedItems): (WebCore::getItem): (WebCore::NAMED_PROPERTY_GETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added. (WebCore::NAMED_PROPERTY_GETTER):
  • bindings/v8/custom/V8HTMLInputElementCustom.cpp: (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): (WebCore::ACCESSOR_SETTER):
  • bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added. (WebCore::CALLBACK_FUNC_DECL): (WebCore::removeElement):
  • bindings/v8/custom/V8HTMLSelectElementCustom.h: Added.
  • bindings/v8/custom/V8NamedNodesCollection.cpp: Added. (WebCore::V8NamedNodesCollection::item): (WebCore::V8NamedNodesCollection::itemWithName):
  • bindings/v8/custom/V8NamedNodesCollection.h: Added. (WebCore::V8NamedNodesCollection::V8NamedNodesCollection): (WebCore::V8NamedNodesCollection::length):
14:20 Changeset [40872] by timothy@apple.com

Added a preference to disable some Inspector's panels.

WebCore:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.

Reviewed by Timothy Hatcher.

  • inspector/InspectorClient.h:
  • inspector/InspectorController.cpp: (WebCore::hiddenPanels): (WebCore::InspectorController::hiddenPanels): (WebCore::InspectorController::windowScriptObjectAvailable):
  • inspector/InspectorController.h:
  • inspector/front-end/inspector.js: (WebInspector.loaded):
  • loader/EmptyClients.h: (WebCore::EmptyInspectorClient::hiddenPanels):

WebKit/gtk:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out InspectorClient::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/InspectorClientGtk.cpp: (WebKit::InspectorClient::hiddenPanels):
  • WebCoreSupport/InspectorClientGtk.h:

WebKit/mac:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645).
This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm: (WebInspectorClient::hiddenPanels):

WebKit/qt:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out InspectorClientQt::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/InspectorClientQt.cpp: (WebCore::InspectorClientQt::hiddenPanels):
  • WebCoreSupport/InspectorClientQt.h:

WebKit/win:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out WebInspectorClient::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebCoreSupport/WebInspectorClient.cpp: (WebInspectorClient::hiddenPanels):
  • WebCoreSupport/WebInspectorClient.h:

WebKit/wx:

2009-02-11 Dimitri Dupuis-latour <dupuislatour@apple.com>

Stub out InspectorClientWx::hiddenPanels.

Reviewed by Timothy Hatcher.

  • WebKitSupport/InspectorClientWx.cpp: (WebCore::InspectorClientWx::hiddenPanels):
  • WebKitSupport/InspectorClientWx.h:
14:06 Changeset [40871] by hyatt@apple.com

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

Combine RenderObject::element() and RenderObject::node() into a single function.
node() now has the "anonymous bit" checking behavior of element() and will
return 0 for anonymous content. This patch switches all callers of element()
to node() and patches old callers of node() to deal with situations where they
did not expect node() to be 0. A bunch of node() calls were calling stuff on
Document that they clearly didn't intend, so overall this is a nice improvement.


Reviewed by Sam Weinig

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::getUpperLeftCorner):
  • dom/Element.cpp: (WebCore::Element::offsetParent):
  • dom/Position.cpp: (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight):
  • editing/ModifySelectionListLevel.cpp: (WebCore::getStartEndListChildren): (WebCore::IncreaseSelectionListLevelCommand::doApply): (WebCore::DecreaseSelectionListLevelCommand::doApply):
  • editing/TextIterator.cpp: (WebCore::TextIterator::advance):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
  • editing/visible_units.cpp: (WebCore::startPositionForLine): (WebCore::endPositionForLine):
  • page/AXObjectCache.cpp: (WebCore::AXObjectCache::get):
  • page/AccessibilityList.cpp: (WebCore::AccessibilityList::isUnorderedList): (WebCore::AccessibilityList::isOrderedList): (WebCore::AccessibilityList::isDefinitionList):
  • page/AccessibilityListBox.cpp: (WebCore::AccessibilityListBox::doAccessibilityHitTest):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::isPasswordField): (WebCore::AccessibilityRenderObject::isFileUploadButton): (WebCore::AccessibilityRenderObject::isInputImage): (WebCore::AccessibilityRenderObject::isMultiSelect): (WebCore::AccessibilityRenderObject::isControl): (WebCore::AccessibilityRenderObject::getAttribute): (WebCore::AccessibilityRenderObject::anchorElement): (WebCore::AccessibilityRenderObject::actionElement): (WebCore::AccessibilityRenderObject::mouseButtonListener): (WebCore::AccessibilityRenderObject::helpText): (WebCore::AccessibilityRenderObject::textUnderElement): (WebCore::AccessibilityRenderObject::hasIntValue): (WebCore::AccessibilityRenderObject::intValue): (WebCore::AccessibilityRenderObject::labelElementContainer): (WebCore::AccessibilityRenderObject::title): (WebCore::AccessibilityRenderObject::accessibilityDescription): (WebCore::AccessibilityRenderObject::boundingBoxRect): (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): (WebCore::AccessibilityRenderObject::titleUIElement): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::AccessibilityRenderObject::text): (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): (WebCore::AccessibilityRenderObject::accessKey): (WebCore::AccessibilityRenderObject::setSelectedTextRange): (WebCore::AccessibilityRenderObject::url): (WebCore::AccessibilityRenderObject::isFocused): (WebCore::AccessibilityRenderObject::setFocused): (WebCore::AccessibilityRenderObject::setValue): (WebCore::AccessibilityRenderObject::isEnabled): (WebCore::AccessibilityRenderObject::visiblePositionRange): (WebCore::AccessibilityRenderObject::index): (WebCore::AccessibilityRenderObject::activeDescendant): (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): (WebCore::AccessibilityRenderObject::observableObject): (WebCore::AccessibilityRenderObject::roleValue): (WebCore::AccessibilityRenderObject::canSetFocusAttribute): (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
  • page/AccessibilityTable.cpp: (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): (WebCore::AccessibilityTable::title):
  • page/AccessibilityTableCell.cpp: (WebCore::AccessibilityTableCell::titleUIElement):
  • page/AccessibilityTableColumn.cpp: (WebCore::AccessibilityTableColumn::headerObjectForSection):
  • page/AccessibilityTableRow.cpp: (WebCore::AccessibilityTableRow::headerObject):
  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): (WebCore::EventHandler::canMouseDownStartSelect): (WebCore::EventHandler::canMouseDragExtendSelect): (WebCore::EventHandler::shouldDragAutoNode):
  • page/Frame.cpp: (WebCore::Frame::searchForLabelsAboveCell): (WebCore::Frame::setFocusedNodeIfNeeded):
  • page/FrameView.cpp: (WebCore::FrameView::updateOverflowStatus):
  • page/animation/AnimationBase.cpp: (WebCore::AnimationBase::updateStateMachine):
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::updateAnimationTimer): (WebCore::AnimationController::cancelAnimations): (WebCore::AnimationController::updateAnimations):
  • page/animation/KeyframeAnimation.cpp: (WebCore::KeyframeAnimation::KeyframeAnimation): (WebCore::KeyframeAnimation::endAnimation):
  • page/mac/AccessibilityObjectWrapper.mm: (blockquoteLevel): (AXAttributeStringSetHeadingLevel):
  • page/mac/FrameMac.mm: (WebCore::Frame::searchForNSLabelsAboveCell):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::paint): (WebCore::shouldDrawTextDecoration):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paintDocumentMarkers):
  • rendering/RenderBR.cpp: (WebCore::RenderBR::positionForCoordinates):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::layoutBlock): (WebCore::RenderBlock::handleRunInChild): (WebCore::RenderBlock::paintObject): (WebCore::RenderBlock::isSelectionRoot): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::positionForBox): (WebCore::RenderBlock::positionForRenderer): (WebCore::RenderBlock::positionForCoordinates): (WebCore::RenderBlock::hasLineIfEmpty): (WebCore::RenderBlock::updateFirstLetter): (WebCore::RenderBlock::updateHitTestResult): (WebCore::RenderBlock::addFocusRingRects):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::styleWillChange): (WebCore::RenderBox::updateBoxModelInfoFromStyle): (WebCore::RenderBox::paintRootBoxDecorations): (WebCore::RenderBox::positionForCoordinates):
  • rendering/RenderButton.cpp: (WebCore::RenderButton::updateFromElement): (WebCore::RenderButton::canHaveChildren):
  • rendering/RenderCounter.cpp: (WebCore::planCounter):
  • rendering/RenderFieldset.cpp: (WebCore::RenderFieldset::findLegend):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
  • rendering/RenderForeignObject.cpp: (WebCore::RenderForeignObject::translationForAttributes): (WebCore::RenderForeignObject::calculateLocalTransform):
  • rendering/RenderFrame.h: (WebCore::RenderFrame::element):
  • rendering/RenderImage.cpp: (WebCore::RenderImage::paintReplaced): (WebCore::RenderImage::imageMap): (WebCore::RenderImage::nodeAtPoint): (WebCore::RenderImage::updateAltText):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::cloneInline): (WebCore::RenderInline::updateHitTestResult):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::isTransparent): (WebCore::RenderLayer::scrollToOffset): (WebCore::RenderLayer::resize): (WebCore::RenderLayer::createScrollbar): (WebCore::RenderLayer::updateOverflowStatus): (WebCore::RenderLayer::updateScrollInfoAfterLayout): (WebCore::RenderLayer::enclosingElement): (WebCore::RenderLayer::updateHoverActiveState): (WebCore::RenderLayer::updateScrollCornerStyle): (WebCore::RenderLayer::updateResizerStyle):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::isRootLayer):
  • rendering/RenderListItem.cpp: (WebCore::getParentOfFirstLineBox):
  • rendering/RenderMarquee.cpp: (WebCore::RenderMarquee::marqueeSpeed):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::isBody): (WebCore::RenderObject::isHR): (WebCore::RenderObject::isHTMLMarquee): (WebCore::RenderObject::isEditable): (WebCore::RenderObject::addPDFURLRect): (WebCore::RenderObject::showTreeForThis): (WebCore::RenderObject::draggableNode): (WebCore::RenderObject::hasOutlineAnnotation): (WebCore::RenderObject::positionForCoordinates): (WebCore::RenderObject::updateDragState): (WebCore::RenderObject::updateHitTestResult): (WebCore::RenderObject::getUncachedPseudoStyle): (WebCore::RenderObject::getTextDecorationColors): (WebCore::RenderObject::caretMaxOffset): (WebCore::RenderObject::offsetParent):
  • rendering/RenderObject.h: (WebCore::RenderObject::isRoot): (WebCore::RenderObject::isInlineContinuation): (WebCore::RenderObject::node): (WebCore::RenderObject::setNode):
  • rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::destroyLeftoverChildren):
  • rendering/RenderPart.cpp: (WebCore::RenderPart::updateWidgetPosition):
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::updateWidget): (WebCore::RenderPartObject::viewCleared):
  • rendering/RenderPath.cpp: (WebCore::RenderPath::calculateLocalTransform): (WebCore::RenderPath::layout): (WebCore::RenderPath::paint): (WebCore::RenderPath::drawMarkersIfNeeded):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::positionForCoordinates): (WebCore::RenderReplaced::isSelected):
  • rendering/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::gradientElement):
  • rendering/RenderSVGImage.cpp: (WebCore::RenderSVGImage::calculateLocalTransform):
  • rendering/RenderSVGInlineText.cpp: (WebCore::RenderSVGInlineText::positionForCoordinates):
  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::layout): (WebCore::RenderSVGRoot::applyContentTransforms): (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::calcViewport): (WebCore::RenderSVGRoot::absoluteTransform):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::calculateLocalTransform): (WebCore::RenderSVGText::layout):
  • rendering/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::layoutPath): (WebCore::RenderSVGTextPath::startOffset): (WebCore::RenderSVGTextPath::exactAlignment): (WebCore::RenderSVGTextPath::stretchMethod):
  • rendering/RenderSVGTransformableContainer.cpp: (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
  • rendering/RenderSVGViewportContainer.cpp: (WebCore::RenderSVGViewportContainer::calcViewport): (WebCore::RenderSVGViewportContainer::viewportTransform): (WebCore::RenderSVGViewportContainer::nodeAtPoint):
  • rendering/RenderTable.cpp: (WebCore::RenderTable::addChild):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::updateFromElement): (WebCore::RenderTableCell::calcPrefWidths):
  • rendering/RenderTableCol.cpp: (WebCore::RenderTableCol::updateFromElement):
  • rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::addChild):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::addChild):
  • rendering/RenderText.cpp: (WebCore::RenderText::originalText): (WebCore::RenderText::positionForCoordinates):
  • rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::nodeAtPoint):
  • rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::nodeAtPoint):
  • rendering/RenderTextFragment.cpp: (WebCore::RenderTextFragment::originalText): (WebCore::RenderTextFragment::previousCharacter):
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::isActive): (WebCore::RenderTheme::isChecked): (WebCore::RenderTheme::isIndeterminate): (WebCore::RenderTheme::isEnabled): (WebCore::RenderTheme::isFocused): (WebCore::RenderTheme::isPressed): (WebCore::RenderTheme::isReadOnlyControl): (WebCore::RenderTheme::isHovered):
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::updatePressedState): (WebCore::RenderThemeMac::paintMediaFullscreenButton): (WebCore::RenderThemeMac::paintMediaMuteButton): (WebCore::RenderThemeMac::paintMediaPlayButton): (WebCore::RenderThemeMac::paintMediaSeekBackButton): (WebCore::RenderThemeMac::paintMediaSeekForwardButton): (WebCore::RenderThemeMac::paintMediaSliderTrack): (WebCore::RenderThemeMac::paintMediaSliderThumb): (WebCore::RenderThemeMac::paintMediaTimelineContainer): (WebCore::RenderThemeMac::paintMediaCurrentTime): (WebCore::RenderThemeMac::paintMediaTimeRemaining):
  • rendering/RenderThemeSafari.cpp: (WebCore::RenderThemeSafari::paintMediaMuteButton): (WebCore::RenderThemeSafari::paintMediaPlayButton): (WebCore::RenderThemeSafari::paintMediaSliderTrack):
  • rendering/RenderTreeAsText.cpp: (WebCore::operator<<): (WebCore::writeSelection):
  • rendering/RenderWidget.cpp: (WebCore::RenderWidget::setWidgetGeometry): (WebCore::RenderWidget::updateWidgetPosition): (WebCore::RenderWidget::nodeAtPoint):
  • rendering/RootInlineBox.cpp: (WebCore::isEditableLeaf):
  • rendering/SVGRenderSupport.cpp: (WebCore::prepareToRenderSVGContent):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::write):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::buildLayoutInformation): (WebCore::SVGRootInlineBox::layoutInlineBoxes): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): (WebCore::SVGRootInlineBox::buildTextChunks):
  • rendering/style/SVGRenderStyle.cpp: (WebCore::SVGRenderStyle::cssPrimitiveToLength):
  • svg/SVGFont.cpp: (WebCore::SVGTextRunWalker::walk): (WebCore::floatWidthOfSubStringUsingSVGFont): (WebCore::Font::drawTextUsingSVGFont):
  • svg/SVGTextContentElement.cpp: (WebCore::findInlineTextBoxInTextChunks):
  • svg/graphics/SVGPaintServer.cpp: (WebCore::SVGPaintServer::fillPaintServer): (WebCore::SVGPaintServer::strokePaintServer):
14:01 Changeset [40870] by beidson@apple.com

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

Reviewed by Darin Adler

<rdar://problem/3541409> - Further FrameLoader and page cache cleanup

  • history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method. This method was the only caller and - in the future - will benefit from doing parts of opened()'s work differently. (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method. (WebCore::FrameLoader::closeAndRemoveChild): Added. Do the non-tree related cleanup that FrameTree::removeChild() used to do. (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead. (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here.
  • loader/FrameLoader.h:
  • page/FrameTree.cpp: (WebCore::FrameTree::removeChild): Just remove the Frame from the tree. Closing it and other cleanup is the responsibility of the FrameLoader.
  • page/FrameTree.h: (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer
14:00 Changeset [40869] by eric@webkit.org

2009-02-11 Scott Violet <sky@google.com>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23882
GraphicsContextSkia draws round rects as solid rects

Fixes two bugs in Skia's GraphicsContext::fillRoundedRect:
. fillRoundedRect had an extra call to fillRect, resulting in always

drawing a solid rectangle.

. if the total radius along a given axis is greater than the size of

the axis to draw, a solid rect should be drawn.

The layout tests LayoutTests/fast/css/shadow-multiple.html and
LayoutTests/fast/box-shadow/basic-shadows.html cover this.

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::fillRoundedRect):
13:45 Changeset [40868] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Add function to RenderStyle to ask whether a background image has been specified.

  • rendering/style/RenderStyle.h: (WebCore::InheritedFlags::hasBackgroundImage):
13:45 Changeset [40867] by weinig@apple.com

2009-02-11 Sam Weinig <sam@webkit.org>

Reviewed by Gavin Barraclough.

  • assembler/AbstractMacroAssembler.h: Fix comments.
13:13 Changeset [40866] by jchaffraix@webkit.org

2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 23536: Auto-generate HTMLElementFactory

Remove the HTMLElementFactory files. Farewell.

  • html/HTMLElementFactory.cpp: Removed.
  • html/HTMLElementFactory.h: Removed.
13:08 Changeset [40865] by jchaffraix@webkit.org

2009-02-11 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 23536: Auto-generate HTMLElementFactory

Make the platform auto-generate the HTMLElementFactory.

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.scons:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • webcore-base.bkl:
12:52 Changeset [40864] by weinig@apple.com

2009-02-11 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Remove unneeded ASSERTS.

  • rendering/RenderBox.h: (WebCore::RenderBox::width): (WebCore::RenderBox::height): (WebCore::RenderBox::size): (WebCore::RenderBox::frameRect):
12:48 Changeset [40863] by simon.fraser@apple.com

2009-02-11 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

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

When opacity or transform change on an object which has a compositing layer,
avoid repainting the layer.

Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates
that the only thing styleChanged() has to do is to update composited properties of
the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive"
properties, currently for opacity and transform. When one of these changes, we need
to see if we have a compositing layer before we decide whether to layout/repaint,
or just update the composited layer, via adjustStyleDifference().

12:18 Changeset [40862] by ap@webkit.org

Reviewed by Darin Adler.

<rdar://problem/6562920> Pasted text should be normalized to NFC

Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone.

WebCore:

  • platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through -[NSString precomposedStringWithCanonicalMapping].

WebKit/mac:

  • Misc/WebNSURLExtras.mm: (-[NSURL _web_userVisibleString]): Route the URL string through -[NSString precomposedStringWithCanonicalMapping].
  • WebCoreSupport/WebPasteboardHelper.mm: (WebPasteboardHelper::plainTextFromPasteboard): Ditto.
  • WebView/WebHTMLView.mm: (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]): Ditto. The affected cases are all plain text ones - RTF, RTFD and HTML are assumed to be precomposed already, and the conversion is performed outside WebKit for those anyway.
12:13 Changeset [40861] by cmarrin@apple.com

Reviewed by Simon Fraser.

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

Added new TransformOperation subclasses and methods to existing ones
to support 3D.

11:43 Changeset [40860] by hyatt@apple.com

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

Move createAnonymousBlock() to RenderBlock. Since anonymous blocks are always parented to some other block,
we can move this function to RenderBlock. Fix a couple of call sites as a result of this restriction.

Reviewed by Simon Fraser

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::createAnonymousBlock):
  • rendering/RenderBlock.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::childBecameNonInline):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::handleDynamicFloatPositionChange):
  • rendering/RenderObject.h:
11:10 Changeset [40859] by hyatt@apple.com

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

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

Remove two complete nonsense lines that I accidentally added from a cut and paste error. This
restores the original logic.

Reviewed by Simon Fraser

  • rendering/RenderBox.cpp: (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
11:02 Changeset [40858] by hyatt@apple.com

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

Rename getBaselineOfFirstLineBox to firstLineBoxBaseline. Rename getBaselineOfLastLineBox to
lastLineBoxBaseline. Remove the functions from RenderObject and add them to RenderBox instead.

Reviewed by Eric Seidel

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::baselinePosition): (WebCore::RenderBlock::firstLineBoxBaseline): (WebCore::RenderBlock::lastLineBoxBaseline):
  • rendering/RenderBlock.h:
  • rendering/RenderBox.h: (WebCore::RenderBox::firstLineBoxBaseline): (WebCore::RenderBox::lastLineBoxBaseline):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox):
  • rendering/RenderObject.h:
  • rendering/RenderTable.cpp: (WebCore::RenderTable::firstLineBoxBaseline):
  • rendering/RenderTable.h:
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition):
  • rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::firstLineBoxBaseline):
  • rendering/RenderTableSection.h:
10:14 Changeset [40857] by eric.carlson@apple.com

2009-02-11 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser

https://bugs.webkit.org/show_bug.cgi?id=23877
Allow port to disable progress events from <video> and <audio> elements

  • html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents. (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false. (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto. (WebCore::HTMLMediaElement::load): Ditto.
  • html/HTMLMediaElement.h: Add m_sendProgressEvents
09:20 Changeset [40856] by aroben@apple.com

Fix crashes in http/tests/history/redirect-301.pl and friends on Windows

WebKit/win:

Don't release the shared WebHistory instance on quit

This matches Mac, and prevents a race condition when the process exits
that depends on the order in which global destructors are invoked.

Reviewed by Alexey Proskuryakov.

  • WebHistory.cpp: (sharedHistoryStorage): Changed to use DEFINE_STATIC_LOCAL so the destructor is never called.

WebKitTools:

Fix crashes in http/tests/history/redirect-301.pl and friends on
Windows

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/win/LayoutTestControllerWin.cpp: (LayoutTestController::webHistoryItemCount): Null-check the shared WebHistory instance before dereferencing it.
07:00 Changeset [40855] by aroben@apple.com

Windows build fix

  • DerivedSources.cpp: Removed SVGElementFactory.cpp, since including it leads to ambiguities for symbols like "aTag", which exist in both the HTMLNames and SVGNames namespaces.
  • WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the project directly. VS also decided to reformat this file a little bit.
04:04 Changeset [40854] by ap@webkit.org

Trying to fix wx build.

  • bytecode/JumpTable.h: Include "MacroAssembler.h", not <MacroAssembler.h>.
  • jscore.bkl: Added assembler directory to search paths.
00:21 Changeset [40853] by jchaffraix@webkit.org

2009-02-10 Julien Chaffraix <jchaffraix@webkit.org>

Reviewed by Eric Seidel.

Bug 23536: Auto-generate HTMLElementFactory

Those are the last auto-generation bits needed to have a working generated HTMLElementFactory:

  • Added a new option mapToTagName that enables a tag to use another's options and tagName (<image> uses imgTag for example) and wired the code generation to be consistent with the current factory.
  • Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail.
  • Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch.
  • dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory as closely as possible.
  • html/HTMLElementFactory.cpp: (WebCore::quoteConstructor):
  • html/HTMLQuoteElement.cpp: (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place.
  • html/HTMLTagNames.in: Corrected <image> parameters.

02/10/09:

22:48 Changeset [40852] by jhoneycutt@apple.com

2009-02-10 Jon Honeycutt <jhoneycutt@apple.com>

Windows build fix after r40837.

Not reviewed.

  • DerivedSources.cpp:
22:38 Changeset [40851] by sullivan@apple.com

2009-02-10 John Sullivan <sullivan@apple.com>

Reviewed by Dan Bernstein


<https://bugs.webkit.org/show_bug.cgi?id=23889>, <rdar://problem/6572300>
Negative visit counts stored in History.plist aren't corrected.


It's not clear how a huge negative visit count ended up in History.plist, but we can't
trust data read from disk so we can at least reset this to something sane. WebCore has
no guard against a visit count overflowing an int, but that seems very unlikely to have
caused this.

  • History/WebHistoryItem.mm: (-[WebHistoryItem initFromDictionaryRepresentation:]): If a negative visit count is in the dictionary, replace it with 1. If a negative daily or weekly visit count is in the dictionary, replace it with 0.
22:28 Changeset [40850] by sullivan@apple.com

2009-02-10 John Sullivan <sullivan@apple.com>

Reviewed by Dan Bernstein


<https://bugs.webkit.org/show_bug.cgi?id=23891>
[WebHistoryItem _setVisitCount:] is unused and should be removed

  • History/WebHistoryItem.mm: (-[WebHistoryItem _setVisitCount:]): removed this unused method, which is a synonym for setVisitCount: that was introduced recently and abandoned even more recently
  • History/WebHistoryItemInternal.h: removed declaration of _setVisitCount:
22:06 Changeset [40849] by barraclough@apple.com

2009-02-10 Gavin Barraclough <barraclough@apple.com>

Build
fix.
(Narrow
changelog
for
dhyatt).

  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
22:03 Changeset [40848] by hyatt@apple.com

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

Fix for pixel test regression in fast/text. Make sure not to add in
the borderTop and paddingTop of the block to the baseline when painting
strict mode text decorations.


Reviewed by Mark Rowe


  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::paintTextDecorations):
  • rendering/InlineFlowBox.h:
21:46 Changeset [40847] by jhoneycutt@apple.com

2009-02-10 Jon Honeycutt <jhoneycutt@apple.com>

<rdar://6349412> REGRESSION(r37204): Page is not repainted during and
after pan scrolling

Reviewed by Steve Falkenburg.

  • platform/ScrollView.cpp: (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll icon rect immediately; we will paint after the view has been scrolled.
20:57 Changeset [40846] by barraclough@apple.com

2009-02-10 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Reduce use of void* / reinterpret_cast in JIT repatching code,
add strong types for Calls and for the various types of pointers
we retain into the JIT generated instruction stream.

No performance impact.

  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::ImmPtr::ImmPtr): (JSC::AbstractMacroAssembler::ImmPtr::asIntptr): (JSC::AbstractMacroAssembler::Imm32::Imm32): (JSC::AbstractMacroAssembler::Label::Label): (JSC::AbstractMacroAssembler::DataLabelPtr::DataLabelPtr): (JSC::AbstractMacroAssembler::Call::Call): (JSC::AbstractMacroAssembler::Call::link): (JSC::AbstractMacroAssembler::Call::linkTo): (JSC::AbstractMacroAssembler::Jump::Jump): (JSC::AbstractMacroAssembler::Jump::linkTo): (JSC::AbstractMacroAssembler::CodeLocationCommon::CodeLocationCommon): (JSC::AbstractMacroAssembler::CodeLocationCommon::operator bool): (JSC::AbstractMacroAssembler::CodeLocationCommon::reset): (JSC::AbstractMacroAssembler::CodeLocationLabel::CodeLocationLabel): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForSwitch): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForExceptionHandler): (JSC::AbstractMacroAssembler::CodeLocationLabel::addressForJSR): (JSC::AbstractMacroAssembler::CodeLocationLabel::getJumpDestination): (JSC::AbstractMacroAssembler::CodeLocationJump::CodeLocationJump): (JSC::AbstractMacroAssembler::CodeLocationJump::relink): (JSC::AbstractMacroAssembler::CodeLocationCall::CodeLocationCall): (JSC::AbstractMacroAssembler::CodeLocationCall::relink): (JSC::AbstractMacroAssembler::CodeLocationCall::calleeReturnAddressValue): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::CodeLocationDataLabel32): (JSC::AbstractMacroAssembler::CodeLocationDataLabel32::repatch): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::CodeLocationDataLabelPtr): (JSC::AbstractMacroAssembler::CodeLocationDataLabelPtr::repatch): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::ProcessorReturnAddress): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::relinkCallerToFunction): (JSC::AbstractMacroAssembler::ProcessorReturnAddress::operator void*): (JSC::AbstractMacroAssembler::PatchBuffer::entry): (JSC::AbstractMacroAssembler::PatchBuffer::trampolineAt): (JSC::AbstractMacroAssembler::PatchBuffer::link): (JSC::AbstractMacroAssembler::PatchBuffer::linkTailRecursive): (JSC::AbstractMacroAssembler::PatchBuffer::patch): (JSC::AbstractMacroAssembler::PatchBuffer::locationOf): (JSC::AbstractMacroAssembler::PatchBuffer::returnAddressOffset): (JSC::AbstractMacroAssembler::differenceBetween): (JSC::::CodeLocationCommon::labelAtOffset): (JSC::::CodeLocationCommon::jumpAtOffset): (JSC::::CodeLocationCommon::callAtOffset): (JSC::::CodeLocationCommon::dataLabelPtrAtOffset): (JSC::::CodeLocationCommon::dataLabel32AtOffset):
  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::call):
  • assembler/X86Assembler.h: (JSC::X86Assembler::getCallReturnOffset):
  • bytecode/CodeBlock.h: (JSC::CallLinkInfo::CallLinkInfo): (JSC::getStructureStubInfoReturnLocation): (JSC::getCallLinkInfoReturnLocation):
  • bytecode/Instruction.h: (JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set): (JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):
  • bytecode/JumpTable.h: (JSC::StringJumpTable::ctiForValue): (JSC::SimpleJumpTable::ctiForValue):
  • bytecode/StructureStubInfo.h: (JSC::StructureStubInfo::StructureStubInfo):
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCatch): (JSC::prepareJumpTableForStringSwitch):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::cti_op_get_by_id_self_fail): (JSC::getPolymorphicAccessStructureListSlot): (JSC::Interpreter::cti_op_throw): (JSC::Interpreter::cti_op_switch_imm): (JSC::Interpreter::cti_op_switch_char): (JSC::Interpreter::cti_op_switch_string): (JSC::Interpreter::cti_vm_throw):
  • jit/JIT.cpp: (JSC::ctiSetReturnAddress): (JSC::ctiPatchCallByReturnAddress): (JSC::JIT::privateCompile): (JSC::JIT::privateCompileCTIMachineTrampolines):
  • jit/JIT.h: (JSC::CallRecord::CallRecord): (JSC::JIT::compileGetByIdSelf): (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdReplace): (JSC::JIT::compilePutByIdTransition): (JSC::JIT::compilePatchGetArrayLength): (JSC::JIT::emitCTICall):
  • jit/JITCall.cpp: (JSC::JIT::unlinkCall): (JSC::JIT::linkCall):
  • jit/JITInlineMethods.h: (JSC::JIT::emitNakedCall): (JSC::JIT::emitCTICall_internal):
  • jit/JITPropertyAccess.cpp: (JSC::JIT::compileGetByIdSlowCase): (JSC::JIT::compilePutByIdSlowCase): (JSC::JIT::privateCompilePutByIdTransition): (JSC::JIT::patchGetByIdSelf): (JSC::JIT::patchPutByIdReplace): (JSC::JIT::privateCompilePatchGetArrayLength): (JSC::JIT::privateCompileGetByIdSelf): (JSC::JIT::privateCompileGetByIdProto): (JSC::JIT::privateCompileGetByIdSelfList): (JSC::JIT::privateCompileGetByIdProtoList): (JSC::JIT::privateCompileGetByIdChainList): (JSC::JIT::privateCompileGetByIdChain): (JSC::JIT::privateCompilePutByIdReplace):
20:42 Changeset [40845] by oliver@apple.com

<rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop

Reviewed by Adele Peterson.

This problem was caused by incorrectly ignoring whether or not the
default behaviour of the mousedown event was suppressed. If a
mousedown handler in a frame prevents default handling then the
subsequent mousemove events fired for the drag should not be
captured by that frame, should the mouse move out of its bounds.

Test: fast/events/mouse-drag-from-frame.html

18:00 Changeset [40844] by kevino@webkit.org

wx build fixes for recent changes to TransformationMatrix and DOMElement.

17:44 Changeset [40843] by simon.fraser@apple.com

2009-02-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates
that animation of an accelerated property must run in software for some reason.

Also remove use of private headers in GraphicsLayerCA related to a case
where we may have to fall back on software animation of transform.

17:36 Changeset [40842] by hyatt@apple.com

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

Some renames on line boxes. xPos()/yPos() -> x()/y(). setXPos()/setYPos() -> setX()/setY(). m_object/object() -> m_renderer/renderer(). textObject() -> textRenderer().


Reviewed by Sam Weinig

  • dom/Position.cpp: (WebCore::Position::upstream): (WebCore::Position::downstream):
  • editing/VisiblePosition.cpp: (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): (WebCore::VisiblePosition::localCaretRect):
  • editing/visible_units.cpp: (WebCore::startPositionForLine): (WebCore::endPositionForLine): (WebCore::previousLinePosition): (WebCore::nextLinePosition):
  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::showTreeForThis): (WebCore::InlineBox::height): (WebCore::InlineBox::caretMinOffset): (WebCore::InlineBox::caretMaxOffset): (WebCore::InlineBox::deleteLine): (WebCore::InlineBox::extractLine): (WebCore::InlineBox::attachLine): (WebCore::InlineBox::adjustPosition): (WebCore::InlineBox::paint): (WebCore::InlineBox::nodeAtPoint): (WebCore::InlineBox::selectionState): (WebCore::InlineBox::canAccommodateEllipsis):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::renderer): (WebCore::InlineBox::setX): (WebCore::InlineBox::x): (WebCore::InlineBox::setY): (WebCore::InlineBox::y): (WebCore::InlineBox::topOverflow): (WebCore::InlineBox::bottomOverflow): (WebCore::InlineBox::leftOverflow): (WebCore::InlineBox::rightOverflow): (WebCore::InlineBox::visibleToHitTesting): (WebCore::InlineBox::boxModelObject):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::height): (WebCore::InlineFlowBox::addToLine): (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): (WebCore::InlineFlowBox::attachLineBoxToRenderObject): (WebCore::InlineFlowBox::rendererLineBoxes): (WebCore::InlineFlowBox::onEndChain): (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): (WebCore::InlineFlowBox::placeBoxesHorizontally): (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::nodeAtPoint): (WebCore::InlineFlowBox::paint): (WebCore::InlineFlowBox::paintFillLayer): (WebCore::InlineFlowBox::paintBoxShadow): (WebCore::InlineFlowBox::paintBoxDecorations): (WebCore::InlineFlowBox::paintMask): (WebCore::InlineFlowBox::paintTextDecorations):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::borderLeft): (WebCore::InlineFlowBox::borderRight): (WebCore::InlineFlowBox::borderTop): (WebCore::InlineFlowBox::borderBottom): (WebCore::InlineFlowBox::baseline):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::height): (WebCore::InlineTextBox::selectionState): (WebCore::InlineTextBox::selectionRect): (WebCore::InlineTextBox::deleteLine): (WebCore::InlineTextBox::extractLine): (WebCore::InlineTextBox::attachLine): (WebCore::InlineTextBox::placeEllipsisBox): (WebCore::InlineTextBox::isLineBreak): (WebCore::InlineTextBox::nodeAtPoint): (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::selectionStartEnd): (WebCore::InlineTextBox::paintSelection): (WebCore::InlineTextBox::paintCompositionBackground): (WebCore::InlineTextBox::paintCustomHighlight): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintTextMatchMarker): (WebCore::InlineTextBox::paintDocumentMarkers): (WebCore::InlineTextBox::paintCompositionUnderline): (WebCore::InlineTextBox::textPos): (WebCore::InlineTextBox::offsetForPosition): (WebCore::InlineTextBox::positionForOffset):
  • rendering/InlineTextBox.h: (WebCore::InlineTextBox::textRenderer):
  • rendering/ListMarkerBox.cpp: (WebCore::ListMarkerBox::isText):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::paintEllipsisBoxes): (WebCore::RenderBlock::lowestPosition): (WebCore::RenderBlock::rightmostPosition): (WebCore::RenderBlock::leftmostPosition): (WebCore::RenderBlock::positionForBox): (WebCore::RenderBlock::positionForCoordinates): (WebCore::RenderBlock::getBaselineOfFirstLineBox): (WebCore::RenderBlock::getBaselineOfLastLineBox): (WebCore::RenderBlock::adjustForBorderFit): (WebCore::RenderBlock::addFocusRingRects):
  • rendering/RenderBox.cpp: (WebCore::RenderBox::paintCustomHighlight): (WebCore::RenderBox::position): (WebCore::RenderBox::containingBlockWidthForPositioned): (WebCore::RenderBox::calcAbsoluteHorizontalValues): (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::paintFillLayerExtended):
  • rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
  • rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads): (WebCore::RenderInline::offsetLeft): (WebCore::RenderInline::offsetTop): (WebCore::RenderInline::linesBoundingBox): (WebCore::RenderInline::relativePositionedInlineOffset): (WebCore::RenderInline::addFocusRingRects): (WebCore::RenderInline::paintOutline):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::localBoundingBox):
  • rendering/RenderSVGTSpan.cpp: (WebCore::RenderSVGTSpan::absoluteRects): (WebCore::RenderSVGTSpan::absoluteQuads):
  • rendering/RenderSVGText.cpp: (WebCore::RenderSVGText::absoluteRects): (WebCore::RenderSVGText::absoluteQuads): (WebCore::RenderSVGText::relativeBBox):
  • rendering/RenderSVGTextPath.cpp: (WebCore::RenderSVGTextPath::absoluteRects): (WebCore::RenderSVGTextPath::absoluteQuads):
  • rendering/RenderText.cpp: (WebCore::RenderText::absoluteRects): (WebCore::RenderText::absoluteRectsForRange): (WebCore::RenderText::absoluteQuads): (WebCore::RenderText::absoluteQuadsForRange): (WebCore::RenderText::localCaretRect): (WebCore::RenderText::linesBoundingBox):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::height): (WebCore::RootInlineBox::clearTruncation): (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::paintEllipsisBox): (WebCore::RootInlineBox::addHighlightOverflow): (WebCore::RootInlineBox::paintCustomHighlight): (WebCore::RootInlineBox::paint): (WebCore::RootInlineBox::nodeAtPoint): (WebCore::RootInlineBox::childRemoved): (WebCore::RootInlineBox::fillLineSelectionGap): (WebCore::RootInlineBox::block): (WebCore::isEditableLeaf): (WebCore::RootInlineBox::closestLeafChildForXPos): (WebCore::RootInlineBox::setVerticalOverflowPositions):
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::bottomOverflow): (WebCore::RootInlineBox::floats): (WebCore::RootInlineBox::setHorizontalOverflowPositions): (WebCore::RootInlineBox::setVerticalSelectionPositions):
  • rendering/SVGCharacterLayoutInfo.cpp: (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::calculateGlyphWidth): (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): (WebCore::SVGInlineTextBox::nodeAtPoint): (WebCore::SVGInlineTextBox::paintCharacters): (WebCore::SVGInlineTextBox::paintSelection): (WebCore::SVGInlineTextBox::paintDecoration):
  • rendering/SVGRenderTreeAsText.cpp: (WebCore::writeSVGInlineTextBox):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback): (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): (WebCore::SVGRootInlineBox::paint): (WebCore::cummulatedWidthOfInlineBoxCharacterRange): (WebCore::cummulatedHeightOfInlineBoxCharacterRange): (WebCore::svgTextRunForInlineTextBox): (WebCore::cummulatedWidthOrHeightOfTextChunk): (WebCore::applyTextAnchorToTextChunk): (WebCore::SVGRootInlineBox::buildLayoutInformation): (WebCore::SVGRootInlineBox::layoutInlineBoxes): (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): (WebCore::SVGRootInlineBox::buildTextChunks):
  • rendering/bidi.cpp: (WebCore::RenderBlock::constructLine): (WebCore::RenderBlock::computeVerticalPositionsForLine): (WebCore::RenderBlock::layoutInlineChildren): (WebCore::RenderBlock::checkLinesForTextOverflow):
  • svg/SVGTextContentElement.cpp: (WebCore::cumulativeCharacterRangeLength): (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): (WebCore::findInlineTextBoxInTextChunks):
17:12 Changeset [40841] by simon.fraser@apple.com

2009-02-10 Simon Fraser <simon.fraser@apple.com>

Reviewed by Dave Hyatt

Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it
relates to the RenderLayer z-order/overflow structure, rather than the render tree
parent chain. Add a convenience method, ancestorCompositingLayer(), which finds
the enclosing layer excluding self.

Fix enclosingCompositingLayer() to correctly look at stacking context and overflow
lists.

Check for documentBeingDestroyed() in a few places to avoid work on document
teardown.

17:05 Changeset [40840] by hyatt@apple.com

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

Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox. Rename setPos to setLocation.

Reviewed by Simon Fraser

  • dom/MouseRelatedEvent.cpp: (WebCore::MouseRelatedEvent::receivedTarget):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPosition): (WebCore::RenderLayer::convertToLayerCoords):
  • rendering/RenderLayer.h: (WebCore::RenderLayer::x): (WebCore::RenderLayer::y): (WebCore::RenderLayer::setLocation):
  • rendering/RenderTreeAsText.cpp: (WebCore::write): (WebCore::externalRepresentation):
16:56 Changeset [40839] by andersca@apple.com

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

Reviewed by Mark Rowe.

<rdar://problem/6573916>
CrashTracer: [USER] 1 crash in Safari at com.apple.WebKit • WebKit::NetscapePluginInstanceProxy::pluginHostDied + 25.


  • Plugins/Hosted/NetscapePluginHostManager.mm: (WebKit::NetscapePluginHostManager::instantiatePlugin): If we failed to instantiate the plug-in, invalidate the instance proxy.


  • Plugins/Hosted/NetscapePluginInstanceProxy.h:
  • Plugins/Hosted/NetscapePluginInstanceProxy.mm: (WebKit::NetscapePluginInstanceProxy::invalidate): Remove the instance from the plug-in host's set.


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

16:17 Changeset [40838] by darin@chromium.org

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23879
Add missing PLATFORM(SKIA) changes to TransformationMatrix.h

  • platform/graphics/transforms/TransformationMatrix.h:
15:42 Changeset [40837] by weinig@apple.com

WebCore:

2009-02-10 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Fix for https://bugs.webkit.org/show_bug.cgi?id=15897
Please implement getBoundingClientRect and getClientRects
<rdar://problem/6139669>

Cursory implementation of Element.getBoundingClientRect and
Element.getClientRects. Adds necessary infrastructure classes
ClientRect and ClientRectList.

Tests: fast/dom/getBoundingClientRect.html

fast/dom/getClientRects.html

  • DerivedSources.make:
  • GNUmakefile.am:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • WebCoreSources.bkl:
  • dom/ClientRect.cpp: Added. (WebCore::ClientRect::ClientRect):
  • dom/ClientRect.h: Added. (WebCore::ClientRect::create): (WebCore::ClientRect::top): (WebCore::ClientRect::right): (WebCore::ClientRect::bottom): (WebCore::ClientRect::left): (WebCore::ClientRect::width): (WebCore::ClientRect::height):
  • dom/ClientRect.idl: Added.
  • dom/ClientRectList.cpp: Added. (WebCore::ClientRectList::ClientRectList): (WebCore::ClientRectList::~ClientRectList): (WebCore::ClientRectList::length): (WebCore::ClientRectList::item):
  • dom/ClientRectList.h: Added. (WebCore::ClientRectList::create):
  • dom/ClientRectList.idl: Added.
  • dom/Element.cpp: (WebCore::Element::getClientRects): (WebCore::Element::getBoundingClientRect):
  • dom/Element.h:
  • dom/Element.idl:
  • page/DOMWindow.idl:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::absoluteRects): (WebCore::RenderInline::absoluteQuads):

LayoutTests:

2009-02-08 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Tests for https://bugs.webkit.org/show_bug.cgi?id=15897
Please implement getBoundingClientRect and getClientRects
<rdar://problem/6139669>

  • fast/dom/Window/window-properties-expected.txt:
  • fast/dom/domListEnumeration-expected.txt:
  • fast/dom/getBoundingClientRect-expected.txt: Added.
  • fast/dom/getBoundingClientRect.html: Added.
  • fast/dom/getClientRects-expected.txt: Added.
  • fast/dom/getClientRects.html: Added.
  • fast/dom/resources/domListEnumeration.js:
  • fast/js/global-constructors-expected.txt:
15:20 Changeset [40836] by hyatt@apple.com

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

Get rid of capsLockStateMayHaveChanged on RenderObject. It is only implemented by one class (text fields),
so devirtualize and just query at the single call site.

Reviewed by Eric Seidel

  • page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged):
  • rendering/RenderObject.h:
  • rendering/RenderTextControlSingleLine.h:
15:00 Changeset [40835] by hyatt@apple.com

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

Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes. This patch moves the cached vertical position member to RenderInlines,
since they were the only objects being queried across multiple lines.


Reviewed by Sam Weinig

  • rendering/InlineFlowBox.cpp: (WebCore::verticalPositionForBox): (WebCore::InlineFlowBox::computeLogicalBoxHeights):
  • rendering/RenderBoxModelObject.cpp: (WebCore::RenderBoxModelObject::verticalPosition):
  • rendering/RenderBoxModelObject.h:
  • rendering/RenderInline.cpp: (WebCore::RenderInline::RenderInline): (WebCore::RenderInline::verticalPositionFromCache):
  • rendering/RenderInline.h: (WebCore::RenderInline::invalidateVerticalPosition):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject):
  • rendering/RenderObject.h:
  • rendering/RenderText.cpp:
  • rendering/RenderText.h:
  • rendering/bidi.cpp: (WebCore::RenderBlock::layoutInlineChildren):
14:29 QtWebKitJournal edited by hausmann@webkit.org
(diff)
14:26 Changeset [40834] by dglazkov@chromium.org

2009-02-10 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Mark Rowe.

https://bugs.webkit.org/show_bug.cgi?id=23868
Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line.

  • bindings/v8/custom/V8HTMLInputElementCustom.cpp:
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
13:47 Changeset [40833] by dglazkov@chromium.org

2009-02-10 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23868
Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings.

  • bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added. (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER): (WebCore::CALLBACK_FUNC_DECL):
  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added. (WebCore::ACCESSOR_GETTER): (WebCore::ACCESSOR_SETTER):
13:12 Changeset [40832] by aroben@apple.com

2009-02-09 Gustavo Noronha Silva <gns@gnome.org>

Fix Bug 23851: Add my blog's webkit category to Planet

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

Reviewed by Mark Rowe.

  • config.ini: Add Gustavo Noronha's blog webkit category.
13:12 Changeset [40831] by aroben@apple.com

Fix Bug 23871: Assertion failure beneath WebCore::openFunc when running http/tests/security/xss-DENIED-xsl-document-redirect.xml

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

Reviewed by Alexey Proskuryakov.

Covered by existing tests.

  • dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc): Use the two-parameter KURL constructor so that the string will be parsed. libxml2 gives us a UTF-8-encoded string that needs to be parsed.
13:10 Changeset [40830] by aroben@apple.com

Add Michael(tm) Smith's blog to Planet WebKit

Rubberstamped by Alexey Proskuryakov.

  • config.ini:
11:50 Changeset [40829] by hyatt@apple.com

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

Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the
overflow boolean into the RenderObject base class.

Reviewed by Sam Weinig

  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject):
  • rendering/RenderObject.h: (WebCore::RenderObject::replacedHasOverflow): (WebCore::RenderObject::setReplacedHasOverflow):
  • rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::RenderReplaced): (WebCore::RenderReplaced::~RenderReplaced): (WebCore::RenderReplaced::adjustOverflowForBoxShadow): (WebCore::RenderReplaced::overflowHeight): (WebCore::RenderReplaced::overflowWidth): (WebCore::RenderReplaced::overflowLeft): (WebCore::RenderReplaced::overflowTop): (WebCore::RenderReplaced::overflowRect):
  • rendering/RenderReplaced.h:
11:32 Changeset [40828] by eric.carlson@apple.com

2009-02-10 Eric Carlson <eric.carlson@apple.com>

Reviewed by Simon Fraser.

https://bugs.webkit.org/show_bug.cgi?id=23870
Make it possible for a port to require a user gesture for an <audio> or <video> element
to load a url.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions. (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests. (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set and we are not preocessing a user gesture. (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space. (WebCore::HTMLMediaElement::play): Ditto. (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789. (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it multiple times. (WebCore::HTMLMediaElement::processingUserGesture): New.
  • html/HTMLMediaElement.h: (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions.
11:12 Changeset [40827] by zecke@webkit.org

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

Reviewed by Sam Weinig.

Remove the SVG checks from FloatPoint3D as it is used
by TransformationMatrix.

  • platform/graphics/FloatPoint3D.cpp:
  • platform/graphics/FloatPoint3D.h:
11:06 Changeset [40826] by hyatt@apple.com

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

Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached.

Reviewed by Sam Weinig

  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::paint): (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/EllipsisBox.h: (WebCore::EllipsisBox::EllipsisBox):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::verticallyAlignBoxes): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::paintTextDecorations):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::marginBorderPaddingLeft): (WebCore::InlineFlowBox::marginBorderPaddingRight): (WebCore::InlineFlowBox::marginLeft): (WebCore::InlineFlowBox::marginRight): (WebCore::InlineFlowBox::borderLeft): (WebCore::InlineFlowBox::borderRight): (WebCore::InlineFlowBox::borderTop): (WebCore::InlineFlowBox::borderBottom): (WebCore::InlineFlowBox::paddingLeft): (WebCore::InlineFlowBox::paddingRight): (WebCore::InlineFlowBox::paddingTop): (WebCore::InlineFlowBox::paddingBottom): (WebCore::InlineFlowBox::includeLeftEdge): (WebCore::InlineFlowBox::includeRightEdge): (WebCore::InlineFlowBox::baseline):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): (WebCore::InlineTextBox::paintDecoration): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintCompositionUnderline):
  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::getBaselineOfFirstLineBox): (WebCore::RenderBlock::getBaselineOfLastLineBox):
  • rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::baselinePosition):
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::placeEllipsis):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::paintDecoration):
  • rendering/SVGRootInlineBox.cpp: (WebCore::applyTextAnchorToTextChunk): (WebCore::SVGRootInlineBox::layoutInlineBoxes):
09:56 Changeset [40825] by aroben@apple.com

Fix Bug 23869: Pixel tests can't be run on Windows

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

This patch gets the pixel tests limping along on Windows again.

Reviewed by Dan Bernstein.

  • DumpRenderTree/DumpRenderTree.sln: Changed to use the new Debug_Internal configuration of ImageDiff in the Debug_Internal configuration of this solution.
  • DumpRenderTree/cg/PixelDumpSupportCG.cpp: (printPNG): Changed to call fwrite in a loop, since this call was failing due to the buffer being too large on Windows. (dumpWebViewAsPixelsAndCompareWithExpected): Removed an unnecessary #if PLATFORM(MAC)/#endif.
  • DumpRenderTree/win/ImageDiff.vcproj: Added a Debug_Internal configuration that matches the Debug configuration but also references debug_internal.vsprops.
  • DumpRenderTree/win/PixelDumpSupportWin.cpp: (createBitmapContextFromWebView): Renamed from getBitmapContextFromWebView to match the name used in the cross-platform code.
09:33 Changeset [40824] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23867
Eliminate obsolete frame->document() checks

  • page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo (document vs. !document), fillWithRed was always set to false, and other branches were never taken. Removing the check for document restores debug-only red color filling.
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable() after a document is created. A client can do anything in its delegate method, so we'd need to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot().
  • bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getOwnPropertySlot):
  • bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::addEventListener): (WebCore::JSDOMWindow::removeEventListener):
  • bindings/js/JSNavigatorCustom.cpp: (WebCore::needsYouTubeQuirk):
  • bindings/js/ScheduledAction.cpp: (WebCore::ScheduledAction::execute):
  • bindings/js/ScriptControllerMac.mm: (WebCore::updateRenderingForBindings):
  • dom/Document.cpp: (WebCore::Document::initSecurityContext):
  • editing/Editor.cpp: (WebCore::Editor::deleteWithDirection): (WebCore::Editor::dispatchCPPEvent): (WebCore::Editor::applyStyle): (WebCore::Editor::applyParagraphStyle):
  • editing/EditorCommand.cpp: (WebCore::Editor::Command::execute): (WebCore::Editor::Command::isEnabled): (WebCore::Editor::Command::state): (WebCore::Editor::Command::value):
  • editing/SelectionController.cpp: (WebCore::SelectionController::recomputeCaretRect): (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): (WebCore::SelectionController::selectAll): (WebCore::SelectionController::setFocused):
  • inspector/InspectorController.cpp: (WebCore::getResourceDocumentNode):
  • inspector/JavaScriptDebugServer.cpp: (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
  • loader/DocumentLoader.cpp: (WebCore::canonicalizedTitle): (WebCore::DocumentLoader::stopLoading): (WebCore::DocumentLoader::isLoadingInAPISense): (WebCore::DocumentLoader::subresource): (WebCore::DocumentLoader::getSubresources):
  • loader/FrameLoader.cpp: (WebCore::FrameLoader::urlSelected): (WebCore::FrameLoader::stop): (WebCore::FrameLoader::iconURL): (WebCore::FrameLoader::executeIfJavaScriptURL): (WebCore::FrameLoader::clear): (WebCore::FrameLoader::endIfNotLoadingMainResource): (WebCore::FrameLoader::restoreDocumentState): (WebCore::FrameLoader::gotoAnchor): (WebCore::FrameLoader::loadDone): (WebCore::FrameLoader::checkCompleted): (WebCore::FrameLoader::checkCallImplicitClose): (WebCore::FrameLoader::scheduleRefresh): (WebCore::FrameLoader::outgoingOrigin): (WebCore::FrameLoader::canCachePageContainingThisFrame): (WebCore::FrameLoader::logCanCacheFrameDecision): (WebCore::FrameLoader::updatePolicyBaseURL): (WebCore::FrameLoader::setPolicyBaseURL): (WebCore::FrameLoader::frameDetached): (WebCore::FrameLoader::shouldScrollToAnchor): (WebCore::FrameLoader::saveDocumentState):
  • loader/archive/cf/LegacyWebArchive.cpp: (WebCore::LegacyWebArchive::create):
  • loader/icon/IconFetcher.cpp: (WebCore::IconFetcher::create):
  • loader/icon/IconLoader.cpp: (WebCore::IconLoader::startLoading):
  • page/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
  • page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
  • page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): (WebCore::DOMWindow::alert): (WebCore::DOMWindow::confirm): (WebCore::DOMWindow::prompt): (WebCore::DOMWindow::scrollX): (WebCore::DOMWindow::scrollY): (WebCore::DOMWindow::getMatchedCSSRules): (WebCore::DOMWindow::openDatabase): (WebCore::DOMWindow::scrollBy): (WebCore::DOMWindow::scrollTo):
  • page/EventHandler.cpp: (WebCore::EventHandler::allowDHTMLDrag): (WebCore::EventHandler::scrollOverflow): (WebCore::EventHandler::handleMousePressEvent): (WebCore::EventHandler::handleMouseDoubleClickEvent): (WebCore::EventHandler::handleMouseMoveEvent): (WebCore::EventHandler::handleMouseReleaseEvent): (WebCore::EventHandler::updateDragAndDrop): (WebCore::EventHandler::handleWheelEvent): (WebCore::EventHandler::sendContextMenuEvent): (WebCore::EventHandler::capsLockStateMayHaveChanged): (WebCore::EventHandler::sendResizeEvent): (WebCore::EventHandler::sendScrollEvent):
  • page/FocusController.cpp: (WebCore::deepFocusableNode): (WebCore::FocusController::advanceFocus):
  • page/Frame.cpp: (WebCore::Frame::setFocusedNodeIfNeeded): (WebCore::Frame::shouldApplyTextZoom): (WebCore::Frame::shouldApplyPageZoom): (WebCore::Frame::setZoomFactor): (WebCore::Frame::setPrinting): (WebCore::Frame::reapplyStyles): (WebCore::Frame::isContentEditable): (WebCore::Frame::computeAndSetTypingStyle): (WebCore::Frame::selectionComputedStyle): (WebCore::Frame::applyEditingStyleToBodyElement): (WebCore::Frame::removeEditingStyleFromBodyElement): (WebCore::Frame::contentRenderer): (WebCore::Frame::styleForSelectionStart): (WebCore::Frame::setSelectionFromNone): (WebCore::Frame::findString): (WebCore::Frame::markAllMatchesForText): (WebCore::Frame::setMarkedTextMatchesAreHighlighted): (WebCore::Frame::documentTypeString): (WebCore::Frame::shouldClose): (WebCore::Frame::respondToChangedSelection):
  • page/FrameView.cpp: (WebCore::FrameView::~FrameView): (WebCore::FrameView::createScrollbar): (WebCore::FrameView::layout): (WebCore::FrameView::layoutTimerFired): (WebCore::FrameView::scheduleRelayout): (WebCore::FrameView::needsLayout): (WebCore::FrameView::unscheduleRelayout): (WebCore::FrameView::windowClipRect):
  • page/Geolocation.cpp: (WebCore::Geolocation::disconnectFrame):
  • page/Page.cpp: (WebCore::networkStateChanged): (WebCore::Page::~Page): (WebCore::Page::unmarkAllTextMatches): (WebCore::Page::setMediaVolume):
  • page/animation/AnimationController.cpp: (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired):
  • page/mac/EventHandlerMac.mm: (WebCore::EventHandler::currentKeyboardEvent): (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
  • page/mac/FrameMac.mm: (WebCore::Frame::dashboardRegionsDictionary): (WebCore::Frame::setUserStyleSheetLocation): (WebCore::Frame::setUserStyleSheet):
  • storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::dispatchStorageEvent):
  • storage/SessionStorageArea.cpp: (WebCore::SessionStorageArea::dispatchStorageEvent):
  • svg/graphics/SVGImage.cpp: (WebCore::SVGImage::setContainerSize): (WebCore::SVGImage::usesContainerSize): (WebCore::SVGImage::size): (WebCore::SVGImage::hasRelativeWidth): (WebCore::SVGImage::hasRelativeHeight): Removed frame->document() checks.
09:00 Changeset [40823] by treat@webkit.org

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

Reviewed by George Staikos.

Attempt to fix the Qt build after r40791.

  • rendering/RenderSVGRoot.cpp:
08:55 Changeset [40822] by darin@chromium.org

Fixing ChangeLog entry to include a bug link and description. Thanks to Darin
Adler for noticing the omission.

07:52 Changeset [40821] by aroben@apple.com

Robustify DumpRenderTree/win a little

DumpRenderTree was previously not holding a ref to the WebViews it
created via window.open. It was getting away with this because
WebViews get reffed by being preference notification observers and by
registering for drag-n-drop messages. Now DRT does hold a ref, in case
this situation changes in the future.

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/win/DumpRenderTree.cpp: (dumpBackForwardListForAllWindows): Added a .get(). (windowToWebViewMap): Changed to use the WindowToWebViewMap typedef.
  • DumpRenderTree/win/DumpRenderTreeWin.h: Changed the windowToWebViewMap() to hold a ref to the WebViews it contains.
07:51 Changeset [40820] by aroben@apple.com

Fix recursive WebView destruction when running DumpRenderTree

DumpRenderTree would call DestroyWindow on a WebView's host window,
which would send a WM_DESTROY message to the WebView's window. Inside
the WebView's WndProc, we would hold a ref to the WebView, then call
close() and revokeDragDrop(), which would release all remaining
references to the WebView other than the ref we held in the WndProc.
When the WndProc exited, the final ref to the WebView would be
released, invoking WebView's destructor. At this point,
IsWindow(m_viewWindow) would return true, since we were still in the
process of handling WM_DESTROY, so we would call DestroyWindow on the
WebView's window again, re-entering the WndProc and re-reffing the
WebView, leading to recursive destruction.

Reviewed by Alexey Proskuryakov.

  • WebView.cpp: (WebView::~WebView): Don't call DestroyWindow if our window is already being destroyed. (WebViewWndProc): Only hold an extra ref to the WebView when we're not being destroyed.
07:28 Changeset [40819] by hausmann@webkit.org

2009-02-10 Karsten Heimrich <kheimric@trolltech.com>

Reviewed by Simon Hausmann.

Fixes missing navigation/url update while clicking on anchor inside
webpage.

07:16 Changeset [40818] by treat@webkit.org

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

Fix the Qt build as class Selection is now VisibleSelection.

  • Api/qwebpage.cpp: (QWebPage::inputMethodQuery):
06:34 Changeset [40817] by aroben@apple.com

Windows build fix after r40813

  • JavaScriptCore.vcproj/jsc/jsc.vcproj: Added profiler/ to the include path so that Profiler.h can be found.
06:28 Changeset [40816] by treat@webkit.org

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

Reviewed by George Staikos.

Minor code cleanup.

  • dom/ContainerNode.cpp: (WebCore::ContainerNode::replaceChild):
06:27 Changeset [40815] by treat@webkit.org

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

Fix Qt build following r40793.

  • editing/qt/EditorQt.cpp:
01:20 Changeset [40814] by ap@webkit.org

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

Reviewed by Alexey Proskuryakov.

Fix crashes when accessing navigator object of a deleted frame.
https://bugs.webkit.org/show_bug.cgi?id=23626
A layout test is added: fast/dom/navigator-detached-no-crash.html

  • page/Navigator.cpp: (WebCore::Navigator::cookieEnabled): (WebCore::Navigator::javaEnabled):
00:43 Changeset [40813] by barraclough@apple.com

2009-02-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Provide a class type for a generated block of JIT code.
Also changes the return address -> bytecode index map to
track the return addess as an unsigned offset into the code
instead of a ptrdiff_t in terms of voids - the latter is
equal to the actual offset / sizeof(void*), making it a
potentially lossy representation.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbstractMacroAssembler.h: (JSC::AbstractMacroAssembler::PatchBuffer::returnAddressOffset):
  • assembler/X86Assembler.h: (JSC::X86Assembler::getCallReturnOffset):
  • bytecode/CodeBlock.h: (JSC::CallReturnOffsetToBytecodeIndex::CallReturnOffsetToBytecodeIndex): (JSC::getCallReturnOffset): (JSC::CodeBlock::getBytecodeIndex): (JSC::CodeBlock::jitCode): (JSC::CodeBlock::callReturnIndexVector):
  • interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::cti_vm_dontLazyLinkCall): (JSC::Interpreter::cti_vm_lazyLinkCall):
  • jit/JIT.cpp: (JSC::JIT::privateCompile):
  • jit/JIT.h: (JSC::):
  • jit/JITCall.cpp: (JSC::JIT::linkCall):
  • jit/JITCode.h: Added. (JSC::): (JSC::JITCode::JITCode): (JSC::JITCode::operator bool): (JSC::JITCode::addressForCall): (JSC::JITCode::offsetOf): (JSC::JITCode::execute):
00:34 Changeset [40812] by darin@chromium.org

2009-02-10 Sverrir Berg <sverrir@chromium.org>

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23630
Add complex font rendering using Skia instead of Windows ScriptTextOut.
This adds support for enhanced webkit styles when drawing complex
glyphs.

  • platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::Font::drawGlyphs): (WebCore::Font::drawComplexText):
  • platform/graphics/chromium/UniscribeHelper.cpp: (WebCore::containsMissingGlyphs): (WebCore::UniscribeHelper::draw): (WebCore::UniscribeHelper::shape):
  • platform/graphics/chromium/UniscribeHelper.h:
  • platform/graphics/skia/SkiaFontWin.cpp: (WebCore::windowsCanHandleTextDrawing): (WebCore::skiaDrawText): (WebCore::paintSkiaText):
  • platform/graphics/skia/SkiaFontWin.h:
00:26 Changeset [40811] by darin@chromium.org

2009-02-09 John Grabowski <jrg@chromium.org>

Reviewed by Darin Adler.

  • wtf/ThreadingPthreads.cpp: (WTF::initializeThreading): (WTF::isMainThread):
00:16 Changeset [40810] by darin@chromium.org

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

Revert r40797 as requested by Sam Weinig.

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

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
  • html/HTMLCanvasElement.idl:
00:12 Changeset [40809] by darin@chromium.org

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23855
Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage

  • platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::getCTM):
  • platform/graphics/skia/TransformationMatrixSkia.cpp: (WebCore::TransformationMatrix::operator SkMatrix):

02/09/09:

21:41 Changeset [40808] by mitz@apple.com

Reviewed by Dave Hyatt.

  • fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode)
  • platform/graphics/win/SimpleFontDataWin.cpp: (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is in the advanced graphics mode before calling GetCharWidthI(), because otherwise that function returns incorrect results for the default UI font at a certain size.
21:22 Changeset [40807] by simon.fraser@apple.com

2009-02-09 Chris Marrin <cmarrin@apple.com>

Reviewed by Simon Fraser

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

Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions
added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868

Test: transforms/3d/cssmatrix-3d-interface.xhtml

21:20 Changeset [40806] by mrowe@apple.com

Fix <https://bugs.webkit.org/show_bug.cgi?id=23863> / <rdar://problem/6571390>.
Bug 23863: Reproducible crash in Mail with TOT WebKit when creating a new message

Reviewed by Dan Bernstein.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Nil-check _private as it may have not
yet been initialized if this WebHTMLView was loaded from a nib.
(-[WebHTMLView _removeSuperviewObservers]): Ditto.

19:13 Changeset [40805] by hyatt@apple.com

Land updated layout tests after recent changes.

19:13 Changeset [40804] by mrowe@apple.com

Fix <https://bugs.webkit.org/show_bug.cgi?id=23858>
Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler

Reviewed by Darin Adler.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable
as it can be invalidated by any of the calls to focus() within the function. Instead, retrieve it and
null-check it when it is needed.

Test for <https://bugs.webkit.org/show_bug.cgi?id=23858>
Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler

Reviewed by Sam Weinig.

  • fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash-expected.txt: Added.
  • fast/dom/HTMLSelectElement/remove-element-from-within-focus-handler-crash.html: Added.
19:00 Changeset [40803] by hyatt@apple.com

Land updated svg layout tests after recent changes.

18:47 Changeset [40802] by hyatt@apple.com

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

Remove the m_height member from InlineBox. This shaves 4 bytes off of all inline boxes. Unfortunately SVG
sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height
member variables.

height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes
with no text children). For SVG boxes there is also a non-virtual setHeight function for updating the
m_height member variable like before.


Reviewed by Darin Adler

  • rendering/EllipsisBox.cpp: (WebCore::EllipsisBox::nodeAtPoint):
  • rendering/EllipsisBox.h: (WebCore::EllipsisBox::EllipsisBox):
  • rendering/InlineBox.cpp: (WebCore::InlineBox::height): (WebCore::InlineBox::root):
  • rendering/InlineBox.h: (WebCore::InlineBox::InlineBox): (WebCore::InlineBox::isInlineFlowBox): (WebCore::InlineBox::isRootInlineBox): (WebCore::InlineBox::topOverflow): (WebCore::InlineBox::bottomOverflow): (WebCore::InlineBox::leftOverflow): (WebCore::InlineBox::rightOverflow):
  • rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::height): (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): (WebCore::InlineFlowBox::computeLogicalBoxHeights): (WebCore::InlineFlowBox::placeBoxesVertically): (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): (WebCore::InlineFlowBox::nodeAtPoint):
  • rendering/InlineFlowBox.h: (WebCore::InlineFlowBox::isInlineFlowBox):
  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::height): (WebCore::InlineTextBox::nodeAtPoint): (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): (WebCore::InlineTextBox::paintCompositionUnderline):
  • rendering/InlineTextBox.h:
  • rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::height): (WebCore::RootInlineBox::placeEllipsis): (WebCore::RootInlineBox::setVerticalOverflowPositions):
  • rendering/RootInlineBox.h: (WebCore::RootInlineBox::isRootInlineBox): (WebCore::RootInlineBox::topOverflow): (WebCore::RootInlineBox::bottomOverflow): (WebCore::RootInlineBox::leftOverflow): (WebCore::RootInlineBox::rightOverflow): (WebCore::RootInlineBox::selectionBottom): (WebCore::RootInlineBox::Overflow::Overflow): (WebCore::RootInlineBox::setVerticalSelectionPositions):
  • rendering/SVGInlineFlowBox.h: (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): (WebCore::SVGInlineFlowBox::height): (WebCore::SVGInlineFlowBox::setHeight):
  • rendering/SVGInlineTextBox.cpp: (WebCore::SVGInlineTextBox::SVGInlineTextBox):
  • rendering/SVGInlineTextBox.h: (WebCore::SVGInlineTextBox::height): (WebCore::SVGInlineTextBox::setHeight):
  • rendering/SVGRootInlineBox.cpp: (WebCore::SVGRootInlineBox::layoutInlineBoxes):
  • rendering/SVGRootInlineBox.h: (WebCore::SVGRootInlineBox::SVGRootInlineBox): (WebCore::SVGRootInlineBox::height): (WebCore::SVGRootInlineBox::setHeight):
17:32 Changeset [40801] by eric@webkit.org

Reviewed by Sam Weinig.

Document our Selection DOM extensions
(in preparation for re-writing Selection to work with ranges)

  • page/DOMSelection.cpp: (WebCore::DOMSelection::type):
  • page/DOMSelection.h:
  • page/DOMSelection.idl:
17:31 Changeset [40800] by barraclough@apple.com

2009-02-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

Minor bugfix, incorrect check meant that subtraction causing integer overflow
would be missed on x86-64 JIT.

  • jit/JITArithmetic.cpp: (JSC::JIT::compileBinaryArithOp):
17:28 Changeset [40799] by barraclough@apple.com

2009-02-09 Gavin Barraclough <barraclough@apple.com>

Reviewed by Oliver Hunt.

A more sensible register allocation for x86-64.

When WREC was ported to x86-64 it stuck with the same register allocation as x86.
This requires registers to be reordered on entry into WREC generated code, since
argument passing is different on x86-64 and x86 (regparm(3)). This patch switches
x86-64 to use a native register allocation, that does not require argument registers
to be reordered.

  • wrec/WRECGenerator.cpp: (JSC::WREC::Generator::generateEnter): (JSC::WREC::Generator::generateReturnSuccess): (JSC::WREC::Generator::generateReturnFailure):
  • wrec/WRECGenerator.h:
17:10 Changeset [40798] by eric@webkit.org

Attempt to fix wx build

  • WebCoreSources.bkl: change Selection to VisibleSelection
14:32 Changeset [40797] by darin@chromium.org

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

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23809
Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs

  • bindings/scripts/CodeGeneratorJS.pm:
  • dom/Document.idl:
  • html/HTMLCanvasElement.idl:
14:17 Changeset [40796] by eric@webkit.org

Fix the gtk build by adding VisibleSelection and removing Selection.

  • GNUmakefile.am:
14:09 Changeset [40795] by krit@webkit.org

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

Reviewed by Eric Seidel.

Transform the gradient instead of the context for most platforms and
transform the context after CGContextReplacePathWithStrokedPath for CG.

REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness
https://bugs.webkit.org/show_bug.cgi?id=23547

  • platform/graphics/Gradient.h: (WebCore::Gradient::setGradientSpaceTransform): (WebCore::Gradient::gradientSpaceTransform):
  • platform/graphics/cairo/GradientCairo.cpp: (WebCore::Gradient::platformGradient):
  • platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect):
  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect):
  • platform/graphics/skia/GradientSkia.cpp: (WebCore::Gradient::platformGradient):
  • svg/graphics/SVGPaintServerGradient.cpp: (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): (WebCore::clipToTextMask): (WebCore::SVGPaintServerGradient::setup): (WebCore::SVGPaintServerGradient::teardown):
14:05 Changeset [40794] by weinig@apple.com

2009-02-09 Sam Weinig <sam@webkit.org>

Reviewed by David Hyatt.

Fix the highlight when inspecting inline elements.

  • inspector/InspectorController.cpp: (WebCore::drawHighlightForBox): (WebCore::drawHighlightForLineBoxes): (WebCore::InspectorController::drawNodeHighlight):
13:43 Changeset [40793] by eric@webkit.org

First pass at s/Selection/VisibleSelection

13:07 Changeset [40792] by dglazkov@chromium.org

WebCore:

2009-02-09 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=23806
Fix a regression crash where an empty src value and a "text/html" type
on an EMBED element did not finish ResourceRequest initialization due to
an early return.

Test: fast/loader/empty-embed-src-attribute.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest):

LayoutTests:

2009-02-09 Dimitri Glazkov <dglazkov@chromium.org>

Reviewed by Dave Hyatt.

https://bugs.webkit.org/show_bug.cgi?id=23806
New test for the crash with an embed element with an empty src and
"text/html" type.

  • fast/loader/empty-embed-src-attribute-expected.txt: Added.
  • fast/loader/empty-embed-src-attribute.html: Added.
12:55 Changeset [40791] by rwlbuis@webkit.org

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=23816
Clean up RenderSVGRoot.cpp

Clean up RenderSVGRoot.cpp.

  • rendering/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::calcViewport):
12:41 Changeset [40790] by zecke@webkit.org

2009-02-09 Calvin Walton <calvin.walton@gmail.com>

Reviewed by Holger Freyther.

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

[Gtk] Fix build with recent autotools

Current versions of automake/libtool don't assume you want C++ enabled
by default any more, so explicitly check for a C++ compiler.

  • configure.ac: Add AC_PROG_CXX macro
11:48 Changeset [40789] by eric.carlson@apple.com

2009-02-09 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti Koivisto


https://bugs.webkit.org/show_bug.cgi?id=23737
Make it possible to control media element playback without knowing so many
internal implementation details.

  • html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state. (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode. (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode.
  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly.

  • html/HTMLVideoElement.h:

(WebCore::HTMLVideoElement::hasVideo): New.

  • rendering/MediaControlElements.cpp: (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element togglePlayState method. (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time will change.
  • rendering/RenderMedia.cpp: (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including internal logic here. (WebCore::RenderMedia::updateControlVisibility): Ditto.
11:37 Changeset [40788] by eric.carlson@apple.com

2009-02-09 Eric Carlson <eric.carlson@apple.com>

Reviewed by Antti Koivisto

Change RenderPart and RenderPartObject constructors to take a Node*
instead of a HTMLFrameOwnerElement* since that is all then need.

  • rendering/RenderPart.cpp: (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement*
  • rendering/RenderPart.h:
  • rendering/RenderPartObject.cpp: (WebCore::RenderPartObject::RenderPartObject): take Node* instead of HTMLFrameOwnerElement*
  • rendering/RenderPartObject.h:
11:28 Changeset [40787] by mitz@apple.com
  • fix -Wmissing-prototypes builds
  • editing/ReplaceSelectionCommand.cpp: (WebCore::isHeaderElement): Marked this function static. (WebCore::haveSameTagName): Ditto.
  • editing/markup.cpp: (WebCore::isSpecialAncestorBlock): Ditto.
  • platform/graphics/transforms/TransformationMatrix.cpp: (WebCore::makeMapBetweenRects): Removed unused function.
  • platform/graphics/transforms/TransformationMatrix.h: Removed unused declaration of private member makeMapBetweenRects().
11:21 Changeset [40786] by andersca@apple.com

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

Reviewed by Kevin Decker.


Fix crash when plug-in host dies.


  • Plugins/Hosted/HostedNetscapePluginStream.mm: (WebKit::HostedNetscapePluginStream::didFail):
11:03 Changeset [40785] by treat@webkit.org

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

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=23850
Code cleanup of HTMLParser class which was using a mix of m_* and bare
class member variable names which helps to obfuscate the code. Also
changed a few of the static helper functions to take a const pointer type
as they should not be modifying the node.

  • html/HTMLParser.cpp: (WebCore::HTMLParser::HTMLParser): (WebCore::HTMLParser::~HTMLParser): (WebCore::HTMLParser::reset): (WebCore::HTMLParser::setCurrent): (WebCore::HTMLParser::parseToken): (WebCore::HTMLParser::parseDoctypeToken): (WebCore::isTableSection): (WebCore::isTablePart): (WebCore::isTableRelated): (WebCore::HTMLParser::insertNode): (WebCore::HTMLParser::handleError): (WebCore::HTMLParser::textCreateErrorCheck): (WebCore::HTMLParser::commentCreateErrorCheck): (WebCore::HTMLParser::headCreateErrorCheck): (WebCore::HTMLParser::bodyCreateErrorCheck): (WebCore::HTMLParser::framesetCreateErrorCheck): (WebCore::HTMLParser::formCreateErrorCheck): (WebCore::HTMLParser::isindexCreateErrorCheck): (WebCore::HTMLParser::noscriptCreateErrorCheck): (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): (WebCore::HTMLParser::mapCreateErrorCheck): (WebCore::HTMLParser::getNode): (WebCore::HTMLParser::allowNestedRedundantTag): (WebCore::HTMLParser::processCloseTag): (WebCore::HTMLParser::isInline): (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): (WebCore::HTMLParser::reopenResidualStyleTags): (WebCore::HTMLParser::pushBlock): (WebCore::HTMLParser::popBlock): (WebCore::HTMLParser::popOneBlockCommon): (WebCore::HTMLParser::popOneBlock): (WebCore::HTMLParser::moveOneBlockToStack): (WebCore::HTMLParser::checkIfHasPElementInScope): (WebCore::HTMLParser::popInlineBlocks): (WebCore::HTMLParser::freeBlock): (WebCore::HTMLParser::createHead): (WebCore::HTMLParser::handleIsindex): (WebCore::HTMLParser::startBody): (WebCore::HTMLParser::finished): (WebCore::HTMLParser::reportErrorToConsole):
  • html/HTMLParser.h:
10:38 Changeset [40784] by ap@webkit.org

Applying review comment on a second location.

  • rendering/RenderText.cpp: (WebCore::RenderText::nextOffset): Use "ifdef BUILDING_ON_TIGER".
10:35 Changeset [40783] by ap@webkit.org

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=23845
editing/deleting/backward-deletion.html fails on Tiger

  • rendering/RenderText.cpp: (WebCore::RenderText::previousOffset): (WebCore::RenderText::nextOffset): Work around a bug in older ICU versions by hardcoding narrow voiced marks.
07:49 Changeset [40782] by aroben@apple.com

Windows build fix

  • WebCore.vcproj/WebCore.vcproj: Fix the XML syntax.
02:13 Changeset [40781] by ap@webkit.org

2009-02-09 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Make WorkerMessagingProxy derive from two base proxy classes.
https://bugs.webkit.org/show_bug.cgi?id=23777

  • bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate):
  • dom/Worker.cpp: (WebCore::Worker::terminate): (WebCore::Worker::hasPendingActivity):
  • dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException):
  • dom/WorkerMessagingProxy.cpp: (WebCore::WorkerThreadActivityReportTask::performTask): (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): (WebCore::WorkerMessagingProxy::workerObjectDestroyed): (WebCore::WorkerMessagingProxy::terminateWorkerContext): (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): (WebCore::WorkerMessagingProxy::reportPendingActivity): (WebCore::WorkerMessagingProxy::reportPendingActivityInternal): (WebCore::WorkerMessagingProxy::hasPendingActivity):
  • dom/WorkerMessagingProxy.h:
02:00 Changeset [40780] by ap@webkit.org

2009-02-09 Jian Li <jianli@chromium.org>

Reviewed by Alexey Proskuryakov.

Introduce 2 base classes to split WorkerMessagingProxy.
https://bugs.webkit.org/show_bug.cgi?id=23776

  • GNUmakefile.am:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/WorkerContextProxy.h: Added. (WebCore::WorkerContextProxy::~WorkerContextProxy):
  • dom/WorkerObjectProxy.h: Added. (WebCore::WorkerObjectProxy::~WorkerObjectProxy):
01:32 Changeset [40779] by ap@webkit.org

Land results for a recently added test (https://bugs.webkit.org/show_bug.cgi?id=23601).

  • fast/dom/Selection/getRangeAt-expected.txt: Added.

02/08/09:

23:15 Changeset [40778] by hyatt@apple.com

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

Fix for https://bugs.webkit.org/show_bug.cgi?id=23839

Make sure that generated content is properly handled when content is moved from a block run-in
to an inline run-in.

Reviewed by Sam Weinig

Added fast/runin/002.html

  • rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild):
22:03 Changeset [40777] by hyatt@apple.com

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

Fix for https://bugs.webkit.org/show_bug.cgi?id=23832, crash when inspecting an image using the
Web inspector.

Reviewed by Mark Rowe

  • rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteRectsForRange): (WebCore::RenderObject::absoluteQuadsForRange):
12:44 Changeset [40776] by krit@webkit.org

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

Unreviewed Qt build fix.


TransformationMatrix changes in r40761 broke QT build.

  • platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::getCTM): (WebCore::GraphicsContext::scale):
12:03 Changeset [40775] by krit@webkit.org

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

Reviewed by Holger Freyther.

This is a follow up of the last commit. It cleans up TransformationMatrix.h
and convert to a series of #elif.

  • platform/graphics/transforms/TransformationMatrix.h:
11:49 Changeset [40774] by krit@webkit.org

2009-02-08 Gustavo Noronha Silva <gns@gnome.org>

Reviewed by Simon Fraser.

[CAIRO] build broken by TransformationMatrix rework
https://bugs.webkit.org/show_bug.cgi?id=23831

Fixed cairo build after the TransformationMatrix rework done in
revision 40761.

  • platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::getCTM): (WebCore::GraphicsContext::concatCTM):
  • platform/graphics/cairo/TransformationMatrixCairo.cpp: (WebCore::TransformationMatrix::operator cairo_matrix_t):
  • platform/graphics/transforms/TransformationMatrix.h:
01:49 QtWebKitFeatures45 edited by hausmann@webkit.org
(diff)
01:00 Changeset [40773] by mrowe@apple.com

Versioning.

00:59 Changeset [40772] by mrowe@apple.com

New tag.

02/07/09:

23:03 Changeset [40771] by hyatt@apple.com

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):
22:17 Changeset [40770] by dino@apple.com

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:
21:39 Changeset [40769] by hyatt@apple.com

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):
21:20 Changeset [40768] by bfulgham@webkit.org

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):
18:47 Changeset [40767] by bfulgham@webkit.org

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:
18:10 Changeset [40766] by bfulgham@webkit.org

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):
14:06 Moving to Git edited by hausmann@webkit.org
(diff)
13:18 Changeset [40765] by darin@apple.com

2009-02-07 Darin Adler <darin@apple.com>

  • StringsNotToBeLocalized.txt: Updated for recent changes.
13:13 Changeset [40764] by rwlbuis@webkit.org

Fix date.

13:10 Changeset [40763] by rwlbuis@webkit.org

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 Changeset [40762] by treat@webkit.org

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

Prospective build fix for all non-Apple platforms.

  • platform/graphics/transforms/TransformationMatrix.h:
10:40 Changeset [40761] by cmarrin@apple.com

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.

09:53 Changeset [40760] by zecke@webkit.org

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

Unreviewed build fix Use toNormalizedRange().

  • WebCoreSupport/EditorClientGtk.cpp: (WebKit::clipboard_get_contents_cb):
07:33 Changeset [40759] by hausmann@webkit.org

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.

Note: See TracTimeline for information about the timeline view.