2011-01-22  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Fix compositor repaints for offscreen fixed elements
        https://bugs.webkit.org/show_bug.cgi?id=52681

        The fast path scrolling was clipping offscreen invalidations.
        Additionally, the compositor was ignoring all invalidations that were
        entirely out of the content rect.

        Test: compositing/ to verify this caused no regressions.
        Tested fix manually in browser as I could not generate a LayoutTest that reproduced the bug in run-webkit-tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollContentsFastPath):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::invalidateRootLayerRect):

2011-01-22  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=52951
        WebKit2 generates a bad PDF for cross process messaging

        * page/PrintContext.cpp: (WebCore::PrintContext::spoolRect): Use a correct offset to actually
        draw inside the requested rectangle.

2011-01-21  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        Regression: new window.onerror() implementation leaks cross-origin Javascript errors
        https://bugs.webkit.org/show_bug.cgi?id=52903

        In case of an exception in a script from different domain only generic message
        will be passed to window.onerror hander.

        Tests: http/tests/security/cross-origin-script-window-onerror-redirected.html
               http/tests/security/cross-origin-script-window-onerror.html

        * bindings/js/CachedScriptSourceProvider.h: use URL from the resource response to make sure we do all
        cross origin checks agains real script URL, not the original URL which may have resulted in a sequence
        of redirects to different domains.
        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
        * bindings/v8/ScriptSourceCode.h: same for v8.
        (WebCore::ScriptSourceCode::url):
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::dispatchErrorEvent): in case the error occurred in a script we cannot
        access provide concise "Script error." message without any information about the error source. This is
        what Firefox does in this case.

2011-01-21  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Always set composition mode through GraphicsContext
        https://bugs.webkit.org/show_bug.cgi?id=52940

        GraphicsContext tracks the current composition mode so we should
        never call through to the QPainter directly.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode): Changed this method to a static inline
        since it's only used by GraphicsContextQt.cpp now.

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::Image::drawPattern):
        (WebCore::BitmapImage::draw):

2011-01-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        Inconsistent handling of no-break space in justification logic
        https://bugs.webkit.org/show_bug.cgi?id=52938

        Test: fast/text/justify-nbsp.html

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Count no-break space as a
        space when computing the distribution of space between text boxes on the line.

2011-01-21  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Fisher.

        Crash in WebCore::HistoryController::itemsAreClones
        https://bugs.webkit.org/show_bug.cgi?id=52819

        Adds sanity checks to help diagnose the crash.

        * loader/HistoryController.cpp:

2011-01-21  Andreas Kling  <kling@webkit.org>

        Reviewed by Ariya Hidayat.

        [Qt] Let QPainter decide whether a composition mode is supported or not

        Lacking Porter-Duff support in the paint engine shouldn't exclude the
        Source and Source-Over modes (and has nothing to do with the blend
        and raster-op modes.)

        Delegate this decision to QPainter instead (this will cause warnings
        if an unsupported mode is used, but that's a good thing.)

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clearRect):
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/qt/TransparencyLayer.h:
        (WebCore::TransparencyLayer::TransparencyLayer):

2011-01-21  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        fix audio build: header file should be "Noncopyable.h" and not "NonCopyable.h"
        https://bugs.webkit.org/show_bug.cgi?id=52933

        No new tests since this just fixes the build

        * webaudio/RealtimeAnalyser.h:

2011-01-21  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Fix audio build: change ChromiumBridge to PlatformBridge
        https://bugs.webkit.org/show_bug.cgi?id=52928

        No new tests since audio API is not yet implemented.

        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::AudioBus::loadPlatformResource):

2011-01-21  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add FFTFrameStub to avoid link errors during bringup on platforms without an FFT implementation
        https://bugs.webkit.org/show_bug.cgi?id=52922

        No new tests since audio API is not yet implemented.

        * WebCore.gypi:
        * platform/audio/FFTFrameStub.cpp: Added.
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):

2011-01-21  Tony Chang  <tony@chromium.org>

        Reviewed by Sam Weinig.

        reduce number of FrameLoaderClient::didChangeScrollOffset calls
        https://bugs.webkit.org/show_bug.cgi?id=52915

        Only notify of changes in scroll offset when there actually is a change.
        This regressed in r76291.

        Covered by Chromium browser_tests.

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):

2011-01-21  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: ~InspectorResourceAgent crashes on closing inspected page.
        https://bugs.webkit.org/show_bug.cgi?id=52900

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):

2011-01-21  Chris Rogers  <crogers@google.com>

        Reviewed by Darin Fisher.

        Add run-time enable support for the web audio API
        https://bugs.webkit.org/show_bug.cgi?id=52741

        No new tests since audio API is not yet implemented.

        * WebCore.exp.in:
        * bindings/generic/RuntimeEnabledFeatures.cpp:
        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::setWebkitAudioContextEnabled):
        (WebCore::RuntimeEnabledFeatures::webkitAudioContextEnabled):
        * page/DOMWindow.idl:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setWebAudioEnabled):
        * page/Settings.h:
        (WebCore::Settings::webAudioEnabled):

2011-01-21  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Menulist text often collides with separator
        https://bugs.webkit.org/show_bug.cgi?id=51155

        Move menulist rendering to RenderThemeGtk and correct padding code
        for separators in menulists.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk): Initialize new widget members.
        (WebCore::RenderThemeGtk::getComboBoxSeparatorWidth): Added.
        (WebCore::RenderThemeGtk::comboBoxArrowSize): Added.
        (WebCore::getButtonInnerBorder): Added.
        (WebCore::RenderThemeGtk::getComboBoxPadding): Do this manually instead of using
        Mozilla code.
        (WebCore::RenderThemeGtk::paintMenuList): Ditto.
        (WebCore::setupWidget): Abstracted this part of the setupWidgetAndAddToContainer
        out to handle child widgets of comboboxes.
        (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Abstracted out setupWidget.
        (WebCore::RenderThemeGtk::gtkContainer): Added.
        (WebCore::getGtkComboBoxButton): Added.
        (WebCore::getGtkComboBoxPieces): Added.
        (WebCore::RenderThemeGtk::gtkComboBox): Call setupWidget here.
        (WebCore::RenderThemeGtk::refreshComboBoxChildren): Added.
        (WebCore::RenderThemeGtk::gtkComboBoxButton): Added.
        (WebCore::RenderThemeGtk::gtkComboBoxArrow): Added.
        (WebCore::RenderThemeGtk::gtkComboBoxSeparator): Added.
        * platform/gtk/RenderThemeGtk.h: Added new members and methods.
        * platform/gtk/WidgetRenderingContext.h: Added new members and methods.
        * platform/gtk/WidgetRenderingContextGtk2.cpp:
        (WebCore::WidgetRenderingContext::gtkPaintArrow):
        (WebCore::WidgetRenderingContext::gtkPaintVLine):
        * platform/gtk/WidgetRenderingContextGtk3.cpp:
        (WebCore::WidgetRenderingContext::gtkPaintArrow):
        (WebCore::WidgetRenderingContext::gtkPaintVLine):
        * platform/gtk/gtk2drawing.c: Removed code for drawing menulists and buttons.
        (moz_gtk_init):
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtk3drawing.c:
        (moz_gtk_init):
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtkdrawing.h:

2011-01-21  Sam Weinig  <sam@webkit.org>

        Fix chromium mac build.

        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):

2011-01-21  Sam Weinig  <sam@webkit.org>

        Fix the windows build.

        * platform/ScrollbarThemeComposite.cpp:
        (WebCore::ScrollbarThemeComposite::paint):

2011-01-21  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add chromium bundled audio spatialization resources to WebAudio.grd
        https://bugs.webkit.org/show_bug.cgi?id=52651

        No new tests since audio API is not yet implemented.

        * WebCore.gyp/WebCore.gyp:
        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::AudioBus::loadPlatformResource):

2011-01-21  Xiyuan Xia  <xiyuan@chromium.org>

        Reviewed by Tony Chang.

        Use WebThemeEngine for relevant RenderTheme parts for chromium/linux.
        https://bugs.webkit.org/show_bug.cgi?id=52826

        * platform/chromium/ChromiumBridge.h:
        * rendering/RenderThemeChromiumLinux.cpp:
        (WebCore::getWebThemeState):
        (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
        (WebCore::RenderThemeChromiumLinux::paintCheckbox):
        (WebCore::RenderThemeChromiumLinux::setCheckboxSize):
        (WebCore::RenderThemeChromiumLinux::paintRadio):
        (WebCore::RenderThemeChromiumLinux::setRadioSize):
        (WebCore::RenderThemeChromiumLinux::paintButton):
        (WebCore::RenderThemeChromiumLinux::paintTextField):
        (WebCore::RenderThemeChromiumLinux::paintMenuList):
        (WebCore::RenderThemeChromiumLinux::paintSliderTrack):
        (WebCore::RenderThemeChromiumLinux::paintSliderThumb):
        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
        (WebCore::RenderThemeChromiumLinux::paintInnerSpinButton):
        (WebCore::RenderThemeChromiumLinux::paintProgressBar):
        * rendering/RenderThemeChromiumLinux.h:
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
        (WebCore::RenderThemeChromiumSkia::setSizeIfAuto):
        (WebCore::RenderThemeChromiumSkia::indeterminateProgressValueRectFor):
        * rendering/RenderThemeChromiumSkia.h:

2011-01-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        Part 2 of "Cleanup Scrollbar/ScrollbarClient relationship"
        https://bugs.webkit.org/show_bug.cgi?id=52779

        Rename ScrollbarClient -> ScrollableArea.

        - Also replaces Scrollbar::setClient with Scrollbar::disconnectFromScrollableArea
          since that was its only use case.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AccessibilityScrollbar.cpp:
        (WebCore::AccessibilityScrollbar::setValue):
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
        * page/FrameView.h:
        * platform/PopupMenuClient.h:
        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimator::ScrollAnimator):
        (WebCore::ScrollAnimator::scroll):
        (WebCore::ScrollAnimator::notityPositionChanged):
        * platform/ScrollAnimator.h:
        * platform/ScrollAnimatorWin.cpp:
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorWin::ScrollAnimatorWin):
        (WebCore::ScrollAnimatorWin::scroll):
        * platform/ScrollAnimatorWin.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scroll):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        * platform/ScrollableArea.cpp: Copied from WebCore/platform/ScrollbarClient.cpp.
        (WebCore::ScrollableArea::ScrollableArea):
        (WebCore::ScrollableArea::~ScrollableArea):
        (WebCore::ScrollableArea::scroll):
        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
        (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
        * platform/ScrollableArea.h: Copied from WebCore/platform/ScrollbarClient.h.
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::createNativeScrollbar):
        (WebCore::Scrollbar::Scrollbar):
        (WebCore::Scrollbar::offsetDidChange):
        (WebCore::Scrollbar::autoscrollPressedPart):
        (WebCore::Scrollbar::moveThumb):
        (WebCore::Scrollbar::mouseMoved):
        (WebCore::Scrollbar::isWindowActive):
        (WebCore::Scrollbar::invalidateRect):
        (WebCore::Scrollbar::convertToContainingView):
        (WebCore::Scrollbar::convertFromContainingView):
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::disconnectFromScrollableArea):
        (WebCore::Scrollbar::scrollableArea):
        * platform/ScrollbarClient.cpp: Removed.
        * platform/ScrollbarClient.h: Removed.
        * platform/ScrollbarThemeComposite.cpp:
        * platform/chromium/FramelessScrollView.h:
        * platform/chromium/ScrollbarThemeChromium.cpp:
        (WebCore::ScrollbarThemeChromium::paintTickmarks):
        * platform/efl/ScrollbarEfl.cpp:
        (Scrollbar::createNativeScrollbar):
        (ScrollbarEfl::ScrollbarEfl):
        (scrollbarEflEdjeMessage):
        * platform/efl/ScrollbarEfl.h:
        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::create):
        (MainFrameScrollbarGtk::MainFrameScrollbarGtk):
        (MainFrameScrollbarGtk::gtkValueChanged):
        * platform/gtk/MainFrameScrollbarGtk.h:
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimator::create):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::scroll):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * platform/qt/ScrollbarQt.cpp:
        (WebCore::Scrollbar::contextMenu):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::scrollToRevealSelection):
        (WebCore::PopupMenuWin::wndProc):
        * platform/win/PopupMenuWin.h:
        * platform/win/ScrollbarThemeSafari.cpp:
        (WebCore::ScrollbarThemeSafari::paintTrackBackground):
        (WebCore::ScrollbarThemeSafari::paintButton):
        (WebCore::ScrollbarThemeSafari::paintThumb):
        * platform/wx/ScrollbarThemeWx.cpp:
        (WebCore::ScrollbarThemeWx::paint):
        * rendering/RenderDataGrid.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::destroyScrollbar):
        (WebCore::RenderLayer::scroll):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
        (WebCore::RenderListBox::scroll):
        (WebCore::RenderListBox::logicalScroll):
        (WebCore::RenderListBox::setScrollTop):
        (WebCore::RenderListBox::destroyScrollbar):
        * rendering/RenderListBox.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::createScrollbar):
        * rendering/RenderMenuList.h:
        * rendering/RenderScrollbar.cpp:
        (WebCore::RenderScrollbar::createCustomScrollbar):
        (WebCore::RenderScrollbar::RenderScrollbar):
        * rendering/RenderScrollbar.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::createScrollbar):
        * rendering/RenderTextControlSingleLine.h:

2011-01-21  Darin Adler  <darin@apple.com>

        Fix Leopard build.

        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::layout): Use ceilf instead of ceil.

2011-01-21  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        [v8] Properly deal with the case when conversion to string throws an exception for HTMLCollection accessors
        https://bugs.webkit.org/show_bug.cgi?id=52901

        Test: fast/dom/htmlcollection-conversion-throws-exception.html

        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
        (WebCore::getItem):

2011-01-21  Adam Roben  <aroben@apple.com>

        Separate flushing layer changes from rendering in CACFLayerTreeHost

        Old model:
          1) A change is made to a GraphicsLayer.
          2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which schedules the
             render timer.
          3) The timer fires, which calls through to CACFLayerTreeHost::render, which performs the
             flush and then renders.

        New model:
          1) A change is made to a GraphicsLayer.
          2) CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon is called, which tells the new
             LayerChangesFlusher singleton that this host has changes that need to be flushed.
          3) LayerChangesFlusher sets up a Windows hook that will get called on the next iteration
             of the message loop.
          4) LayerChangesFlusher's hook is called, which calls through to
             CACFLayerTreeHost::flushPendingLayerChangesNow.
          5) CACFLayerTreeHost::flushPendingLayerChangesNow schedules the render timer so the changes
             that were just flushed to the context will be rendered.

        When a change is made to a PlatformCALayer that doesn't have a corresponding GraphicsLayer
        (e.g., for rendering <video>), CACFLayerTreeHost::layerTreeDidChange takes care of
        scheduling the flush.

        This change has three advantages:
          1) Whenever we flush layer changes, we first update layout. This can cause the page to
             leave compositing mode, which in turn can cause all references to the CACFLayerTreeHost
             to be dropped. By separating flushing (and thus updating layout) from rendering, we no
             longer have to worry about this happen during rendering.
          2) The new model is much more similar to how things work on the Mac, so will hopefully
             reduce the number of platform-specific bugs.
          3) CACFLayerTreeHost::shouldRender, which was used to make sure we didn't render while a
             layout was pending, is no longer needed. It actually hasn't been needed since at least
             r75987, but removing it before now would have resulted in a crash whenever a page came
             out of compositing mode due to (1).

        Fixes <http://webkit.org/b/52852> Flushing layer changes and rendering are intertwined in
        CACFLayerTreeHost, but shouldn't be

        Reviewed by Simon Fraser.

        * WebCore.vcproj/WebCore.vcproj: Added LayerChangesFlusher.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Added new #include, sorted existing
        #includes.
        (WebCore::CACFLayerTreeHost::CACFLayerTreeHost): Initialize new member.
        (WebCore::CACFLayerTreeHost::layerTreeDidChange): If we aren't already flushing changes,
        schedule a flush. Removed the call to renderSoon(), which now happens when the flush is
        finished.
        (WebCore::CACFLayerTreeHost::destroyRenderer): Cancel any pending flush we had scheduled. Also
        fixed a bug where we'd fail to clear the context's layer.
        (WebCore::CACFLayerTreeHost::render): Removed code to ask the client if we should render, which
        is no longer needed. Moved code to flush layer changes from here to
        flushPendingLayerChangesNow, which is called via the above-described mechanism.
        (WebCore::CACFLayerTreeHost::flushPendingGraphicsLayerChangesSoon): Schedule a flush. Removed
        code to schedule a render, which now happens after we've flushed.
        (WebCore::CACFLayerTreeHost::flushPendingLayerChangesNow): Added. Some of this code came from
        render(). First we flush GraphicsLayer changes from GraphicsLayers to their underlying
        PlatformCALayers, then we flush changes from PlatformCALayers to the context, then we
        schedule a render so that the changes will be rendered to the screen.

        * platform/graphics/ca/win/CACFLayerTreeHost.h: Removed
        CACFLayerTreeHostClient::shouldRender. Added flushPendingLayerChangesNow and
        m_isFlushingLayerChanges.

        * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
        (WebCore::LayerChangesFlusher::shared):
        (WebCore::LayerChangesFlusher::LayerChangesFlusher):
        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
        (WebCore::LayerChangesFlusher::cancelPendingFlush):
        (WebCore::LayerChangesFlusher::hookCallback):
        (WebCore::LayerChangesFlusher::hookFired):
        (WebCore::LayerChangesFlusher::setHook):
        (WebCore::LayerChangesFlusher::removeHook):

        * platform/graphics/ca/win/LayerChangesFlusher.cpp: Added.
        (WebCore::LayerChangesFlusher::shared): Returns the singleton.
        (WebCore::LayerChangesFlusher::LayerChangesFlusher): Initialize our members.
        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon): Add the host to the set of
        hosts with changes that need to be flushed, and set up our hook if we haven't already.
        (WebCore::LayerChangesFlusher::cancelPendingFlush): Remove the host from the set of hosts
        with changes that need to be flushed. If we have no more such hosts, remove our hook, unless
        we're currently in the process of calling out to our hosts, in which case we'll take care of
        the hook once we're done calling out.
        (WebCore::LayerChangesFlusher::hookCallback): This is the function that Windows calls when
        our hook fires. Just calls through to hookFired on the singleton.
        (WebCore::LayerChangesFlusher::hookFired): Tell all the hosts with changes that needed to be
        flushed that it's time to flush. If no hosts re-added themselves to our set during this
        process, remove our hook.
        (WebCore::LayerChangesFlusher::setHook): Calls through to ::SetWindowsHookExW.
        (WebCore::LayerChangesFlusher::removeHook): Calls through to ::UnhookWindowsHookEx.

        * platform/graphics/ca/win/LayerChangesFlusher.h: Added.

2011-01-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        GraphicsLayer should be non-copyable
        https://bugs.webkit.org/show_bug.cgi?id=52909

        Use WTF_MAKE_NONCOPYABLE on GraphicsLayer, and WTF_MAKE_FAST_ALLOCATED
        on that and KeyframeValueList.
        
        * platform/graphics/GraphicsLayer.h:

2011-01-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        Report the sized used by canvases and types arrays
        https://bugs.webkit.org/show_bug.cgi?id=52856

        Report the memory cost associated with canvas elements,
        and typed arrays to JavaScript as extraCost, so that it
        can figure this into its GC behavior.

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::toJSArrayBufferView): New templatized function, similar
        to getDOMObjectWrapper() but calls reportExtraMemoryCost() with
        the byteLength of the array.
        
        * bindings/js/JSFloat32ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.
        * bindings/js/JSInt16ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.
        * bindings/js/JSInt32ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.
        * bindings/js/JSInt8ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.
        * bindings/js/JSUint16ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.
        * bindings/js/JSUint32ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.
        * bindings/js/JSUint8ArrayCustom.cpp:
        (WebCore::toJS): Use toJSArrayBufferView.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer): Call heap.reportExtraMemoryCost()
        with the size of the canvas backing store.
        
        * html/canvas/TypedArrayBase.h:
        (WebCore::TypedArrayBase::byteLength): byteLength needs to
        be public.
        
        * platform/graphics/ImageBuffer.h: Add dataSize() method.
        
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::dataSize): Implement dataSize().

2011-01-21  Adam Roben  <aroben@apple.com>

        Rename WKCACFLayerRenderer[Client] to CACFLayerTreeHost[Client]

        Also renamed a few functions and data members to match.

        Fixes <http://webkit.org/b/52898> WKCACFLayerRenderer sounds like a render object, but isn't

        Reviewed by Simon Fraser.

        * WebCore.vcproj/WebCore.vcproj: Updated files' names and paths.

        * WebCore.vcproj/WebCoreQuartzCore.vsprops: Added platform/graphics/ca/win to the include
        path.

        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from platform/graphics/ca/win, too.

        * platform/graphics/ca/win/CACFLayerTreeHost.cpp: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.cpp.
        * platform/graphics/ca/win/CACFLayerTreeHost.h: Renamed from Source/WebCore/platform/graphics/win/WKCACFLayerRenderer.h.

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
        Updated for renames.

2011-01-21  Patrick Gansterer  <paroga@paroga.com>

        Original patch from François Sausset  <sausset@gmail.com>

        Reviewed by Darin Adler.

        Code cleaning in rendering/mathml/RenderMathMLFraction.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52201

        Replace unneeded doubles by floats and remove unneeded casts.

        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):
        * rendering/mathml/RenderMathMLFraction.h:

2011-01-21  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        REGRESSION(r73618): Clicking on a search input causes a crash.
        https://bugs.webkit.org/show_bug.cgi?id=52905

        The problem is caused by TextControlInnerElement being used both as
        shadow root and an element in a shadow subtree. The code assumed it is
        only used as a shadow root.

        Since this code is all just workaround for in-progress conversion to
        new shadow DOM, I am just adding a check. This code will disappear
        completely once bug 52788 is fixed.

        Test: fast/dom/search-shadow-host-crash.html

        * dom/Node.cpp:
        (WebCore::Node::setShadowHost): Added an ASSERT for early detection
            of attempting to stomp on the parentNode.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::detach): Added a check to only
            clear shadow host if we have one.

2011-01-21  Adam Roben  <aroben@apple.com>

        Replace some "sync compositing state" terminology with "flush pending GraphicsLayer changes"

        This seems to be the direction in which our code is moving. I chose "GraphicsLayer" as
        opposed to just "layer" because there are cases where we flush changes to CACFLayers that
        don't have a corresponding GraphicsLayer.

        Fixes <http://webkit.org/b/52894> "Sync compositing state" terminology in
        WKCACFLayerRenderer and friends is confusing

        Reviewed by Simon Fraser.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::render):
        Updated for renames.

        (WebCore::WKCACFLayerRenderer::flushPendingGraphicsLayerChangesSoon): Renamed from
        syncCompositingStateSoon, and updated for other renames.

        * platform/graphics/win/WKCACFLayerRenderer.h: Renamed m_syncLayerChanges to
        * m_shouldFlushPendingGraphicsLayerChanges.
        (WebCore::WKCACFLayerRendererClient::flushPendingGraphicsLayerChanges): Renamed from
        syncCompositingState.

2011-01-21  Adam Roben  <aroben@apple.com>

        Clean up PlatformCAAnimationWin

        Fixes <http://webkit.org/b/52904> PlatformCAAnimationWin is leaky and inefficient

        Reviewed by Simon Fraser.

        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
        (toCACFFillModeType):
        (fromCACFFillModeType):
        (toCACFValueFunctionType):
        (fromCACFValueFunctionType):
        Changed to take and return CFStringRefs. There's no need to convert to WebCore::String just
        so we can later convert back to CFStringRef.

        (toCACFTimingFunction): Fixed leaks by changing this to return a RetainPtr and adopting the
        results of CACFTimingFunctionCreate.
        (PlatformCAAnimation::PlatformCAAnimation): Changed not to needlessly roundtrip through
        WebCore::String. Also changed an ASSERT(0) to ASSERT_NOT_REACHED().

        (PlatformCAAnimation::setFillMode):
        (PlatformCAAnimation::setTimingFunction):
        (PlatformCAAnimation::setValueFunction):
        (PlatformCAAnimation::setTimingFunctions):
        Updated for changes to the above conversion functions.

2011-01-21  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Fisher.

        FrameLoader::checkLoadCompleteForThisFrame uses wrong history item
        https://bugs.webkit.org/show_bug.cgi?id=48812

        Most calls to stopAllLoaders now clear the history's provisional item(s).
        We can now avoid resetting the back/forward state if a new navigation
        is in progress.

        Test: http/tests/navigation/back-twice-without-commit.html
        Test: http/tests/navigation/forward-and-cancel.html

        * loader/FrameLoader.cpp:
        * loader/FrameLoader.h:
        * loader/FrameLoaderTypes.h:
        * WebCore.exp.in: Update stopAllLoaders signature.

2011-01-21  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Show caps lock indicator in password fields
        https://bugs.webkit.org/show_bug.cgi?id=52878

        Test: manual-tests/password-caps-lock.html

        * platform/gtk/KeyEventGtk.cpp:
        (WebCore::PlatformKeyboardEvent::currentCapsLockState): Implement
        currentCapsLockState() using GDK API.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintCapsLockIndicator): Paint an icon
        in the password field when the caps lock modifier is locked.
        * platform/gtk/RenderThemeGtk.h:

2011-01-21  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move sticky breakpoints management from InspectorController to InspectorBrowserDebuggerAgent.
        https://bugs.webkit.org/show_bug.cgi?id=52874

        This is the first step of debugger api refactoring (see bug 52879).
        JavaScript breakpoints are still in the same list as native breakpoints and are restored by InspectorBrowserDebuggerAgent.
        The second step will be to move sticky JavaScript breakpoints to InspectorDebuggerAgent.

        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
        * inspector/InspectorBrowserDebuggerAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebugger):
        (WebCore::InspectorController::resume):
        (WebCore::InspectorController::inspectedURL):
        * inspector/InspectorController.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._saveBreakpoints):

2011-01-21  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        Turn off uninitialized errors for ARM linux build.
        https://bugs.webkit.org/show_bug.cgi?id=52893

        Fix ARM compiler breakage.

        * WebCore.gyp/WebCore.gyp:

2011-01-21  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [Chromium] REGRESSION: Using the "Back" button
        while profiling causes renderer crash.

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

        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):

2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.

        There are some places in WebCore where we still using direct InspectorController calls.
        The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
        Inspector facade for WebCore.

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

        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::addProfileImpl):
        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::addProfile):
        (WebCore::InspectorInstrumentation::profilerEnabled):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):

2011-01-12  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: breakpoints are restored incorrectly when reverting live edit.
        https://bugs.webkit.org/show_bug.cgi?id=52300

        Fix breakpoints restoring when reverting to old revision by using text diff.
        Move live edit logic from ScriptsPanel to DebuggerModel.
        Eliminate unnecessary editLine delegate in TextViewer.

        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.reset):
        (WebInspector.DebuggerModel.prototype.editScriptSource):
        (WebInspector.DebuggerModel.prototype._updateScriptSource):
        (WebInspector.DebuggerModel.prototype.get callFrames):
        (WebInspector.DebuggerModel.prototype.pausedScript):
        (WebInspector.DebuggerModel.prototype.resumedScript):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.get source):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
        (WebInspector.SourceFrame.prototype._doubleClick.didEditLine):
        (WebInspector.SourceFrame.prototype._doubleClick):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer):
        (WebInspector.TextViewer.prototype._handleKeyDown):
        (WebInspector.TextViewer.prototype.editLine.finishEditing):
        (WebInspector.TextViewer.prototype.editLine):
        (WebInspector.TextChunk.prototype._createRow):

2011-01-21  Adam Klein  <adamk@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] Rename ChromiumBridge to PlatformBridge
        https://bugs.webkit.org/show_bug.cgi?id=52471

        No tests added as this is a rename; no change in behavior.

        * WebCore.gypi:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::reportFatalErrorInV8):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::isLinkVisited):
        * platform/android/PlatformBridge.h:
        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::createBusFromInMemoryAudioFile):
        * platform/chromium/ChromiumBridge.h: Removed.
        * platform/chromium/ChromiumDataObjectLegacy.cpp:
        (WebCore::ChromiumDataObjectLegacy::getData):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::asURL):
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::revealFolderInOS):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        (WebCore::openFile):
        (WebCore::closeFile):
        (WebCore::seekFile):
        (WebCore::truncateFile):
        (WebCore::readFromFile):
        (WebCore::writeToFile):
        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformDefaultLanguage):
        * platform/chromium/LinkHashChromium.cpp:
        (WebCore::visitedLinkHash):
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/PlatformBridge.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::ReadableDataObject::getData):
        (WebCore::ReadableDataObject::urlTitle):
        (WebCore::ReadableDataObject::htmlBaseUrl):
        (WebCore::ReadableDataObject::filenames):
        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
        * platform/chromium/SSLKeyGeneratorChromium.cpp:
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumWin::paintButton):
        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
        * platform/chromium/SharedTimerChromium.cpp:
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):
        * platform/chromium/SuddenTerminationChromium.cpp:
        (WebCore::disableSuddenTermination):
        (WebCore::enableSuddenTermination):
        * platform/chromium/SystemTimeChromium.cpp:
        (WebCore::currentTime):
        * platform/chromium/WritableDataObject.cpp:
        (WebCore::WritableDataObject::setData):
        * platform/graphics/chromium/CrossProcessFontLoading.mm:
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontContainsCharacter):
        (WebCore::FillLogFont):
        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::scriptFontProperties):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::querySystemForRenderStyle):
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        (WebCore::fillBMPGlyphs):
        * platform/graphics/chromium/ImageChromium.cpp:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/ImageChromiumMac.mm:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/chromium/DNSChromium.cpp:
        (WebCore::prefetchDNS):
        * platform/qt/PlatformBridge.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
        (chromiumOpen):
        (chromiumDelete):
        (chromiumAccess):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginCache::plugins):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumWin::systemColor):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::menuListButtonWidth):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * storage/chromium/IDBFactoryBackendInterface.cpp:
        (WebCore::IDBFactoryBackendInterface::create):
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
        * storage/chromium/IDBKeyPathBackendImpl.cpp:
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):

2011-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76335.
        http://trac.webkit.org/changeset/76335
        https://bugs.webkit.org/show_bug.cgi?id=52875

        profiler tests were broken (Requested by loislo on #webkit).

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::addProfile):
        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):

2011-01-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: switch page/Console implementation from InspectorController to InspectorInstrumentation.

        There are some places in WebCore where we still using direct InspectorController calls.
        The idea is to pass all the Inspector related calls via InspectorInstrumentaion which is the
        Inspector facade for WebCore.

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

        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::addProfileImpl):
        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::addProfile):
        (WebCore::InspectorInstrumentation::profilerEnabled):
        (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
        * page/Console.cpp:
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):

2011-01-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix failing tests from r76291.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scrollPosition):
        (WebCore::ScrollView::updateScrollbars):
        Take the scroll origin into account in more places.

2011-01-20  Kent Tamura  <tkent@chromium.org>

        Unreviewed, sorting an Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2011-01-20  Ben Vanik  <ben.vanik@gmail.com>

        Reviewed by Kenneth Russell.

        Implementation of the OES_standard_derivatives WebGL extension.
        https://bugs.webkit.org/show_bug.cgi?id=51678

        Changes are modeled off of the existing OESTextureFloat extension. New files,
        extension retrieval, etc all match the existing code.

        Changed ANGLEWebKitBridge to allow for multiple sets of the ANGLE shader compiler
        options. This supports the enabling of the standard derivatives flag when the
        extension is enabled. Refactored the cleanup code to make the destruction of the
        compilers (if they had been created) cleaner.

        Tested with the WebGL conformance test:
        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-standard-derivatives.html
        Passes on WebKit/OSX, Chromium/OSX, and Chromium/Windows.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        * html/canvas/OESStandardDerivatives.cpp: Added.
        (WebCore::OESStandardDerivatives::OESStandardDerivatives):
        (WebCore::OESStandardDerivatives::~OESStandardDerivatives):
        (WebCore::OESStandardDerivatives::getName):
        (WebCore::OESStandardDerivatives::create):
        * html/canvas/OESStandardDerivatives.h: Added.
        * html/canvas/OESStandardDerivatives.idl: Added.
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension): Enable and return the new extension.
        (WebCore::WebGLRenderingContext::getParameter): Support extension enum when enabled.
        (WebCore::WebGLRenderingContext::getSupportedExtensions): 
        (WebCore::WebGLRenderingContext::hint): Validate extension enum when enabled.
        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
        (WebCore::WebGLRenderingContext::getExtensionNumber):
        * html/canvas/WebGLRenderingContext.h:
        * platform/graphics/ANGLEWebKitBridge.cpp:
        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge): Cleaned up compiler cleanup.
        (WebCore::ANGLEWebKitBridge::cleanupCompilers): Destruct compilers.
        (WebCore::ANGLEWebKitBridge::setResources): Cleanup existing compilers when changing
        ANGLE settings.
        (WebCore::ANGLEWebKitBridge::validateShaderSource): Cleaned up compiler cleanup on error.
        * platform/graphics/ANGLEWebKitBridge.h:
        (WebCore::ANGLEWebKitBridge::getResources):
        * platform/graphics/Extensions3D.h: Added enumeration for the extension.
        * platform/graphics/GraphicsContext3D.h: lumbing for GraphicsContext3D.
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::Extensions3DOpenGL): Plumbed through a pointer to the
        GraphicsContext3D to handle resetting the shader compilers.
        (WebCore::Extensions3DOpenGL::supports): Desktop GL always supports this extension,
        so always return true.
        (WebCore::Extensions3DOpenGL::ensureEnabled): Reset shader compilers as required.
        * platform/graphics/opengl/Extensions3DOpenGL.h: Plumbing for GraphicsContext3D.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getExtensions): Plumbing for GraphicsContext3D to
        Extensions3DOpenGL.

2011-01-20  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix regression(r71566): PDF in RTL block might messes up text directionality.
        https://bugs.webkit.org/show_bug.cgi?id=52776

        Test: fast/dom/52776.html

        * platform/text/BidiResolver.h:
        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
        (WebCore::::lowerExplicitEmbeddingLevel):
        (WebCore::::raiseExplicitEmbeddingLevel):
        (WebCore::::createBidiRunsForLine):

2011-01-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders Carlsson.

        Follow-on for <rdar://problem/8890255>

        This fixes a painting error with ScrollbarPainter scrollers
        and the new drawing area code path.
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::updateArrowPlacement):

2011-01-20  Levi Weintraub  <leviw@chromium.org>

        Unreviewed.

        Fixing build breakage.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::willBeModified):

2011-01-20  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Ryosuke Niwa.

        RTL: Caret goes to the opposite direction when pressing an arrow key after selection is made
        https://bugs.webkit.org/show_bug.cgi?id=49511

        Test: editing/selection/rtl-move-selection-right-left.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::willBeModified):
        Respecting the direction of the containing block when switching selection base and extent in
        RTL content.

        (WebCore::SelectionController::modifyMovingRight):
        (WebCore::SelectionController::modifyMovingLeft):
        Using directionOfEnclosingBlock when deciding to use the selection start or end to do the
        correct thing for RTL.

2011-01-20  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Null-check m_frame in DOMWindow::setLocation(), since it's
        possible to reach this point without it having been checked
        already.
        https://bugs.webkit.org/show_bug.cgi?id=52769

        Test: fast/dom/Window/Location/set-location-after-close.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation):

2011-01-20  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Darin Adler.

        setContentEditable with invalid string should throw exception.
        https://bugs.webkit.org/show_bug.cgi?id=52057

        Implemented exception throwing for setContentEditable according to the following spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#attr-contenteditable
        Related quotas: "On setting, if the new value is an ASCII case-insensitive match for the 
        string 'inherit' then the content attribute must be removed, if the new value is an ASCII 
        case-insensitive match for the string 'true' then the content attribute must be set to the 
        string 'true', if the new value is an ASCII case-insensitive match for the string 'false' 
        then the content attribute must be set to the string 'false', and otherwise the attribute 
        setter must raise a SYNTAX_ERR exception."

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setContentEditable): Throw exception on invalid input strings; Make setting values case-insensitive and also convert them to lower cases according to the spec.
        * html/HTMLElement.h: Add additional parameter ExceptionCode& for function setContentEditable.
        * html/HTMLElement.idl: Add exception throwing support for contentEditable setter.

2011-01-19  Adrienne Walker  <enne@google.com>

        Reviewed by James Robinson.

        [chromium] Composited render surfaces should allow writes to alpha channel.
        https://bugs.webkit.org/show_bug.cgi?id=52766

        Test: LayoutTests/platform/chromium/compositing

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::drawLayers):

2011-01-14  Jer Noble  <jer.noble@apple.com>

        Reviewed by Eric Carlson.

        REGRESSION (r71842): Compass video is not playing in Safari welcome page
        https://bugs.webkit.org/show_bug.cgi?id=52506

        New test: LayoutTests/media/video-currentTime-delay.html

        Call invalidateCachedTime() every time one of the cached property dependencies changes,
        i.e. m_paused and m_playbackRate.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::prepareForLoad):
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::setPlaybackRate):
        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):

2011-01-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Geoffrey Garen.

        Fix for <rdar://problem/8890255>

        Allow WebKitSystemInterface to draw scrollbars 
        when appropriate.
        * WebCore.exp.in:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::scrollbarMap):
        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
        (WebCore::ScrollbarThemeMac::registerScrollbar):
        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
        (WebCore::ScrollbarThemeMac::paint):
        * platform/mac/WebCoreSystemInterface.h:
        * platform/mac/WebCoreSystemInterface.mm:

2011-01-20  Sam Weinig  <sam@webkit.org>

        Reviewed by Dave Hyatt.

        Cleanup Scrollbar/ScrollbarClient relationship
        https://bugs.webkit.org/show_bug.cgi?id=52779

        Pipe all scrolling through the ScrollbarClient/ScrollAnimator
        rather than through the Scrollbar. The Scrollbar now is just
        a "view" on the scroll position of the scrollable area it is
        attached to.

        There are now two ways to scroll a scrollable area:
        - ScrollbarClient::scroll()
        - ScrollbarClient::scrollToOffsetWithoutAnimation()

        Both of these go through the ScrollAnimator (updating its state
        or starting an animation). The ScrollAnimator, in turn, now calls
        ScrollbarClient::setScrollOffsetFromAnimation, which tells the
        Scrollbars to pull a new offset (via Scrollbar::offsetDidChange)
        and tells the class that derives from ScrollbarClient to scroll
        its contents (via ScrollbarClient::setScrollOffset).

        * WebCore.xcodeproj/project.pbxproj:
        Move Scrollbar.cpp to the right place.

        * accessibility/AccessibilityScrollbar.cpp:
        (WebCore::AccessibilityScrollbar::setValue):
        Initiate the scroll through the scrollbar client, rather than the
        scrollbar itself.

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollTo):
        * page/FrameView.h:
        Condense the two valueChanged overrides to a single override of the
        scrollTo function.

        * platform/ScrollAnimator.cpp:
        (WebCore::ScrollAnimator::scroll):
        (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimator::currentPosition):
        (WebCore::ScrollAnimator::notityPositionChanged):
        * platform/ScrollAnimator.h:
        * platform/ScrollAnimatorWin.cpp:
        (WebCore::ScrollAnimatorWin::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorWin::animateScroll):
        * platform/ScrollAnimatorWin.h:
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
        Change setScrollPositionAndStopAnimation to scrollToOffsetWithoutAnimation
        and bottleneck all client notification of changed position through a new
        notityPositionChanged() function.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setScrollOffset):
        (WebCore::ScrollView::scrollTo):
        (WebCore::ScrollView::scrollPosition):
        (WebCore::ScrollView::scroll):
        (WebCore::ScrollView::updateScrollbars):
        (WebCore::ScrollView::wheelEvent):
        * platform/ScrollView.h:
        (WebCore::ScrollView::horizontalScrollbar):
        (WebCore::ScrollView::verticalScrollbar):
        Update to scroll via the ScrollbarClient rather than the Scrollbar.

        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::offsetDidChange):
        (WebCore::Scrollbar::autoscrollPressedPart):
        (WebCore::Scrollbar::moveThumb):
        (WebCore::Scrollbar::mouseMoved):
        * platform/Scrollbar.h:
        (WebCore::Scrollbar::setPressedPos):
        Change the scrollbar to only updates its offset in response to
        an offsetDidChange call.

        * platform/ScrollbarClient.cpp:
        (WebCore::ScrollbarClient::scroll):
        (WebCore::ScrollbarClient::scrollToOffsetWithoutAnimation):
        (WebCore::ScrollbarClient::scrollToXOffsetWithoutAnimation):
        (WebCore::ScrollbarClient::scrollToYOffsetWithoutAnimation):
        (WebCore::ScrollbarClient::setScrollOffsetFromAnimation):
        * platform/ScrollbarClient.h:
        (WebCore::ScrollbarClient::horizontalScrollbar):
        (WebCore::ScrollbarClient::verticalScrollbar):
        Make the increasingly misnamed ScrollbarClient responsible for
        scrolling.

        * platform/efl/ScrollbarEfl.cpp:
        (scrollbarEflEdjeMessage):
        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::gtkValueChanged):
        * platform/qt/ScrollbarQt.cpp:
        (WebCore::Scrollbar::contextMenu):
        Update to move scrolling through the client.

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenuWin::scrollToRevealSelection):
        (WebCore::PopupMenuWin::scrollPosition):
        (WebCore::PopupMenuWin::setScrollOffset):
        (WebCore::PopupMenuWin::scrollTo):
        (WebCore::PopupMenuWin::wndProc):
        * platform/win/PopupMenuWin.h:
        (WebCore::PopupMenuWin::verticalScrollbar):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        (WebCore::RenderLayer::scrollTo):
        (WebCore::RenderLayer::setScrollOffset):
        (WebCore::RenderLayer::scrollPosition):
        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        (WebCore::RenderLayer::scroll):
        * rendering/RenderLayer.h:
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
        (WebCore::RenderListBox::scroll):
        (WebCore::RenderListBox::logicalScroll):
        (WebCore::RenderListBox::scrollPosition):
        (WebCore::RenderListBox::setScrollOffset):
        (WebCore::RenderListBox::scrollTo):
        (WebCore::RenderListBox::setScrollTop):
        * rendering/RenderListBox.h:
        (WebCore::RenderListBox::verticalScrollbar):
        Update to scroll via the ScrollbarClient rather than the Scrollbar.

        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::start):
        Simplify initial paint to just do an immediate scroll to the position.

2011-01-20  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r76170.

        * platform/graphics/wince/FontWinCE.cpp: Added a missing include.
        * platform/graphics/wince/ImageBufferData.h: Added a missing include and fixed style.

2011-01-20  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Implement mozilla's requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=51218

        This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
        an author driving an animation from script could use window.requestAnimationFrame(callback)
        instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
        decide when to update the animations.  This avoids doing unnecessary work when the page content
        is offscreen or is being displayed at a different framerate than what the page author expects.

        Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
        This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
        following changes:
        *) Only the callback syntax is supported, there is no before paint event
        *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
            what content they intend to animate.  That way if the page is being displayed but the element
            in question is offscreen, we can avoid invoking the callback.
        *) No timestamp is provided to the caller and there is no window.animationStartTime property
            (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
        *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
            using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().

        The implementation depends on the embedder scheduling the callbacks since the callback invocation
        depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
        to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
        called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
        Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
        embedder has to rate limit callbacks and may not be able to tie the callback directly to the
        rendering loop.

        Tests: fast/animation/request-animation-frame-cancel.html
               fast/animation/request-animation-frame-cancel2.html
               fast/animation/request-animation-frame-display.html
               fast/animation/request-animation-frame-within-callback.html
               fast/animation/request-animation-frame.html

        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::webkitRequestAnimationFrame):
        (WebCore::Document::webkitCancelRequestAnimationFrame):
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h: Added.
        (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
        * dom/RequestAnimationFrameCallback.idl: Added.
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::scheduleAnimation):
        * page/Chrome.cpp:
        (WebCore::Chrome::scheduleAnimation):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitRequestAnimationFrame):
        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleAnimation):
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/FrameView.h:
        * platform/HostWindow.h:

2011-01-20  James Robinson  <jamesr@chromium.org>

        Reviewed by Nate Chapin.

        [v8] CodeGeneratorV8 generates incorrect code for callbacks with no parameters
        https://bugs.webkit.org/show_bug.cgi?id=52837

        When generating code to invoke a callback with no parameters CodeGeneratorV8.pm was generating the following:
        v8::Handle<v8::Value> argv[] = {}; which does not compile in visual studio.  Instead, if the argument count
        is 0, we can just pass a NULL pointer for the argv parameter.

        Test added to bindings/scripts/test/TestCallback.idl and covered by run-bindings-tests.  This
        patch also includes some spurious changes to the bindings tests golden files (mostly GObject)
        because the old golden files were out of date.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
        (WebDOMTestCallback::callbackWithNoParam):
        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
        (webkit_dom_test_callback_callback_with_no_param):
        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
        * bindings/scripts/test/JS/JSTestCallback.cpp:
        (WebCore::JSTestCallback::callbackWithNoParam):
        * bindings/scripts/test/JS/JSTestCallback.h:
        * bindings/scripts/test/JS/JSTestInterface.cpp:
        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
        * bindings/scripts/test/JS/JSTestObj.cpp:
        * bindings/scripts/test/ObjC/DOMTestCallback.h:
        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
        (-[DOMTestCallback callbackWithNoParam]):
        * bindings/scripts/test/TestCallback.idl:
        * bindings/scripts/test/V8/V8TestCallback.cpp:
        (WebCore::V8TestCallback::callbackWithNoParam):
        * bindings/scripts/test/V8/V8TestCallback.h:
        * bindings/scripts/test/V8/V8TestObj.cpp:
        (WebCore::TestObjInternal::reflectedUnsignedIntegralAttrAttrGetter):

2011-01-20  James Robinson  <jamesr@chromium.org>

        Reviewed by Eric "Baller" Seidel.

        RenderTableSection's setNeedsCellRecalc needs to null check table()
        https://bugs.webkit.org/show_bug.cgi?id=52770

        Null checks table() before deferencing it in RenderTableSection::setNeedsCellRecalc.
        This can be null during detach().  Test constructed by Eric Seidel.

        Test: fast/css-generated-content/table-with-scrollbar-corner.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::setNeedsCellRecalc):
        * rendering/RenderTableSection.h:

2011-01-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        SVG Pattern doesn't take preserveAspectRatio of references Pattern
        https://bugs.webkit.org/show_bug.cgi?id=52802

        SVGPattern didn't take preserveAspectRatio of a referenced SVGPattern into account. Store preserveAspectRatio
        in PatternAttributes as well, if the attribute was set on the referenced SVGPattern element.

        Test: svg/custom/pattern-referencing-preserve-aspect-ratio.svg

        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
        * svg/PatternAttributes.h:
        (WebCore::PatternAttributes::PatternAttributes):
        (WebCore::PatternAttributes::preserveAspectRatio):
        (WebCore::PatternAttributes::setPreserveAspectRatio):
        (WebCore::PatternAttributes::hasPreserveAspectRatio):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternAttributes):

2011-01-20  Dan Bernstein  <mitz@apple.com>

        Reviewed by Adele Peterson.

        <rdar://problem/8765498> REGRESSION (r72141): Cannot order prints with Aperture 3.1

        <rdar://problem/8884648> REGRESSION (r72141): Safari hangs when visiting a page on www.bfmtv.com
        https://bugs.webkit.org/show_bug.cgi?id=52765

        <rdar://problem/8890909> REGRESSION (r72141): Very Slow Rendering With Certain Markup
        https://bugs.webkit.org/show_bug.cgi?id=52265

        Test: fast/block/line-layout/negative-max-height.html

        Integer overflow detection led to a block having a huge height. This manifested as broken layout
        in the first bug and as extreme slowness in the latter bugs because of
        https://bugs.webkit.org/show_bug.cgi?id=52832

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection): Clamp maxHeight to 0 so the next line
        cannot start above this line. The negative maxHeight also caused the integer overflow detection
        logic to give the block a huge height.

2011-01-20  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Eric Carlson.

        Clean up the Media Controls CSS for Qt
        https://bugs.webkit.org/show_bug.cgi?id=52822

        Split the audio::-webkit-media-xxx and video::-webkit-media-xxx rules 
        in mediaControlsQt.css, and remove the duplicate audio::-webkit-media-xxx
        rules from mediaControlsQtFullscreen.css.

        * css/mediaControlsQt.css:
        (audio::-webkit-media-controls-panel):
        (video::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button):
        (video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-play-button):
        (video::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-timeline-container):
        (video::-webkit-media-controls-timeline-container):
        (audio::-webkit-media-controls-current-time-display):
        (video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-time-remaining-display):
        (video::-webkit-media-controls-time-remaining-display):
        (audio::-webkit-media-controls-timeline):
        (video::-webkit-media-controls-timeline):
        (audio::-webkit-media-controls-volume-slider-container):
        (video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider):
        (video::-webkit-media-controls-volume-slider):
        (audio::-webkit-media-controls-seek-back-button):
        (video::-webkit-media-controls-seek-back-button):
        (audio::-webkit-media-controls-seek-forward-button):
        (video::-webkit-media-controls-seek-forward-button):
        (audio::-webkit-media-controls-fullscreen-button):
        (video::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-rewind-button):
        (video::-webkit-media-controls-rewind-button):
        (audio::-webkit-media-controls-return-to-realtime-button):
        (video::-webkit-media-controls-return-to-realtime-button):
        (audio::-webkit-media-controls-toggle-closed-captions-button):
        (video::-webkit-media-controls-toggle-closed-captions-button):
        * css/mediaControlsQtFullscreen.css:
        (video::-webkit-media-controls-time-remaining-display):
        (video::-webkit-media-controls-seek-back-button):
        (video::-webkit-media-controls-seek-forward-button):
        (video::-webkit-media-controls-rewind-button):
        (video::-webkit-media-controls-return-to-realtime-button):
        (video::-webkit-media-controls-toggle-closed-captions-button):

2011-01-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] Canceling of CSS numeric values increment/decrement is broken
        https://bugs.webkit.org/show_bug.cgi?id=52816

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):

2011-01-20  Dawit Alemayehu  <adawit@kde.org>

        Reviewed by Andreas Kling.

        [Qt] Fix Layering violation in MediaPlayerPrivateQt.
        https://bugs.webkit.org/show_bug.cgi?id=52733

        No new tests. no behavioral change.

       * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::commitLoad):

2011-01-20  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        [V8] Call malloc and memcpy directly instead of
        of strdup in convertV8ObjectToNPVariant() when
        converting strings. If there is a null character
        in the string, our use of strdup causes us to allocate
        too little memory, leading to out of bounds reads.

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

        * bindings/v8/V8NPUtils.cpp:
        (WebCore::convertV8ObjectToNPVariant):

2011-01-20  Andreas Kling  <kling@webkit.org>

        Reviewed by Ariya Hidayat.

        [Qt] Fill shadow scratch buffer with proper transparent pixels

        QImage::fill() has no Qt::GlobalColor overload in Qt 4.7 (coming in 4.8)
        so doing QImage::fill(Qt::transparent) will actually fill all pixels with
        the RGBA value 0x00000013.

        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ShadowBuffer::scratchImage):

2011-01-19  Adam Roben  <aroben@apple.com>

        Remove WKCACFContextFlusher

        It wasn't doing anything.

        Fixes <http://webkit.org/b/52752> WKCACFContextFlusher is unused

        Reviewed by Simon Fraser.

        * WebCore.vcproj/WebCore.vcproj: Removed WKCACFContextFlusher. Also let VS have its way with
        the file.

        * platform/graphics/win/WKCACFContextFlusher.cpp: Removed.
        * platform/graphics/win/WKCACFContextFlusher.h: Removed.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::layerTreeDidChange):
        Stop telling WKCACFContextFlusher about our context, since it never did anything with it.

2011-01-19  Adam Roben  <aroben@apple.com>

        Only flush our own context when we get resized

        Fixes <http://webkit.org/b/52751> All WKCACFContexts with uncommitted
        changes get flushed whenever any composited page is resized

        Reviewed by Simon Fraser.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::resize): Just flush our own context, not all contexts
        WKCACFContextFlusher knows about. After all, ours is the only one that just got resized!

2011-01-19  Adam Roben  <aroben@apple.com>

        Make WKCACFLayerRenderer ref-counted

        This will be needed to handle cases where the client might release its reference to us while
        we're calling out to it.

        WKCACFLayerRenderer now has a setClient function, which is used rather than passing the
        client to create(). This allows clients to null out the client pointer when they're done
        with the renderer.

        Fixes <http://webkit.org/b/52749> WKCACFLayerRenderer should be
        ref-counted

        Reviewed by Simon Fraser.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
        Updated for WKCACFLayerRenderer changes.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable): Updated for changes to
        create().
        (WebCore::WKCACFLayerRenderer::create): No longer takes a WKCACFLayerRendererClient. Now
        returns a PassOwnPtr.
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): No longer takes a
        WKCACFLayerRendererClient.

        * platform/graphics/win/WKCACFLayerRenderer.h: Made WKCACFLayerRenderer inherit from
        RefCounted.
        (WebCore::WKCACFLayerRenderer::setClient): Added this simple setter.

2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt][V8] Unreviewed buildfix after r76248.

        * bindings/v8/ScriptCachedFrameData.h: Add missing include.

2011-01-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: enable resource agent upon request.
        https://bugs.webkit.org/show_bug.cgi?id=52815

        We should not send network-related notifications unless front-end
        is interested.

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::resourceAgent):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleAgent):
        (WebCore::InspectorController::cssAgent):
        (WebCore::InspectorController::domAgent):
        (WebCore::InspectorController::injectedScriptAgent):
        (WebCore::InspectorController::runtimeAgent):
        (WebCore::InspectorController::databaseAgent):
        (WebCore::InspectorController::domStorageAgent):
        (WebCore::InspectorController::fileSystemAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::restore):
        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
        * inspector/InspectorResourceAgent.h:
        (WebCore::InspectorResourceAgent::create):
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:

2011-01-20  Zoltan Horvath  <zoltan@webkit.org>

        Reviewed by Csaba Osztrogonác.

        Refactoring of the custom allocation framework
        https://bugs.webkit.org/show_bug.cgi?id=49897

        Inheriting from FastAllocBase can result in objects getting larger (bug #33896, #46589).
        The modification replaces Noncopyable and FastAllocBase classes and these inherits with their
        equivalent macro implementation at the necessary places.

2011-01-20  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] CPU Profiles are cleared when navigating back and forth.

        Profiles are now not cleared unless renderer instance was changed.

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

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreProfiler):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetState):
        (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
        * inspector/InspectorProfilerAgent.h:

2011-01-20  Alexander Pavlov  <apavlov@chromium.org>

        Unreviewed, add new JS file refs missing from r76116.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/WebKit.qrc:

2011-01-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Crash when adding a rule for an ImageDocument
        https://bugs.webkit.org/show_bug.cgi?id=52811

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::addRule2):
        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):

2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: cleanup InspectorController's friends list.
        We have a plan to extract InspectorAgent from InspectorController.
        InspectorAgent will be accessible only from InspectorController.
        As result we can simply made some methods public and remove long
        friends list.

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

        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::databaseForId):
        (WebCore::InjectedScriptHost::selectDatabase):
        (WebCore::InjectedScriptHost::selectDOMStorage):
        (WebCore::InjectedScriptHost::inspectorDOMAgent):
        (WebCore::InjectedScriptHost::frontend):
        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::frontend):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
        (WebCore::InspectorInstrumentation::retrieveResourceAgent):

2011-01-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: implement JavaScriptBreakpointsSidebarPane based on events from debugger model.
        https://bugs.webkit.org/show_bug.cgi?id=52723

        Extract all breakpoints-related presentation code from debugger model to JavaScriptBreakpointSidebarPane.

        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.get data):
        (WebInspector.Breakpoint.prototype.remove):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.JavaScriptBreakpointsSidebarPane):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointEnableChanged):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointItemCheckboxClicked):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenuEventFired):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerPaused):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._debuggerResumed):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._addListElement):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeListElement):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._projectChanged):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compare):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement.didGetSourceLine):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setupBreakpointElement):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointIdForDebuggerPausedEvent):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._setBreakpointEnabled):
        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._removeBreakpoint):
        (WebInspector.NativeBreakpointsSidebarPane):
        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
        (WebInspector.DebuggerModel.prototype.breakpointForId):
        (WebInspector.DebuggerModel.prototype._pausedScript):
        (WebInspector.DebuggerModel.prototype._resumedScript):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        * inspector/front-end/inspector.js:

2011-01-20  Dirk Schulze  <krit@webkit.org>

        Reviewed by Andreas Kling.

        SVG Pattern doesn't take the viewBox of a referenced Pattern
        https://bugs.webkit.org/show_bug.cgi?id=52804
        
        SVGPattern element didn't use the viewBox of another SVGPattern element, referenced
        by xlink:href. Modified PatternAttributes, to take the value of the viewBox of the
        SVGPattern element as well, if the attribute was set.
        This gets checked by a W3C SVG test case.        

        Test: svg/W3C-SVG-1.1-SE/pservers-pattern-04-f.svg

        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
        * svg/PatternAttributes.h:
        (WebCore::PatternAttributes::PatternAttributes):
        (WebCore::PatternAttributes::viewBox):
        (WebCore::PatternAttributes::setViewBox):
        (WebCore::PatternAttributes::hasViewBox):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::collectPatternAttributes):

2011-01-19  Stephen White  <senorblanco@chromium.org>

        [Re-land of r76159 with a compile fix for the Chromium linux shlib
        build.]

        Reviewed by James Robinson.

        Implement accelerated path drawing and clipping for the Canvas2D GPU
        path.
        https://bugs.webkit.org/show_bug.cgi?id=52627
        
        This is done with a simple curve interpolator and the GLU tesselator,
        which is good enough for a 3-5X speedup on
        http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.

        Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
        All tests canvas/philip and fast/canvas paths pass with no
        regressions, although two have minor pixel differences which require
        rebaselining.

        * WebCore.gyp/WebCore.gyp:
        Add internal_glu include path to chromium build.
        * WebCore.gypi:
        Add internal_glu files to chromium build.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::platformLayer):
        Make CanvasRenderingContext2D more robust against failure to create
        a DrawingBuffer.
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        As in DrawingBufferMac.cpp, call reset() from the constructor.
        Also initialize size to (-1, -1), so reset() doesn't early-out.
        Add initializers for depthBuffer and stencilBuffer, and remove
        multisampleDepthStencilBuffer.
        * platform/graphics/chromium/GLES2Canvas.cpp:
        Remove some unused #includes.
        (WebCore::GLES2Canvas::State::State):
        Add clipping state, and implement save/restore via the copy constructor.
        (WebCore::operator*):
        (WebCore::Quadratic::Quadratic):
        (WebCore::Quadratic::fromBezier):
        (WebCore::Quadratic::evaluate):
        Quadratic Bezier curve class.
        (WebCore::Cubic::Cubic):
        (WebCore::Cubic::fromBezier):
        (WebCore::Cubic::evaluate):
        Cubic Bezier curve class.
        (WebCore::GLES2Canvas::clearRect):
        Add clipping support to clearRect().
        (WebCore::GLES2Canvas::fillPath):
        Implement fillPath().
        (WebCore::GLES2Canvas::fillRect):
        Add clipping support to fillRect().
        (WebCore::GLES2Canvas::clipPath):
        Implement clipPath().
        (WebCore::GLES2Canvas::clipOut):
        Stub out clipOut() (not called by Canvas 2D).
        (WebCore::GLES2Canvas::restore):
        When restoring, draw any remaining clipping paths to the stencil buffer.
        (WebCore::GLES2Canvas::drawTexturedRect):
        Add clipping support.
        (WebCore::interpolateQuadratic):
        (WebCore::interpolateCubic):
        Simple curve interpolation, using the Cubic and Quadratic classes.
        (WebCore::PolygonData::PolygonData):
        A struct to hold the tesselation data for callbacks.
        (WebCore::beginData):
        (WebCore::edgeFlagData):
        (WebCore::vertexData):
        (WebCore::endData):
        (WebCore::combineData):
        internal_glu tesselation callbacks.
        (WebCore::GLES2Canvas::createVertexBufferFromPath):
        Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
        (WebCore::GLES2Canvas::beginStencilDraw):
        Enable stencilling, and disable draws to the color buffer.
        (WebCore::GLES2Canvas::applyClipping):
        If clipping is enabled, set the appropriate GL state.
        * platform/graphics/chromium/GLES2Canvas.h:
        Document the flavours of drawTexturedRect() a bit, so I don't get confused.
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::createSecondaryBuffers):
        (WebCore::DrawingBuffer::resizeDepthStencil):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.h:
        Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
        Implement separate depth and stencil buffers for when
        OES_packed_depth_stencil is not available.  Refactor creation of
        multisampled and non-multisampled depth and stencil buffers into
        resizeDepthStencil().
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        Turn on stencil, turn off depth, turn off antialiasing (for now).
        (WebCore::SharedGraphicsContext3D::enableStencil):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        Implement stencil enable/disable.
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
        on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
        and m_stencilBuffer.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        Put in GPU hooks for path clipping, and path drawing.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::canAccelerate):
        Don't check for clipping paths in canAccelerate() (since we can
        now accelerate them).
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        Don't do clipping when uploading software draws to hardware.
        * thirdparty/glu/README.webkit:
        * thirdparty/glu/gluos.h:
        #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
        * thirdparty/glu/libtess/geom.c:
        * thirdparty/glu/libtess/priorityq.c:
        * thirdparty/glu/libtess/render.c:
        Use do{}while(0) instead of if(1)else construct in macro.
        * thirdparty/glu/libtess/sweep.c:
        (IsWindingInside):
        (DoneEdgeDict):
        Fix some warnings treated as errors for the Linux Release build.


2011-01-20  Pavel Feldman  <pfeldman@chromium.org>

        Web Inspector: move releaseObjectGroup to the new Runtime agent.
        https://bugs.webkit.org/show_bug.cgi?id=52803
        (accedentally landed as r76231)

        * inspector/InspectorContorller.h:
        * inspector/InspectorContorller.cpp:
        * inspector/InspectorRuntimeAgent.h:
        * inspector/InspectorRuntimeAgent.cpp:

2011-01-20  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: build fix.

        * inspector/InspectorState.h:
        (WebCore::InspectorState::setBoolean):
        (WebCore::InspectorState::setString):
        (WebCore::InspectorState::setLong):

2011-01-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: further simplify InspectorState.
        https://bugs.webkit.org/show_bug.cgi?id=52731

        This change moves XHR logging flag into console agent,
        removes InspectorState pushing to the front-end.

        * inspector/Inspector.idl:
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::state):
        (WebCore::InspectorController::settings):
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        (WebCore::InspectorState::registerBoolean):
        (WebCore::InspectorState::registerString):
        (WebCore::InspectorState::registerLong):
        (WebCore::InspectorState::registerObject):
        (WebCore::InspectorState::Property::create):
        * inspector/InspectorState.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessagesCleared):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.monitoringXHRStateChanged):
        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
        * inspector/front-end/inspector.js:

2011-01-20  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix.

        [Qt][V8] Remove unnecessary files after r76224.

        * WebCore.pro:

2011-01-20  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: prepare for extracting InspectorAgent from InspectorController.
        https://bugs.webkit.org/show_bug.cgi?id=52797

        * inspector/CodeGeneratorInspector.pm:
        * inspector/InspectorController.h:
        (WebCore::InspectorController::inspectorAgent):
        (WebCore::InspectorController::cssAgent):
        (WebCore::InspectorController::injectedScriptAgent):
        (WebCore::InspectorController::resourceAgent):
        (WebCore::InspectorController::runtimeAgent):
        (WebCore::InspectorController::timelineAgent):
        (WebCore::InspectorController::databaseAgent):
        (WebCore::InspectorController::domStorageAgent):
        (WebCore::InspectorController::fileSystemAgent):
        (WebCore::InspectorController::browserDebuggerAgent):
        (WebCore::InspectorController::debuggerAgent):
        (WebCore::InspectorController::profilerAgent):
        (WebCore::InspectorController::applicationCacheAgent):

2011-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76215.
        http://trac.webkit.org/changeset/76215
        https://bugs.webkit.org/show_bug.cgi?id=52799

        Caused regressions in Chromium; morrita is going to look at it
        tomrorow (Requested by jorlow on #webkit).

        * dom/TextEvent.h:
        * dom/TextEventInputType.h:
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
        * editing/CompositeEditCommand.h:
        * editing/Editor.cpp:
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::confirmComposition):
        (WebCore::Editor::setComposition):
        * editing/Editor.h:
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/InsertTextCommand.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
        * editing/TypingCommand.h:
        (WebCore::TypingCommand::create):

2010-12-14  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        [V8] Get rid of delayed exception reporting in V8ConsoleMessage.cpp
        https://bugs.webkit.org/show_bug.cgi?id=51044

        * WebCore.gypi:
        * bindings/v8/V8ConsoleMessage.cpp: Removed.
        * bindings/v8/V8ConsoleMessage.h: Removed.
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::v8UncaughtExceptionHandler):
        (WebCore::reportUnsafeJavaScriptAccess):
        (WebCore::V8DOMWindowShell::initContextIfNeeded):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::addMessageToConsole):
        (WebCore::logInfo):
        (WebCore::V8Proxy::reportUnsafeAccessTo):
        (WebCore::V8Proxy::runScript):
        (WebCore::V8Proxy::callFunction):
        (WebCore::V8Proxy::newInstance):
        * bindings/v8/V8Proxy.h:
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::immediatelyReportUnsafeAccessTo):

2011-01-19  MORITA Hajime  <morrita@google.com>

        Reviewed by Eric Seidel.

        ShadowElement::m_shadowParent should be removed
        https://bugs.webkit.org/show_bug.cgi?id=52558

        No new tests. No behavioral change.

        * rendering/ShadowElement.h:
        (WebCore::ShadowElement::ShadowElement):

2011-01-20  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: IDBObjectStore.get should fire onsuccess rather than onerror
        https://bugs.webkit.org/show_bug.cgi?id=52725

        Let IDBObjectStore.get() fire the onsuccess handler with the value
        'undefined' for when an object does not exist in the store.

        Update SerializedScriptValue to provide such an undefined value.

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::SerializedScriptValue::nullValue):
        (WebCore::SerializedScriptValue::undefinedValue):
        * bindings/v8/SerializedScriptValue.h:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::getInternal):

2010-12-27  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
        https://bugs.webkit.org/show_bug.cgi?id=8519

        Uncaught exceptions are propagated to window.onerror hander if one is present.
        The handler is expected to be a function accepting three arguments: error message,
        resource url and line number where the exception occured.

        It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
        were created in the same isolated world where the exception occured or not.

        Tests: fast/events/window-onerror1.html
               fast/events/window-onerror10.html
               fast/events/window-onerror11.html
               fast/events/window-onerror12.html
               fast/events/window-onerror2.html
               fast/events/window-onerror3.html
               fast/events/window-onerror4.html
               fast/events/window-onerror5.html
               fast/events/window-onerror6.html
               fast/events/window-onerror7.html
               fast/events/window-onerror8.html
               fast/events/window-onerror9.html
               http/tests/security/window-onerror-exception-in-iframe.html
               userscripts/window-onerror-for-isolated-world-1.html
               userscripts/window-onerror-for-isolated-world-2.html

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::reportException):
        * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
        (WebCore::JSErrorHandler::JSErrorHandler):
        (WebCore::JSErrorHandler::~JSErrorHandler):
        (WebCore::JSErrorHandler::handleEvent):
        * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
        (WebCore::JSErrorHandler::create):
        (WebCore::createJSErrorHandler):
        * bindings/js/JSEventListener.h:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::dispatchNow):
        (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
        reporting mechanism which is also used by JSC bindings.
        * bindings/v8/V8ConsoleMessage.h:
        * bindings/v8/V8EventListener.h:
        * bindings/v8/V8WindowErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
        (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
        (WebCore::V8WindowErrorHandler::callListenerFunction):
        * bindings/v8/V8WindowErrorHandler.h: Copied from WebCore/dom/ErrorEvent.cpp.
        (WebCore::V8WindowErrorHandler::create):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::v8MessageHandler):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * dom/Document.cpp:
        (WebCore::Document::errorEventTarget):
        (WebCore::Document::logExceptionToConsole):
        (WebCore::Document::addMessage):
        * dom/Document.h:
        * dom/ErrorEvent.cpp:
        * dom/ErrorEvent.h:
        * dom/Event.cpp:
        (WebCore::Event::isErrorEvent):
        * dom/Event.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::PendingException::PendingException):
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
        ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
        (WebCore::ScriptExecutionContext::dispatchErrorEvent):
        * dom/ScriptExecutionContext.h:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::didFail):
        (WebCore::WebSocketChannel::appendToBuffer):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readServerHandshake):
        (WebCore::WebSocketHandshake::readStatusLine):
        (WebCore::WebSocketHandshake::readHTTPHeaders):
        (WebCore::WebSocketHandshake::checkResponseHeaders):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::postExceptionTask):
        (WebCore::postConsoleMessageTask):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        (WebCore::WorkerContext::errorEventTarget):
        (WebCore::WorkerContext::logExceptionToConsole):
        (WebCore::WorkerContext::addMessage):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerExceptionTask::performTask):
        (WebCore::postConsoleMessageTask):
        * xml/XMLHttpRequest.cpp:
        (WebCore::reportUnsafeUsage):

2011-01-19  MORITA Hajime  <morrita@google.com>

        Reviewed by Ryosuke Niwa.

        Space and tab characters "sent" by an input method give totally different results than typing them directly
        https://bugs.webkit.org/show_bug.cgi?id=5241
        
        * Introduced TextEvent::InputTypeComposition and TypingCommand::TextCompositionType to 
          distinguish text input which is originated by composition.
        * Generalized rebalanceWhitespaceAt() to rebalanceWhitespaceOnTextSubstring() to rebalancing 
          range of string on text node, instead of surrounding part of that.

        Test: editing/inserting/insert-composition-whitespace.html

        * dom/TextEvent.h:
        (WebCore::TextEvent::isComposition):
        * dom/TextEventInputType.h: Added TextEventInputComposition as a member of TextEvent::InputType
        * editing/CompositeEditCommand.cpp:
        (WebCore::containsOnlyWhitespace):
        (WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor):
        (WebCore::CompositeEditCommand::canRebalance):
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
        (WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Added: A generalized version of rebalanceWhitespaceAt(), which takes a range inside Text string.
        * editing/CompositeEditCommand.h:
        * editing/Editor.cpp:
        (WebCore::Editor::insertTextForConfirmedComposition): Added.
        (WebCore::Editor::insertTextWithoutSendingTextEvent):
        (WebCore::Editor::confirmComposition): Now uses insertTextForConfirmedComposition().
        (WebCore::Editor::setComposition):
        * editing/Editor.h:
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input):
        * editing/InsertTextCommand.h:
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::TypingCommand):
        (WebCore::TypingCommand::insertText):
        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
        * editing/TypingCommand.h: Added TypingCommand::m_compositionType and TypingCommand::TextCompositionType
        (WebCore::TypingCommand::setCompositionType): Added.
        (WebCore::TypingCommand::create):

2011-01-19  Dominic Cooney  <dominicc@google.com>

        Reviewed by Kent Tamura.

        Make <keygen> no longer appear to be a <select> element to script.
        https://bugs.webkit.org/show_bug.cgi?id=52557

        The intent is to put <keygen> options into shadow DOM. This change
        takes the first step by hiding the <select> element from
        JavaScript.

        Test: fast/dom/HTMLKeygenElement/keygen.html

        * CMakeLists.txt: Adds new IDL-derived wrapper.
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/gobject/GNUmakefile.am:
        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
        (WebKit::createKeygenWrapper):
        (WebKit::createHTMLElementWrapper):
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap): Keygen no longer DOMHTMLSelectElement
        * html/HTMLKeygenElement.h:
        (WebCore::HTMLKeygenElement::willValidate): Now public.
        * html/HTMLKeygenElement.idl: Added.
        * html/HTMLTagNames.in: Keygen's wrapper is HTMLKeygenElement.
        * page/DOMWindow.idl: Add HTMLKeygenElement constructor.

2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76203.
        http://trac.webkit.org/changeset/76203
        https://bugs.webkit.org/show_bug.cgi?id=52784

        Broke Win compile on Chromium bots (Requested by dimich on
        #webkit).

        * WebCore.gypi:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::reportFatalErrorInV8):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::isLinkVisited):
        * platform/android/PlatformBridge.h:
        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::createBusFromInMemoryAudioFile):
        * platform/chromium/ChromiumBridge.h: Added.
        * platform/chromium/ChromiumDataObjectLegacy.cpp:
        (WebCore::ChromiumDataObjectLegacy::getData):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::asURL):
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::revealFolderInOS):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        (WebCore::openFile):
        (WebCore::closeFile):
        (WebCore::seekFile):
        (WebCore::truncateFile):
        (WebCore::readFromFile):
        (WebCore::writeToFile):
        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformDefaultLanguage):
        * platform/chromium/LinkHashChromium.cpp:
        (WebCore::visitedLinkHash):
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/PlatformBridge.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::ReadableDataObject::getData):
        (WebCore::ReadableDataObject::urlTitle):
        (WebCore::ReadableDataObject::htmlBaseUrl):
        (WebCore::ReadableDataObject::filenames):
        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
        * platform/chromium/SSLKeyGeneratorChromium.cpp:
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumWin::paintButton):
        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
        * platform/chromium/SharedTimerChromium.cpp:
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):
        * platform/chromium/SuddenTerminationChromium.cpp:
        (WebCore::disableSuddenTermination):
        (WebCore::enableSuddenTermination):
        * platform/chromium/SystemTimeChromium.cpp:
        (WebCore::currentTime):
        * platform/chromium/WritableDataObject.cpp:
        (WebCore::WritableDataObject::setData):
        * platform/graphics/chromium/CrossProcessFontLoading.mm:
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontContainsCharacter):
        (WebCore::FillLogFont):
        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::scriptFontProperties):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::querySystemForRenderStyle):
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        (WebCore::fillBMPGlyphs):
        * platform/graphics/chromium/ImageChromium.cpp:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/ImageChromiumMac.mm:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/chromium/DNSChromium.cpp:
        (WebCore::prefetchDNS):
        * platform/qt/PlatformBridge.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
        (chromiumOpen):
        (chromiumDelete):
        (chromiumAccess):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginCache::plugins):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumWin::systemColor):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::menuListButtonWidth):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * storage/chromium/IDBFactoryBackendInterface.cpp:
        (WebCore::IDBFactoryBackendInterface::create):
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
        * storage/chromium/IDBKeyPathBackendImpl.cpp:
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):

2011-01-19  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] GraphicsContext::strokePath() paints solid shadows with incorrect alpha
        https://bugs.webkit.org/show_bug.cgi?id=52705

        This is related to bug 52611. The shadow color alpha must be multiplied
        by the context pen alpha. Fixing this results in correct behavior for
        Canvas path stroke() and strokeRect() [which relies on stroke()].

        Tests: fast/canvas/canvas-strokePath-alpha-shadow.html
               fast/canvas/canvas-strokeRect-alpha-shadow.html

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::strokePath):

2011-01-19  Darin Fisher  <darin@chromium.org>

        Reviewed by Mihai Parparita.

        Re-initialize the HistoryItem fully when navigating to a HistoryItem,
        or replacing a HistoryItem, results in a different URL.

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

        This patch also forces all HistoryItems to record the post-redirect
        URL.  Previously, frames would remember the pre-redirect URL.  This is
        problematic since other members of the HistoryItem correspond to the
        post-redirect URL.

        Tests: fast/history/history-replace-updates-current-item.html
               http/tests/navigation/redirect-on-back-updates-history-item.html
               http/tests/navigation/redirect-on-reload-updates-history-item.html

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem):
        (WebCore::HistoryItem::reset):
        * history/HistoryItem.h:
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::updateForBackForwardNavigation):
        (WebCore::HistoryController::updateForReload):
        (WebCore::HistoryController::updateForStandardLoad):
        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
        (WebCore::HistoryController::initializeItem):
        (WebCore::HistoryController::createItem):
        (WebCore::HistoryController::createItemTree):
        (WebCore::HistoryController::updateCurrentItem):
        * loader/HistoryController.h:

2011-01-19  Adam Klein  <adamk@chromium.org>

        Reviewed by Darin Fisher.

        [chromium] Rename ChromiumBridge to PlatformBridge
        https://bugs.webkit.org/show_bug.cgi?id=52471

        No tests added as this is a rename; no change in behavior.

        * WebCore.gypi:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::reportFatalErrorInV8):
        * page/PageGroup.cpp:
        (WebCore::PageGroup::isLinkVisited):
        * platform/android/PlatformBridge.h:
        * platform/audio/chromium/AudioBusChromium.cpp:
        (WebCore::createBusFromInMemoryAudioFile):
        * platform/chromium/ChromiumBridge.h: Removed.
        * platform/chromium/ChromiumDataObjectLegacy.cpp:
        (WebCore::ChromiumDataObjectLegacy::getData):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::asURL):
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileSize):
        (WebCore::getFileModificationTime):
        (WebCore::revealFolderInOS):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        (WebCore::openFile):
        (WebCore::closeFile):
        (WebCore::seekFile):
        (WebCore::truncateFile):
        (WebCore::readFromFile):
        (WebCore::writeToFile):
        * platform/chromium/LanguageChromium.cpp:
        (WebCore::platformDefaultLanguage):
        * platform/chromium/LinkHashChromium.cpp:
        (WebCore::visitedLinkHash):
        * platform/chromium/MIMETypeRegistryChromium.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        * platform/chromium/PlatformBridge.h:
        * platform/chromium/PlatformScreenChromium.cpp:
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        * platform/chromium/ReadableDataObject.cpp:
        (WebCore::ReadableDataObject::getData):
        (WebCore::ReadableDataObject::urlTitle):
        (WebCore::ReadableDataObject::htmlBaseUrl):
        (WebCore::ReadableDataObject::filenames):
        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
        * platform/chromium/SSLKeyGeneratorChromium.cpp:
        (WebCore::signedPublicKeyAndChallengeString):
        * platform/chromium/ScrollbarThemeChromium.cpp:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):
        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
        (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
        (WebCore::ScrollbarThemeChromiumWin::paintButton):
        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
        * platform/chromium/SharedTimerChromium.cpp:
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):
        * platform/chromium/SuddenTerminationChromium.cpp:
        (WebCore::disableSuddenTermination):
        (WebCore::enableSuddenTermination):
        * platform/chromium/SystemTimeChromium.cpp:
        (WebCore::currentTime):
        * platform/chromium/WritableDataObject.cpp:
        (WebCore::WritableDataObject::setData):
        * platform/graphics/chromium/CrossProcessFontLoading.mm:
        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontContainsCharacter):
        (WebCore::FillLogFont):
        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::getFontDataForCharacters):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
        (WebCore::FontPlatformData::scriptFontProperties):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::querySystemForRenderStyle):
        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
        (WebCore::fillBMPGlyphs):
        * platform/graphics/chromium/ImageChromium.cpp:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/ImageChromiumMac.mm:
        (WebCore::Image::loadPlatformResource):
        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::platformInit):
        (WebCore::SimpleFontData::determinePitch):
        (WebCore::SimpleFontData::platformWidthForGlyph):
        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
        (WebCore::UniscribeHelperTextRun::tryToPreloadFont):
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/network/chromium/CookieJarChromium.cpp:
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        * platform/network/chromium/DNSChromium.cpp:
        (WebCore::prefetchDNS):
        * platform/qt/PlatformBridge.h:
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
        (WebCore::SQLiteFileSystem::getDatabaseFileSize):
        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
        (chromiumOpen):
        (chromiumDelete):
        (chromiumAccess):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginCache::plugins):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::usesTestModeFocusRingColor):
        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeChromiumWin::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeChromiumWin::systemColor):
        (WebCore::RenderThemeChromiumWin::paintButton):
        (WebCore::RenderThemeChromiumWin::paintSliderTrack):
        (WebCore::menuListButtonWidth):
        (WebCore::RenderThemeChromiumWin::paintMenuList):
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        (WebCore::RenderThemeChromiumWin::paintInnerSpinButton):
        (WebCore::RenderThemeChromiumWin::paintProgressBar):
        * storage/chromium/IDBFactoryBackendInterface.cpp:
        (WebCore::IDBFactoryBackendInterface::create):
        (WebCore::IDBFactoryBackendInterface::~IDBFactoryBackendInterface):
        * storage/chromium/IDBKeyPathBackendImpl.cpp:
        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):

2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76187.
        http://trac.webkit.org/changeset/76187
        https://bugs.webkit.org/show_bug.cgi?id=52778

        Broke caret-showing tests on SnowLeopard and Chromium
        (Requested by dimich on #webkit).

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

2011-01-19  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Kent Tamura.

        Fix for Bug 52279 - WebCore::RenderBlock::updateFirstLetter crashes for anonymous blocks
        https://bugs.webkit.org/show_bug.cgi?id=52279

        In constructing text fragments to handle first-letter rule, first add
        the text for the non-first letters and then remove the original text,
        rather than the other way around. Otherwise, the text can be added to
        an anoymous block that is different from the original one. This breaks
        the assumption that a first letter render object has a non-null sibling
        for the non-first letters and causes a crash.

        Test: fast/css/first-letter-anonymous-block-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::updateFirstLetter):

2011-01-19  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r76194.
        http://trac.webkit.org/changeset/76194
        https://bugs.webkit.org/show_bug.cgi?id=51218

        Caused mysterious compile failure on the chromium win
        build.webkit.org bots

        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h: Removed.
        * dom/RequestAnimationFrameCallback.idl: Removed.
        * loader/EmptyClients.h:
        * page/Chrome.cpp:
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/DOMWindow.cpp:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/FrameView.cpp:
        * page/FrameView.h:
        * platform/HostWindow.h:

2011-01-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Sam Weinig.

        GraphicsLayers in subframes can get sync'd multiple times
        https://bugs.webkit.org/show_bug.cgi?id=52489

        Some cleanup that will work towards fixing this bug.
        
        Tested by existing iframe compositing tests.

        * WebCore.exp.in: syncCompositingStateRecursive()
        was renamed to syncCompositingStateIncludingSubframes().

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame): Some
        code cleanup: do all the word we need to do for this frame,
        including the needsLayout() check.
        (WebCore::FrameView::syncCompositingStateIncludingSubframes):
        This is no longer recursive; instead, it iterates over descendant
        frames via the frame tree, calling syncCompositingStateForThisFrame()
        on each Frame's view.

        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::isFlushingLayers): Getter for the flag.
        * rendering/RenderLayerCompositor.cpp: 
        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges): Maintain
        a flag to say if we're flushing, which allows us to assert on re-entrant flushes.
        (WebCore::RenderLayerCompositor::enclosingCompositorFlushingLayers):
        Add the ability to get the rootmost compositor that is in the middle
        of a flush.

2011-01-19  James Robinson  <jamesr@chromium.org>

        Reviewed by Darin Fisher.

        Implement mozilla's requestAnimationFrame API
        https://bugs.webkit.org/show_bug.cgi?id=51218

        This implements mozilla's proposed requestAnimationFrame API.  The idea with this API is that
        an author driving an animation from script could use window.requestAnimationFrame(callback)
        instead of window.setTimeout(callback, 0) to schedule their update logic and let the browser
        decide when to update the animations.  This avoids doing unnecessary work when the page content
        is offscreen or is being displayed at a different framerate than what the page author expects.

        Mozilla's proposal is here: https://developer.mozilla.org/en/DOM/window.mozRequestAnimationFrame
        This implements window.mozRequestAnimationFrame as window.webkitRequestAnimationFrame with the
        following changes:
        *) Only the callback syntax is supported, there is no before paint event
        *) webkitRequestAnimationFrame supports a second parameter Element to let the author indicate
            what content they intend to animate.  That way if the page is being displayed but the element
            in question is offscreen, we can avoid invoking the callback.
        *) No timestamp is provided to the caller and there is no window.animationStartTime property
            (see https://bugs.webkit.org/show_bug.cgi?id=51952 for discussion of this property)
        *) window.webkitRequestAnimationFrame returns a numerical id that can be used to cancel the callback
            using window.cancelWebkitRequestAnimationFrame, to parallel window.setTimeout()/window.clearTime().

        The implementation depends on the embedder scheduling the callbacks since the callback invocation
        depends on the page's visibility and the embedder's paint scheduling, neither of which are exposed
        to WebCore.  The expectation for the embedder is that at some point Chrome::scheduleAnimation() is
        called FrameView::serviceScriptedAnimations() should be called for the associated Page's main frame.
        Ideally serviceScriptedAnimations() would be called prior to rendering - although in practice the
        embedder has to rate limit callbacks and may not be able to tie the callback directly to the
        rendering loop.

        Tests: fast/animation/request-animation-frame-cancel.html
               fast/animation/request-animation-frame-cancel2.html
               fast/animation/request-animation-frame-display.html
               fast/animation/request-animation-frame-within-callback.html
               fast/animation/request-animation-frame.html

        * WebCore.gypi:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::webkitRequestAnimationFrame):
        (WebCore::Document::webkitCancelRequestAnimationFrame):
        (WebCore::Document::serviceScriptedAnimations):
        * dom/Document.h:
        * dom/RequestAnimationFrameCallback.h: Added.
        (WebCore::RequestAnimationFrameCallback::~RequestAnimationFrameCallback):
        * dom/RequestAnimationFrameCallback.idl: Added.
        * loader/EmptyClients.h:
        (WebCore::EmptyChromeClient::scheduleAnimation):
        * page/Chrome.cpp:
        (WebCore::Chrome::scheduleAnimation):
        * page/Chrome.h:
        * page/ChromeClient.h:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitRequestAnimationFrame):
        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/FrameView.cpp:
        (WebCore::FrameView::scheduleAnimation):
        (WebCore::FrameView::serviceScriptedAnimations):
        * page/FrameView.h:
        * platform/HostWindow.h:

2011-01-13  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Daniel Bates.

        [GTK] Move progress bar painting out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52385

        Move progress bar painting to RenderThemeGtk2 and share some animation
        logic between the GTK+ 2.x and GTK+ 3.x port.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar): Moved from RenderThemeGtk3.
        (WebCore::RenderThemeGtk::animationDurationForProgressBar): Ditto.
        (WebCore::RenderThemeGtk::calculateProgressRect): Calculate the proper rectangle for the
        progress indicator given the rect for the maximum size of the indicator.
        * platform/gtk/RenderThemeGtk.h: Added calculateProgressRect declaration and
        a new widget member for GTK+ 2.x
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::platformInit): Added initialization for the new widget member.
        (WebCore::RenderThemeGtk::paintProgressBar): Paint the progress bar manually instead of
        calling the old Mozilla code.
        (WebCore::RenderThemeGtk::gtkProgressBar): Added.
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintProgressBar): Call calculateProgressRect now to get
        the area of the progress indicator.
        * platform/gtk/gtk2drawing.c: Remove unused code.
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtkdrawing.h: Ditto.

2011-01-19  Dmitry Titov  <dimich@chromium.org>

        [Chromium] Not reviewed, reverts the following changes:
        http://trac.webkit.org/changeset/76164 (build fix)
        http://trac.webkit.org/changeset/76159 (main change)

        The change broke Chromium Linux-shlib build.

        Original issue:
        Accelerated canvas2D has bad clipping performance.
        https://bugs.webkit.org/show_bug.cgi?id=52627

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::platformLayer):
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::State::State):
        (WebCore::GLES2Canvas::clearRect):
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::restore):
        (WebCore::GLES2Canvas::drawTexturedRect):
        * platform/graphics/chromium/GLES2Canvas.h:
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::createSecondaryBuffers):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.h:
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::canAccelerate):
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        * thirdparty/glu/README.webkit:
        * thirdparty/glu/gluos.h:
        * thirdparty/glu/libtess/geom.c:
        * thirdparty/glu/libtess/priorityq.c:
        * thirdparty/glu/libtess/render.c:
        * thirdparty/glu/libtess/sweep.c:
        (IsWindingInside):
        (DoneEdgeDict):

2011-01-19  Levi Weintraub  <leviw@google.com>

        Reviewed by Darin Adler.

        Re-committing this with the proper expected results.

        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
        resulted in the caret being placed incorrectly in overflowing editable IFrame content.

        Long lines in non-white-space-pre editable documents show cursor in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=48132

        Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

2011-01-18 MORITA Hajime <morrita@google.com>

        Reviewed by David Levin.

        ElementRareData::m_shadowRoot should not be RefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=51914

        Makes ElementRareData::m_shadowRoot a raw pointer because
        ElementRareData::m_shadowRoot should be like a
        ContaineNode::m_firstChild, which is also a raw pointer.
        pointer. Which also means that both the shadow root and the shadow
        host reference each other as a parent-and-child relationship, via
        a raw pointer.
        
        Note that it is safe not to manipulate the ref-count of
        m_shadowRoot because Node::m_parent of the shadow root points its
        shadow host, and the object isn't deleted even if the refcount is
        zero, as long as the node has non-null m_parent. (See TreeShared.)
        
        The shadow root node is finally destroyed inside
        removeShadowRoot(), where we store the root node into a local
        RefPtr, then make the node's m_parent null, which results the
        destroy the node, at the end of the function, by RefPtr::~RefPtr.
        
        No new tests. No behavioral change.

        * dom/Element.cpp:
        (WebCore::Element::~Element):
        (WebCore::Element::shadowRoot):
        (WebCore::Element::setShadowRoot):
        (WebCore::Element::removeShadowRoot):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData):
        (WebCore::ElementRareData::~ElementRareData):

2011-01-12  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move text field painting out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52327

        No new tests. This should not change behavior.

        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::paintButton): Use the setWidgetHasFocus helper.
        (WebCore::RenderThemeGtk::paintTextField): Do this manually now instead
        of calling into the Mozilla code.
        * platform/gtk/WidgetRenderingContext.cpp: Added a couple more wrappers
        for GTK+ theme functions.
        (WebCore::WidgetRenderingContext::gtkPaintFlatBox):
        (WebCore::WidgetRenderingContext::gtkPaintShadow):
        * platform/gtk/WidgetRenderingContext.h: Added new method declarations.
        * platform/gtk/gtk2drawing.c: Remove unused code.
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtkdrawing.h:

2011-01-19  Antti Koivisto  <antti@apple.com>

        Reviewed by Oliver Hunt.

        Cache function offsets to speed up javascript parsing
        https://bugs.webkit.org/show_bug.cgi?id=52622
        
        Use cache to save function offsets and some other info.
        This avoids quite a bit of work when reparsing the source.

        * bindings/js/CachedScriptSourceProvider.h:
        (WebCore::CachedScriptSourceProvider::cache):
        (WebCore::CachedScriptSourceProvider::cacheSizeChanged):
        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
        * bindings/js/ScriptSourceProvider.h:
        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
        * loader/cache/CachedScript.cpp:
        (WebCore::CachedScript::destroyDecodedData):
        (WebCore::CachedScript::sourceProviderCache):
        (WebCore::CachedScript::sourceProviderCacheSizeChanged):
        * loader/cache/CachedScript.h:

2011-01-11  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move toggle button rendering out of gtk2drawing.c
        https://bugs.webkit.org/show_bug.cgi?id=52258

        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::platformInit): Initialize new button members.
        (WebCore::adjustRectForFocus): Added this function which inflates a rect based
        on a widget's exterior focus.
        (WebCore::RenderThemeGtk::adjustRepaintRect): Account for exterior focus.
        (WebCore::setToggleSize): Only listen to indicator-size to properly size
        checkboxes and radio buttons.
        (WebCore::RenderThemeGtk::setCheckboxSize): Call new setToggleSize properly.
        (WebCore::paintToggle): Added.
        (WebCore::RenderThemeGtk::paintCheckbox): Call paintToggle.
        (WebCore::RenderThemeGtk::setRadioSize): Call new setToggleSize properly.
        (WebCore::RenderThemeGtk::paintRadio): Call paintToggle.
        (WebCore::RenderThemeGtk::gtkRadioButton): Added.
        (WebCore::RenderThemeGtk::gtkCheckButton): Added.
        * platform/gtk/WidgetRenderingContext.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Use a static extra space
        variable. This is good enough for all themes that I've tested and prevents having to
        pass information from RenderThemeGtk about every single type of widget.
        (WebCore::WidgetRenderingContext::gtkPaintFocus): Use the paintRect
        to draw instead of m_paintRect. This is important when we're painting
        something that isn't the size of the total rect.
        (WebCore::WidgetRenderingContext::gtkPaintCheck): Added.
        (WebCore::WidgetRenderingContext::gtkPaintOption): Added.
        * platform/gtk/WidgetRenderingContext.h: Updated to reflect new methods.
        * platform/gtk/gtkdrawing.h: Remove newly unused code.
        * platform/gtk/gtk2drawing.c: Ditto.

2011-01-19  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Build fix for r76170
        https://bugs.webkit.org/show_bug.cgi?id=52758

        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:

2011-01-19  David D. Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/52687> Clean up FrameLoader methods for PLUGIN_PROXY_FOR_VIDEO

        Reviewed by Eric Carlson.

        * loader/FrameLoader.cpp: Declare the methods here.
        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
        (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
        * loader/FrameLoader.cpp: Moved methods to here...
        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
        (WebCore::FrameLoader::showMediaPlayerProxyPlugin):
        * loader/SubframeLoader.cpp: ...from here.
        (WebCore::FrameLoader::hideMediaPlayerProxyPlugin):
        (WebCore::FrameLoader::showMediaPlayerProxyPlugin):

2011-01-19  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Mihai Parparita.

        Perform some forward declaration
        https://bugs.webkit.org/show_bug.cgi?id=52522

        No new tests because no new functionality.

        * accessibility/AccessibilityObject.h:
        * css/WebKitCSSMatrix.cpp:
        * html/HTMLAreaElement.cpp:
        * html/canvas/CanvasRenderingContext2D.cpp:
        * inspector/InspectorController.cpp:
        * platform/graphics/FloatPoint.cpp:
        * platform/graphics/Font.cpp:
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/StringTruncator.cpp:
        * platform/graphics/WidthIterator.cpp:
        * platform/graphics/mac/ComplexTextController.cpp:
        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
        * platform/graphics/mac/FontComplexTextMac.cpp:
        * platform/graphics/transforms/TransformationMatrix.cpp:
        * platform/graphics/transforms/TransformationMatrix.h:
        * rendering/EllipsisBox.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlockLineLayout.cpp:
        * rendering/RenderEmbeddedObject.cpp:
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderFlexibleBox.cpp:
        * rendering/RenderImage.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderListMarker.cpp:
        * rendering/RenderMenuList.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderText.cpp:
        * rendering/RenderTextControl.cpp:
        * rendering/svg/SVGInlineTextBox.cpp:
        * rendering/svg/SVGMarkerLayoutInfo.h:
        * rendering/svg/SVGTextMetrics.cpp:
        * svg/SVGFont.cpp:

2011-01-19  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Tiled compositor should use texture manager
        https://bugs.webkit.org/show_bug.cgi?id=52418

        Test: compositing/

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::reset):
        (WebCore::LayerTilerChromium::createTile):
        (WebCore::LayerTilerChromium::update):
        (WebCore::LayerTilerChromium::draw):
        * platform/graphics/chromium/LayerTilerChromium.h:
        (WebCore::LayerTilerChromium::Tile::Tile):
        (WebCore::LayerTilerChromium::Tile::texture):

2011-01-19  Stephen White  <senorblanco@chromium.org>

        Unreviewed; build fix for chromium.

        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::fillPath):

2011-01-18  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Implement accelerated path drawing and clipping for the Canvas2D GPU
        path.
        https://bugs.webkit.org/show_bug.cgi?id=52627
        
        This is done with a simple curve interpolator and the GLU tesselator,
        which is good enough for a 3-5X speedup on
        http://ie.microsoft.com/testdrive/Performance/Galactic/Default.html.

        Covered by canvas/philip/2d.path.clip.basic.html, and many, many more.
        All tests canvas/philip and fast/canvas paths pass with no
        regressions, although two have minor pixel differences which require
        rebaselining.

        * WebCore.gyp/WebCore.gyp:
        Add internal_glu include path to chromium build.
        * WebCore.gypi:
        Add internal_glu files to chromium build.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::reset):
        (WebCore::CanvasRenderingContext2D::platformLayer):
        Make CanvasRenderingContext2D more robust against failure to create
        a DrawingBuffer.
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        As in DrawingBufferMac.cpp, call reset() from the constructor.
        Also initialize size to (-1, -1), so reset() doesn't early-out.
        Add initializers for depthBuffer and stencilBuffer, and remove
        multisampleDepthStencilBuffer.
        * platform/graphics/chromium/GLES2Canvas.cpp:
        Remove some unused #includes.
        (WebCore::GLES2Canvas::State::State):
        Add clipping state, and implement save/restore via the copy constructor.
        (WebCore::operator*):
        (WebCore::Quadratic::Quadratic):
        (WebCore::Quadratic::fromBezier):
        (WebCore::Quadratic::evaluate):
        Quadratic Bezier curve class.
        (WebCore::Cubic::Cubic):
        (WebCore::Cubic::fromBezier):
        (WebCore::Cubic::evaluate):
        Cubic Bezier curve class.
        (WebCore::GLES2Canvas::clearRect):
        Add clipping support to clearRect().
        (WebCore::GLES2Canvas::fillPath):
        Implement fillPath().
        (WebCore::GLES2Canvas::fillRect):
        Add clipping support to fillRect().
        (WebCore::GLES2Canvas::clipPath):
        Implement clipPath().
        (WebCore::GLES2Canvas::clipOut):
        Stub out clipOut() (not called by Canvas 2D).
        (WebCore::GLES2Canvas::restore):
        When restoring, draw any remaining clipping paths to the stencil buffer.
        (WebCore::GLES2Canvas::drawTexturedRect):
        Add clipping support.
        (WebCore::interpolateQuadratic):
        (WebCore::interpolateCubic):
        Simple curve interpolation, using the Cubic and Quadratic classes.
        (WebCore::PolygonData::PolygonData):
        A struct to hold the tesselation data for callbacks.
        (WebCore::beginData):
        (WebCore::edgeFlagData):
        (WebCore::vertexData):
        (WebCore::endData):
        (WebCore::combineData):
        internal_glu tesselation callbacks.
        (WebCore::GLES2Canvas::createVertexBufferFromPath):
        Build an interpolated, tesselated vertex buffer and element array buffer from a given path, suitable for filling.
        (WebCore::GLES2Canvas::beginStencilDraw):
        Enable stencilling, and disable draws to the color buffer.
        (WebCore::GLES2Canvas::applyClipping):
        If clipping is enabled, set the appropriate GL state.
        * platform/graphics/chromium/GLES2Canvas.h:
        Document the flavours of drawTexturedRect() a bit, so I don't get confused.
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::clear):
        (WebCore::DrawingBuffer::createSecondaryBuffers):
        (WebCore::DrawingBuffer::resizeDepthStencil):
        (WebCore::DrawingBuffer::reset):
        * platform/graphics/gpu/DrawingBuffer.h:
        Unify m_multisampleDepthStencilBuffer with m_depthStencilBuffer. 
        Implement separate depth and stencil buffers for when
        OES_packed_depth_stencil is not available.  Refactor creation of
        multisampled and non-multisampled depth and stencil buffers into
        resizeDepthStencil().
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::create):
        Turn on stencil, turn off depth, turn off antialiasing (for now).
        (WebCore::SharedGraphicsContext3D::enableStencil):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        Implement stencil enable/disable.
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        Remove m_multisampleDepthStencilBuffer.  Set the size to (-1, -1)
        on creation, so reset() doesn't early-out.  Initialize m_depthBuffer
        and m_stencilBuffer.
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::canvasClip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::clipPath):
        (WebCore::GraphicsContext::fillPath):
        Put in GPU hooks for path clipping, and path drawing.
        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::canAccelerate):
        Don't check for clipping paths in canAccelerate() (since we can
        now accelerate them).
        (WebCore::PlatformContextSkia::uploadSoftwareToHardware):
        Don't do clipping when uploading software draws to hardware.
        * thirdparty/glu/README.webkit:
        * thirdparty/glu/gluos.h:
        #undef MIN and MAX, to fix warnings-as-errors in Chrome/Mac build.
        * thirdparty/glu/libtess/geom.c:
        * thirdparty/glu/libtess/priorityq.c:
        * thirdparty/glu/libtess/render.c:
        Use do{}while(0) instead of if(1)else construct in macro.
        * thirdparty/glu/libtess/sweep.c:
        (IsWindingInside):
        (DoneEdgeDict):
        Fix some warnings treated as errors for the Linux Release build.

2011-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r76144.
        http://trac.webkit.org/changeset/76144
        https://bugs.webkit.org/show_bug.cgi?id=52737

        Broke tests on multiple bots, mostly Chromium Canaries
        (Requested by dimich on #webkit).

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

2011-01-19  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adam Roben.

        [CSS Gradients] Crash due to out-of-memory with repeating-linear-gradient and latter stop positioned before former
        https://bugs.webkit.org/show_bug.cgi?id=52732
        
        When repeating gradient stops, make sure that the first and last stops are not at the same
        place, otherwise we'll add stops indefinitely and run out of memory.

        Test: fast/gradients/zero-range-repeating-gradient-hang.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops):

2011-01-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Remove event forwarding logic from input[type=range], simplify event flow and thumb positioning logic.
        https://bugs.webkit.org/show_bug.cgi?id=52464

        This change has two parts:

        1) Utilize shadow DOM event retargeting to get rid of forwarding events
           via render tree;
        2) Move thumb positioning logic from RenderSlider to SliderThumbElement.

        These two are highly co-dependent. It looked ugly when I tried to
        separate them.

        No change in behavior, covered by existing tests.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler): Added invocation of
            InputType::handleMouseDownEvent.
        * html/InputType.cpp:
        (WebCore::InputType::handleMouseDownEvent): Added empty decl.
        * html/InputType.h: Added def.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleMouseDownEvent): Added to handle the case
            when the user clicks on the track of the slider. Also removed the
            forwardEvent method.
        * html/RangeInputType.h: Added/removed defs.
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::dragFrom): Added a helper method to start
            dragging from any position.
        (WebCore::SliderThumbElement::dragTo): Added a helper method to drag to
            specified position.
        (WebCore::SliderThumbElement::setPosition): Collapsed most of the positioning
            logic in RenderSlider into this method, which is now a simple calculation
            and adjusting of thumb position based on supplied coordinates.
        (WebCore::SliderThumbElement::startDragging): Added.
        (WebCore::SliderThumbElement::stopDragging): Added.
        (WebCore::SliderThumbElement::defaultEventHandler): Removed most of the
            old position-sniffing logic and replaced with simple calls to start,
            stop, and drag the thumb.
        * html/shadow/SliderThumbElement.h: Added defs.
        * rendering/RenderSlider.cpp: Removed a bunch of code that is no longer
            necessary.
        * rendering/RenderSlider.h: Removed defs, removed now-unnecessary friendliness.

2011-01-19  Shane Stephens  <shanestephens@google.com>

        Reviewed by Chris Marrin.

        Make AffineTransform and TransformationMatrix do matrix multiplication in the correct order (Column Major)
        https://bugs.webkit.org/show_bug.cgi?id=48031

        Fixed reversal, renamed matrix methods to be clearer, found all examples of operator* and
        operator*= usage and switched operand order.

        No new tests as this refactor doesn't add functionality.

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::baseTransform):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::transform):
        (WebCore::CanvasRenderingContext2D::setTransform):
        * platform/graphics/cg/PatternCG.cpp:
        (WebCore::Pattern::createPlatformPattern):
        * platform/graphics/chromium/GLES2Canvas.cpp:
        (WebCore::GLES2Canvas::fillRect):
        (WebCore::GLES2Canvas::concatCTM):
        (WebCore::GLES2Canvas::drawQuad):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
        (WebCore::TransparencyWin::setupTransformForKeepTransform):
        * platform/graphics/transforms/AffineTransform.cpp:
        (WebCore::AffineTransform::multiply):
        (WebCore::AffineTransform::rotate):
        * platform/graphics/transforms/AffineTransform.h:
        (WebCore::AffineTransform::operator*=):
        (WebCore::AffineTransform::operator*):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
        * platform/graphics/wince/SharedBitmap.cpp:
        (WebCore::SharedBitmap::drawPattern):
        * rendering/svg/RenderSVGResourceContainer.cpp:
        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
        * rendering/svg/RenderSVGResourceGradient.cpp:
        (WebCore::clipToTextMask):
        (WebCore::RenderSVGResourceGradient::applyResource):
        * rendering/svg/RenderSVGResourcePattern.cpp:
        (WebCore::RenderSVGResourcePattern::applyResource):
        * rendering/svg/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
        * rendering/svg/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::calculateTransformationToOutermostSVGCoordinateSystem):
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
        * rendering/svg/SVGTextLayoutEngine.cpp:
        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::computeCTM):
        (WebCore::SVGLocatable::getTransformToElement):
        * svg/SVGMatrix.h:
        (WebCore::SVGMatrix::multiply):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
        (WebCore::SVGSVGElement::viewBoxToViewTransform):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::animatedLocalTransform):
        * svg/SVGTransformList.cpp:
        (WebCore::SVGTransformList::concatenate):

2011-01-19  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Darin Adler.

        The return value of contentEditable() function should depend on the DOM attribute
        instead of render style userModify. The code change fixed test cases in the bug
        and partially fixed test cases in other contentEditable bugs;

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

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::contentEditable):

2011-01-19  Levi Weintraub  <leviw@chromium.org>

        Reviewed by Darin Adler.

        Changing RenderText::localCaretRect to clip to its containing block's logicalLeft and
        logicalRightLayoutOverflow instead of simply using logicalLeft and logicalRight, as this
        resulted in the caret being placed incorrectly in overflowing editable IFrame content.

        Long lines in non-white-space-pre editable documents show cursor in wrong place
        https://bugs.webkit.org/show_bug.cgi?id=48132

        Test: editing/selection/caret-painting-in-overflowing-autowrap-content.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::localCaretRect):

2011-01-19  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        WK2 - Multiple crashes in PlatformCALayer::replaceSublayer
        https://bugs.webkit.org/show_bug.cgi?id=52695

        Added ASSERTs to the places we assume a non-null superlayer.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):

2011-01-18  Beth Dakin  <bdakin@apple.com>

        Reviewed by Maciej Stachowiak.

        Fix for <rdar://problem/8882916> Overlay scrollers require 
        content to layout underneath the scrollbar area

        The render tree should not include scrollbar size for
        overlay scrollers. This patch will allow scrollers on
        the WebView to behave like overflow:overlay.

        Treat overlay scrollers the same way as the !includeScrollbars
        case.
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::visibleContentRect):

        No corner rect for overlay scrollers.
        (WebCore::ScrollView::scrollCornerRect):

        usesOverlayScrollbars() currently always returns no.
        * platform/ScrollbarTheme.h:
        (WebCore::ScrollbarTheme::usesOverlayScrollbars):
        * platform/mac/ScrollbarThemeMac.h:
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):

        includeVerticalScrollbarSize() and includeHorizontalScrollbarSize()
        should return false for overlay scrollers. They already return
        false for overflow:overlay.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::includeVerticalScrollbarSize):
        (WebCore::RenderBox::includeHorizontalScrollbarSize):
        * rendering/RenderBox.h:

        In the render tree, always treat overlay scrollers like
        they have a width and height of 0.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::verticalScrollbarWidth):
        (WebCore::RenderLayer::horizontalScrollbarHeight):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::verticalScrollbarWidth):

2011-01-18  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] simplify complex text code, fixing a handful of layout tests
        https://bugs.webkit.org/show_bug.cgi?id=52661

        Change ComplexTextControllerLinux to lay out RTL text to the left from
        the starting point.  (Previously it always went to the right.)  This allows
        us to map pixel offsets more directly into offsets within the text runs,
        simplifying a few of the text-fiddling functions (they no longer need to
        track the current position, as ComplexTextController now does it).

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::reset):
        (WebCore::ComplexTextController::setGlyphXPositions):
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        (WebCore::ComplexTextController::offsetX):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):

2011-01-19  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: move methods from InjectedScript domain into DOM,
        Runtime and Debugger domains. Introduce InspectorRuntimeAgent.
        https://bugs.webkit.org/show_bug.cgi?id=52717

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluateOnCallFrame):
        (WebCore::InjectedScript::getCompletions):
        (WebCore::InjectedScript::getCompletionsOnCallFrame):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptSource.js:
        (.):
        ():
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
        (WebCore::InspectorDOMAgent::resolveNode):
        (WebCore::InspectorDOMAgent::getNodeProperties):
        (WebCore::InspectorDOMAgent::getNodePrototypes):
        (WebCore::InspectorDOMAgent::injectedScriptForNodeId):
        * inspector/InspectorDOMAgent.h:
        (WebCore::EventListenerInfo::EventListenerInfo):
        (WebCore::InspectorDOMAgent::DOMListener::~DOMListener):
        (WebCore::InspectorDOMAgent::create):
        (WebCore::InspectorDOMAgent::cast):
        (WebCore::InspectorDOMAgent::documents):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
        (WebCore::InspectorDebuggerAgent::injectedScriptForCallFrameId):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/InspectorRuntimeAgent.cpp: Added.
        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
        (WebCore::InspectorRuntimeAgent::evaluate):
        (WebCore::InspectorRuntimeAgent::getCompletions):
        (WebCore::InspectorRuntimeAgent::getProperties):
        (WebCore::InspectorRuntimeAgent::setPropertyValue):
        (WebCore::InspectorRuntimeAgent::pushNodeToFrontend):
        (WebCore::InspectorRuntimeAgent::injectedScriptForObjectId):
        * inspector/InspectorRuntimeAgent.h: Copied from Source/WebCore/inspector/InjectedScript.h.
        (WebCore::InspectorRuntimeAgent::create):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):

2011-01-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add UglifyJS parser and formatter files
        https://bugs.webkit.org/show_bug.cgi?id=51702

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ScriptFormatter.js:
        (WebInspector.ScriptFormatter.positionToLocation):
        (WebInspector.ScriptFormatter.prototype.format.messageHandler):
        (WebInspector.ScriptFormatter.prototype.format):
        (WebInspector.ScriptFormatter.prototype._buildMapping):
        (WebInspector.ScriptFormatter.prototype._convertPosition):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.formatSource.didFormat):
        (WebInspector.SourceFrame.prototype.formatSource):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/parse-js.js: Added. UglifyJS parser.
        * inspector/front-end/process.js: Added. UglifyJS formatter.
        * inspector/front-end/scriptFormatterWorker.js: Added. Worker script that wraps UglifyJS code.
        (onmessage):
        (beautify):
        (loadModule):
        (require):
        * inspector/front-end/utilities.js:
        ():

2011-01-19  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [JSC] scripts have incorrect starting line (always 1).
        https://bugs.webkit.org/show_bug.cgi?id=52721

        Test: inspector/debugger-scripts.html

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
        (WebCore::ScriptDebugServer::sourceParsed):
        * bindings/js/ScriptDebugServer.h:
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/js/StringSourceProvider.h:
        (WebCore::StringSourceProvider::create):
        (WebCore::StringSourceProvider::startPosition):
        (WebCore::StringSourceProvider::StringSourceProvider):

2011-01-19  Satish Sampath  <satish@chromium.org>

        Reviewed by Jeremy Orlow.

        Send origin/url as part of speech input requests to the embedder.
        https://bugs.webkit.org/show_bug.cgi?id=52718

        * page/SpeechInput.cpp:
        (WebCore::SpeechInput::startRecognition): Pass up additional origin parameter.
        * page/SpeechInput.h:
        * page/SpeechInputClient.h:
        * platform/mock/SpeechInputClientMock.cpp:
        (WebCore::SpeechInputClientMock::startRecognition): Updated prototype.
        * platform/mock/SpeechInputClientMock.h:
        * rendering/TextControlInnerElements.cpp:
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler): Pass the frame origin to speech input request.

2011-01-19  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Support auto-increment keys
        https://bugs.webkit.org/show_bug.cgi?id=52576

        Add support for auto-increment keys.

        Test: storage/indexeddb/objectstore-autoincrement.html

        * storage/IDBDatabase.cpp:
        (WebCore::IDBDatabase::createObjectStore):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::genAutoIncrementKey):
        (WebCore::IDBObjectStoreBackendImpl::putInternal):

2011-01-19  Csaba Osztrogonác  <ossy@webkit.org>

        Reviewed by Laszlo Gombos and Tor Arne Vestbø.

        [Qt] Remove unnecessary "../Source" from paths
        after moving source files into Source is finished.

        * WebCore.pri:
        * WebCore.pro:

2011-01-19  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Employ TextPrompt for CSS property name/value autocompletion
        https://bugs.webkit.org/show_bug.cgi?id=52212

        WebInspector.CSSKeywordCompletions contains a hand-written list of accepted CSS property value keywords
        for each property. WebInspector.TextPrompt is used to suggest both the name and value keywords while
        editing styles, in place of the old custom suggestion code.

        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions.prototype.startsWith): Fix array-out-of-bounds error.
        * inspector/front-end/CSSKeywordCompletions.js: Added.
        (WebInspector.CSSKeywordCompletions.forProperty):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
        (WebInspector.StylePropertyTreeElement.prototype):
        ():
        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt):
        (WebInspector.TextPrompt.prototype.removeFromElement):
        (WebInspector.TextPrompt.prototype._onKeyDown):
        (WebInspector.TextPrompt.prototype.tabKeyPressed):
        (WebInspector.TextPrompt.prototype.upKeyPressed):
        (WebInspector.TextPrompt.prototype.downKeyPressed):
        (WebInspector.TextPrompt.prototype._moveBackInHistory):
        (WebInspector.TextPrompt.prototype._moveForwardInHistory):
        * inspector/front-end/inspector.css:
        (.auto-complete-text, .editing .auto-complete-text):
        * inspector/front-end/inspector.html:

2011-01-19  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Implement onformchange and onforminput event handlers
        https://bugs.webkit.org/show_bug.cgi?id=26141

        Tests: fast/forms/formchange-event.html
               fast/forms/forminput-event.html

        * bindings/scripts/CodeGeneratorGObject.pm: Added event names.
        * dom/Document.h: Added event definitions.
        * dom/Document.idl: Added event definitions.
        * dom/Element.h: Added event definitions.
        * dom/Element.idl: Added event definitions.
        * dom/Event.cpp:
        (WebCore::Event::fromUserGesture): Added a condition for a formchange event in handling user gestures.
        * dom/EventNames.h: Added event definitions.
        * dom/InputElement.cpp:
        (WebCore::InputElement::setValueFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents(), a virtual function which broadcasts forminput events for HTML elements.
        * dom/Node.cpp:
        (WebCore::Node::dispatchInputEvents): Defined basic dispatchInputEvents() described above.
        (WebCore::Node::dispatchChangeEvents): Defined basic dispatchChangeEvents() described above.
        (WebCore::Node::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().
        * dom/Node.h:
        * html/FormAssociatedElement.h: Added isResettable() to check the element is resettable or not.
        * html/HTMLAttributeNames.in: Added event names.
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::parseMappedAttribute): Added event handling.
        (WebCore::HTMLElement::shadowAncestorOwnerForm): Added to get an ancestor <form> element from a shadow element.
        (WebCore::HTMLElement::dispatchChangeEvents): Defined dispatchChangeEvents() for HTML elements described above.
        (WebCore::HTMLElement::dispatchInputEvents): Defined dispatchInputEvents() for HTML elements described above.
        * html/HTMLElement.h:
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Added calling dispatchFormChange() to broadcast formchange events.
        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Defined newly to dispatch an input event with broadcasting forminput events.
        * html/HTMLFormControlElement.h: Added isResettable().
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::broadcastFormEvent): Added to broadcast forminput or formchange events.
        (WebCore::HTMLFormElement::dispatchFormInput): Defined newly to broadcast forminput events.
        (WebCore::HTMLFormElement::dispatchFormChange): Defined newly to broadcast formchange events.
        * html/HTMLFormElement.h:
        * html/HTMLFormElement.idl: Added dispatchFormInput() and dispatchFormChange() DOM API definitions.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::stepUpFromRenderer): Replaced a direct dispatchEvent() call into dispatchInputEvents().
        * html/HTMLInputElement.h: Added isResettable().
        * html/HTMLKeygenElement.h: Added isResettable().
        * html/HTMLObjectElement.h: Added isResettable().
        * html/HTMLOutputElement.h: Added isResettable().
        * html/HTMLSelectElement.h: Added isResettable().
        * html/HTMLTextAreaElement.h: Added isResettable().
        * page/DOMWindow.h: Added event definitions.
        * page/DOMWindow.idl: Added event definitions.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): Replaced a direct dispatchEvent() call into dispatchInputEvents().

2011-01-19  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Extensions API] delete pending callback from callback map before invoking it
        https://bugs.webkit.org/show_bug.cgi?id=52707

        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.ExtensionServerClient.prototype._onCallback):

2011-01-19  Levi Weintraub  <leviw@google.com>

        Reviewed by Ryosuke Niwa.

        Replaced rangeCompliantEquivalent with Position::parentAnchoredEquivalent
        and simplified the logic a bit. Unfortunately, Tables and some legacy
        editing positions still need to be handled specifically.

        remove rangeCompliantEquivalent and replace it with Position methods
        https://bugs.webkit.org/show_bug.cgi?id=25057

        No new tests as this is a refactor that doesn't change behavior.

        * WebCore.exp.in:
        * dom/Document.cpp:
        (WebCore::Document::caretRangeFromPoint):
        * dom/Position.cpp:
        (WebCore::Position::parentAnchoredEquivalent):
        * dom/Position.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::insertNodeAt):
        (WebCore::CompositeEditCommand::moveParagraphs):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializePositionData):
        (WebCore::DeleteSelectionCommand::mergeParagraphs):
        * editing/Editor.cpp:
        (WebCore::Editor::textDirectionForSelection):
        (WebCore::Editor::advanceToNextMisspelling):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::shouldUseBreakElement):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::handleStyleSpansBeforeInsertion):
        * editing/VisiblePosition.cpp:
        (WebCore::makeRange):
        (WebCore::setStart):
        (WebCore::setEnd):
        * editing/VisibleSelection.cpp:
        (WebCore::VisibleSelection::firstRange):
        (WebCore::VisibleSelection::toNormalizedRange):
        (WebCore::makeSearchRange):
        * editing/htmlediting.cpp:
        (WebCore::indexForVisiblePosition):
        * editing/htmlediting.h:
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):
        (WebCore::nextBoundary):
        * page/DOMSelection.cpp:
        (WebCore::anchorPosition):
        (WebCore::focusPosition):
        (WebCore::basePosition):
        (WebCore::extentPosition):

2011-01-19  Peter Rybin  <peter.rybin@gmail.com>

        Reviewed by Yury Semikhatsky.

        Web Inspector: script column offset is incorrect
        https://bugs.webkit.org/show_bug.cgi?id=52580

        Column is updated in 3 places, 2 less probable places contained error.
        Fixed now.

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::advanceSlowCase):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::advancePastNewline):

2011-01-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make InjectedScriptAccess API a part of Web Inspector protocol.
        https://bugs.webkit.org/show_bug.cgi?id=52652

        Calls served by the InjectedScript should be first class protocol
        citizens, not dispatched via single protocol message.

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScript.cpp:
        (WebCore::InjectedScript::evaluate):
        (WebCore::InjectedScript::evaluateInCallFrame):
        (WebCore::InjectedScript::evaluateOnSelf):
        (WebCore::InjectedScript::getCompletions):
        (WebCore::InjectedScript::getProperties):
        (WebCore::InjectedScript::pushNodeToFrontend):
        (WebCore::InjectedScript::resolveNode):
        (WebCore::InjectedScript::getNodeProperties):
        (WebCore::InjectedScript::getNodePrototypes):
        (WebCore::InjectedScript::setPropertyValue):
        (WebCore::InjectedScript::makeCall):
        * inspector/InjectedScript.h:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::evaluate):
        (WebCore::InjectedScriptHost::evaluateInCallFrame):
        (WebCore::InjectedScriptHost::evaluateOnSelf):
        (WebCore::InjectedScriptHost::getCompletions):
        (WebCore::InjectedScriptHost::getProperties):
        (WebCore::InjectedScriptHost::pushNodeToFrontend):
        (WebCore::InjectedScriptHost::resolveNode):
        (WebCore::InjectedScriptHost::getNodeProperties):
        (WebCore::InjectedScriptHost::getNodePrototypes):
        (WebCore::InjectedScriptHost::setPropertyValue):
        (WebCore::InjectedScriptHost::injectedScriptForObjectId):
        (WebCore::InjectedScriptHost::injectedScriptForNodeId):
        (WebCore::InjectedScriptHost::injectedScriptForMainWorld):
        * inspector/InjectedScriptHost.h:
        * inspector/InjectedScriptSource.js:
        (.):
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        * inspector/InspectorController.h:
        * inspector/InspectorValues.cpp:
        (WebCore::InspectorObject::getNumber):
        * inspector/InspectorValues.h:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.evaluateInTargetWindow):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.completions):
        (WebInspector.ConsoleView.prototype.doEvalInWindow):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
        * inspector/front-end/ExtensionPanel.js:
        (WebInspector.ExtensionWatchSidebarPane.prototype.setExpression):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
        * inspector/front-end/InjectedScriptAccess.js: Removed.
        * inspector/front-end/PropertiesSidebarPane.js:
        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
        (WebInspector.PropertiesSidebarPane.prototype.update):
        * inspector/front-end/RemoteObject.js:
        (WebInspector.RemoteObject.resolveNode):
        (WebInspector.RemoteObject.prototype.getProperties):
        (WebInspector.RemoteObject.prototype.setPropertyValue):
        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-01-18  Anton Muhin  <antonm@chromium.org>

        Reviewed by Adam Barth.

        [v8] Minor cleanup: make 2nd argument of removeIfPresnt accept only a value type stored in the DOM map
        https://bugs.webkit.org/show_bug.cgi?id=51683

        Covered by the existing tests.

        * bindings/v8/DOMDataStore.cpp:
        (WebCore::DOMDataStore::weakNodeCallback):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::removeIfPresent):
        * bindings/v8/DOMDataStore.h:
        * bindings/v8/V8DOMMap.h:
        (WebCore::WeakReferenceMap::removeIfPresent):

2011-01-18 MORITA Hajime  <morrita@google.com>

        Reviewed by Ryosuke Niwa.
        
        Refactoring: EventHandler::handleTextInputEvent should accept an enum instead of bools.
        https://bugs.webkit.org/show_bug.cgi?id=52608

        No new tests. no behavioral change.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/TextEvent.cpp:
        (WebCore::TextEvent::create):
        (WebCore::TextEvent::createForDrop):
        (WebCore::TextEvent::TextEvent):
        * dom/TextEvent.h:
        (WebCore::TextEvent::isLineBreak):
        (WebCore::TextEvent::isBackTab):
        (WebCore::TextEvent::isPaste):
        (WebCore::TextEvent::isDrop):
        * dom/TextEventInputType.h: Added. Extracted from TextEvent::TextInputType.
        * editing/EditorCommand.cpp:
        (WebCore::executeInsertBacktab):
        (WebCore::executeInsertLineBreak):
        (WebCore::executeInsertNewline):
        (WebCore::executeInsertTab):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleTextInputEvent):
        * page/EventHandler.h:

2011-01-18  Ben Vanik  <ben.vanik@gmail.com>

        Reviewed by Kenneth Russell.

        Updating ANGLE in WebKit to r533.
        https://bugs.webkit.org/show_bug.cgi?id=47194

        * platform/graphics/ANGLEWebKitBridge.cpp:
        (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
        (WebCore::ANGLEWebKitBridge::~ANGLEWebKitBridge):
        (WebCore::ANGLEWebKitBridge::validateShaderSource):
        Update to new ANGLE API for shader validation.
        * platform/graphics/ANGLEWebKitBridge.h:
        (WebCore::ANGLEWebKitBridge::setResources): 
        Renaming types to new names.
        * platform/graphics/mac/GraphicsContext3DMac.mm:
        (WebCore::GraphicsContext3D::GraphicsContext3D):
        Initialize ANGLEResources with ANGLE init call to prevent uninitialized variables.

2011-01-18  MORITA Hajime  <morrita@google.com>

        Reviewed by Simon Fraser.

        Refactoring: Extract RoundedIntRect class
        https://bugs.webkit.org/show_bug.cgi?id=51664

        RoundedIntRect is a pair of rect and four IntSize objects which represent
        corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
        Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
        return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
        and other functions accept RoundedIntRect as an argument.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::clipOutRoundedRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/RoundedIntRect.cpp: Added.
        (WebCore::RoundedIntRect::Radii::isZero):
        (WebCore::RoundedIntRect::Radii::scale):
        (WebCore::RoundedIntRect::Radii::expand):
        (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
        (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
        (WebCore::RoundedIntRect::RoundedIntRect):
        (WebCore::RoundedIntRect::includeLogicalEdges):
        (WebCore::RoundedIntRect::excludeLogicalEdges):
        * platform/graphics/RoundedIntRect.h: Added.
        (WebCore::RoundedIntRect::Radii::Radii):
        (WebCore::RoundedIntRect::Radii::setTopLeft):
        (WebCore::RoundedIntRect::Radii::setTopRight):
        (WebCore::RoundedIntRect::Radii::setBottomLeft):
        (WebCore::RoundedIntRect::Radii::setBottomRight):
        (WebCore::RoundedIntRect::Radii::topLeft):
        (WebCore::RoundedIntRect::Radii::topRight):
        (WebCore::RoundedIntRect::Radii::bottomLeft):
        (WebCore::RoundedIntRect::Radii::bottomRight):
        (WebCore::RoundedIntRect::Radii::expand):
        (WebCore::RoundedIntRect::Radii::shrink):
        (WebCore::RoundedIntRect::rect):
        (WebCore::RoundedIntRect::radii):
        (WebCore::RoundedIntRect::isRounded):
        (WebCore::RoundedIntRect::isEmpty):
        (WebCore::RoundedIntRect::setRect):
        (WebCore::RoundedIntRect::setRadii):
        (WebCore::RoundedIntRect::move):
        (WebCore::RoundedIntRect::inflate):
        (WebCore::RoundedIntRect::inflateWithRadii):
        (WebCore::RoundedIntRect::expandRadii):
        (WebCore::RoundedIntRect::shrinkRadii):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/style/BorderData.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):
        (WebCore::calcConstraintScaleFor):
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setBorderRadius):

2011-01-18  MORITA Hajime  <morrita@google.com>

        Reviewed by Simon Fraser.

        Refactoring: Extract RoundedIntRect class
        https://bugs.webkit.org/show_bug.cgi?id=51664

        RoundedIntRect is a pair of rect and four IntSize objects which represent
        corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
        Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
        return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
        and other functions accept RoundedIntRect as an argument.

        No new tests. No behavioral change.

        * Android.mk:
        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::clipOutRoundedRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/RoundedIntRect.cpp: Added.
        (WebCore::RoundedIntRect::Radii::isZero):
        (WebCore::RoundedIntRect::Radii::scale):
        (WebCore::RoundedIntRect::Radii::expand):
        (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
        (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
        (WebCore::RoundedIntRect::RoundedIntRect):
        (WebCore::RoundedIntRect::includeLogicalEdges):
        (WebCore::RoundedIntRect::excludeLogicalEdges):
        * platform/graphics/RoundedIntRect.h: Added.
        (WebCore::RoundedIntRect::Radii::Radii):
        (WebCore::RoundedIntRect::Radii::setTopLeft):
        (WebCore::RoundedIntRect::Radii::setTopRight):
        (WebCore::RoundedIntRect::Radii::setBottomLeft):
        (WebCore::RoundedIntRect::Radii::setBottomRight):
        (WebCore::RoundedIntRect::Radii::topLeft):
        (WebCore::RoundedIntRect::Radii::topRight):
        (WebCore::RoundedIntRect::Radii::bottomLeft):
        (WebCore::RoundedIntRect::Radii::bottomRight):
        (WebCore::RoundedIntRect::Radii::expand):
        (WebCore::RoundedIntRect::Radii::shrink):
        (WebCore::RoundedIntRect::rect):
        (WebCore::RoundedIntRect::radii):
        (WebCore::RoundedIntRect::isRounded):
        (WebCore::RoundedIntRect::isEmpty):
        (WebCore::RoundedIntRect::setRect):
        (WebCore::RoundedIntRect::setRadii):
        (WebCore::RoundedIntRect::move):
        (WebCore::RoundedIntRect::inflate):
        (WebCore::RoundedIntRect::inflateWithRadii):
        (WebCore::RoundedIntRect::expandRadii):
        (WebCore::RoundedIntRect::shrinkRadii):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/style/BorderData.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):
        (WebCore::calcConstraintScaleFor):
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setBorderRadius):

2011-01-18  Victoria Kirst  <vrk@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Adding support for YV16 video frame formats.
        https://bugs.webkit.org/show_bug.cgi?id=52345

        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::determineTextureFormat):
        (WebCore::VideoLayerChromium::draw):

2011-01-18  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8479998> REGRESSION (r67660): broken button layout at devforums.apple.com
        
        Exclude floating objects from shrinking to avoid floats.  They should never do this.  Timing-related bugs could
        occur as a result of this mistake, and the change to rewrite pagination to defer layout of floats until they
        got encountered on the correct line exposed this issue.

        Added /fast/block/float/float-overflow-hidden-containing-block-width.html.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::shrinkToAvoidFloats):

2011-01-18  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Make CheckedInt<long> and CheckedInt<unsigned long> work
        https://bugs.webkit.org/show_bug.cgi?id=52401

        * html/canvas/CheckedInt.h:
        (WebCore::CheckedInt::CheckedInt): Merge with the patch provided by Benoit Jacob.
        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::associateBufferDataImpl): Use CheckedInt<long> instead of CheckedInt<int>.
        (WebCore::WebGLBuffer::associateBufferSubDataImpl): Ditto.

2011-01-18  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Must strip comments from WebGL shaders before enforcing character set
        https://bugs.webkit.org/show_bug.cgi?id=52390

        Strip comments from incoming shaders, preserving line numbers,
        before validating that they conform to the ESSL character set.
        Revert changes from http://trac.webkit.org/changeset/75735 which
        allowed invalid characters to be passed to certain APIs.

        Tested with WebGL layout tests, conformance test suite and several
        WebGL demos in both Safari and Chromium.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::StripComments::StripComments::process):
        (WebCore::WebGLRenderingContext::shaderSource):

2011-01-18  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Stop instantiating legacy editing positions in DeleteSelectionCommand, IndentOudentCommand,
        InsertLineBreakCommand, InsertListCOmmand.cpp, InsertParagraphSeparatorCommand, and htmlediting.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52644

        This is a cleanup to stop instantiating legacy editing positions in the following tests.
        firstDeepEditingPositionForNode and lastDeepEditingPositionForNode in htmlediting.h are not updated
        because doing so requires significant code changes. They are tracked on the bug 52642.

        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::initializeStartEnd):
        (WebCore::updatePositionForNodeRemoval):
        (WebCore::DeleteSelectionCommand::removeNode):
        (WebCore::updatePositionForTextRemoval):
        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::outdentParagraph):
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply):
        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApplyForSingleParagraph):
        (WebCore::InsertListCommand::unlistifyParagraph):
        (WebCore::InsertListCommand::listifyParagraph):
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::doApply):
        * editing/htmlediting.cpp:
        (WebCore::enclosingBlock):
        (WebCore::enclosingList):
        (WebCore::enclosingListChild):
        (WebCore::indexForVisiblePosition):
        (WebCore::isNodeVisiblyContainedWithin):
        (WebCore::avoidIntersectionWithNode):

2011-01-18  Benjamin Kalman  <kalman@chromium.org>

        Reviewed by Ryosuke Niwa.

        Tweak style in visible_units.cpp and TextIterator.cpp in preparation for another patch
        https://bugs.webkit.org/show_bug.cgi?id=52610

        This is a purely aesthetic change.

        * editing/TextIterator.cpp:
        (WebCore::SimplifiedBackwardsTextIterator::advance):
        * editing/visible_units.cpp:
        (WebCore::previousBoundary):

2011-01-18  Adam Klein  <adamk@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Replace ChromiumBridge::widgetSetCursor with ChromeClient::setCursor
        https://bugs.webkit.org/show_bug.cgi?id=42236

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/WidgetChromium.cpp:
        (WebCore::Widget::setCursor):

2011-01-18  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        REGRESSION: A problem with Voiceover and finding links
        https://bugs.webkit.org/show_bug.cgi?id=52324

        Fallout from recent change to make WebCore return its own scroll view.
           1) There were two scroll views in the hierarchy, one which no needed to be ignored.
           2) Hit tests for sub frames needed to be offset.
           3) The check for whether an attachment is ignored must happen earlier than using
              the helpText to determine if an element should be ignored.

        Test: platform/mac/accessibility/iframe-with-title-correct-hierarchy.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper scrollViewParent]):

2011-01-18  Adam Roben  <aroben@apple.com>

        Call alternate CFHTTPCookie functions if available

        Fixes <http://webkit.org/b/52637> <rdar://problem/8878984>.

        Reviewed by Darin Adler.

        * platform/network/cf/CookieJarCFNet.cpp: Added soft-linking macros to
        pull in the alternate CFHTTPCookie functions.

        (WebCore::cookieDomain):
        (WebCore::cookieExpirationTime):
        (WebCore::cookieName):
        (WebCore::cookiePath):
        (WebCore::cookieValue):
        Added these wrappers around the CFHTTPCookie functions. We call the
        alternate functions if they exist, otherwise fall back to the current
        functions.

        (WebCore::filterCookies):
        (WebCore::getRawCookies):
        (WebCore::deleteCookie):
        Changed to use the wrapper functions.

2011-01-18  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] Filenames are converted to URLs during edit drags
        https://bugs.webkit.org/show_bug.cgi?id=52096

        * platform/gtk/DragDataGtk.cpp: Only advertise and deliver filenames as URLs if the
        conversion policy allows it.
        (WebCore::DragData::containsURL): Ditto.
        (WebCore::DragData::asURL): Ditto.

2011-01-18  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Incorrect shadow alpha with semi-transparent solid fillStyle
        https://bugs.webkit.org/show_bug.cgi?id=52611

        This is related to bug 52559. The shadow color alpha must be multiplied
        by the context brush alpha.

        Test: fast/canvas/canvas-fillPath-alpha-shadow.html

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillPath):

2011-01-18  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: fail resource.requestContent() immediately for WebSocket resources
        https://bugs.webkit.org/show_bug.cgi?id=52628

        * English.lproj/localizedStrings.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)
        * inspector/front-end/ExtensionServer.js: Do not expose webInspector.resources.Types in extensions API (obsolete)
        (WebInspector.ExtensionServer.prototype._buildExtensionAPIInjectedScript):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toUIString): Remove ResourceType.Media as it's not used.
        (WebInspector.Resource.Type.toString): ditto.
        (WebInspector.Resource.prototype.requestContent): Fail immediately for WebSocket resources.
        * inspector/front-end/inspector.js: Rename WebSocket -> WebSockets in resource catetegories (rest are in plural, too)

2011-01-18  Helder Correia  <helder@sencha.com>

        Reviewed by Dirk Schulze.

        REGRESSION(75139): SVG gradients are not applied to texts
        https://bugs.webkit.org/show_bug.cgi?id=52531

        r75139 caused a problem with filling and stroking text with a gradient
        fill in SVG. The order of CGContextConcatCTM and CGContextClipToRect
        was mixed up.

        Test: svg/css/text-gradient-shadow.svg

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):

2011-01-18  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by Nikolas Zimmermann.

        Unable to indirectly animate visibility of SVGUseElement
        https://bugs.webkit.org/show_bug.cgi?id=50240

        SVGUseElement::recalcStyle should take care of its shadow
        tree's style recalculation when it is called with change >= Inherit
        or when childNeedsStyleRecalc() is true because in these two
        cases needStyleRecalc() may not be true.

        Test: svg/custom/use-inherit-style.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::recalcStyle):

2011-01-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: provide script length to frontend.
        https://bugs.webkit.org/show_bug.cgi?id=52620

        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
        * inspector/front-end/Script.js:
        (WebInspector.Script):

2011-01-18  Zoltan Herczeg  <zherczeg@webkit.org>

        Rubber-stamped by Csaba Osztrogonác

        Fixing ChangeLog

        Removing a line introduced by
        http://trac.webkit.org/changeset/75743/trunk/Source/WebCore/ChangeLog
        Removing an unnecessary space before a time stamp.

2011-01-17  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [refactoring] use events to notify NetworkManager clients
        https://bugs.webkit.org/show_bug.cgi?id=52588

        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView): Do not expose public interface to resource count. Do not reset resource count upon reset().
        (WebInspector.AuditLauncherView.prototype._resetResourceCount):
        (WebInspector.AuditLauncherView.prototype._onResourceStarted):
        (WebInspector.AuditLauncherView.prototype._onResourceFinished):
        * inspector/front-end/AuditsPanel.js: Do not expose public interface to resource start/finish events.
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
        (WebInspector.ExtensionServer.prototype.initExtensions):
        * inspector/front-end/NetworkManager.js: Dispatch events rather than directly call clients.
        (WebInspector.NetworkManager):
        (WebInspector.NetworkManager.prototype.willSendRequest):
        (WebInspector.NetworkManager.prototype.markResourceAsCached):
        (WebInspector.NetworkManager.prototype.didReceiveResponse):
        (WebInspector.NetworkManager.prototype.didReceiveContentLength):
        (WebInspector.NetworkManager.prototype.setInitialContent):
        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
        (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
        (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
        (WebInspector.NetworkManager.prototype._startResource):
        (WebInspector.NetworkManager.prototype._finishResource):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype._onResourceStarted):
        (WebInspector.NetworkPanel.prototype._appendResource):
        (WebInspector.NetworkPanel.prototype._onResourceUpdated):
        (WebInspector.NetworkPanel.prototype._refreshResource):
        (WebInspector.NetworkPanel.prototype._onMainResourceChanged):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel):
        (WebInspector.ResourcesPanel.prototype._refreshResource):

2011-01-18  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: preserve pause on exception state in settings.
        https://bugs.webkit.org/show_bug.cgi?id=52619

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::getInspectorState):
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled):
        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsState):
        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings):
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone.populateInspectorState):

2011-01-18  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] JavaScript exceptions aren't shown in source frame.
        https://bugs.webkit.org/show_bug.cgi?id=52623

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.prototype._formatMessage):

2011-01-18  Pavel Feldman  <pfeldman@chromium.org>

        Revert r76017. No need to guard InspectorInstrumentation:: in WebCore.

        * page/Page.cpp:
        (WebCore::networkStateChanged):

2011-01-18  Konstantin Tokarev  <annulen@yandex.ru>

        Reviewed by Kent Tamura.

        Fixed compilation when Inspector is disabled
        https://bugs.webkit.org/show_bug.cgi?id=52564

        * page/Page.cpp:
        (WebCore::networkStateChanged): Added ENABLE(INSPECTOR) guard

2011-01-18  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r76004, r76005, r76007, and r76011.
        http://trac.webkit.org/changeset/76004
        http://trac.webkit.org/changeset/76005
        http://trac.webkit.org/changeset/76007
        http://trac.webkit.org/changeset/76011
        https://bugs.webkit.org/show_bug.cgi?id=51664

        The r76004 broke pixel tests.
        (The failure was missed due to the tolerance.)

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::clipOutRoundedRect):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/RoundedIntRect.cpp: Removed.
        * platform/graphics/RoundedIntRect.h: Removed.
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        (WebCore::uniformlyExpandBorderRadii):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/style/BorderData.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::constrainCornerRadiiForRect):
        (WebCore::RenderStyle::getBorderRadiiForRect):
        (WebCore::RenderStyle::getInnerBorderRadiiForRectWithBorderWidths):
        * rendering/style/RenderStyle.h:

2011-01-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: add source column field to debugger call frames.
        https://bugs.webkit.org/show_bug.cgi?id=52443

        * bindings/js/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::JavaScriptCallFrame):
        * bindings/js/JavaScriptCallFrame.h:
        (WebCore::JavaScriptCallFrame::create):
        (WebCore::JavaScriptCallFrame::line):
        (WebCore::JavaScriptCallFrame::column):
        (WebCore::JavaScriptCallFrame::update):
        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
        (WebCore::ScriptDebugServer::callEvent):
        (WebCore::ScriptDebugServer::atStatement):
        (WebCore::ScriptDebugServer::returnEvent):
        (WebCore::ScriptDebugServer::exception):
        (WebCore::ScriptDebugServer::willExecuteProgram):
        (WebCore::ScriptDebugServer::didExecuteProgram):
        (WebCore::ScriptDebugServer::didReachBreakpoint):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/JavaScriptCallFrame.cpp:
        (WebCore::JavaScriptCallFrame::column):
        * bindings/v8/JavaScriptCallFrame.h:
        * inspector/InjectedScriptSource.js:
        ():
        * inspector/JavaScriptCallFrame.idl:

2011-01-18  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Hyatt.

        https://bugs.webkit.org/show_bug.cgi?id=52370
        <rdar://problem/8856808>
        Style sharing optimization no longer works on major web sites
        
        The code in CSSStyleSelector::locateSharedStyle() that tries to share style information between element has been defeated 
        by widespread use of certain CSS selectors (:first-child pseudo class and similar). The current implementation disables
        the sharing optimization for the whole page if one of these constructs is seen in any style sheet used by the page.  
        
        This patch gets the style sharing back to 25-40% range on most web sites.

        * css/CSSMutableStyleDeclaration.h:
        (WebCore::CSSMutableStyleDeclaration::propertiesEqual):
            
            Needed to improve equality checking in NamedNodeMap::mappedMapsEquivalent.
        
        * css/CSSSelector.h:
        (WebCore::CSSSelector::isSiblingSelector):
        
            Test for selectors that are affected by the sibling elements.
        
        * css/CSSStyleSelector.cpp:
        (WebCore::elementCanUseSimpleDefaultStyle):
        (WebCore::collectSiblingRulesInDefaultStyle):
        (WebCore::assertNoSiblingRulesInDefaultStyle):
            
            Extract sibling rules from the MathML default stylesheet. 
            Assert that no other default stylesheet has them.
            
        (WebCore::CSSStyleSelector::CSSStyleSelector):
        (WebCore::CSSStyleSelector::locateCousinList):
        (WebCore::CSSStyleSelector::matchesSiblingRules):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::collectIdsAndSiblingRulesFromList):
        (WebCore::CSSRuleSet::collectIdsAndSiblingRules):

            Track sibling rules and ids used in the stylesheets to allow much more fine-grained rejection of cases
            where style sharing can't be used.

        * css/CSSStyleSelector.h:
        * dom/NamedNodeMap.cpp:
        (WebCore::NamedNodeMap::mappedMapsEquivalent):
            
            Check also for CSSValue mutation from DOM. 
            
        * mathml/MathMLMathElement.cpp:
        (WebCore::MathMLMathElement::insertedIntoDocument):
        * mathml/MathMLMathElement.h:
        
            MathML default style sheet has sibling rules which don't get noticed by the normal document
            stylesheet parsing.
        
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setFirstChildState):
        (WebCore::InheritedFlags::setLastChildState):
        (WebCore::InheritedFlags::setChildIndex):
        
            These all make style non-shareable (unique).

2011-01-18  MORITA Hajime  <morrita@google.com>

        Unreviewed crash fix on release builds.

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):

2011-01-18  Pavel Podivilov  <podivilov@chromium.org>

        Unreviewed, update localizedStrings.js.

        * English.lproj/localizedStrings.js:

2011-01-11  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: implement script beautifier prototype.
        https://bugs.webkit.org/show_bug.cgi?id=51588

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/ScriptFormatter.js: Added.
        (WebInspector.ScriptFormatter): Implements JavaScript source beautification and conversion between original and
        formatted line numbers
        (WebInspector.ScriptFormatter.findLineEndings):
        (WebInspector.ScriptFormatter.locationToPosition):
        (WebInspector.ScriptFormatter.positionToLocation):
        (WebInspector.ScriptFormatter.upperBound):
        (WebInspector.ScriptFormatter.prototype.format):
        (WebInspector.ScriptFormatter.prototype.originalLineNumberToFormattedLineNumber):
        (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalLineNumber):
        (WebInspector.ScriptFormatter.prototype.originalPositionToFormattedLineNumber):
        (WebInspector.ScriptFormatter.prototype.formattedLineNumberToOriginalPosition):
        (WebInspector.ScriptFormatter.prototype._convertPosition):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
        (WebInspector.ScriptsPanel.prototype._formatScript):
        * inspector/front-end/SourceFrame.js: Convert original line numbers to UI line numbers and vice versa
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2011-01-18  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, GTK build fix as follow-up of r76004.

        * GNUmakefile.am: Include RoundedIntRect files in the build

2011-01-18  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, rolling out r76002.
        http://trac.webkit.org/changeset/76002
        https://bugs.webkit.org/show_bug.cgi?id=49790

        breaks a bunch of fast/forms tests on mac and GTK

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setRenderStyle):

2011-01-18 MORITA Hajime <morrita@google.com>

        Unreviewed windows build fix.

        * WebCore.vcproj/WebCore.vcproj:

2011-01-17  MORITA Hajime  <morrita@google.com>

        Reviewed by Simon Fraser.

        Refactoring: Extract RoundedIntRect class
        https://bugs.webkit.org/show_bug.cgi?id=51664

        RoundedIntRect is a pair of rect and four IntSize objects which represent
        corner radii of the rectangle. IntSize is grouped into RoundedIntRect::Radii.
        Now RenderStyle::getRoundedBorderFor() and RenderStyle::getRoundedInnerBorderWithBorderWidths()
        return RoundedIntRect and GraphicsContext::addRoundedRectClip(), GraphicsContext::fillRoundedRect()
        and other functions accept RoundedIntRect as an argument.

        No new tests. No behavioral change.

        * Android.mk:
        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip):
        (WebCore::GraphicsContext::clipOutRoundedRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/RoundedIntRect.cpp: Added.
        (WebCore::RoundedIntRect::Radii::isZero):
        (WebCore::RoundedIntRect::Radii::scale):
        (WebCore::RoundedIntRect::Radii::expand):
        (WebCore::RoundedIntRect::Radii::includeLogicalEdges):
        (WebCore::RoundedIntRect::Radii::excludeLogicalEdges):
        (WebCore::RoundedIntRect::RoundedIntRect):
        (WebCore::RoundedIntRect::includeLogicalEdges):
        (WebCore::RoundedIntRect::excludeLogicalEdges):
        * platform/graphics/RoundedIntRect.h: Added.
        (WebCore::RoundedIntRect::Radii::Radii):
        (WebCore::RoundedIntRect::Radii::setTopLeft):
        (WebCore::RoundedIntRect::Radii::setTopRight):
        (WebCore::RoundedIntRect::Radii::setBottomLeft):
        (WebCore::RoundedIntRect::Radii::setBottomRight):
        (WebCore::RoundedIntRect::Radii::topLeft):
        (WebCore::RoundedIntRect::Radii::topRight):
        (WebCore::RoundedIntRect::Radii::bottomLeft):
        (WebCore::RoundedIntRect::Radii::bottomRight):
        (WebCore::RoundedIntRect::Radii::expand):
        (WebCore::RoundedIntRect::Radii::shrink):
        (WebCore::RoundedIntRect::location):
        (WebCore::RoundedIntRect::size):
        (WebCore::RoundedIntRect::x):
        (WebCore::RoundedIntRect::y):
        (WebCore::RoundedIntRect::width):
        (WebCore::RoundedIntRect::height):
        (WebCore::RoundedIntRect::right):
        (WebCore::RoundedIntRect::bottom):
        (WebCore::RoundedIntRect::rect):
        (WebCore::RoundedIntRect::radii):
        (WebCore::RoundedIntRect::isRounded):
        (WebCore::RoundedIntRect::isEmpty):
        (WebCore::RoundedIntRect::setRect):
        (WebCore::RoundedIntRect::setRadii):
        (WebCore::RoundedIntRect::move):
        (WebCore::RoundedIntRect::inflate):
        (WebCore::RoundedIntRect::inflateWithRadii):
        (WebCore::RoundedIntRect::expandRadii):
        (WebCore::RoundedIntRect::shrinkRadii):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::pushContentsClip):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        (WebCore::RenderBoxModelObject::paintBorder):
        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
        (WebCore::RenderBoxModelObject::paintBoxShadow):
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::drawBoxSideFromPath):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::paint):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintSliderTrack):
        * rendering/RenderThemeWinCE.cpp:
        (WebCore::RenderThemeWinCE::paintSearchFieldCancelButton):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::paint):
        * rendering/style/BorderData.h:
        * rendering/style/RenderStyle.cpp:
        (WebCore::calcRadiiFor):
        (WebCore::calcConstraintScaleFor):
        (WebCore::RenderStyle::getRoundedBorderFor):
        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
        * rendering/style/RenderStyle.h:
        (WebCore::InheritedFlags::setBorderRadius):

2011-01-17  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Kent Tamura.

        Color changes to option elements in a select multiple aren't drawn immediately
        https://bugs.webkit.org/show_bug.cgi?id=49790

        Redirect style changes on <option> element to the owner <select> element.

        Tests: fast/forms/select-option-background-color-change.html
               fast/forms/select-option-color-change.html
               fast/forms/select-option-visibility-change.html

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::setRenderStyle):

2011-01-17  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r75995.
        http://trac.webkit.org/changeset/75995
        https://bugs.webkit.org/show_bug.cgi?id=51914

        Causes assertion failures.

        * dom/Element.cpp:
        (WebCore::Element::shadowRoot):
        (WebCore::Element::setShadowRoot):
        (WebCore::Element::removeShadowRoot):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData):

2011-01-17  MORITA Hajime  <morrita@google.com>

        Unreviewed, rolling out r75999.
        http://trac.webkit.org/changeset/75999

        * dom/Element.cpp:
        (WebCore::Element::removeShadowRoot):

2011-01-17 MORITA Hajime  <morrita@google.com>

        Unreviewed crash fix, which introduced at r75995

        * dom/Element.cpp:
        (WebCore::Element::removeShadowRoot):

2011-01-17  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        ElementRareData::m_shadowRoot should not be RefPtr.
        https://bugs.webkit.org/show_bug.cgi?id=51914

        This change makes m_shadowRoot a raw pointer, as Node::m_parent is.
        This change is safe because shadow host pointer is stored as TreeShared::m_parent
        which prevents deletion unless set to null.
        
        No test, no behavioral change.

        * dom/Element.cpp:
        (WebCore::Element::shadowRoot):
        (WebCore::Element::setShadowRoot):
        (WebCore::Element::removeShadowRoot):
        * dom/ElementRareData.h:
        (WebCore::ElementRareData::ElementRareData):

2011-01-17  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        Some WebKit2 layout tests crash due to focus being on a frame in the page cache
        https://bugs.webkit.org/show_bug.cgi?id=52607

        No new tests. Existing tests crash in WebKit2 without this fix.
        
        I suspect there are other consequences besides the WebKit2 crash, but I
        was unable to identify any for certain.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrame::CachedFrame): If a frame still has focus when its page
        goes in the page cache, reset focus to the main frame.

2011-01-17  Adam Roben  <aroben@apple.com>

        Simplify WKCACFLayerRenderer's API

        createRenderer/destroyRenderer are now hidden behind setHostWindow.
        WKCACFLayerRendererClient::animationsStarted has been removed, as it
        was never called. (The work it was supposed to do was already being
        accomplished by WKCACFLayerRenderer::render telling each layer that
        animations are starting.)

        Fixes <http://webkit.org/b/52587> WKCACFLayerRenderer is hard to use

        Reviewed by Chris Marrin.

        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Moved the
        call to setHostWindow here from the WM_CREATE handler. The WM_CREATE
        handler was causing the Direct3D device to be created, but MSDN says
        you shouldn't create a device while handling WM_CREATE. Removed
        no-longer-needed call to createRenderer (setHostWindow does this now)
        and the never-needed call to setNeedsDisplay (we never draw into the
        root layer; this was just creating an unnecessary backing store the
        size of the screen!).
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): Moved WM_CREATE
        code, as described above. Removed call to destroyRenderer when handling
        WM_DESTROY; setHostWindow does this now. Fixed up our WM_PAINT handler
        to do a synchronous paint and to clear our dirty region, while I was in
        here.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Changed to call
        setHostWindow instead of destroyRenderer; the former calls the latter
        if needed.
        (WebCore::WKCACFLayerRenderer::setHostWindow): Moved here from the
        header file. Destroys our old renderer (i.e., IDirect3DDevice9) if
        we're losing our window, or creates a renderer if we're gaining a
        window.
        (WebCore::WKCACFLayerRenderer::createRenderer): Updated for WKSI function rename.
        (WebCore::WKCACFLayerRenderer::destroyRenderer): Changed to clear the
        D3D device from our context before releasing the device.

        * platform/graphics/win/WKCACFLayerRenderer.h: Removed
        WKCACFLayerRendererClient::animationsStarted. Removed setNeedsDisplay.
        Make createRenderer, destroyRenderer, and renderSoon private.

2011-01-17  Adam Roben  <aroben@apple.com>

        Remove special-cased support for providing content for the root layer

        Clients will just have to provide content through the normal
        GraphicsLayer channels now!

        Support for <http://webkit.org/b/52582> WebView should paint directly
        into a GraphicsLayer when in accelerated compositing mode

        Reviewed by Simon Fraser and Chris Marrin.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer): Removed
        initialization of m_backingStoreDirty, which has itself been removed.
        (WebCore::WKCACFLayerRenderer::setNeedsDisplay): Moved code to schedule
        a sync from here to syncCompositingStateSoon. We only need to call
        renderSoon if we don't call syncCompositingStateSoon; the latter
        function calls the former.
        (WebCore::WKCACFLayerRenderer::paint): Removed code to handle
        m_backingStoreDirty. We don't want to know anything about clients'
        backing stores.
        (WebCore::WKCACFLayerRenderer::syncCompositingStateSoon): Added. Code
        came from setNeedsDisplay.

        * platform/graphics/win/WKCACFLayerRenderer.h:
        Removed setRootContents[AndDisplay], setBackingStoreDirty, and
        m_backingStoreDirty. Made paint() public so that clients can force a
        synchronous render (e.g., when handling WM_PAINT).

2011-01-17  Adam Roben  <aroben@apple.com>

        Remove contexts from WKCACFContextFlusher before destroying them

        We aren't really using WKCACFContextFlusher for anything useful at the
        moment, but that will probably change in the near future.

        I couldn't come up with a way to test this because it isn't possible to
        resize a window in DumpRenderTree.

        Fixes <http://webkit.org/b/52573> REGRESSION (r75262): Crash beneath
        WKCACFContextFlusher::flushAllContexts when resizing window on page
        that uses accelerated compositing

        Reviewed by Simon Fraser.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::~WKCACFLayerRenderer): Remove our
        context from WKCACFContextFlusher. (This code was erroneously removed
        from WKCACFLayerRenderer::destroyRenderer in r75262. This is a more
        sensible place for it.)

2011-01-17  Adam Roben  <aroben@apple.com>

        Don't access the CACFLayerRef's sublayers directly from PlatformCALayer

        There might be a secret extra sublayer (the tile parent layer) that
        PlatformCALayer doesn't know about. When PlatformCALayer would
        encounter this, it would try to use the tile parent layer's
        PlatformCALayer wrapper, which was null, and then would crash. We now
        ask PlatformCALayerWinInternal for the sublayer list, since that class
        knows about the tile parent layer and can exclude it from the sublayer
        list.

        Covered by compositing/tiling/huge-layer-resize.html.

        Fixes <http://webkit.org/b/52597> Crash beneath
        PlatformCALayer::adoptSublayers when switching out of tiling mode
        (null-dereference of a PlatformCALayer)

        Reviewed by Darin Adler and Chris Marrin.

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::adoptSublayers):
        (printLayer):
        Changed to use PlatformCALayerWinInternal::getSublayers.

        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp:
        (PlatformCALayerWinInternal::getSublayers): Added. Retrieves the list
        of PlatformCALayers that represent our sublayers. Significantly, this
        code knows about the tile parent layer and can thus exclude it.

        * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added
        getSublayers.

2011-01-17  Naoki Takano  <takano.naoki@gmail.com>

        Reviewed by Kent Tamura.

        [Chromium] Fix popup menu re-positioning when the menu is opened upward, above the corresponding form field.
        https://bugs.webkit.org/show_bug.cgi?id=51382
        http://crbug.com/60427

        Calculate correct location of popup window whenever the items in the window change.

        No new tests, because this fix is for Chromium project and hard to test only in WebKit project

        * platform/chromium/PopupMenuChromium.cpp:
        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): New Function to layout and calculate popup widget rect.
        (WebCore::PopupContainer::showPopup): Move widgetRect calculation logic to calculateWidgetRect().
        (WebCore::PopupContainer::refresh): Add parameter focusRect to take the location and the size of focus text input field to calculate correct popup window location.
        * platform/chromium/PopupMenuChromium.h: Append new input parameter for refresh().

2011-01-17  Mark Rowe  <mrowe@apple.com>

        Fix the 32-bit build.

        * WebCore.exp.in:

2011-01-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Use of invalid hash map key in CSSFontFaceSource::getFontData() with 0-sized remote font
        https://bugs.webkit.org/show_bug.cgi?id=52598

        Test: fast/css/font-face-zero-hash-key.html

        * css/CSSFontFaceSource.cpp:
        (WebCore::CSSFontFaceSource::getFontData): Add 1 to the font size to avoid a 0 hash key.
        * css/CSSSegmentedFontFace.cpp:
        (WebCore::CSSSegmentedFontFace::getFontData): Ditto.

2011-01-17  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/52596> Add missing DOMDocument/DOMDocumentFragment headers to Xcode project

        Reviewed by Dan Bernstein.

        This fixes two issues:

        Add missing DOMDocumentFragmentPrivate.h and
        DOMDocumentPrivate.h files to the project.  These files were
        never added to the the project although their *Internal.h
        counterparts were added in r16548 and r17390.

        Add missing DOMDocumentFragmentInternal.h to the Headers
        section.  It was moved from Headers to "Copy Generated Headers"
        in r31045, but it should have an entry in both sections.

        * WebCore.xcodeproj/project.pbxproj:

2011-01-17  Helder Correia  <helder@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Incorrect shadow alpha with pattern fillStyle
        https://bugs.webkit.org/show_bug.cgi?id=52559

        The shadow color opacity needs to be set on the shadow painter.
        This is related to bug 52556.

        Test: fast/canvas/canvas-fillPath-pattern-shadow.html

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillPath):

2011-01-17  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Andreas Kling.

        [GTK] Port a crash fix from libsoup upstream to the libsoup cache code
        https://bugs.webkit.org/show_bug.cgi?id=52586

        No new tests. This is just a merge from upstream.

        * platform/network/soup/cache/soup-http-input-stream.c:
        (webkit_soup_http_input_stream_got_chunk): Properly handle unsigned numbers.

2011-01-17  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Fix some headers with missing or misspelled #ifndef guards
        https://bugs.webkit.org/show_bug.cgi?id=52545

        No new tests because no new functionality.

        * ForwardingHeaders/runtime/InitializeThreading.h:
        * editing/SmartReplace.h:
        * loader/CrossOriginAccessControl.h:
        * loader/NetscapePlugInStreamLoader.h:
        * platform/chromium/ClipboardUtilitiesChromium.h:
        * platform/graphics/cairo/DrawErrorUnderline.h:
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
        * platform/graphics/cg/PDFDocumentImage.h:
        * platform/win/WebCoreTextRenderer.h:

2011-01-17  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: follow-up fix for r52574: do not reuse clear() for navigation.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.clear):
        (WebInspector.NetworkPanel.prototype.mainResourceChanged):

2011-01-17  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        [Gtk] No need to content sniff 304 Not Modified responses
        https://bugs.webkit.org/show_bug.cgi?id=52570

        Makes no sense to wait for the outcome of content sniffing when WebCore
        is validating resources. If we get a 304 Not Modified it means that we can
        safely use the cached version of the resource we're asking for.

        No new tests because it does not change functionality, it just
        calls didReceiveResponse sooner for 304 Not Modified responses.

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::gotHeadersCallback):

2011-01-17  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Anders Carlsson.

        REGRESSION: Assertion failure in FrameLoader::continueLoadAfterWillSubmitForm() when
        navigating back to an unreachable URL
        https://bugs.webkit.org/show_bug.cgi?id=52388

        Test: http/tests/navigation/go-back-to-error-page.html

        * history/PageCache.cpp:
        (WebCore::PageCache::canCachePageContainingThisFrame):
        Do not cache any error pages (which we can recognize as having substitute data and/or an
        unreachableURL).

2011-01-17  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: fixing typo in r75952.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):

2011-01-17  Enrica Casucci  <enrica@apple.com>

        Reviewed by Alexey Proskuryakov.

        Drag and drop support: refactoring of image from link and image from selection
        https://bugs.webkit.org/show_bug.cgi?id=52496

        This work cleans up the Mac code and makes it more similar to the Windows implementation,
        avoiding the use of an NSView when the FrameView can be used.
        The refactoring is a necessary step towards the complete support of drag and drop
        in WebKit2.
        
        * page/mac/FrameMac.mm:
        (WebCore::Frame::imageFromRect): Modified to use FrameView instead of NSView
        to generate the image for drag.

2011-01-17  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        Update xcodeproj svn:ignore to include xcuserdata.

        * WebCore.xcodeproj: Modified property svn:ignore.
        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.

2011-01-17  Alexey Proskuryakov  <ap@apple.com>

        Leopard build fix.

        * page/PrintContext.cpp: GCC complained about shortening a double value to float.

2011-01-17  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Dan Bernstein.

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

        No change in behavior, so no tests.

        * WebCore.exp.in: Export additional methods, as I'm going to use more code from PrintContext.

        * page/PrintContext.cpp:
        (WebCore::PrintContext::~PrintContext): No need to clear m_pageRects, the object is being
        destroyed already.
        (WebCore::PrintContext::pageCount): Changed page count from int to size_t.
        (WebCore::PrintContext::pageRect): Ditto.
        (WebCore::PrintContext::computePageRects): Pass allowHorizontalTiling as an argument.
        PrintContext already has code to calculate scale factor, so it makes sense to make methods
        that contain it universal (allowHorizontalTiling is always true for Safari).
        Round page height to an integer, because Mac code does that, and because page height is
        treated as integer almost everywhere else in code.
        (WebCore::PrintContext::begin): Allow calling this function multiple times. There is no need
        to return to screen mode if e.g. "print backgounds" option changes.
        (WebCore::PrintContext::computeAutomaticScaleFactor): Expose scale factor computation, so
        that clients don't have to copy it.
        (WebCore::PrintContext::spoolRect): Add a way to spool a precomputed rect - handy if a request
        comes from code that doesn't have page number.
        (WebCore::PrintContext::pageNumberForElement): Page number int -> size_t.

        * page/PrintContext.h: Added comments and FIXMEs. PrintContext needs cleanup, but that
        depends on deciding how it really needs to work (e.g. whether computePageRects() should
        cause relayout).

2011-01-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: unify image data source assignment, add image url
        to the image view properties list.
        https://bugs.webkit.org/show_bug.cgi?id=52584

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
        (WebInspector.ImageView.prototype._createContentIfNeeded):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype.populateImageSource):
        (WebInspector.Resource.prototype._contentURL):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.FrameResourceTreeElement.prototype.onattach):

2011-01-17  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Extensions API] webInspector.resources.onFinished is not fired for redirected resources
        Make resource start/finish hanlding more consistent.
        https://bugs.webkit.org/show_bug.cgi?id=52452

        * inspector/front-end/AuditLauncherView.js: Ignore WebSocket resources when displaying progress indicator
        (WebInspector.AuditLauncherView.prototype._resetResourceCount):
        (WebInspector.AuditLauncherView.prototype.resourceStarted):
        (WebInspector.AuditLauncherView.prototype.resourceFinished):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager): Factor out resource start/finish logic to _startResource()/_finishResource()
        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
        (WebInspector.NetworkManager.prototype.willSendRequest):
        (WebInspector.NetworkManager.prototype.markResourceAsCached):
        (WebInspector.NetworkManager.prototype.didReceiveResponse):
        (WebInspector.NetworkManager.prototype.didReceiveContentLength):
        (WebInspector.NetworkManager.prototype.didFinishLoading):
        (WebInspector.NetworkManager.prototype.didFailLoading):
        (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.NetworkManager.prototype.didCreateWebSocket):
        (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
        (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
        (WebInspector.NetworkManager.prototype.didCloseWebSocket):
        (WebInspector.NetworkManager.prototype._appendRedirect):
        (WebInspector.NetworkManager.prototype._startResource):
        (WebInspector.NetworkManager.prototype._finishResource):

2011-01-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: restore dom and network state upon frontend reuse.
        https://bugs.webkit.org/show_bug.cgi?id=52574

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::pushDataCollectedOffline):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.reset):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.clear):
        (WebInspector.NetworkPanel.prototype.mainResourceChanged):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype.reloadCachedResources):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.clear):
        * inspector/front-end/inspector.js:
        (WebInspector.frontendReused):

2011-01-17  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r75944.

        * WebCore.pro:

2011-01-17  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Extend the Platform Plugin to support full screen video handler
        https://bugs.webkit.org/show_bug.cgi?id=51249

        Make MediaPlayerPrivateQt support a fullscreen player.

        No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
        However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
        So, still skip it for Qt.

        * WebCore.pro:
        * features.pri:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
        (WebCore::MediaPlayerPrivateQt::removeVideoItem):
        (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQt::mediaPlayer):

2011-01-17  Anthony Ricaud  <rik@webkit.org>

        Reviewed by Kent Tamura.

        [HTML5] Revert display:none on datalist
        https://bugs.webkit.org/show_bug.cgi?id=52214

        * css/html.css:

2011-01-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: simplify debugger enabling routine.
        https://bugs.webkit.org/show_bug.cgi?id=52472

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreDebugger):
        (WebCore::InspectorController::showAndEnableDebugger):
        (WebCore::InspectorController::enableDebugger):
        * inspector/InspectorController.h:
        * inspector/front-end/DebuggerModel.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show):
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):

2011-01-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: refactoring: encapsulate lazy initialization of SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=51738

        Extract content loading logic from SourceView and ScriptView to ContentProvider implementations.
        Pass ContentProvider in SourceFrame constructor to allow SourceFrame manage it's lazy initialization.

        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.SourceFrameContentProviderForScript):
        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent.didRequestSource):
        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
        (WebInspector.SourceFrameContentProviderForScript.prototype.scripts):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addScript):
        (WebInspector.ScriptsPanel.prototype.sourceFrameForScript):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype.set visible):
        (WebInspector.SourceFrame.prototype._createTextViewer):
        (WebInspector.SourceFrame.prototype._breakpointAdded):
        (WebInspector.SourceFrame.prototype._breakpoints):
        (WebInspector.SourceFrame.prototype._sourceIDForLine):
        (WebInspector.SourceFrame.prototype._sourceIDSet):
        (WebInspector.SourceFrameContentProvider):
        (WebInspector.SourceFrameContentProvider.prototype.requestContent):
        (WebInspector.SourceFrameContentProvider.prototype.scripts):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype.show):
        (WebInspector.SourceView.prototype.resize):
        (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
        (WebInspector.SourceView.prototype.performSearch):
        (WebInspector.SourceView.prototype.revealLine):
        (WebInspector.SourceView.prototype.highlightLine):
        (WebInspector.SourceView.prototype._jumpToSearchResult):
        (WebInspector.SourceFrameContentProviderForResource):
        (WebInspector.SourceFrameContentProviderForResource.prototype.requestContent):
        (WebInspector.SourceFrameContentProviderForResource.prototype.scripts):

2011-01-17  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        GeolocationController should call stopUpdating on destruction
        https://bugs.webkit.org/show_bug.cgi?id=52216

        Test: fast/dom/Geolocation/window-close-crash.html

        * page/GeolocationController.cpp:
        (WebCore::GeolocationController::~GeolocationController):

2011-01-17  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: Qt build fix.

        * inspector/InspectorInstrumentation.h:

2011-01-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: make WebCore use InspectorInstrumentation
        for instrumentation calls.
        https://bugs.webkit.org/show_bug.cgi?id=52532

        This change makes WebCore classes issue instrumentation signals
        by means of InspectorInstrumentation interface. It covered migration
        for Document, FrameLoader, Database, DOMStorage, etc. It fixed
        instrumentation handling for Console as well. This all is a part
        of story described in the bug 52510.

        * dom/Document.cpp:
        (WebCore::Document::finishedParsing):
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
        * inspector/InspectorBrowserDebuggerAgent.h:
        (WebCore::InspectorBrowserDebuggerAgent::create):
        * inspector/InspectorConsoleAgent.cpp:
        (WebCore::InspectorConsoleAgent::stopTiming):
        (WebCore::InspectorConsoleAgent::count):
        * inspector/InspectorConsoleAgent.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::handleMousePress):
        (WebCore::InspectorController::didClearWindowObjectInWorld):
        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorDOMStorageAgent.h:
        * inspector/InspectorDatabaseAgent.cpp:
        * inspector/InspectorDatabaseAgent.h:
        * inspector/InspectorFrontendHost.cpp:
        * inspector/InspectorFrontendHost.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
        (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
        (WebCore::InspectorInstrumentation::handleMousePressImpl):
        (WebCore::InspectorInstrumentation::mainResourceFiredLoadEventImpl):
        (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEventImpl):
        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::consoleCountImpl):
        (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
        (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
        (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
        (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::inspectorControllerCreated):
        (WebCore::InspectorInstrumentation::inspectorControllerDeleted):
        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
        (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
        (WebCore::InspectorInstrumentation::willInsertDOMNode):
        (WebCore::InspectorInstrumentation::didInsertDOMNode):
        (WebCore::InspectorInstrumentation::willRemoveDOMNode):
        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
        (WebCore::InspectorInstrumentation::didModifyDOMAttr):
        (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
        (WebCore::InspectorInstrumentation::handleMousePress):
        (WebCore::InspectorInstrumentation::characterDataModified):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
        (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
        (WebCore::InspectorInstrumentation::didInstallTimer):
        (WebCore::InspectorInstrumentation::didRemoveTimer):
        (WebCore::InspectorInstrumentation::willCallFunction):
        (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
        (WebCore::InspectorInstrumentation::willDispatchEvent):
        (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
        (WebCore::InspectorInstrumentation::willEvaluateScript):
        (WebCore::InspectorInstrumentation::willFireTimer):
        (WebCore::InspectorInstrumentation::willLayout):
        (WebCore::InspectorInstrumentation::willLoadXHR):
        (WebCore::InspectorInstrumentation::willPaint):
        (WebCore::InspectorInstrumentation::willRecalculateStyle):
        (WebCore::InspectorInstrumentation::identifierForInitialRequest):
        (WebCore::InspectorInstrumentation::willSendRequest):
        (WebCore::InspectorInstrumentation::markResourceAsCached):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
        (WebCore::InspectorInstrumentation::willReceiveResourceData):
        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
        (WebCore::InspectorInstrumentation::didReceiveContentLength):
        (WebCore::InspectorInstrumentation::didFinishLoading):
        (WebCore::InspectorInstrumentation::didFailLoading):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorInstrumentation::scriptImported):
        (WebCore::InspectorInstrumentation::mainResourceFiredLoadEvent):
        (WebCore::InspectorInstrumentation::mainResourceFiredDOMContentEvent):
        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
        (WebCore::InspectorInstrumentation::didCommitLoad):
        (WebCore::InspectorInstrumentation::willWriteHTML):
        (WebCore::InspectorInstrumentation::didOpenDatabase):
        (WebCore::InspectorInstrumentation::didUseDOMStorage):
        (WebCore::InspectorInstrumentation::didCreateWorker):
        (WebCore::InspectorInstrumentation::didDestroyWorker):
        (WebCore::InspectorInstrumentation::didCreateWebSocket):
        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
        (WebCore::InspectorInstrumentation::didCloseWebSocket):
        (WebCore::InspectorInstrumentation::networkStateChanged):
        (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        (WebCore::InspectorInstrumentation::consoleCount):
        (WebCore::InspectorInstrumentation::startConsoleTiming):
        (WebCore::InspectorInstrumentation::stopConsoleTiming):
        (WebCore::InspectorInstrumentation::consoleMarkTimeline):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
        (WebCore::InspectorInstrumentation::inspectorControllerForContext):
        (WebCore::InspectorInstrumentation::inspectorControllerForFrame):
        (WebCore::InspectorInstrumentation::inspectorControllerForPage):
        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForContext):
        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForDocument):
        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForFrame):
        (WebCore::InspectorInstrumentation::inspectorControllerWithFrontendForPage):
        * inspector/InspectorState.cpp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::detachFromParent):
        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
        (WebCore::FrameLoader::dispatchDidCommitLoad):
        * page/Chrome.cpp:
        (WebCore::Chrome::mouseDidMoveOverElement):
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::count):
        (WebCore::Console::markTimeline):
        (WebCore::Console::profile):
        (WebCore::Console::time):
        (WebCore::Console::timeEnd):
        (WebCore::Console::group):
        (WebCore::Console::groupCollapsed):
        (WebCore::Console::groupEnd):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::sessionStorage):
        (WebCore::DOMWindow::localStorage):
        (WebCore::DOMWindow::dispatchLoadEvent):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        * page/Page.cpp:
        (WebCore::Page::~Page):
        * storage/Database.cpp:
        (WebCore::Database::openDatabase):
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::onDestroyWorker):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::create):
        * workers/Worker.cpp:
        (WebCore::Worker::create):
        * workers/WorkerMessagingProxy.cpp:

2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed, rolling out r75923.

        GTK guy rolls out the r75914.

        * platform/efl/ScrollViewEfl.cpp:
        (WebCore::ScrollView::platformInit):

2011-01-17  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] fast/canvas/canvas-fillPath-gradient-shadow.html does not pass
        https://bugs.webkit.org/show_bug.cgi?id=52556

        The shadow color opacity needs to be set on the shadow painter.
        Additionally, the gradient brush should be transformed.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillPath):

2011-01-17  No'am Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Background image rendering is slow
        https://bugs.webkit.org/show_bug.cgi?id=50527

        When tiling a scaled pixmap in Image::drawPattern, scale the tile
        first and only then draw it to the target. Do so only when drawing
        more than one tile.

        Tests in fast/backgrounds/size cover this.

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::Image::drawPattern):

2011-01-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] [Symbian] Fix building NPAPI support
        https://bugs.webkit.org/show_bug.cgi?id=51981

        Make sure that npapi.h is always included outside of the extern "C"
        linkage declaration block.

        No new tests as there is no new functionality.

        * bridge/npruntime.h:

2011-01-17  Philippe Normand  <pnormand@igalia.com>

        Unreviewed, rolling out r75914.
        http://trac.webkit.org/changeset/75914
        https://bugs.webkit.org/show_bug.cgi?id=49177

        multiple crashes on GTK

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::removeChild):
        (WebCore::ScrollView::wheelEvent):
        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::attachAdjustment):
        (MainFrameScrollbarGtk::gtkValueChanged):
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::platformInit):
        (WebCore::ScrollView::platformAddChild):
        (WebCore::ScrollView::platformRemoveChild):

2011-01-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Unreviewed build fix.

        Bug 49177's patch enabled platformInit() in super class(ScrollView).
        But, it didn't removed the function in ScrollViewEfl.cpp.

        * platform/efl/ScrollViewEfl.cpp:

2011-01-16  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8871903> REGRESSION (r75897): Crash with 0-by-0 iframe in scaled WebView

        Avoid use of FloatRect::enclosingBoundingBox(), which can stretch an empty
        quad to a non-empty rect.

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidget):
        (WebCore::RenderWidget::updateWidgetPosition):

2011-01-16  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
        https://bugs.webkit.org/show_bug.cgi?id=49177

        * platform/ScrollView.cpp: Move the platform guards around a little. GTK+
        now shares the implementation of platformAddChild and platformRemoveChild,
        but has its own implementation of removeChild, which knows how to inform
        main frame scrollbars that they no longer control the WebCore scrollbar.
        * platform/gtk/MainFrameScrollbarGtk.cpp:
        (MainFrameScrollbarGtk::attachAdjustment): If we are attaching the same adjustment
        that we already have, bail out early. Apply the value changed signal handler
        after configuring the adjustment. We don't want our reset of the adjustment to
        stomp on WebCore values.
        (MainFrameScrollbarGtk::gtkValueChanged): Do not adjust the value if the WebCore
        state already matches ours. This prevents some unnecessary recursion
        * platform/gtk/ScrollViewGtk.cpp:
        (WebCore::ScrollView::removeChild): Added, special cases main frame scrollbars
        which need their adjustments detached.

2011-01-13  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Antti Koivisto.

        Fix for Bug 52427 - Inconsistent use of m_cache in CachedResourceLoader
        https://bugs.webkit.org/show_bug.cgi?id=52427

        In constructor/destructor of CachedResourceLoader, m_cache has been
        used to call MemoryCache::addCachedResourceLoader/removeCachedResourceLoader
        while cache() is used everywhere else.

        Actually addCachedResourceLoader/removeCachedResourceLoader need not be called at all.
        Remove the call sites and make MemoryCache non-friend of CachedResourceLoader.

        No new tests because the behavior remains the same.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::~CachedResourceLoader):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/MemoryCache.cpp:
        * loader/cache/MemoryCache.h:

2011-01-16  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move WebKit into Source
        https://bugs.webkit.org/show_bug.cgi?id=52530

        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * WebCore.pro:

2011-01-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        frame-removed-during-resize.html test crashes (shows up as image-map-2.html crash)
        https://bugs.webkit.org/show_bug.cgi?id=52549

        Fix regression from r75900; m_widget->setFrameRect() can run script that
        clears m_widget, so null-check it before calling setBoundsSize().
        
        Tested by fast/replaced/frame-removed-during-resize.html

        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry):

2011-01-16  Simon Fraser  <simon.fraser@apple.com>

        Keep Leopard build happy.

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setBoundsSize):

2011-01-16  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] plugins/keyboard-events.html fails after r72717
        https://bugs.webkit.org/show_bug.cgi?id=50050

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::setXKeyEventSpecificFields): map event text to keycode

2011-01-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Issues with iframes and plugins when the WebView is scaled.
        <rdar://problem/6213380>
        
        When _scaleWebView has been called on a WebView, iframes
        in WebKit1 render and hit-test incorrectly, and plug-ins don't scale up.
        This is caused by AppKit NSViews not playing nicely with the scale
        applied through style.
        
        Work around most of these issues by adjusting the bounds size
        of widgets to allow iframe contents to paint with the correct scale,
        and fix various places in the code where we relied on coordinate
        transforms via NSViews (which ignore CSS transforms).

        * WebCore.exp.in:
        * platform/Widget.cpp:
        (WebCore::Widget::setBoundsSize):
        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setBoundsSize):
        (WebCore::Widget::paint):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingIFrame):
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry):
        (WebCore::RenderWidget::setWidget):
        (WebCore::RenderWidget::updateWidgetPosition):
        * rendering/RenderWidget.h:

2011-01-16  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        RenderView needs to take transforms on its layer into account
        https://bugs.webkit.org/show_bug.cgi?id=52536
        
        The RenderView's coordinate mapping methods failed to
        take into account a transform on the RenderView's layer.

        No tests because it's not possible to get a transform
        on the RenderView's layer through content.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::mapLocalToContainer):
        (WebCore::RenderView::mapAbsoluteToLocalPoint):

2011-01-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r75708.
        http://trac.webkit.org/changeset/75708
        https://bugs.webkit.org/show_bug.cgi?id=52521

        Breaks Qt build if mobility is not installed. (Requested by
        benjaminp on #webkit).

        * WebCore.pro:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):

2011-01-15  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/52512> REGRESSION(r73818): range.cloneContents() ignores end offset

        Reviewed by Adele Peterson.

        The fix for Bug 50710 in r73799 introduced an off-by-one error
        when copying nodes to a local NodeVector for processing.  A fix
        was attempted for Bug 50854 in r73818, but instead of stopping
        at the end offset, it iterates through all the sibling nodes
        because the loop variable (i) is never incremented.  To clean
        this up, revert back to the code in r73799 and fix the
        off-by-one error.

        Test: fast/dom/Range/range-clone-contents.html

        * dom/Range.cpp:
        (WebCore::Range::processContents): Fix the loop that copies
        nodes to a local NodeVector by restoring the code from r73799
        and fixing the off-by-one error.

2011-01-15  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move WebKit2 into Source
        https://bugs.webkit.org/show_bug.cgi?id=52438

        * WebCore.pro:

2011-01-15  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Linux build with FileSystem API enabled fails
        https://bugs.webkit.org/show_bug.cgi?id=43878

        This patch allows WebKitGtk+ to build with FileSystem API option.

        No new tests because no new functionality.

        * GNUmakefile.am: Included AsyncFileSystem.h,cpp and Excluded duplicated JSFileException.h,cpp.
        * bindings/js/JSDirectoryEntryCustom.cpp: Included ExceptionCode.h.

2011-01-14  Sam Magnuson  <smagnuso@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Compile with QT_NO_GRAPHICSVIEW
        https://bugs.webkit.org/show_bug.cgi?id=49750

        * platform/graphics/qt/GraphicsLayerQt.cpp:
        * platform/graphics/qt/GraphicsLayerQt.h:
        * platform/qt/PlatformMouseEventQt.cpp:

2011-01-14  Tony Chang  <tony@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Strip NUL character when copying text on Windows
        https://bugs.webkit.org/show_bug.cgi?id=52236

        Test: editing/pasteboard/copy-null-characters.html

        * editing/Editor.cpp:
        (WebCore::Editor::selectedText):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeSelection): Use editor()->selectedText() which matches the other platforms.

2011-01-14  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Antti Koivisto.

        Rename cache() to memoryCache()
        https://bugs.webkit.org/show_bug.cgi?id=52433

        No new tests because the behavior remains the same.

        * WebCore.exp.in:
        * WebCore.order:
        * history/PageCache.cpp:
        (WebCore::PageCache::releaseAutoreleasedPagesNow):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::cachedResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
        * loader/archive/cf/LegacyWebArchive.cpp:
        (WebCore::LegacyWebArchive::create):
        * loader/cache/CachedImage.cpp:
        (WebCore::CachedImage::allClientsRemoved):
        (WebCore::CachedImage::data):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::~CachedResource):
        (WebCore::CachedResource::addClientToSet):
        (WebCore::CachedResource::removeClient):
        (WebCore::CachedResource::setDecodedSize):
        (WebCore::CachedResource::setEncodedSize):
        (WebCore::CachedResource::didAccessDecodedData):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::revalidateResource):
        (WebCore::CachedResourceLoader::loadResource):
        (WebCore::CachedResourceLoader::clearPreloads):
        (WebCore::CachedResourceLoader::printPreloadStats):
        * loader/cache/CachedResourceRequest.cpp:
        (WebCore::CachedResourceRequest::load):
        (WebCore::CachedResourceRequest::didFail):
        (WebCore::CachedResourceRequest::didReceiveResponse):
        * loader/cache/MemoryCache.cpp:
        (WebCore::memoryCache):
        * loader/cache/MemoryCache.h:

2011-01-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        WebCore part of <rdar://problem/8441312> Crash in -[NSView _invalidateGStatesForTree]

        * WebCore.exp.in: Export RenderWidget::suspendWidgetHierarchyUpdates() and
        RenderWidget::resumeWidgetHierarchyUpdates().
        * manual-tests/plug-in-mutates-NSView-hierarchy-during-resize.html: Added.
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::setWidgetGeometry): Removed the assertion that widget hierarchy updates
        are disabled. When this assertion was added, this condition was a subset of the “calling out to
        plug-in code is forbidden” condition, hence the assertion was valid. The WebKit part of this
        change now suspends widget hierarchy updates even at times where plug-in code is expected to be
        called, which invalidates the assertion.

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Fix Qt build after r75837
        https://bugs.webkit.org/show_bug.cgi?id=52494

        * rendering/style/StyleRareInheritedData.cpp:
        * rendering/style/StyleRareNonInheritedData.cpp:

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Fix Qt build after r75837
        https://bugs.webkit.org/show_bug.cgi?id=52494

        * rendering/style/RenderStyle.cpp:

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Fix Qt build after r75837
        https://bugs.webkit.org/show_bug.cgi?id=52494

        * editing/EditorCommand.cpp:

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Fix Qt build after r75837
        https://bugs.webkit.org/show_bug.cgi?id=52494

        * editing/ApplyStyleCommand.cpp:

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Fix Qt build after r75837
        https://bugs.webkit.org/show_bug.cgi?id=52494

        * css/CSSStyleSelector.cpp:

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Fix Qt build after r75837
        https://bugs.webkit.org/show_bug.cgi?id=52494

        * rendering/InlineFlowBox.h:
        * rendering/RenderBoxModelObject.h:

2011-01-14  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by David Levin.

        Do some forward declaration in RenderStyle.h
        https://bugs.webkit.org/show_bug.cgi?id=52453

        No new tests because no new functionality.

        * css/CSSComputedStyleDeclaration.cpp:
        * css/CSSStyleSelector.cpp:
        * editing/Editor.cpp:
        * page/EventHandler.cpp:
        * rendering/EllipsisBox.cpp:
        * rendering/InlineBox.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/RenderBlock.cpp:
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        * rendering/RenderBox.h:
        * rendering/RenderEmbeddedObject.cpp:
        * rendering/RenderFieldset.cpp:
        * rendering/RenderFileUploadControl.cpp:
        * rendering/RenderFrameSet.cpp:
        * rendering/RenderHTMLCanvas.cpp:
        * rendering/RenderImageResource.cpp:
        * rendering/RenderInputSpeech.cpp:
        * rendering/RenderLayer.h:
        * rendering/RenderLineBoxList.cpp:
        * rendering/RenderListBox.cpp:
        * rendering/RenderMediaControlsChromium.cpp:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:
        * rendering/RenderObjectChildList.cpp:
        * rendering/RenderProgress.cpp:
        * rendering/RenderScrollbarPart.cpp:
        * rendering/RenderTable.cpp:
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        * rendering/RenderTableRow.cpp:
        * rendering/RenderTableSection.cpp:
        * rendering/RenderTheme.cpp:
        * rendering/RenderThemeChromiumSkia.cpp:
        * rendering/RenderThemeChromiumWin.cpp:
        * rendering/RootInlineBox.cpp:
        * rendering/style/RenderStyle.cpp:
        * rendering/style/RenderStyle.h:
        * rendering/style/StyleRareInheritedData.cpp:

2011-01-14  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Stop instantiating legacy editing positions in AccessibilityRenderObject.cpp, Element.cpp,
        BreakBlockquoteCommand.cpp, CompositeEditCommand.cpp, and DeleteButtonController.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52481

        Removed instantiation of legacy editing positions.
        Calls to Position::Position are replaced by calls to Position's convenience functions.
        
        Also fixed firstPositionInOrBeforeNode and lastPositionInOrAfterNode so that
        they instantiate right positions for text nodes.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::setSelectedTextRange):
        * dom/Element.cpp:
        (WebCore::Element::updateFocusAppearance):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::inputText):
        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
        (WebCore::CompositeEditCommand::moveParagraphs):
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
        (WebCore::CompositeEditCommand::splitTreeToNode):
        * editing/DeleteButtonController.cpp:
        (WebCore::enclosingDeletableElement):
        * editing/htmlediting.h:
        (WebCore::firstPositionInOrBeforeNode): Instantiates firstPositionInNode instead of
        positionBeforeNode for a text node.
        (WebCore::lastPositionInOrAfterNode): Ditto.

2011-01-14  Helder Correia  <helder@sencha.com>

        Reviewed by Simon Fraser.

        Shadow is not drawn when filling a path with a gradient
        https://bugs.webkit.org/show_bug.cgi?id=51982

        This happens in CG and is related to bug 51869, this time to be fixed
        in GraphicsContext::fillPath(const Path& path). We need to draw the
        gradient clipped to the path on a CGLayer first, and then draw the
        layer on the GraphicsContext.

        Test: fast/canvas/canvas-fillPath-gradient-shadow.html

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillPath):

2011-01-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adam Roben.

        Layer syncing should go through the compositor
        https://bugs.webkit.org/show_bug.cgi?id=52486

        Rather than have FrameView go directly to GraphicsLayer to
        sync pending changes, route the call through RenderLayerCompositor.
        
        Add a FIXME about an existing issue with flushing and subframes.
        
        No behavior change, so no tests.

        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::notifySyncRequired):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::scheduleLayerFlush):
        (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::notifySyncRequired):

2011-01-14  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Fix parent block calculation when trying to find top most node
        containing "this" float.
        https://bugs.webkit.org/show_bug.cgi?id=51711

        Replace use of containingBlock and traverse the parents directly
        to check for float existence. containingBlock can skip parents and
        jump to the RenderView directly which will cause floats to not get
        cleared from intermediate parents.

        Test: fast/block/float/floats-not-cleared-crash.html

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):

2011-01-14  Adam Klein  <adamk@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Replace BackForwardListClient with BackForwardControllerClient/BackForwardList
        https://bugs.webkit.org/show_bug.cgi?id=42237

        Remove Chromium-specific implementation from WebCore.

        No tests added; this refactor should be covered by existing history-exercising tests.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * history/BackForwardListChromium.cpp: Removed.
        * history/BackForwardListImpl.h:

2011-01-12  Satish Sampath  <satish@chromium.org>

        Reviewed by Dimitri Glazkov.

        Fix a crash when accessing speech input from script.
        https://bugs.webkit.org/show_bug.cgi?id=52325

        Test: fast/speech/speech-input-scripting.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::parseMappedAttribute): Recreate renderer when speech input is enabled/disabled.
        * rendering/RenderTextControlSingleLine.cpp: Remove unused code.
        * rendering/RenderTextControlSingleLine.h:
        * rendering/TextControlInnerElements.cpp: Take self references before firing events and check for renderer validity after.
        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
        (WebCore::InputFieldSpeechButtonElement::detach):

2011-01-14  Abhishek Arya  <inferno@chromium.org>

        Reviewed by David Hyatt.

        Prevent merging of anonymous blocks if one of them is already getting
        destroyed.
        https://bugs.webkit.org/show_bug.cgi?id=52402

        Test: fast/block/merge-anonymous-block-remove-child-crash2.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::RenderBlock): initialize m_beingDestroyed to false.
        (WebCore::RenderBlock::destroy): set m_beingDestroyed to true.
        (WebCore::canMergeContiguousAnonymousBlocks): do not merge if any or prev or next is being destroyed.
        (WebCore::RenderBlock::removeChild): remove the hack previously done for preventing oldChild merging with nextBlock's next sibling.
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::beingDestroyed): public function for m_beingDestroyed.

2011-01-14  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Follow up to r75791: fix missing dispatch.
        https://bugs.webkit.org/show_bug.cgi?id=52442

        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):

2011-01-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adam Roben.

        Issues with contentsScale in GraphicsLayerCA
        https://bugs.webkit.org/show_bug.cgi?id=52463

        Fix various issues with the recent contentsScale changes:

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_contentsScale to 1.
        (WebCore::GraphicsLayerCA::updateContentsScale): Only do a setNeedsDisplay()
        if the layer draws content, otherwise we'll create backing store for empty layers.
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Be sure to set contentsScale
        on the new (tiled or untiled) layer.
        (WebCore::GraphicsLayerCA::cloneLayer): Clones need contentsScale too.

2011-01-14  Simon Fraser  <simon.fraser@apple.com>

        Let Xcode have it's way with the project file.

        * WebCore.xcodeproj/project.pbxproj:

2011-01-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Anders Carlsson.

        Refactor some FrameView::syncCompositingState code
        https://bugs.webkit.org/show_bug.cgi?id=52459

        Refactor some code in FrameView related to synchronizing
        compositing layer state.
        
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateForThisFrame):
        (WebCore::FrameView::syncCompositingStateRecursive):
        (WebCore::FrameView::paintContents):
        * page/FrameView.h:

2011-01-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713
        https://bugs.webkit.org/show_bug.cgi?id=30179

        * plugins/symbian/PluginViewSymbian.cpp:

2011-01-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Add volume slider to media player
        https://bugs.webkit.org/show_bug.cgi?id=51532

        * css/mediaControlsGtk.css:
        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
        (WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
        (WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
        (WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::paintSliderTrack):
        (WebCore::RenderThemeGtk::paintSliderThumb):
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintSliderTrack):
        (WebCore::RenderThemeGtk::paintSliderThumb):
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):

2011-01-14  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by David Levin.

        [GTK] Convert use of raw pointers to GOwnPtr in FileSystemGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52434

        No new tests. This code will be tested when an implementation 
        of beginDragWithFiles is complete. 

        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::filenameToString): Use GOwnPtr instead of gchar pointer.
        (WebCore::fileSystemRepresentation): Ditto.
        (WebCore::filenameForDisplay): Ditto.
        (WebCore::pathGetFileName): Ditto.

2011-01-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: breakpoint text snippet in breakpoints sidebar pane disappears after reload.
        https://bugs.webkit.org/show_bug.cgi?id=52215

        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.populateLabelElement):
        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.get linesCount):
        (WebInspector.Script.prototype.sourceLine):
        (WebInspector.Script.prototype.sourceLine.didRequestSource):
        (WebInspector.Script.prototype.set source):
        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
        (WebInspector.Script.prototype.requestSource):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded.didRequestSource):
        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._addBreakpoint):
        * inspector/front-end/utilities.js:
        (String.prototype.findAll):

2011-01-14  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: provide script column offset to frontend.
        https://bugs.webkit.org/show_bug.cgi?id=52377

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * bindings/js/ScriptSourceCode.h:
        (WebCore::ScriptSourceCode::ScriptSourceCode):
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::dispatchDidParseSource):
        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/ScriptDebugListener.h:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
        * inspector/front-end/Script.js:
        (WebInspector.Script):

2011-01-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed one line fix for console-xhr-logging test.

        The problem was introduced at r75788.

        * inspector/InspectorBrowserDebuggerAgent.cpp:
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):

2011-01-13  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: extract console related functionality into InspectorConsoleAgent
        https://bugs.webkit.org/show_bug.cgi?id=52282

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::~ConsoleMessage):
        * inspector/ConsoleMessage.h:
        * inspector/Inspector.idl:
        * inspector/InspectorConsoleAgent.cpp: Added.
        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
        (WebCore::InspectorConsoleAgent::reset):
        (WebCore::InspectorConsoleAgent::setFrontend):
        (WebCore::InspectorConsoleAgent::addMessageToConsole):
        (WebCore::InspectorConsoleAgent::startTiming):
        (WebCore::InspectorConsoleAgent::stopTiming):
        (WebCore::InspectorConsoleAgent::count):
        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorConsoleAgent::didReceiveResponse):
        (WebCore::InspectorConsoleAgent::didFailLoading):
        (WebCore::InspectorConsoleAgent::addConsoleMessage):
        * inspector/InspectorConsoleAgent.h: Added.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleAgent):
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::addMessageToConsole):
        (WebCore::InspectorInstrumentation::count):
        (WebCore::InspectorInstrumentation::startTiming):
        (WebCore::InspectorInstrumentation::stopTiming):
        (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
        * inspector/InspectorInstrumentation.h:
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype.addConsoleMessage):
        (WebInspector.ConsoleView.prototype.updateConsoleMessageExpiredCount):
        (WebInspector.ConsoleView.prototype.consoleMessagesCleared):
        * inspector/front-end/inspector.js:
        * page/Console.cpp:
        (WebCore::Console::addMessage):
        (WebCore::Console::count):
        (WebCore::Console::profile):
        (WebCore::Console::time):
        (WebCore::Console::timeEnd):
        (WebCore::Console::group):
        (WebCore::Console::groupCollapsed):
        (WebCore::Console::groupEnd):
        * page/Console.h:
        * page/Console.idl:

2011-01-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: do not use this as protocol message
        dispatcher in models / agents.
        https://bugs.webkit.org/show_bug.cgi?id=52442

        Models should never for InspectorBackend.registerDomainDispatcher("foo", this).
        There should be a clear way to tell whether method is being called
        from within front-end or by the backend.

        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent):
        (WebInspector.DOMAgent.prototype.nodeForId):
        (WebInspector.DOMAgent.prototype._bindNodes):
        (WebInspector.DOMAgent.prototype._removeBreakpoints):
        (WebInspector.DOMDispatcher):
        (WebInspector.DOMDispatcher.prototype.setDocument):
        (WebInspector.DOMDispatcher.prototype.attributesUpdated):
        (WebInspector.DOMDispatcher.prototype.characterDataModified):
        (WebInspector.DOMDispatcher.prototype.setChildNodes):
        (WebInspector.DOMDispatcher.prototype.setDetachedRoot):
        (WebInspector.DOMDispatcher.prototype.childNodeCountUpdated):
        (WebInspector.DOMDispatcher.prototype.childNodeInserted):
        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
        (WebInspector.DOMDispatcher.prototype.didCommitLoad):
        (WebInspector.ApplicationCacheDispatcher):
        (WebInspector.ApplicationCacheDispatcher.prototype.getApplicationCachesAsync):
        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorageDispatcher):
        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
        (WebInspector.DOMStorageDispatcher.prototype.selectDOMStorage):
        (WebInspector.DOMStorageDispatcher.prototype.updateDOMStorage):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        (WebInspector.DatabaseDispatcher):
        (WebInspector.DatabaseDispatcher.prototype.addDatabase):
        (WebInspector.DatabaseDispatcher.prototype.selectDatabase):
        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype._pausedScript):
        (WebInspector.DebuggerModel.prototype._resumedScript):
        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
        (WebInspector.DebuggerDispatcher):
        (WebInspector.DebuggerDispatcher.prototype.pausedScript):
        (WebInspector.DebuggerDispatcher.prototype.resumedScript):
        (WebInspector.DebuggerDispatcher.prototype.parsedScriptSource):
        (WebInspector.DebuggerDispatcher.prototype.failedToParseScriptSource):
        * inspector/front-end/FileSystemView.js:
        (WebInspector.FileSystemDispatcher):
        (WebInspector.FileSystemDispatcher.prototype.getFileSystemPathsAsync):
        (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemPath):
        (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemError):
        (WebInspector.FileSystemDispatcher.prototype.didGetFileSystemDisabled):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
        (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
        (WebInspector.ProfilesPanel.prototype._setRecordingProfile):
        (WebInspector.ProfilerDispatcher):
        (WebInspector.ProfilerDispatcher.prototype.profilerWasEnabled):
        (WebInspector.ProfilerDispatcher.prototype.profilerWasDisabled):
        (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
        (WebInspector.ProfilerDispatcher.prototype.addHeapSnapshotChunk):
        (WebInspector.ProfilerDispatcher.prototype.finishHeapSnapshot):
        (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
        (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
        * inspector/front-end/ResourceTreeModel.js:
        (WebInspector.ResourceTreeModel):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype._timelineProfilerWasStarted):
        (WebInspector.TimelinePanel.prototype._timelineProfilerWasStopped):
        (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
        (WebInspector.TimelineDispatcher):
        (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStarted):
        (WebInspector.TimelineDispatcher.prototype.timelineProfilerWasStopped):
        (WebInspector.TimelineDispatcher.prototype.addRecordToTimeline):

2011-01-14  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt][V8] Unreviewed buildfix after r75788.

        * inspector/InspectorBrowserDebuggerAgent.cpp:

2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
        We have some methods of Debugger which are related to DOM.
        Lets extract these methods to BrowserDebugger agent.

        http://bugs.webkit.org/show_bug.cgi?id=52294

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
        (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
        * inspector/InspectorBrowserDebuggerAgent.h: Added.
        (WebCore::InspectorBrowserDebuggerAgent::create):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::restoreStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):

2011-01-14  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: redirected resources not handled properly in Network panel
        https://bugs.webkit.org/show_bug.cgi?id=52292

        * inspector/Inspector.idl: Do not pass isMainResource to identifierForInitialRequest() (it's useless, as we may hit provisional load)
        * inspector/InspectorInstrumentation.cpp: Ditto.
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
        * inspector/InspectorResourceAgent.cpp: Ditto.
        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
        * inspector/InspectorResourceAgent.h: Ditto.
        * inspector/InspectorInstrumentation.cpp: Ditto.
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl): Fix main resource detection.
        * inspector/front-end/AuditsPanel.js: WebInspector.networkResources now returns array, not map.
        * inspector/front-end/ConsoleView.js: User WebInspector.resourceById() to get resource
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        * inspector/front-end/ExtensionServer.js: Ditto.
        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
        * inspector/front-end/HAREntry.js: WebInspector.networkResources now returns array, not map
        (WebInspector.HARLog.prototype.build):
        (WebInspector.HARLog.prototype._convertResource):
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager): Use appendResource, not refreshResource, when adding a new resource.
        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
        (WebInspector.NetworkManager.prototype.willSendRequest):
        (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.NetworkManager.prototype.setInitialContent):
        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
        (WebInspector.NetworkManager.prototype.didCreateWebSocket):
        (WebInspector.NetworkManager.prototype._createResource): always register resource URL with ResourceTreeModel
        (WebInspector.NetworkManager.prototype._appendRedirect):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel):
        (WebInspector.NetworkPanel.prototype.get resources):
        (WebInspector.NetworkPanel.prototype.resourceById):
        (WebInspector.NetworkPanel.prototype.appendResource): Add resource as new iff appendResource was added.
        (WebInspector.NetworkPanel.prototype.refreshResource): ditto.
        (WebInspector.NetworkPanel.prototype.mainResourceChanged): Clear console upon arrival of new main resource.
        * inspector/front-end/ResourceTreeModel.js: Expose unbindResourceURL, bind resources automatically upon creation.
        (WebInspector.ResourceTreeModel.prototype._clearResources):
        (WebInspector.ResourceTreeModel.prototype.unbindResourceURL):
        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
        (WebInspector.ResourceTreeModel.prototype.createResource):
        * inspector/front-end/inspector.js:
        (WebInspector.resourceById):

2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r75783.
        http://trac.webkit.org/changeset/75783
        https://bugs.webkit.org/show_bug.cgi?id=52439

        a bit strange but the same patch have broken mac builds at
        linking stage. (Requested by loislo2 on #webkit).

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
        * inspector/InspectorBrowserDebuggerAgent.h: Removed.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::restoreStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        (WebCore::InspectorController::setEventListenerBreakpoint):
        (WebCore::InspectorController::removeEventListenerBreakpoint):
        (WebCore::InspectorController::hasEventListenerBreakpoint):
        (WebCore::InspectorController::setXHRBreakpoint):
        (WebCore::InspectorController::removeXHRBreakpoint):
        (WebCore::InspectorController::hasXHRBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::hasBreakpoint):
        (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):

2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
        We have some methods of Debugger which are related to DOM.
        Lets extract these methods to BrowserDebugger agent.

        http://bugs.webkit.org/show_bug.cgi?id=52294

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
        (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
        * inspector/InspectorBrowserDebuggerAgent.h: Added.
        (WebCore::InspectorBrowserDebuggerAgent::create):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::restoreStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):

2011-01-14  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: build fix.

        * WebCore.vcproj/WebCore.vcproj:

2011-01-14  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract InspectorSettings from InspectorState,
        simplify it.
        https://bugs.webkit.org/show_bug.cgi?id=52429

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/InspectorClient.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectorStartsAttached):
        (WebCore::InspectorController::setInspectorStartsAttached):
        (WebCore::InspectorController::setInspectorAttachedHeight):
        (WebCore::InspectorController::inspectorAttachedHeight):
        (WebCore::InspectorController::setMonitoringXHREnabled):
        (WebCore::InspectorController::restoreDebugger):
        (WebCore::InspectorController::restoreProfiler):
        (WebCore::InspectorController::ensureSettingsLoaded):
        (WebCore::InspectorController::enableProfiler):
        (WebCore::InspectorController::disableProfiler):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        * inspector/InspectorController.h:
        * inspector/InspectorSettings.cpp: Added.
        (WebCore::InspectorSettings::InspectorSettings):
        (WebCore::InspectorSettings::getBoolean):
        (WebCore::InspectorSettings::setBoolean):
        (WebCore::InspectorSettings::getLong):
        (WebCore::InspectorSettings::setLong):
        (WebCore::InspectorSettings::registerBoolean):
        (WebCore::InspectorSettings::registerLong):
        * inspector/InspectorSettings.h: Added.
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        (WebCore::InspectorState::setValue):
        (WebCore::InspectorState::setObject):
        (WebCore::InspectorState::registerBoolean):
        (WebCore::InspectorState::registerString):
        (WebCore::InspectorState::registerLong):
        (WebCore::InspectorState::registerObject):
        (WebCore::InspectorState::Property::create):
        * inspector/InspectorState.h:
        (WebCore::InspectorState::setBoolean):
        (WebCore::InspectorState::setString):
        (WebCore::InspectorState::setLong):

2011-01-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r75774.
        http://trac.webkit.org/changeset/75774
        https://bugs.webkit.org/show_bug.cgi?id=52431

        gtk builds were broken (Requested by loislo2 on #webkit).

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp: Removed.
        * inspector/InspectorBrowserDebuggerAgent.h: Removed.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::restoreStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        (WebCore::InspectorController::setEventListenerBreakpoint):
        (WebCore::InspectorController::removeEventListenerBreakpoint):
        (WebCore::InspectorController::hasEventListenerBreakpoint):
        (WebCore::InspectorController::setXHRBreakpoint):
        (WebCore::InspectorController::removeXHRBreakpoint):
        (WebCore::InspectorController::hasXHRBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        (WebCore::InspectorDOMAgent::hasBreakpoint):
        (WebCore::InspectorDOMAgent::updateSubtreeBreakpoints):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):

2011-01-12  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Extract BrowserDebuggerAgent from InspectorController, InspectorDOMAgent and InspectorDebugger agent.
        We have some methods of Debugger which are related to DOM.
        Lets extract these methods to BrowserDebugger agent.

        http://bugs.webkit.org/show_bug.cgi?id=52294

        * CMakeLists.txt:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/InspectorBrowserDebuggerAgent.cpp: Added.
        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::didInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::didRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::updateSubtreeBreakpoints):
        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
        (WebCore::InspectorBrowserDebuggerAgent::clearForPageNavigation):
        * inspector/InspectorBrowserDebuggerAgent.h: Added.
        (WebCore::InspectorBrowserDebuggerAgent::create):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::inspectedPageDestroyed):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::disableDebugger):
        (WebCore::InspectorController::restoreStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::discardBindings):
        (WebCore::InspectorDOMAgent::didInsertDOMNode):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):

2011-01-13  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Implement form validation message UI
        https://bugs.webkit.org/show_bug.cgi?id=48980

        * Add four internal pseudo selectors:
          - -webkit-validation-bubble
          - -webkit-validation-bubble-message
          - -webkit-validation-bubble-top-outer-arrow
          - -webkit-validation-bubble-top-inner-arrow

        * Implement ValidationMessage functions
          Show the message for <the number of characters> / 20.0 seconds.

        No new tests because the feature is disabled by default for now and the
        new behavior is strongly timing-dependent.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
          Do not share a style with elements with different shadowPseudoId().
        * css/html.css: Define appearance for the internal selectors.
        (::-webkit-validation-bubble):
        (::-webkit-validation-bubble-message):
        (::-webkit-validation-bubble-top-outer-arrow):
        (::-webkit-validation-bubble-top-inner-arrow):
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded):
          Allow to add shadow renderers even if canHaveChildren() returns false.
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::detach):
          Remove m_validationMessage immediately because we can't use
          hideVisibleValidationMessage(), which calls a ValidationMessage function later.
        (WebCore::HTMLFormControlElement::updateVisibleValidationMessage):
          - Don't create ValidationMessage if the message is empty.
          - Remove the check for message equality.
        (WebCore::HTMLFormControlElement::hideVisibleValidationMessage):
          Don't remove m_validationMessage immediately. We shouldn't make the
          element needsLayout() state in this context.
        * html/ValidationMessage.cpp:
        (WebCore::ValidationMessage::~ValidationMessage):
          hideMessage() -> deleteBubbleTree() renaming.
        (WebCore::ValidationMessage::setMessage): Implemented.
        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
          Added. This updates the validation message and starts the timer to hide it.
        (WebCore::ElementWithPseudoId):
          Added to help implementations of styled shadow nodes.
        (WebCore::ValidationMessage::buildBubbleTree): Added.
        (WebCore::ValidationMessage::requestToHideMessage): Added.
        (WebCore::ValidationMessage::deleteBubbleTree):
          Renamed from hideMessage(), and implemented.
        * html/ValidationMessage.h: Add declarations.

2011-01-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        <rdar://problem/8827065> REGRESSION (r71884): Cross-origin XHR fails if willSendRequest changes the URL
        https://bugs.webkit.org/show_bug.cgi?id=52419

        Test: http/tests/loading/cross-origin-XHR-willLoadRequest.html

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::init): Complete r74453 by ensuring that m_request is only set after
        willSendRequest(). Otherwise, willSendRequest() ends up calling into
        ThreadableDocumentRequest::willSendRequest(), which cancels the request.

2011-01-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Mark Rowe.

        Don’t try to compile InjectedScriptSource.js into WebCore.

        * WebCore.xcodeproj/project.pbxproj:

2011-01-13  Mike Thole  <mthole@apple.com>

        Reviewed by Darin Adler and Brady Eidson.

        The pageScaleFactor() should be saved/restored along with the scroll position
        https://bugs.webkit.org/show_bug.cgi?id=52406
        <rdar://problem/8714412>

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::HistoryItem): Initialize m_pageScaleFactor.
        (WebCore::HistoryItem::pageScaleFactor): Added getter.
        (WebCore::HistoryItem::setPageScaleFactor): Added setter.
        (WebCore::HistoryItem::encodeBackForwardTreeNode): Encode m_pageScaleFactor.
        (WebCore::HistoryItem::decodeBackForwardTree): Decode m_pageScaleFactor.
        * history/HistoryItem.h:
        * loader/HistoryController.cpp:
        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem): Save the page scale factor...
        (WebCore::HistoryController::restoreScrollPositionAndViewState): ...and restore it here.

2011-01-13  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] drop backwards iteration in Linux complex text code
        https://bugs.webkit.org/show_bug.cgi?id=52403

        ComplexTextController previously supported iterating through the text in
        both directions, but this resulted in duplicate code for each path.
        Instead, by being more careful about flipping signs where appropriate,
        we can refactor the code into one code path.

        No tests, just a refactoring; should be covered by existing tests.

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::reset):
        (WebCore::ComplexTextController::nextScriptRun):
        * platform/graphics/chromium/ComplexTextControllerLinux.h:
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::selectionRectForComplexText):

2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Flip input[type=range] to use the new shadow DOM model.
        https://bugs.webkit.org/show_bug.cgi?id=52317

        This is a straight-up flip, minimal change to the logic, which will be
        refactored in a follow-up patch.

        Covered by existing tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
            host or parent node to find parent.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
            shadow DOM subtree.
        * html/InputType.cpp:
        (WebCore::InputType::createShadowSubtree): Added empty decl.
        (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
            shadow subtree.
        * html/InputType.h: Added defs.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
            slider thumb.
        * html/RangeInputType.h: Adde def.
        * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
            to handle cascading appearance.
        (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
        (WebCore::RenderSliderThumb::layout): Moved here the logic from
            RenderSlider::createThumbStyle.
        (WebCore::SliderThumbElement::createRenderer): Added virtual method to
            create RenderSliderThumb instance.
        (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
            as base class.
        (WebCore::SliderThumbElement::detach): Ditto.
        * html/shadow/SliderThumbElement.h:
        (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
        (WebCore::SliderThumbElement::create): Ditto.
        (WebCore::toSliderThumbElement): Added a casting helper.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
            since the whole method is hand-rolled.
        (WebCore::MediaControlInputElement::updateStyle): Ditto.
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
        (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
        (WebCore::RenderSlider::layout): Ditto.
        (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
            SliderThumbElement.
        (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
        (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
        (WebCore::RenderSlider::setValueForPosition): Ditto.
        (WebCore::RenderSlider::positionForOffset): Ditto.
        (WebCore::RenderSlider::currentPosition): Ditto.
        (WebCore::RenderSlider::trackSize): Ditto.
        (WebCore::RenderSlider::forwardEvent): Ditto.
        (WebCore::RenderSlider::inDragMode): Ditto.
        * rendering/RenderSlider.h: Added def.

2011-01-13  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Rename RGBA32Buffer to ImageFrame
        https://bugs.webkit.org/show_bug.cgi?id=52363

        RGBA32Buffer is a terrible misnomer.  ImageFrame is vastly
        more accurate.  More cleanup to come.

        * WebCore.pro:
        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::createFrameAtIndex):
        (WebCore::ImageSource::frameDurationAtIndex):
        (WebCore::ImageSource::frameIsCompleteAtIndex):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::frameBufferAtIndex):
        (WebCore::ImageDecoderQt::internalReadImage):
        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/graphics/wince/ImageWinCE.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageFrame::ImageFrame):
        (WebCore::ImageFrame::operator=):
        (WebCore::ImageFrame::clear):
        (WebCore::ImageFrame::zeroFill):
        (WebCore::ImageFrame::copyReferenceToBitmapData):
        (WebCore::ImageFrame::copyBitmapData):
        (WebCore::ImageFrame::setSize):
        (WebCore::ImageFrame::hasAlpha):
        (WebCore::ImageFrame::setHasAlpha):
        (WebCore::ImageFrame::setColorProfile):
        (WebCore::ImageFrame::setStatus):
        (WebCore::ImageFrame::width):
        (WebCore::ImageFrame::height):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageFrame::ImageFrame):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::frameBufferAtIndex):
        (WebCore::BMPImageDecoder::decode):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        * platform/image-decoders/bmp/BMPImageReader.cpp:
        (WebCore::BMPImageReader::decodeBMP):
        * platform/image-decoders/bmp/BMPImageReader.h:
        (WebCore::BMPImageReader::setBuffer):
        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::getPtrAsPixelData):
        (WebCore::ImageFrame::copyReferenceToBitmapData):
        (WebCore::ImageFrame::copyBitmapData):
        (WebCore::ImageFrame::setSize):
        (WebCore::ImageFrame::asNewNativeImage):
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::frameBufferAtIndex):
        (WebCore::GIFImageDecoder::clearFrameBufferCache):
        (WebCore::GIFImageDecoder::haveDecodedRow):
        (WebCore::GIFImageDecoder::frameComplete):
        (WebCore::GIFImageDecoder::initFrameBuffer):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/gif/GIFImageReader.cpp:
        (GIFImageReader::read):
        * platform/image-decoders/gif/GIFImageReader.h:
        (GIFFrameReader::GIFFrameReader):
        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::frameBufferAtIndex):
        (WebCore::ICOImageDecoder::decode):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
        (WebCore::JPEGImageDecoder::outputScanlines):
        (WebCore::JPEGImageDecoder::jpegComplete):
        (WebCore::JPEGImageDecoder::decode):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/openvg/ImageDecoderOpenVG.cpp:
        (WebCore::ImageFrame::asNewNativeImage):
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::frameBufferAtIndex):
        (WebCore::PNGImageDecoder::rowAvailable):
        (WebCore::PNGImageDecoder::pngComplete):
        * platform/image-decoders/png/PNGImageDecoder.h:
        (WebCore::PNGImageDecoder::isComplete):
        * platform/image-decoders/qt/ImageFrameQt.cpp: Copied from Source/WebCore/platform/image-decoders/qt/RGBA32BufferQt.cpp.
        (WebCore::ImageFrame::ImageFrame):
        (WebCore::ImageFrame::operator=):
        (WebCore::ImageFrame::clear):
        (WebCore::ImageFrame::zeroFill):
        (WebCore::ImageFrame::copyBitmapData):
        (WebCore::ImageFrame::setSize):
        (WebCore::ImageFrame::asNewNativeImage):
        (WebCore::ImageFrame::hasAlpha):
        (WebCore::ImageFrame::setHasAlpha):
        (WebCore::ImageFrame::setColorProfile):
        (WebCore::ImageFrame::setStatus):
        (WebCore::ImageFrame::setPixmap):
        (WebCore::ImageFrame::width):
        (WebCore::ImageFrame::height):
        * platform/image-decoders/qt/RGBA32BufferQt.cpp: Removed.
        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
        (WebCore::ImageFrame::ImageFrame):
        (WebCore::ImageFrame::operator=):
        (WebCore::ImageFrame::clear):
        (WebCore::ImageFrame::zeroFill):
        (WebCore::ImageFrame::copyBitmapData):
        (WebCore::ImageFrame::setSize):
        (WebCore::ImageFrame::asNewNativeImage):
        (WebCore::ImageFrame::hasAlpha):
        (WebCore::ImageFrame::setHasAlpha):
        (WebCore::ImageFrame::setColorProfile):
        (WebCore::ImageFrame::setStatus):
        (WebCore::ImageFrame::width):
        (WebCore::ImageFrame::height):
        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::frameBufferAtIndex):
        (WebCore::WEBPImageDecoder::decode):
        * platform/image-decoders/webp/WEBPImageDecoder.h:
        * platform/image-decoders/wx/ImageDecoderWx.cpp:
        (WebCore::ImageFrame::asNewNativeImage):

2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Transferring nodes between documents should be aware of the shadow DOM.
        https://bugs.webkit.org/show_bug.cgi?id=52399

        No visible change in behavior at the moment.

        Once https://bugs.webkit.org/show_bug.cgi?id=52317 lands, the following
        tests should no longer crash:
        * fast/css/pseudo-in-range-invalid-value.html
        * fast/css/pseudo-in-range.html
        * fast/forms/form-collection-elements.html
        * fast/forms/range-keyoperation.html

        * dom/Document.cpp:
        (WebCore::Document::adoptNode): Changed to use Node::setDocumentRecursively.
        * dom/Node.cpp:
        (WebCore::Node::setDocumentRecursively): Added new method, taking existing
            logic and adding shadow DOM traversal.
        (WebCore::Node::traverseNextNode): Style fix.
        (WebCore::Node::traverseNextSibling): Ditto.
        (WebCore::Node::traversePreviousNode): Ditto.
        (WebCore::Node::traversePreviousNodePostOrder): Ditto.
        (WebCore::Node::checkReplaceChild): Changed to use setDocumentRecursively.
        (WebCore::Node::checkAddChild): Ditto.
        * dom/Node.h: Added def.

2011-01-12  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        WebKit2: Add support for drag and drop
        https://bugs.webkit.org/show_bug.cgi?id=52343
        <rdar://problem/7660558>
               
        This patch contains the changes required to support dropping content
        in WebKit on the Mac. The DragData class has been extended to provide
        additional context from the application (keyboard state, modal windows, etc.)
        as well as information of the drag pasteboard being used.
        The support for WebKit as drag source will be added with a separate patch.

        * WebCore.exp.in:
        * page/DragController.cpp:
        (WebCore::DragController::dragIsMove): Added DragData parameter.
        (WebCore::DragController::tryDocumentDrag): Modified call to dragIsMove.
        (WebCore::DragController::concludeEditDrag): Same as above.
        * page/DragController.h: Added parameter to isCopyKeyDown.
        * page/mac/DragControllerMac.mm:
        The following methods have been modified to use the information stored
        in the DragData class.
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::dragOperation):
        * platform/DragData.h:
        (WebCore::DragData::flags):
        * platform/DragData.cpp: Added default flags parameter to the constructor.
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::DragData): Added constructor that receives the name of the pasteboard to use.
        (WebCore::DragData::canSmartReplace):
        (WebCore::DragData::containsColor):
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
        (WebCore::DragData::containsPlainText):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        All the following files have been modified to add the DragData
        parameter to isCopyKeyDown. I plan to improve this in the future
        and make isCopyKeyDown not platform specific.
        * page/android/DragControllerAndroid.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/brew/DragControllerBrew.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/chromium/DragControllerChromium.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/efl/DragControllerEfl.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/gtk/DragControllerGtk.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/haiku/DragControllerHaiku.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/mac/DragControllerMac.mm:
        (WebCore::DragController::isCopyKeyDown):
        (WebCore::DragController::dragOperation):
        * page/qt/DragControllerQt.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/win/DragControllerWin.cpp:
        (WebCore::DragController::isCopyKeyDown):
        * page/wx/DragControllerWx.cpp:
        (WebCore::DragController::isCopyKeyDown):

2011-01-13  David Kilzer  <ddkilzer@apple.com>

        Add missing MathMLElementFactory.h and MathMLNames.h to Xcode project

        Not reviewed.

        * WebCore.xcodeproj/project.pbxproj: Add missing headers.  Note
        that the corresponding source files were originally added to the
        project in r48559.

2011-01-12  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Use GC3D types in WebGLRenderingContext and related WebGL classes
        https://bugs.webkit.org/show_bug.cgi?id=51908

        * html/canvas/WebGLActiveInfo.h:
        (WebCore::WebGLActiveInfo::create):
        (WebCore::WebGLActiveInfo::type):
        (WebCore::WebGLActiveInfo::size):
        (WebCore::WebGLActiveInfo::WebGLActiveInfo):
        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::associateBufferDataImpl):
        (WebCore::WebGLBuffer::associateBufferData):
        (WebCore::WebGLBuffer::associateBufferSubDataImpl):
        (WebCore::WebGLBuffer::associateBufferSubData):
        (WebCore::WebGLBuffer::byteLength):
        (WebCore::WebGLBuffer::getCachedMaxIndex):
        (WebCore::WebGLBuffer::setCachedMaxIndex):
        (WebCore::WebGLBuffer::setTarget):
        * html/canvas/WebGLBuffer.h:
        (WebCore::WebGLBuffer::getTarget):
        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::setAttachment):
        (WebCore::WebGLFramebuffer::getAttachment):
        (WebCore::WebGLFramebuffer::getWidth):
        (WebCore::WebGLFramebuffer::getHeight):
        (WebCore::WebGLFramebuffer::getColorBufferFormat):
        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::cacheActiveAttribLocations):
        (WebCore::WebGLProgram::numActiveAttribLocations):
        (WebCore::WebGLProgram::getActiveAttribLocation):
        (WebCore::WebGLProgram::isUsingVertexAttrib0):
        * html/canvas/WebGLProgram.h:
        (WebCore::WebGLProgram::getLinkCount):
        * html/canvas/WebGLRenderbuffer.h:
        (WebCore::WebGLRenderbuffer::setInternalFormat):
        (WebCore::WebGLRenderbuffer::getInternalFormat):
        (WebCore::WebGLRenderbuffer::setSize):
        (WebCore::WebGLRenderbuffer::getWidth):
        (WebCore::WebGLRenderbuffer::getHeight):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::sizeInBytes):
        (WebCore::WebGLRenderingContext::activeTexture):
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::bindBuffer):
        (WebCore::WebGLRenderingContext::bindFramebuffer):
        (WebCore::WebGLRenderingContext::bindRenderbuffer):
        (WebCore::WebGLRenderingContext::bindTexture):
        (WebCore::WebGLRenderingContext::blendColor):
        (WebCore::WebGLRenderingContext::blendEquation):
        (WebCore::WebGLRenderingContext::blendEquationSeparate):
        (WebCore::WebGLRenderingContext::blendFunc):
        (WebCore::WebGLRenderingContext::blendFuncSeparate):
        (WebCore::WebGLRenderingContext::bufferData):
        (WebCore::WebGLRenderingContext::bufferSubData):
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
        (WebCore::WebGLRenderingContext::clear):
        (WebCore::WebGLRenderingContext::clearColor):
        (WebCore::WebGLRenderingContext::clearDepth):
        (WebCore::WebGLRenderingContext::clearStencil):
        (WebCore::WebGLRenderingContext::colorMask):
        (WebCore::WebGLRenderingContext::copyTexImage2D):
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::createShader):
        (WebCore::WebGLRenderingContext::cullFace):
        (WebCore::WebGLRenderingContext::deleteBuffer):
        (WebCore::WebGLRenderingContext::depthFunc):
        (WebCore::WebGLRenderingContext::depthMask):
        (WebCore::WebGLRenderingContext::depthRange):
        (WebCore::WebGLRenderingContext::disable):
        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
        (WebCore::WebGLRenderingContext::validateElementArraySize):
        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
        (WebCore::WebGLRenderingContext::validateRenderingState):
        (WebCore::WebGLRenderingContext::drawArrays):
        (WebCore::WebGLRenderingContext::drawElements):
        (WebCore::WebGLRenderingContext::enable):
        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::frontFace):
        (WebCore::WebGLRenderingContext::generateMipmap):
        (WebCore::WebGLRenderingContext::getActiveAttrib):
        (WebCore::WebGLRenderingContext::getActiveUniform):
        (WebCore::WebGLRenderingContext::getAttachedShaders):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getBufferParameter):
        (WebCore::WebGLRenderingContext::getError):
        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
        (WebCore::WebGLRenderingContext::getParameter):
        (WebCore::WebGLRenderingContext::getProgramParameter):
        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
        (WebCore::WebGLRenderingContext::getShaderParameter):
        (WebCore::WebGLRenderingContext::getTexParameter):
        (WebCore::WebGLRenderingContext::getUniform):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::getVertexAttrib):
        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
        (WebCore::WebGLRenderingContext::hint):
        (WebCore::WebGLRenderingContext::isBuffer):
        (WebCore::WebGLRenderingContext::isEnabled):
        (WebCore::WebGLRenderingContext::isFramebuffer):
        (WebCore::WebGLRenderingContext::isProgram):
        (WebCore::WebGLRenderingContext::isRenderbuffer):
        (WebCore::WebGLRenderingContext::isShader):
        (WebCore::WebGLRenderingContext::isTexture):
        (WebCore::WebGLRenderingContext::lineWidth):
        (WebCore::WebGLRenderingContext::linkProgram):
        (WebCore::WebGLRenderingContext::pixelStorei):
        (WebCore::WebGLRenderingContext::polygonOffset):
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::sampleCoverage):
        (WebCore::WebGLRenderingContext::scissor):
        (WebCore::WebGLRenderingContext::stencilFunc):
        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
        (WebCore::WebGLRenderingContext::stencilMask):
        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
        (WebCore::WebGLRenderingContext::stencilOp):
        (WebCore::WebGLRenderingContext::stencilOpSeparate):
        (WebCore::WebGLRenderingContext::texImage2DBase):
        (WebCore::WebGLRenderingContext::texImage2DImpl):
        (WebCore::WebGLRenderingContext::texImage2D):
        (WebCore::WebGLRenderingContext::texParameter):
        (WebCore::WebGLRenderingContext::texParameterf):
        (WebCore::WebGLRenderingContext::texParameteri):
        (WebCore::WebGLRenderingContext::texSubImage2DBase):
        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
        (WebCore::WebGLRenderingContext::texSubImage2D):
        (WebCore::WebGLRenderingContext::uniform1f):
        (WebCore::WebGLRenderingContext::uniform1fv):
        (WebCore::WebGLRenderingContext::uniform1i):
        (WebCore::WebGLRenderingContext::uniform1iv):
        (WebCore::WebGLRenderingContext::uniform2f):
        (WebCore::WebGLRenderingContext::uniform2fv):
        (WebCore::WebGLRenderingContext::uniform2i):
        (WebCore::WebGLRenderingContext::uniform2iv):
        (WebCore::WebGLRenderingContext::uniform3f):
        (WebCore::WebGLRenderingContext::uniform3fv):
        (WebCore::WebGLRenderingContext::uniform3i):
        (WebCore::WebGLRenderingContext::uniform3iv):
        (WebCore::WebGLRenderingContext::uniform4f):
        (WebCore::WebGLRenderingContext::uniform4fv):
        (WebCore::WebGLRenderingContext::uniform4i):
        (WebCore::WebGLRenderingContext::uniform4iv):
        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
        (WebCore::WebGLRenderingContext::vertexAttrib1f):
        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
        (WebCore::WebGLRenderingContext::vertexAttrib2f):
        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
        (WebCore::WebGLRenderingContext::vertexAttrib3f):
        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
        (WebCore::WebGLRenderingContext::vertexAttrib4f):
        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
        (WebCore::WebGLRenderingContext::vertexAttribPointer):
        (WebCore::WebGLRenderingContext::viewport):
        (WebCore::WebGLRenderingContext::getBooleanParameter):
        (WebCore::WebGLRenderingContext::getBooleanArrayParameter):
        (WebCore::WebGLRenderingContext::getFloatParameter):
        (WebCore::WebGLRenderingContext::getIntParameter):
        (WebCore::WebGLRenderingContext::getLongParameter):
        (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
        (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
        (WebCore::WebGLRenderingContext::isTexInternalFormatColorBufferCombinationValid):
        (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat):
        (WebCore::WebGLRenderingContext::validateTextureBinding):
        (WebCore::WebGLRenderingContext::validateSize):
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
        (WebCore::WebGLRenderingContext::validateTexFuncLevel):
        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        (WebCore::WebGLRenderingContext::validateDrawMode):
        (WebCore::WebGLRenderingContext::validateStencilFunc):
        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
        (WebCore::WebGLRenderingContext::validateBlendEquation):
        (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
        (WebCore::WebGLRenderingContext::validateCapability):
        (WebCore::WebGLRenderingContext::validateUniformParameters):
        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
        * html/canvas/WebGLShader.cpp:
        (WebCore::WebGLShader::create):
        (WebCore::WebGLShader::WebGLShader):
        * html/canvas/WebGLShader.h:
        (WebCore::WebGLShader::getType):
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::setTarget):
        (WebCore::WebGLTexture::setParameteri):
        (WebCore::WebGLTexture::setParameterf):
        (WebCore::WebGLTexture::setLevelInfo):
        (WebCore::WebGLTexture::generateMipmapLevelInfo):
        (WebCore::WebGLTexture::getInternalFormat):
        (WebCore::WebGLTexture::getType):
        (WebCore::WebGLTexture::getWidth):
        (WebCore::WebGLTexture::getHeight):
        (WebCore::WebGLTexture::isNPOT):
        (WebCore::WebGLTexture::mapTargetToIndex):
        (WebCore::WebGLTexture::computeLevelCount):
        (WebCore::WebGLTexture::update):
        (WebCore::WebGLTexture::getLevelInfo):
        * html/canvas/WebGLTexture.h:
        (WebCore::WebGLTexture::LevelInfo::setInfo):
        * html/canvas/WebGLUniformLocation.cpp:
        (WebCore::WebGLUniformLocation::create):
        (WebCore::WebGLUniformLocation::WebGLUniformLocation):
        (WebCore::WebGLUniformLocation::location):
        * html/canvas/WebGLUniformLocation.h:
        * platform/graphics/GraphicsContext3D.h: Map GC3Dboolean to bool instead of unsigned char.

2011-01-13  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Fisher.

        Change createObjectURL and revokeObjectURL to put under webkitURL.
        https://bugs.webkit.org/show_bug.cgi?id=52257

        Note that we add "webkit" vendor prefix to URL that is introduced in
        the latest File API spec.

        For the time being, we implement webkitURL as a readonly attribute
        instead of a constructor so that we will not expose prototype property,
        as required by the spec.

        * Android.derived.jscbindings.mk:
        * Android.derived.v8bindings.mk:
        * Android.mk:
        * CMakeLists.txt:
        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/DOMURL.cpp: Added.
        * html/DOMURL.h: Added.
        * html/DOMURL.idl: Added.
        * inspector/front-end/NetworkPanel.js:
        * inspector/front-end/utilities.js:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitURL):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::webkitURL):
        * workers/WorkerContext.h:
        * workers/WorkerContext.idl:

2011-01-13  Emil Eklund  <eae@chromium.org>

        Reviewed by Dimitri Glazkov.

        Setting outerText should convert CR/LF to <br>
        https://bugs.webkit.org/show_bug.cgi?id=52268

        Make set outerText support line breaks (sharing the text to fragment code
        with setInnerText) and handle empty text nodes the same way IE does.

        Test: fast/dom/set-outer-text.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::textToFragment): Shared between setInnerText and setOuterText
        (WebCore::HTMLElement::setInnerText): Split out text parsing code.
        (WebCore::mergeWithNextTextNode): Split out text node merging code.
        (WebCore::HTMLElement::setOuterText): Added support for line breaks.
        * html/HTMLElement.h:

2011-01-13  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Relax the ESSL valid charset a little bit to include " ' `
        https://bugs.webkit.org/show_bug.cgi?id=52396

        * html/canvas/WebGLRenderingContext.cpp:

2011-01-13  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Attempt to fix crash in tiled compositor memcpy
        https://bugs.webkit.org/show_bug.cgi?id=52379

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::update):

2011-01-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Unreviewed, rolling out r75725.
        http://trac.webkit.org/changeset/75725
        https://bugs.webkit.org/show_bug.cgi?id=52317

        Caused crashes in layout tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType):
        * html/InputType.cpp:
        * html/InputType.h:
        * html/RangeInputType.cpp:
        * html/RangeInputType.h:
        * html/shadow/SliderThumbElement.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        (WebCore::SliderThumbElement::detach):
        * html/shadow/SliderThumbElement.h:
        (WebCore::SliderThumbElement::SliderThumbElement):
        (WebCore::SliderThumbElement::create):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::attach):
        (WebCore::MediaControlInputElement::updateStyle):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::~RenderSlider):
        (WebCore::RenderSlider::styleDidChange):
        (WebCore::RenderSlider::createThumbStyle):
        (WebCore::RenderSlider::thumbRect):
        (WebCore::RenderSlider::layout):
        (WebCore::RenderSlider::updateFromElement):
        (WebCore::RenderSlider::mouseEventIsInThumb):
        (WebCore::RenderSlider::mouseEventOffsetToThumb):
        (WebCore::RenderSlider::setValueForPosition):
        (WebCore::RenderSlider::positionForOffset):
        (WebCore::RenderSlider::currentPosition):
        (WebCore::RenderSlider::trackSize):
        (WebCore::RenderSlider::forwardEvent):
        (WebCore::RenderSlider::inDragMode):
        * rendering/RenderSlider.h:

2011-01-12  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Flip input[type=range] to use the new shadow DOM model.
        https://bugs.webkit.org/show_bug.cgi?id=52317

        This is a straight-up flip, minimal change to the logic, which will be
        refactored in a follow-up patch.

        Covered by existing tests.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve): Changed to use either
            host or parent node to find parent.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::updateType): Added logic for destroying/creating
            shadow DOM subtree.
        * html/InputType.cpp:
        (WebCore::InputType::createShadowSubtree): Added empty decl.
        (WebCore::InputType::destroyShadowSubtree): Added a method to destroy
            shadow subtree.
        * html/InputType.h: Added defs.
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::createShadowSubtree): Added a virtual method to create
            slider thumb.
        * html/RangeInputType.h: Adde def.
        * html/shadow/SliderThumbElement.cpp: Added temporary RenderSliderThumb class
            to handle cascading appearance.
        (WebCore::RenderSliderThumb::RenderSliderThumb): Added.
        (WebCore::RenderSliderThumb::layout): Moved here the logic from
            RenderSlider::createThumbStyle.
        (WebCore::SliderThumbElement::createRenderer): Added virtual method to
            create RenderSliderThumb instance.
        (WebCore::SliderThumbElement::defaultEventHandler): Changed to use HTMLDivElement
            as base class.
        (WebCore::SliderThumbElement::detach): Ditto.
        * html/shadow/SliderThumbElement.h:
        (WebCore::SliderThumbElement::SliderThumbElement): Ditto.
        (WebCore::SliderThumbElement::create): Ditto.
        (WebCore::toSliderThumbElement): Added a casting helper.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlInputElement::attach): Added handling of shadow DOM,
            since the whole method is hand-rolled.
        (WebCore::MediaControlInputElement::updateStyle): Ditto.
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::~RenderSlider): Removed unneeded code.
        (WebCore::RenderSlider::thumbRect): Changed to use sliderThumbElement helper.
        (WebCore::RenderSlider::layout): Ditto.
        (WebCore::RenderSlider::sliderThumbElement): Added a temporary helper to access
            SliderThumbElement.
        (WebCore::RenderSlider::mouseEventIsInThumb): Changed to use sliderThumbElement helper.
        (WebCore::RenderSlider::mouseEventOffsetToThumb): Ditto.
        (WebCore::RenderSlider::setValueForPosition): Ditto.
        (WebCore::RenderSlider::positionForOffset): Ditto.
        (WebCore::RenderSlider::currentPosition): Ditto.
        (WebCore::RenderSlider::trackSize): Ditto.
        (WebCore::RenderSlider::forwardEvent): Ditto.
        (WebCore::RenderSlider::inDragMode): Ditto.
        * rendering/RenderSlider.h: Added def.

2011-01-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8098442> Crash in Widget::setFrameRect()
        https://bugs.webkit.org/show_bug.cgi?id=52375

        Test: plugins/destroy-on-setwindow.html

        * platform/mac/WidgetMac.mm:
        (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
        out to the view.
        (WebCore::Widget::getOuterView): Coding style fix.
        (WebCore::Widget::paint): Protect the Widget from being deleted as a result of calling out to
        the views. This is precautionary, since this function does not applear to access member variables
        after such calls.
        * platform/wx/WidgetWx.cpp:
        (WebCore::Widget::setFrameRect): Protect the Widget from being deleted as a result of calling
        out to the platform widget.

2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix after r75715.

        * WebCore.pri:
        * WebCore.pro:

2011-01-13  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: Qt build fix.

        * WebCore.pri:

2011-01-12  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: embed injected script into the backend.
        https://bugs.webkit.org/show_bug.cgi?id=52312

        InjectedScript belongs to the backend of the system and
        should be exposed by means of protocol, not InjectedScriptAccess.
        This patch makes injected script a part of the backend.
        It introduces single manual generation step (xxd -i) that should be
        automated by the build scripts for all the platforms.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSInjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::injectedScriptFor):
        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
        (WebCore::InjectedScriptHost::injectedScriptFor):
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::injectedScriptSource):
        * inspector/InjectedScriptHost.h:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/InjectedScript.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone.propertyNamesCallback):
        (WebInspector.doLoadedDone):
        * inspector/xxd.pl: Added.

2011-01-13  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Timothy Hatcher.

        Web Inspector: Cleanup after r75613 -- make all UI-facing strings
        to be passed directly to WebInspector.UIString

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ApplicationCacheItemsView.js:
        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype.doRun):
        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._updateWithCookies):
        * inspector/front-end/ImageView.js:
        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
        (WebInspector.ImageView.prototype._createContentIfNeeded):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkTimeCalculator.prototype.formatValue):
        (WebInspector.NetworkTransferTimeCalculator.prototype.formatValue):
        (WebInspector.NetworkTransferDurationCalculator.prototype.formatValue):
        * inspector/front-end/ProfileDataGridTree.js:
        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
        (WebInspector.ProfileDataGridNode.prototype.get data):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toUIString):
        (WebInspector.Resource.Type.toString):
        * inspector/front-end/TimelineOverviewPane.js:
        (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelineCalculator.prototype.formatValue):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
        * inspector/front-end/utilities.js:
        ():

2011-01-13  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Need a way to inform the application when a Netscape plugin is created.
        https://bugs.webkit.org/show_bug.cgi?id=30179

        Added "c" style static method for the application to hook up for
        receiving notifications when a plugin is created.

        * plugins/symbian/PluginViewSymbian.cpp:
        (qtwebkit_setPluginCreatedCallback):
        (WebCore::PluginView::platformStart):

2011-01-13  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Use a black background color for the video element on Qt Mobile
        https://bugs.webkit.org/show_bug.cgi?id=52252

        Use black as the background color for the video element on Qt Mobile.

        * css/themeQtMobile.css:
        (video):

2011-01-13  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Use a big central media play control button for video element 
        https://bugs.webkit.org/show_bug.cgi?id=52315

        When ChromeClient::requiresFullscreenForVideoPlayback() returns true,
        all other control buttons for the video element are hidden, except 
        a big centralized play button.

        No new tests because no client implements requiresFullscreenForVideoPlayback yet.

        * WebCore.pri:
        * css/mediaControlsQtFullscreen.css: Added.
        (audio):
        (audio::-webkit-media-controls-panel):
        (video::-webkit-media-controls-panel):
        (video:-webkit-full-page-media::-webkit-media-controls-panel):
        (audio::-webkit-media-controls-mute-button):
        (video::-webkit-media-controls-mute-button):
        (audio::-webkit-media-controls-play-button):
        (video::-webkit-media-controls-play-button):
        (audio::-webkit-media-controls-timeline-container):
        (video::-webkit-media-controls-timeline-container):
        (audio::-webkit-media-controls-current-time-display):
        (video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
        (audio::-webkit-media-controls-timeline):
        (video::-webkit-media-controls-timeline):
        (audio::-webkit-media-controls-volume-slider-container):
        (video::-webkit-media-controls-volume-slider-container):
        (audio::-webkit-media-controls-volume-slider):
        (video::-webkit-media-controls-volume-slider):
        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
        (audio::-webkit-media-controls-fullscreen-button):
        (video::-webkit-media-controls-fullscreen-button):
        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):

2011-01-13  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Paint toggle buttons inconsistent when the object state is indeterminate
        https://bugs.webkit.org/show_bug.cgi?id=52361

        Check whether the object state is indeterminate to set the flag
        GTK_STATE_FLAG_INCONSISTENT before rendering check and radio
        buttons.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::paintToggle):

2011-01-13  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Extend the Platform Plugin to support full screen video handler
        https://bugs.webkit.org/show_bug.cgi?id=51249

        Make MediaPlayerPrivateQt support a fullscreen player.

        No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
        However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
        So, still skip it for Qt.

        * WebCore.pro:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
        (WebCore::MediaPlayerPrivateQt::removeVideoItem):
        (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQt::mediaPlayer):

2011-01-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        <rdar://problem/8858548> Disable inheritance of text emphasis marks to ruby text
        https://bugs.webkit.org/show_bug.cgi?id=52359

        Test: fast/ruby/text-emphasis.html

        * css/html.css:
        (rt):

2011-01-13  Csaba Osztrogonác  <ossy@webkit.org>

        Rubber-stamped by David Levin.

        Trivial fix after r75682.

        * loader/FrameLoader.cpp: Remove accidentally committed debug code.
        (WebCore::FrameLoader::shouldClose):

2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION(r69831): focus() in onkeypress discards input (affects chaseonline.chase.com)
        https://bugs.webkit.org/show_bug.cgi?id=52241

        The bug was caused by RenderTextControl::selection's creating a Range with m_insertText
        which is a shadow DOM div as both start and end containers. Fixed the bug by traversing
        through the descendents of m_innerText and using the right start and end containers to
        create a Range.

        Test: fast/forms/focus-change-on-keypress.html

        * rendering/RenderTextControl.cpp:
        (WebCore::setContainerAndOffsetForRange): Added; a helper function.
        (WebCore::RenderTextControl::selection): See above.

2011-01-12  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        M_formElementsWithFormAttribute not cleared when FormAssociatedElement is inserted with a null m_form and then removed.
        https://bugs.webkit.org/show_bug.cgi?id=51905

        Calls unregisterFormElementWithFormAttribute() when 'form' attribute
        is removed.

        Tests: fast/forms/form-associated-element-crash.html
               fast/forms/form-associated-element-crash2.html

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::formAttributeChanged):

2011-01-12  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        M_formElementsWithFormAttribute not cleared when Node is moved to another document.
        https://bugs.webkit.org/show_bug.cgi?id=51418

        Calls unregisterFormElementWithFormAttribute() when form associated elements
        are moved to another document.

        Test: fast/forms/change-form-element-document-crash.html

        * html/FormAssociatedElement.cpp:
        (WebCore::FormAssociatedElement::willMoveToNewOwnerDocument): Added.
        * html/FormAssociatedElement.h: Added willMoveToNewOwnerDocument().
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::willMoveToNewOwnerDocument): Added.
        * html/HTMLFormControlElement.h: Added willMoveToNewOwnerDocument().
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::willMoveToNewOwnerDocument): Added.
        * html/HTMLObjectElement.h: Added willMoveToNewOwnerDocument().
        * html/HTMLPlugInImageElement.h: Moves willMoveToNewOwnerDocument() to protected.

2011-01-12  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Stop instantiating legacy editing positions in ApplyBlockElementCommand and ApplyStyleCommand
        https://bugs.webkit.org/show_bug.cgi?id=52250

        Removed instantiation of legacy editing positions.
        Calls to Position::Position are replaced by calls to Position's convenience functions.

        Also added firstPositionInOrBeforeNode and lastPositionInOrAfterNode,
        which are functions that return firstPositionInNode and lastPositionInNode respectively
        when the specified node can have children for editing purpose and return positionBeforeNode
        and positionAfterNode respectively otherwise. They can be used to guarantee that we never
        create a bogus position like [img, 0] or [br, 0].

        No tests are added since this is a cleanup.

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::formatSelection):
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::applyBlockStyle):
        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle):
        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle):
        (WebCore::ApplyStyleCommand::removeInlineStyle):
        (WebCore::ApplyStyleCommand::nodeFullySelected):
        (WebCore::ApplyStyleCommand::nodeFullyUnselected):
        (WebCore::ApplyStyleCommand::splitTextAtStart):
        (WebCore::ApplyStyleCommand::splitTextAtEnd):
        (WebCore::ApplyStyleCommand::splitTextElementAtStart):
        (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
        (WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode):
        (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
        (WebCore::ApplyStyleCommand::computedFontSize):
        (WebCore::ApplyStyleCommand::joinChildTextNodes):
        * editing/ApplyStyleCommand.h:
        * editing/htmlediting.h:
        (WebCore::firstPositionInOrBeforeNode): Added.
        (WebCore::lastPositionInOrAfterNode): Added.

2011-01-12  Sam Weinig  <sam@webkit.org>

        Another build fix.

        * platform/mac/WheelEventMac.mm:
        (WebCore::phaseForEvent):

2011-01-12  Sam Weinig  <sam@webkit.org>

        Fix build.

        * platform/mac/WheelEventMac.mm:
        (WebCore::phaseForEvent):

2011-01-12  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove premature optimization from SchemeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=52283

        As far as I can tell, this optimization isn't necessary.  I'm slightly
        unsure which benchmarks to run to demonstrate this numerically, but
        none of the benchmarks Chromium tracks were affected by adding a
        similar check for "display-isolated" schemes.

        * platform/SchemeRegistry.cpp:
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):

2011-01-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders Carlsson.

        Add-on for https://bugs.webkit.org/show_bug.cgi?id=52309 
        Expose fixed layout through WebKit SPI
        -and corresponding-
        <rdar://problem/8844464>

        And now with getters!
        * WebCore.exp.in:

2011-01-12  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        https://bugs.webkit.org/show_bug.cgi?id=52337
        PlatformWheelEvent should know about the scroll phase on the Mac

        Add a phase parameter on Mac PlatformWheelEvents.

        * platform/PlatformWheelEvent.h:
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
        (WebCore::PlatformWheelEvent::phase):
        * platform/mac/WheelEventMac.mm:
        (WebCore::phaseForEvent):
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        A couple of lines of the patch for https://bugs.webkit.org/show_bug.cgi?id=52321
        were omitted. 

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Getting rid of an assert that was causing build failures that turns out not to be needed.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintsWithTransform):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Another fix for Gtk

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintsWithTransform):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Fix for Gtk and Windows builds

        * page/Frame.cpp:
        (WebCore::Frame::scalePage):
        * page/Frame.h:
        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (PlatformCALayer::contentsScale):
        (PlatformCALayer::setContentsScale):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        UNreviewed.

        Fix for the Windows build

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
        (contentsScale):
        (setContentsScale):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Another build fix

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setContentsScale):

2011-01-11  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Max area bound needed in creation of IOSurface in ImageBufferCG.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52172

        Tests: fast/canvas/canvas-large-dimensions.html

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2011-01-12  Daniel Bates  <dbates@rim.com>
            And Benjamin C Meyer  <bmeyer@rim.com>

        Build fix when building with Inspector disabled
        https://bugs.webkit.org/show_bug.cgi?id=52313

        After changeset 75604 <http://trac.webkit.org/changeset/75604> it's not
        possible to build when the Inspector is disabled.

        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::updateApplicationCacheStatus): Fix build breakage when building
        with Inspector disabled and Offline Web Applications enabled by moving macro guard condition
        ENABLE(INSPECTOR) && ENABLE(OFFLINE_WEB_APPLICATIONS) into function body. This makes us also
        consistent with the form we use for InspectorInstrumentation::networkStateChanged() and other
        InspectorInstrumentation functions.
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::didReceiveData): Fix build breakage when building with Inspector
        disabled by adding ENABLE(INSPECTOR) guard around code that references the instance variable
        ApplicationCacheGroup::m_currentResourceIdentifier as this variable only exists when building
        with the Inspector.
        (WebCore::ApplicationCacheGroup::didFinishLoading): Ditto.
        (WebCore::ApplicationCacheGroup::didFail): Ditto.

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Fix a build issue from http://trac.webkit.org/changeset/75639.

        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::contentsScale):
        (WebCore::GraphicsLayer::setContentsScale):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Kevin Decker.

        Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
        rdar://problem/8824974

        This prevents the rootLayer (with the WebKit rendered content) from going becoming
        a tiled layer when zoomed, and when there is other layered content on the page.
        This speeds up zooming a lot and avoids some buggy behavior in CA with a very large
        number of layers.
        
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintsWithTransform):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintingGoesToWindow):

2011-01-12  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.
        
        Pages with accelerated layers lose subpixel-AA and become blurry when a scale factor is applied
        rdar://problem/8824974

        When scaled, WebKit renders the page content at the scaled up size, so there are no
        scaling artifacts. But content drawn into a layer's backing store does not scale up.
        This is made worse by the fact that the root page contents become layered when there
        are other accelerated compositing layers present (video, plugins, etc.).
        
        Plumb scaling factor from Frame::scalePage() down into all layers with content. It
        eventually calls CALayer::setContentsScale which renders to a backing store whose dimensions
        are scaled, causing them to render larger and appear pixel perfect at the scaled
        page size.
 
         * page/Frame.cpp:
         (WebCore::Frame::updateContentsScale):
         (WebCore::Frame::scalePage):
         * page/Frame.h:
         * platform/graphics/GraphicsLayer.h:
         * platform/graphics/ca/GraphicsLayerCA.cpp:
         (WebCore::GraphicsLayerCA::setContentsScale):
         (WebCore::GraphicsLayerCA::clampedContentsScaleForScale):
         * platform/graphics/ca/GraphicsLayerCA.h:
         (WebCore::GraphicsLayerCA::contentsScale):
         * platform/graphics/ca/PlatformCALayer.h:
         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
         (PlatformCALayer::contentsScale):
         (PlatformCALayer::setContentsScale):
         * rendering/RenderLayer.cpp:
         (WebCore::RenderLayer::updateContentsScale):
         * rendering/RenderLayer.h:
         * rendering/RenderLayerBacking.cpp:
         (WebCore::RenderLayerBacking::createGraphicsLayer):
         (WebCore::RenderLayerBacking::updateForegroundLayer):
         (WebCore::RenderLayerBacking::updateMaskLayer):
         (WebCore::RenderLayerBacking::updateContentsScale):
         * rendering/RenderLayerBacking.h:
         * rendering/RenderLayerCompositor.cpp:
         (WebCore::RenderLayerCompositor::updateContentsScale):
         * rendering/RenderLayerCompositor.h:
 
2011-01-12  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Fix DrawingBuffer issues for depth/stencil, extensions, etc.
        https://bugs.webkit.org/show_bug.cgi?id=52310

        1)  GL_TEXTURE is not a valid argument to glFramebufferTexture2D()
        (should be GL_TEXTURE_2D).
        2)  Support for the multisampling extension was being checked after
        the DrawingBuffer constructor was called, which calls multisample()
        to check for the extension.
        3)  If depth or stencil is set, the corresponding framebuffers must
        be created in the DrawingBuffer constructor.
        4)  GL_DEPTH_STENCIL is not a valid framebuffer internal type in
        GLES2.  Must use GL_OES_DEPTH24_STENCIL8, and check for the
        OES_packed_depth_stencil extension.

        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::DrawingBuffer::DrawingBuffer):
        Record the extension support in the constructor.  Create all the
        secondary drawing buffers (for multisampling, depth/stencil).
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        Check for the extensions before calling the DrawingBuffer constructor.
        (WebCore::DrawingBuffer::createSecondaryBuffers):
        Refactor creation of the secondary buffers from DrawingBufferMac.mm to
        here.
        (WebCore::DrawingBuffer::reset):
        Use DEPTH24_STENCIL8 format, not DEPTH_STENCIL.  Use
        DEPTH_COMPONENT16, not DEPTH_COMPONENT.
        Use GL_TEXTURE_2D, not GL_TEXTURE (for glFramebufferTexture2D).
        * platform/graphics/gpu/DrawingBuffer.h:
        Refactor createSecondaryBuffers().  Add extension support arguments to
        constructor.  Add support for packed_depth_stencil extension.
        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
        (WebCore::DrawingBuffer::DrawingBuffer):
        Record extension support in constructor.  Refactor out creation of
        secondary buffers.

2011-01-12  Beth Dakin  <bdakin@apple.com>

        Reviewed by Anders Carlsson.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=52309 Expose
        fixed layout through WebKit SPI
        -and corresponding-
        <rdar://problem/8844464>

        Export symbols for ScrollView::setUseFixedLayout() and 
        ScrollView::setFixedLayoutSize()
        * WebCore.exp.in:

2011-01-12  Robert Hogan  <robert@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Search input field doesn't have cancel button

        Add a cancel button to the search field and make it customizable
        by the client. For now, use the close dialog button associated
        with the application's style as the default.

        Unskip a bunch of search field related tests that pass now:

        fast/forms/search-cancel-button-mouseup.html
        fast/forms/search-rtl.html
        fast/forms/search-abs-pos-cancel-button.html
        fast/forms/search-styled.html
        fast/forms/search-transformed.html
        fast/forms/search-zoomed.html
        fast/forms/search-cancel-button-style-sharing.html
        fast/forms/search-display-none-cancel-button.html
        fast/forms/search-placeholder-value-changed.html
        fast/repaint/search-field-cancel.html
        fast/forms/search-cancel-button-events.html

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

        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::isControlStyled):
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::paintSearchField):
        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeQt::convertToPaintingRect):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        * platform/qt/RenderThemeQt.h:

2011-01-12  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: cookie table is multiplied after repeated switching to cookies tab in network item view
        Only create cookiesTable is it hasn't been done yet.
        https://bugs.webkit.org/show_bug.cgi?id=52303

        * inspector/front-end/ResourceCookiesView.js:
        (WebInspector.ResourceCookiesView.prototype.show):

2011-01-12  Koan-Sin Tan  <koansin.tan@gmail.com>

        Reviewed by Martin Robinson.

        [Gtk] WebKitGtk+ doesn't build on Mac OS X 10.6
        https://bugs.webkit.org/show_bug.cgi?id=50867

        * config.h: Don't disallow ctype for (OS(DARWIN) && PLATFORM(GTK))
        Many GTK+ related files include <libintl.h> or <glib/gi18n-lib.h>.
        On Mac, <libintl.h> includes <xlocale.h>. <xclocale.h> includes 
        <xlocale/_ctype.h>, which uses isacii().
        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString): For OS(DARWIN) && !PLATFORM(CF)
        use the Chromium Linux UUID generation.

2011-01-12  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Eric Seidel.

        [CSS Gradients] One color stop should not paint anything for linear-gradient
        https://bugs.webkit.org/show_bug.cgi?id=52259
        
        Share color stop parsing code between linear and radial gradients.
        Consider the gradient invalid if it has less than two color stops.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseLinearGradient):
        (WebCore::CSSParser::parseRadialGradient):
        (WebCore::CSSParser::parseGradientColorStops):
        * css/CSSParser.h:

2011-01-12  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Fix inconsistencies in Inspector strings found by the new check-inspector-strings script.

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

        * English.lproj/localizedStrings.js:
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.EventListenerBreakpointsSidebarPane):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.Type.toString):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourceRevisionTreeElement):
        * inspector/front-end/utilities.js:
        ():

2011-01-12  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix WML compilation on Mac.

        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::setValue):
        (WebCore::WMLInputElement::setValueForUser):
        (WebCore::WMLInputElement::initialize):
        (WebCore::WMLInputElement::validateInputMask):
        * wml/WMLSelectElement.cpp:
        (WebCore::WMLSelectElement::listBoxSelectItem):

2011-01-12  Justin Schuh  <jschuh@chromium.org>

        Unreviewed build fix for debug strict compiles.

        Use fprintf for debug statements instead of fwrite, which caused compile failures
        in debug strict mode because of failure to check the fwrite return value.

        No behavior changed.

        * rendering/CounterNode.cpp:
        (WebCore::showTreeAndMark):

2010-12-29  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        inspector/timeline-network-resource.html fails when run twice
        https://bugs.webkit.org/show_bug.cgi?id=37394

        Send didReceiveResponse notification to the timeline agent from ResourceLoadNotifier
        instead of ResourceLoader::didReceiveResponse to cover the cases when resources
        are loaded from memory cache.

        Network notifications are now sent to InspectorInstrumentation which dispatches
        them to interested agents and InspectorController.

        * inspector/Inspector.idl:
        * inspector/InspectorApplicationCacheAgent.cpp:
        (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::willSendRequest):
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didFailLoading):
        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
        * inspector/InspectorController.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::identifierForInitialRequestImpl):
        (WebCore::InspectorInstrumentation::willSendRequestImpl):
        (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
        (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::scriptImportedImpl):
        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
        * inspector/InspectorInstrumentation.h:
        (WebCore::InspectorInstrumentation::identifierForInitialRequest):
        (WebCore::InspectorInstrumentation::willSendRequest):
        (WebCore::InspectorInstrumentation::markResourceAsCached):
        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
        (WebCore::InspectorInstrumentation::didReceiveContentLength):
        (WebCore::InspectorInstrumentation::didFinishLoading):
        (WebCore::InspectorInstrumentation::didFailLoading):
        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
        (WebCore::InspectorInstrumentation::scriptImported):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
        * inspector/InspectorResourceAgent.h:
        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
        * inspector/InspectorTimelineAgent.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
        * inspector/TimelineRecordFactory.h:
        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::didReceiveResponse):
        (WebCore::ResourceLoadNotifier::didFailToLoad):
        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didReceiveResponse):
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::createResourceHandle):
        (WebCore::ApplicationCacheGroup::didReceiveResponse):
        (WebCore::ApplicationCacheGroup::didReceiveData):
        (WebCore::ApplicationCacheGroup::didFinishLoading):
        (WebCore::ApplicationCacheGroup::didFail):
        * loader/appcache/ApplicationCacheGroup.h:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        * workers/Worker.cpp:
        (WebCore::Worker::notifyFinished):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::didFinishLoading):

2011-01-12  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: do not replace all tabs with spaces when editing script source
        https://bugs.webkit.org/show_bug.cgi?id=52291

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.setContent):
        (WebInspector.SourceFrame.prototype._editLine):

2011-01-11  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Nate Chapin.

        Enforce READ_ONLY transactions in IndexedDB
        https://bugs.webkit.org/show_bug.cgi?id=52229

        Add READ_ONLY_ERR and return it whenever delete or put
        are called.  Note that IDBCursor's delete and update
        are simply aliases for delete/put, which is why no
        extra code is required to handle those cases.

        Test: storage/indexeddb/transaction-read-only.html

        * dom/ExceptionCode.cpp:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::deleteFunction):
        * storage/IDBDatabase.idl:
        * storage/IDBDatabaseException.h:
        * storage/IDBDatabaseException.idl:
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::put):
        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):

2011-01-11  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] minimal build breaks in RenderThemeGtk3
        https://bugs.webkit.org/show_bug.cgi?id=52202

        * platform/gtk/RenderThemeGtk3.cpp: Added VIDEO guards around
        initMediaColors().

2011-01-11  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GStreamer] PlatformVideoWindowMac implementation
        https://bugs.webkit.org/show_bug.cgi?id=50770

        This new implementation will be used on Mac OS to display the
        fullscreen video window with the GStreamer-based media player.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::gstGWorldSyncMessageCallback):
        * platform/graphics/gstreamer/PlatformVideoWindow.h:
        (WebCore::PlatformVideoWindow::window):
        * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
        (PlatformVideoWindow::PlatformVideoWindow):
        (PlatformVideoWindow::~PlatformVideoWindow):
        (PlatformVideoWindow::prepareForOverlay):

2011-01-11  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Webkit crashes when a gradient is applied using the first-line pseudo element
        https://bugs.webkit.org/show_bug.cgi?id=52225
        
        When a pseudostyle references images, we fail to register/unregister
        the relevant RenderObjects as clients of the image in the style.
        For gradients, this caused a crash.
        
        This patch fixes the crash by returning a null gradient image in this
        situation.

        Test: fast/gradients/gradient-on-pseudoelement-crash.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::image):

2011-01-11  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        REGRESSION (r71562): servePendingRequests() no longer called when
        resources are done loading.
        https://bugs.webkit.org/show_bug.cgi?id=52264
        <rdar://problem/8767429>
        
        In r71562, servePendingRequests() is no longer called in Loader's
        didFinishLoading(), didFail() and didReceiveResponse() methods. Since
        r71562 was intended only as a refactoring, these calls should be
        restored. At least one WebKit-based Mac OS X application relies on this
        for correct behavior.

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::loadDone): Call
        resourceLoadScheduler()->servePendingRequests().

2011-01-11  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        Add Document::setContent()
        https://bugs.webkit.org/show_bug.cgi?id=52085

        Add a method to Document to set the whole content at once.
        This removes the hack of the insert method in the xml parser
        and is a predecessor to feed the xml parser with raw data.

        * dom/Document.cpp:
        (WebCore::Document::setContent):
        * dom/Document.h:
        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::insert): Added ASSERT_NOT_REACHED().
        * loader/cache/CachedFont.cpp:
        (WebCore::CachedFont::ensureSVGFontData): Use setContent.
        * xml/DOMParser.cpp:
        (WebCore::DOMParser::parseFromString): Ditto.
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::responseXML): Ditto.
        * xml/XSLTProcessor.cpp:
        (WebCore::XSLTProcessor::createDocumentFromSource): Ditto.

2011-01-11  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fix.

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::addArc): Switch to MathExtra's piFloat define,
        rather than M_PI which is not always available.

2011-01-11  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>

        Reviewed by Adam Barth.

        Use plug-in DB for extensions to MIME type convertion

        Plugins extension to MIME type conversion was not used in the
        frameLoader. This was causing some fallback to be use which as the side
        effect of loosing all the <OBJECT> parameters or <EMBED> attributes.
        This patch ensure that we try to convert the extension to MIME type
        using the plugin database beofre using this fallback.

        Attribute lost with Flash plugin without mime type set
        https://bugs.webkit.org/show_bug.cgi?id=50657

        Test: plugins/no-mime-with-valid-extension.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::defaultObjectContentType): Use PluginDatabase for MIME

2011-01-11  James Simonsen  <simonjam@chromium.org>

        Reviewed by Eric Seidel.

        [Web Timing] Rename sslHandshakeStart to secureConnectionStart
        https://bugs.webkit.org/show_bug.cgi?id=52239

        * page/PerformanceTiming.cpp:
        (WebCore::PerformanceTiming::secureConnectionStart):
        * page/PerformanceTiming.h:
        * page/PerformanceTiming.idl:

2011-01-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Introduce the notion of a "display-isolated" URL scheme for use by
        Chrome-internal URLs
        https://bugs.webkit.org/show_bug.cgi?id=50182

        This patch actually makes the display-isolated schemes display
        isolated.  The behavior should be the same as the previous iteration of
        this patch, but re-organized a bit because reading the access white
        list is expensive.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::isAccessToURLWhiteListed):
        (WebCore::SecurityOrigin::canDisplay):
        * page/SecurityOrigin.h:
        * platform/SchemeRegistry.cpp:
        * platform/SchemeRegistry.h:

2011-01-11  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        Scroll event should be fired asynchronously
        https://bugs.webkit.org/show_bug.cgi?id=45631

        Tests: fast/events/fire-scroll-event.html
               fast/events/fire-scroll-event-element.html
               fast/events/scroll-event-phase.html

        Makes scroll events fire asynchronously to be in compliance with the
        CSSOM View Module and consistent with Gecko, Opera and (to some degree)
        IE.
        
        Implemented via the EventQueue class added by r74062 (EventQueue now
        has a convenience enqueueScrollEvent method).

        * dom/EventQueue.cpp:
        (WebCore::EventQueue::enqueueScrollEvent):
        (WebCore::EventQueue::pendingEventTimerFired):
        * dom/EventQueue.h:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::sendScrollEvent):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scrollToOffset):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::valueChanged):

2011-01-11  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r75523.

        * platform/wince/DragDataWinCE.cpp: Added missing include.

2011-01-11  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        RefPtr the FrameView to prevent scrollbar from getting deleted inside
        its scroll event.
        https://bugs.webkit.org/show_bug.cgi?id=52238

        Test: scrollbars/scrollable-iframe-remove-crash.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::scrollTo):

2011-01-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Hyatt.

        Make pseudo-style resolution less hard-coded when used to select a shadow node
        https://bugs.webkit.org/show_bug.cgi?id=46595

        Essentially implements the plumbing for the XBL2 pseudo attribute:
        http://dev.w3.org/2006/xbl2/#the-pseudo-attribute

        Test: fast/css/unknown-pseudo-element-matching.html

        * css/CSSGrammar.y: Changed to handle specifier_list structure with the
            CSSParser::updateSpecifierWithElementName helper, added logic to
            keep unknown pseudo-element selectors at the top of the selector chain,
            so that we can easily check for them and grab them, and also because
            they would either not match anything or act as a descendant selector
            (descendant into a shadow DOM subtree that is), not a specifier.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::updateSpecifiersWithElementName): Generalized/combined
            the logic adding element name to selectors and added the special case
            to handle unknown pseudo-element selectors.
        * css/CSSParser.h: Added def.
        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId): Removed any mention of PseudoSliderThumb/SLIDER_THUMB.
        (WebCore::nameToPseudoTypeMap): Ditto.
        (WebCore::CSSSelector::extractPseudoType): Ditto.
        * css/CSSSelector.h: Added a new ShadowDescendant relation type,
            removed PseudoSliderThumb def.
        (WebCore::CSSSelector::isUnknownPseudoElement): Added a helper method.
        * css/CSSSelectorList.cpp:
        (WebCore::SelectorHasUnknownPseudoElementFunctor::operator()): Added a functor
            to check for an unknown pseudo-element in the list.
        (WebCore::CSSSelectorList::hasUnknownPseudoElements): Added.
        * css/CSSSelectorList.h: Added a def.
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleSet::getPseudoRules): Added accessor to pseudo-element hash.
        (WebCore::CSSStyleSelector::matchRules): Added matching pseudo elements.
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Added handling
            of ShadowDescendant relation.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Enabled handling
            of unknown pseudo-element selectors.
        (WebCore::CSSRuleSet::addRule): Added populating unknown pseudo-element hash.
        * css/html.css:
        (input[type="range"]::-webkit-slider-thumb): Added previously-hard-coded
            display:block.
        * dom/Element.h:
        (WebCore::Element::shadowPseudoId): Added new virtual method to allow
            elements to provide the value of pseudo-element selector they would match.
        * dom/Node.cpp:
        (WebCore::Node::querySelector): Added checking for unknown pseudo-element selectors,
            so that we can throw a SYNTAX_ERR if found.
        (WebCore::Node::querySelectorAll): Ditto.
        * html/shadow/SliderThumbElement.h:
        (WebCore::SliderThumbElement::shadowPseudoId): Added to return "-webkit-slider-thumb";
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::createThumbStyle): Changed to use the new styleForElement logic.
        * rendering/style/RenderStyleConstants.h: Removed SLIDER_THUMB.

2011-01-11  Dean Jackson  <dino@apple.com>

        Reviewed by Simon Fraser.

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

        WebKitCSSMatrix constructor should accept 'none'
        as a valid string parameter.

        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::setMatrixValue):

2011-01-11  James Robinson  <jamesr@chromium.org>

        Reviewed by Dimitri Glazkov.

        Set all RenderBlocks as replaced when an inline display type is specified
        https://bugs.webkit.org/show_bug.cgi?id=50858

        When a RenderBlock is created for an element with a specified display:inline style,
        it should always be treated as inline-block.  This situations often comes up for form
        controls.  Previously, RenderBlock::styleWillChange set the replaced flag for display
        values of inline-block, inline-table, and inline-table and a number of subclasses of
        RenderBlock set the replaced flag in styleDidChange for a display:inline.  However
        sometimes new subclasses would miss this step leading to bugs (such as with RenderDetails).
        This patch sets the replaced flag for all inline display types in RenderBlock::styleWillChange.

        Code cleanup only, no change in behavior so no new tests.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::styleWillChange):
        * rendering/RenderButton.cpp:
        (WebCore::RenderButton::styleDidChange):
        * rendering/RenderFieldset.cpp:
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::styleDidChange):
        * rendering/RenderListBox.cpp:
        * rendering/RenderListBox.h:
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::styleDidChange):
        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::styleDidChange):
        * rendering/RenderTextControl.cpp:
        (WebCore::RenderTextControl::styleDidChange):

2011-01-11  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        REGRESSION(r71934) Can't type in search edit field on skin-one.com
        https://bugs.webkit.org/show_bug.cgi?id=52195

        Restored the original behavior, where the selectstart event is not
        dispatched when selection changes inside of the shadow DOM.

        * dom/Node.cpp:
        (WebCore::determineDispatchBehavior): Moved EventDispatchBehavior-determining
            logic into a helper function, also added a check to keep selectstart
                events inside of the shadow DOM.
        (WebCore::Node::dispatchGenericEvent): Changed to use the helper function.

2011-01-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] Provide plugin coordinates to windowless plugins on Symbian.
        https://bugs.webkit.org/show_bug.cgi?id=52213

        * plugins/symbian/PluginViewSymbian.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2011-01-10  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Need to consider UNPACK_ALIGNMENT in GraphicsContext3D::texImage2DResourceSafe
        https://bugs.webkit.org/show_bug.cgi?id=52068

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D): Use computeImageSizeInBytes.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::readPixels): Ditto, and fix a bug on generating the wrong error.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::validateTexFuncData): Use computeImageSizeInBytes.
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::texImage2DResourceSafe): Add a new parameter alignment.
        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters): Add more supported format/type.
        (WebCore::GraphicsContext3D::computeImageSizeInBytes): Added.
        * platform/graphics/GraphicsContext3D.h:

2011-01-10  Enrica Casucci  <enrica@apple.com>

        Reviewed by Alexey Proskuryakov.

        Paste and drag and drop use different code paths to interact with the pasteboard.
        https://bugs.webkit.org/show_bug.cgi?id=52093
        The change consists in a refactoring of the code to have only one class that
        deals with the pasteboard on Mac.

        No new tests. A test is already available for this
        (editing/pasteboard/drag-image-to-contenteditable-in-iframe.html) but had incorrect results.

        * WebCore.exp.in:
        * loader/EmptyClients.h: Added two Mac only methods to call into WebKit to use functionality
        that is in NSURLExtras.
        (WebCore::EmptyEditorClient::canonicalizeURL):
        (WebCore::EmptyEditorClient::canonicalizeURLString):
        * page/DragController.cpp:
        The following methods have been changed to pass a pointer to the Frame object
        to the DragData class.
        (WebCore::documentFragmentFromDragData):
        (WebCore::DragController::performDrag):
        (WebCore::DragController::dispatchTextInputEventFor):
        (WebCore::DragController::concludeEditDrag):
        * page/EditorClient.h: Added two Mac only methods to call into WebKit to use functionality
        that is in NSURLExtras.
        The following files have been modified to pass the Frame object to the DragData method calls.
        * page/chromium/DragControllerChromium.cpp:
        (WebCore::DragController::dragOperation):
        * page/gtk/DragControllerGtk.cpp:
        (WebCore::DragController::dragOperation):
        * page/mac/DragControllerMac.mm:
        (WebCore::DragController::dragOperation):
        * page/qt/DragControllerQt.cpp:
        (WebCore::DragController::dragOperation):
        * page/win/DragControllerWin.cpp:
        (WebCore::DragController::dragOperation):
        * platform/DragData.h: Removed Mac specific constructor and reference to PasteboardHelper class.
        * platform/Pasteboard.h: Added public constructor to create a Pasteboard object from an NSPasteboard.
        The following files were all modified to match the new parameters of the methods listed.
        * platform/android/DragDataAndroid.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/chromium/DragDataChromium.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::asFragment):
        * platform/gtk/DragDataGtk.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/haiku/DragDataHaiku.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::DragData):
        (WebCore::DragData::asPlainText):
        (WebCore::insertablePasteboardTypes):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::getBestURL):
        (WebCore::Pasteboard::asURL):
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):
        * platform/win/DragDataWin.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsCompatibleContent):
        (WebCore::DragData::asFragment):
        * platform/wince/DragDataWinCE.cpp:
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::asFragment):
        * platform/wx/DragDataWx.cpp:
        (WebCore::DragData::asPlainText):
        (WebCore::DragData::containsURL):
        (WebCore::DragData::asURL):
        (WebCore::DragData::asFragment):

2011-01-11  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        RefPtr text node in setOuterText since calling appendData
        on a text node can fire away dom event listener which might
        remove the text node from underneath.
        https://bugs.webkit.org/show_bug.cgi?id=52163

        Test: fast/dom/text-node-append-data-remove-crash.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::setOuterText):

2011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Add support for <meter> element
        https://bugs.webkit.org/show_bug.cgi?id=48713

        * GNUmakefile.am: Enable meter element.

2011-01-11  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed buildfix.

        [Qt][V8] Add missing include for debug build.

        * loader/cache/CachedResourceLoader.cpp:

2011-01-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: redirects are lost from the network panel upon navigation.
        https://bugs.webkit.org/show_bug.cgi?id=52210

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):

2011-01-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Remove uses of QFuture since it isn't supported on all platforms.
        https://bugs.webkit.org/show_bug.cgi?id=51204

        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
        (WebCore::QtNAMThreadSafeProxy::QtNAMThreadSafeProxy):
        (WebCore::QtNAMThreadSafeProxy::localCookiesForUrl):
        (WebCore::QtNAMThreadSafeProxy::localWillLoadFromCache):
        * platform/network/qt/QtNAMThreadSafeProxy.h:
        (WebCore::QtNAMThreadSafeProxy::cookiesForUrl):
        (WebCore::QtNAMThreadSafeProxy::willLoadFromCache):

2011-01-11  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: recreate script view after live edit.
        https://bugs.webkit.org/show_bug.cgi?id=51751

        * inspector/front-end/Script.js:
        (WebInspector.Script.prototype.set source):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        (WebInspector.ScriptsPanel.prototype.viewRecreated):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._doEditLine):

2011-01-11  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: frameDetachedFromParent notification handler is missing in NetworkManager.
        https://bugs.webkit.org/show_bug.cgi?id=52205

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype.frameDetachedFromParent):

2011-01-11  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: "Audit present state" always disabled
        https://bugs.webkit.org/show_bug.cgi?id=52199

        Removed all traces of resource tracking checks, as we have it no more.

        * English.lproj/localizedStrings.js:
        * inspector/front-end/AuditLauncherView.js:
        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
        * inspector/front-end/AuditsPanel.js:

2011-01-11  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move delayed search implementation to SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=51753

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
        (WebInspector.SourceFrame.prototype.findSearchMatches):
        (WebInspector.SourceFrame.prototype.cancelFindSearchMatches):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView.prototype.hide):
        (WebInspector.SourceView.prototype.searchCanceled):
        (WebInspector.SourceView.prototype.performSearch.didFindSearchMatches):
        (WebInspector.SourceView.prototype.performSearch):

2011-01-11  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: innerFirstChild has a side effect which should be called explicitly.

        If a node is a frame's owner then innerFirstChild method
        subscribes DOMAgent instance to the frame's doc's events.
        I think this should be done explicitly when we meet with
        the node for the first time. As I understand it happens
        in buildArrayForContainerChildren method.

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

        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::startListeningFrameDoc):
        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
        (WebCore::InspectorDOMAgent::innerFirstChild):
        * inspector/InspectorDOMAgent.h:

2011-01-11  Adam Roben  <aroben@apple.com>

        Delete WKCACFLayer.{cpp,h}

        These have been unused since r75262

        * platform/graphics/win/WKCACFLayer.cpp: Removed.
        * platform/graphics/win/WKCACFLayer.h: Removed.

2011-01-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [regression] Cookies view does not allow columns resize.
        https://bugs.webkit.org/show_bug.cgi?id=51877

        * inspector/front-end/CookieItemsView.js:
        (WebInspector.CookieItemsView.prototype._updateWithCookies):

2011-01-11  Noel Gordon  <noel.gordon@gmail.com>

         Reviewed by James Robinson.

         [chromium] canvas.toDataURL("image/jpeg") should composite onto black.
         https://bugs.webkit.org/show_bug.cgi?id=51237

         The Canvas specification requires that the canvas image is composited using
         the Porter-Duff operator source-over onto a black background; the resultant
         image should be JPEG encoded and returned as a dataURL.  To composite image
         A and background B, for any Porter-Duff operator, produce pixels I with

            I = c(A)F(A) + c(B)F(B)

         where, F(X) is the fraction [0.0-1.0] contributed to the composite by image
         X, and c(X) are the premultiplied RGB color components of image X.  Note by
         definition, c(B) = 0 since the background is black, so I = c(A)F(A).  Since
         F(A) = 1 in Porter-Duff operator source-over, the composited pixels satisfy
         I = c(A).  Hence, to conform to the Canvas spec, pass the premultiplied RGB
         color components of the canvas image to the JPEG encoder.

         Covered by canvas/philip/tests/toDataURL.jpeg.alpha.html

         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
         (WebCore::preMultipliedBGRAtoRGB): Use Porter-Duff source-over black.

2011-01-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Chromium DevTools: get rid of APU-related code in WebKit/chromium.
        https://bugs.webkit.org/show_bug.cgi?id=52152

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::restoreInspectorStateFromCookie):
        (WebCore::InspectorController::setInjectedScriptSource):
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        * inspector/InspectorState.h:
        * inspector/front-end/inspector.js:

2011-01-11  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] Load timing is requested
        for all resources (not only for the main one).
        https://bugs.webkit.org/show_bug.cgi?id=51749

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest):
        * loader/ResourceLoadNotifier.cpp:
        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):

2011-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] GRefPtr should not be used with Gtk widgets
        https://bugs.webkit.org/show_bug.cgi?id=51241

        GRefPtr breaks the widget life-cycle, the main problem is
        that GRefPtr calls g_object_unref() when it's destroyed,
        which is undesirable for widgets. In gtk+ widgets are created with
        a floating reference and when added to a container, the container
        takes the ownership of the widget consuming the floating
        reference. So you don't usually need to call g_object_ref/unref on
        widgets (only for some operations like reparent a widget) and
        toplevel widgets are destroyed with gtk_widget_destroy().

        * platform/ContextMenuItem.h:
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::~ContextMenu):
        (WebCore::ContextMenu::setPlatformDescription):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):

2010-10-10  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=51119, transformed 
        elements not responding properly to :hover after r73385.  
        Just use the entire document area as the hit test area, 
        since there appears to be a rounding bug/issues with relying 
        on float math when mapping the hit test area into
        transformed coordinates.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::hitTest):

2011-01-10  Stephen White  <senorblanco@chromium.org>

        Reviewed by James Robinson.

        Fix canvas->canvas draws on the GPU path.
        https://bugs.webkit.org/show_bug.cgi?id=52141
        
        Two problems:  according to the canvas spec, both source and
        destination rects can have negative width or height, but this shouldn't
        cause the image to be flipped.  So we need to normalize the rects (in
        the software path, this is done by BitmapImage*::draw).  Secondly, in
        the FBO->FBO path, the image needs to be flipped vertically, since it
        is drawn upside down.  We were doing this by flipping the destination
        rect, but this doesn't work if the source rect is not the entire image,
        since we extract the wrong part of the image.  Fixed by flipping the
        source rect instead (and flipping it within the image buffer's height,
        not the source rect's height).

        Covered by fast/canvas/drawImage-with-negative-source-destination.html.


        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
        Put normalizeRect() in global scope.
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::draw):
        Fix as above:  normalize both source and dest rects, and flip the
        source rect instead of the dest rect.
        * platform/graphics/skia/ImageSkia.cpp:
        (WebCore::normalizeRect):
        Put normalizeRect() in global scope.

2011-01-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Csaba Osztrogonác.

        [Qt] Baseline qt_minimal configuration
        https://bugs.webkit.org/show_bug.cgi?id=51313

        No new tests as there is no new functionality.

        * platform/graphics/qt/GraphicsLayerQt.cpp: Fix the location of the
        QT_NO_ANIMATION guard.

        * platform/qt/WheelEventQt.cpp:
        (WebCore::PlatformWheelEvent::applyDelta): Fix the location of the
        QT_NO_WHEELEVENT guard.

2011-01-10  Joe Mason  <jmason@rim.com>

        Reviewed by Alexey Proskuryakov.

        WebSockets: unbounded buffer growth when server sends bad data
        https://bugs.webkit.org/show_bug.cgi?id=51253

        Fail a websocket handshake after 1024 bytes without a newline, or if it
        contains a null byte before the first newline.

        Tests: http/tests/websocket/tests/handshake-fail-by-maxlength.html
               http/tests/websocket/tests/handshake-fail-by-prepended-null.html

        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readStatusLine):

2011-01-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Introduce the notion of a "display-isolated" URL scheme for use by
        Chrome-internal URLs
        https://bugs.webkit.org/show_bug.cgi?id=50182

        This patch adds the basic plumbing for display-isolated URL schemes.
        Originally, this patch also had the functional change, but I've split
        that off into a separate patch because the original patch caused a
        performance regression.

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::canDisplay):
        * platform/SchemeRegistry.cpp:
        (WebCore::displayIsolatedURLSchemes):
        (WebCore::SchemeRegistry::registerURLSchemeAsLocal):
        (WebCore::SchemeRegistry::removeURLSchemeRegisteredAsLocal):
        (WebCore::SchemeRegistry::localSchemes):
        (WebCore::SchemeRegistry::deprecatedShouldTreatURLAsLocal):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsLocal):
        (WebCore::SchemeRegistry::registerURLSchemeAsDisplayIsolated):
        (WebCore::SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated):
        * platform/SchemeRegistry.h:

2011-01-10  Jer Noble  <jer.noble@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=52095
        REGRESSION (r75277): 2 test cases (<1%) had incorrect layout
        
        Fixes tests:
            fullscreen/full-screen-remove-ancestor.html
            fullscreen/full-screen-remove.html
            
        Previously, the above tests were failing because DRT dumped the contents of their
        <script> tags, though all the explicit tests were passing.  This was caused by
        the document's render tree being left in an inconsistent state when a full screen
        element's ancestor was removed from the DOM.
        
        In nodeWillBeRemoved(), match the code in webkitDidExitFullScreen().
        Don't detach the documentElement, but rather simply call recalcStyle(Force).

        * dom/Document.cpp:
        (WebCore::Document::nodeWillBeRemoved):
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::setAnimating): #if ENABLED -> # if USE
        * rendering/RenderFullScreen.h:
        (WebCore::RenderFullScreen::RenderFullScreen): RenderFullScreen should be an anonymous renderer.

2011-01-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Remove use of deprecated GTK+ methods before the 1.3.10 release
        https://bugs.webkit.org/show_bug.cgi?id=52173

        No new tests. This is only a build fix.

        * platform/gtk/GRefPtrGtk.cpp: Guard the GdkCursor specialization against GTK+ 3.x.
        In GTK+ 3.x, GdkCursor is just a GObject.
        * platform/gtk/GRefPtrGtk.h: Ditto.

2011-01-10  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.

        Moved Collector.* => Heap.*, since the file contains a class named "Heap".

        * ForwardingHeaders/runtime/Collector.h: Removed.
        * ForwardingHeaders/runtime/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Collector.h.
        * WebCore.vcproj/WebCore.vcproj:
        * bindings/js/GCController.cpp:
        * bindings/js/ScriptGCEvent.cpp:

2011-01-10  Leonid Ebril  <leonid.ebril@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

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

        Set the PluginQuirkDontSetNullWindowHandleOnDestroy for Adobe Lite  
        plugin if Flash 10 or newer (for Symbian platform), setting a nulled 
        window handler on destroy crashes WebKit.

        * plugins/symbian/PluginPackageSymbian.cpp:
        (WebCore::PluginPackage::fetchInfo):
        (WebCore::PluginPackage::determineQuirks):

2011-01-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Remove unecessary RenderThemeGtk and WidgetRenderingContext code
        https://bugs.webkit.org/show_bug.cgi?id=52170

        Remove unnecessary code from RenderThemeGtk3 and RenderThemeGtk now that the
        GtkStyleContext port is complete. Also remove WidgetRenderingContextGtk3 and
        move WidgetRenderingRenderingContextGtk2 to WidgetRenderingContext and make it
        GTK+ 2.x only. Some methods have been moved to RenderThemeGtk2 since they are
        GTK+ 2.x only now.

        No new tests. This should not change functionality.

        * GNUmakefile.am: Remove WidgetRenderingContextGtk3 and gtk3drawing.c
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::gtkIconState): Made this method static. It isn't used outside RenderThemeGtk.
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration): Updated to refelct gtkIconState change.
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton): Ditto.
        (WebCore::RenderThemeGtk::paintMediaButton): Ditto
        * platform/gtk/RenderThemeGtk.h: Move a few methods which are now GTK+ 2.x only.
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::platformInit): Added this platform initialization method
        that is only used for GTK+ 2.x at the moment.
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
        (WebCore::getGtkStateType): Made this method static.
        (WebCore::RenderThemeGtk::getIndicatorMetrics): Moved this here from RenderThemeGtk.
        (WebCore::setToggleSize): Updated to reflect changes to getGtkStateType.
        (WebCore::RenderThemeGtk::paintButton): Ditto.
        (WebCore::RenderThemeGtk::paintSliderTrack): Ditto.
        (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::gtkScrollbarStyle): Moved to the top of the file.
        (WebCore::RenderThemeGtk::platformInit): Added.
        (WebCore::RenderThemeGtk::~RenderThemeGtk): Added.
        (WebCore::RenderThemeGtk::initMediaColors): Changed to use the GtkStyleContext API to
        fetch these colors. This was the last dependency on the old API.
        * platform/gtk/WidgetRenderingContext.cpp: Renamed from Source/WebCore/platform/gtk/WidgetRenderingContextGtk2.cpp.
        * platform/gtk/WidgetRenderingContext.h: Made GTK+ 2.x only.
        * platform/gtk/WidgetRenderingContextGtk3.cpp: Removed.
        * platform/gtk/gtk3drawing.c: Removed.
        * platform/gtk/gtkdrawing.h: Made GTK+ 2.x only.

2011-01-10  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
        https://bugs.webkit.org/show_bug.cgi?id=52081

        Test for the availability of cookie jar to return if cookies are enabled or not.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::cookiesEnabled):

2011-01-10  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Enable reuse of RenderSurface for drawing.
        https://bugs.webkit.org/show_bug.cgi?id=51928

        Modifies RenderSurfaceChromium::prepareContentsTexture to avoid trying to 'reserve' a texture
        that is already reserved, should an attempt be made to re-select a previously drawn render surface
        in order to continue drawing to it. This use case appears when compositing into an offscreen texture.

        Covered by existing test (compositing/geometry/fixed-position.html) when offscreen compositing enabled.

        * platform/graphics/chromium/LayerTexture.h:
        (WebCore::LayerTexture::isReserved):
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::isProtected):
        * platform/graphics/chromium/TextureManager.h:

2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Port combo box painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=51828

        Use GtkStyleContext API to paint combo boxes when building with
        GTK+ 3.x. Method paintButton() has been factored out and the new
        static method renderButton() is used by both paintButton() and
        paintMenuList().

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::adjustRepaintRect):
        (WebCore::renderButton):
        (WebCore::RenderThemeGtk::paintButton):
        (WebCore::getComboBoxMetrics):
        (WebCore::RenderThemeGtk::popupInternalPaddingLeft):
        (WebCore::RenderThemeGtk::popupInternalPaddingRight):
        (WebCore::RenderThemeGtk::popupInternalPaddingTop):
        (WebCore::RenderThemeGtk::popupInternalPaddingBottom):
        (WebCore::RenderThemeGtk::paintMenuList):

2011-01-10  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] simplify complex glyph positioning code
        https://bugs.webkit.org/show_bug.cgi?id=52159

        Before, we had roughly same code duplicated for RTL and LTR.
        Now, use the same code for both directions by being careful about
        flipping signs where appropriate.

        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
        (WebCore::ComplexTextController::shapeGlyphs):
        (WebCore::ComplexTextController::setGlyphXPositions):

2011-01-10  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fix gtk2 compilation for master
        https://bugs.webkit.org/show_bug.cgi?id=51885

        * platform/gtk/GtkVersioning.h: Replaced the 2.24.0 check with
        2.23.0 to avoid using the old symbols in the 2.23 releases. Added
        support for gdk_pixmap_get_size before the 2.23.4.
        * platform/gtk/WidgetRenderingContextGtk2.cpp:
        (WebCore::WidgetRenderingContext::WidgetRenderingContext):
        Replaced the old gdk_drawable_get_size with gdk_pixmap_get_size.

2011-01-10  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed; build fix for r75385.

        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::paint):

2011-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r75341.
        http://trac.webkit.org/changeset/75341
        https://bugs.webkit.org/show_bug.cgi?id=52157

        Regressions on several pixel tests (Requested by jorlow on
        #webkit).

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillPath):

2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Port check and radio button painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=51815

        Use GtkStyleContext API to paint check and radio buttons when
        building with GTK+ 3.x.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::adjustRepaintRect):
        (WebCore::setToggleSize):
        (WebCore::paintToggle):
        (WebCore::RenderThemeGtk::setCheckboxSize):
        (WebCore::RenderThemeGtk::paintCheckbox):
        (WebCore::RenderThemeGtk::setRadioSize):
        (WebCore::RenderThemeGtk::paintRadio):

2011-01-10  François Sausset  <sausset@gmail.com>

        Reviewed by Kenneth Rohde Christiansen.

        MathML: vertical alignment & bar thickness adjustments of fractions.
        https://bugs.webkit.org/show_bug.cgi?id=50018

        The fraction bar thickness default value should follow the w3c MathML 3 recommendation:
        http://www.w3.org/TR/MathML3/chapter3.html#presm.mfrac
        The vertical alignment of the fraction bar should be more accurate, specially with operators (+,=,...).

        Test: mathml/presentation/fractions.xhtml

        * rendering/mathml/RenderMathMLFraction.cpp:
        (WebCore::RenderMathMLFraction::RenderMathMLFraction):
        (WebCore::RenderMathMLFraction::updateFromElement):
        (WebCore::RenderMathMLFraction::layout):
        (WebCore::RenderMathMLFraction::paint):
        (WebCore::RenderMathMLFraction::baselinePosition):
        * rendering/mathml/RenderMathMLFraction.h:

2011-01-10  Antti Koivisto  <antti@apple.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=52044
        REGRESSION(r74807): No-store is ignored within a document
        
        Don't use cached resources with Cache-control: no-store (unless cache policy is CachePolicyHistoryBuffer).
        This matches a behavior that got lost in r74807.

        Test: http/tests/misc/script-no-store.html
        (by Alexey Proskuryakov)

        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):

2011-01-10  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Laszlo Gombos.

        [WIN] Add ProxyServerWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=52031

        Add stub implementation to fix ENABLE_NETSCAPE_PLUGIN_API on WinCE.

        * CMakeLists.txt:
        * CMakeListsWinCE.txt:
        * platform/network/win/ProxyServerWin.cpp: Added.
        (WebCore::proxyServersForURL):

2011-01-10  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [cairo] Rendering a lot of arcs on top of each other causes time
        outs in some tests
        https://bugs.webkit.org/show_bug.cgi?id=50869

        We avoid the situation where we have to render the same arc
        multiple times over itself. Now it renders just one oval and
        moves to the end angle.

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::addArc):

2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Port text input control painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=51870

        Use GtkStyleContext API to paint text input controls when building
        with GTK+ 3.x.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::adjustRepaintRect):
        (WebCore::RenderThemeGtk::paintTextField):

2011-01-09  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Forward declare some headers where possible
        https://bugs.webkit.org/show_bug.cgi?id=52133

        No new tests because no new functionality.

        * css/CSSValue.h:
        * dom/BeforeLoadEvent.h:
        * dom/Event.cpp:
        * dom/Event.h:
        * dom/StyledElement.cpp:
        * dom/StyledElement.h:
        * loader/DocumentLoader.h:
        * loader/FrameLoader.h:
        * page/Frame.h:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/filters/FEBlend.cpp:
        * platform/graphics/filters/FEColorMatrix.cpp:
        * platform/graphics/filters/FEComponentTransfer.cpp:
        * platform/graphics/filters/FEComposite.cpp:
        * platform/graphics/filters/FEConvolveMatrix.cpp:
        * platform/graphics/filters/FEDiffuseLighting.cpp:
        * platform/graphics/filters/FEDisplacementMap.cpp:
        * platform/graphics/filters/FEFlood.cpp:
        * platform/graphics/filters/FEGaussianBlur.cpp:
        * platform/graphics/filters/FEMerge.cpp:
        * platform/graphics/filters/FEMorphology.cpp:
        * platform/graphics/filters/FEOffset.cpp:
        * platform/graphics/filters/FESpecularLighting.cpp:
        * platform/graphics/filters/FETile.cpp:
        * platform/graphics/filters/FETurbulence.cpp:
        * platform/graphics/filters/FilterEffect.cpp:
        * platform/graphics/filters/FilterEffect.h:
        * platform/graphics/filters/SourceAlpha.cpp:
        * platform/graphics/filters/SourceGraphic.cpp:
        * svg/SVGElement.cpp:
        * svg/SVGElement.h:
        * svg/SVGFEBlendElement.cpp:
        * svg/SVGFEColorMatrixElement.cpp:
        * svg/SVGFEComponentTransferElement.cpp:
        * svg/SVGFECompositeElement.cpp:
        * svg/SVGFEConvolveMatrixElement.cpp:
        * svg/SVGFEConvolveMatrixElement.h:
        * svg/SVGFEDiffuseLightingElement.cpp:
        * svg/SVGFEDisplacementMapElement.cpp:
        * svg/SVGFEGaussianBlurElement.cpp:
        * svg/SVGFEImageElement.h:
        * svg/SVGFEMergeElement.cpp:
        * svg/SVGFEMorphologyElement.cpp:
        * svg/SVGFEOffsetElement.cpp:
        * svg/SVGFESpecularLightingElement.cpp:
        * svg/SVGFETileElement.cpp:
        * svg/SVGFETurbulenceElement.h:
        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
        * svg/SVGFilterPrimitiveStandardAttributes.h:
        * svg/SVGTextContentElement.cpp:
        * svg/graphics/filters/SVGFEImage.cpp:
        * svg/graphics/filters/SVGFEImage.h:

2011-01-10  Adam Roben  <aroben@apple.com>

        Windows build fix after r75313

        * WebCore.vcproj/build-generated-files.sh: Updated for the change in
        this script's path.

2011-01-10  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: make properties on Array's prototype non-enumerable.
        https://bugs.webkit.org/show_bug.cgi?id=51776

        * inspector/front-end/utilities.js:
        ():

2011-01-10  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Simon Fraser.

        Specificity of negated selectors apparently miscalculated
        https://bugs.webkit.org/show_bug.cgi?id=41206

        Give negated selectors the specificity of the selector they are negating.
        This is the same as the behavior of other browsers.

        Test: fast/css/pseudo-not.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::specificityForOneSelector):

2011-01-10  Adam Roben  <aroben@apple.com>

        Windows build fix after r75353

        * WebCore.vcproj/WebCoreCommon.vsprops: Added rendering/mathml to the
        include path.

2011-01-10  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Jeremy Orlow.

        [Chromium] Remove non-client-based Geolocation code
        https://bugs.webkit.org/show_bug.cgi?id=50921

        Code clean up, covered by existing tests.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/GeolocationServiceChromium.cpp: Removed.
        * platform/chromium/GeolocationServiceChromium.h: Removed.

2011-01-10  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: protocol related change. Rename stepIntoStatement, stepOutOfFunction, stepOverStatement.
        stepIntoStatement => stepInto
        stepOutOfFunction => stepOut
        stepOverStatement => stepOver

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

        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::stepOver):
        (WebCore::InspectorDebuggerAgent::stepInto):
        (WebCore::InspectorDebuggerAgent::stepOut):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
        (WebInspector.ScriptsPanel.prototype._stepOutClicked):

2011-01-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Port progressbar painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=52054

        Use GtkStyleContext API to paint progressbars when building with
        GTK+ 3.x. Also add support for indeterminate progressbars.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
        (WebCore::RenderThemeGtk::animationDurationForProgressBar):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::animationRepeatIntervalForProgressBar):
        (WebCore::RenderThemeGtk::animationDurationForProgressBar):
        (WebCore::RenderThemeGtk::paintProgressBar):

2011-01-10  Andreas Kling  <kling@webkit.org>

        Reviewed by Darin Adler.

        Remove unused class "Pen" in WebCore/platform/graphics
        https://bugs.webkit.org/show_bug.cgi?id=49955

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/Pen.cpp: Removed.
        * platform/graphics/Pen.h: Removed.
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        * platform/graphics/wx/GraphicsContextWx.cpp:
        * platform/graphics/wx/PenWx.cpp: Removed.

2011-01-10  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Create intermediate libWebCore library
        https://bugs.webkit.org/show_bug.cgi?id=52116

        Create intermediate libWebCore.la to avoid overflowing the linker
        in the final link stage.

        * GNUmakefile.am: define the new library.

2011-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r75337.
        http://trac.webkit.org/changeset/75337
        https://bugs.webkit.org/show_bug.cgi?id=52137

        It made fast/dom/navigator-detached-no-crash.html crash
        (Requested by Ossy on #webkit).

        * platform/qt/CookieJarQt.cpp:
        (WebCore::cookiesEnabled):

2011-01-09  Mark Rowe  <mrowe@apple.com>

        Fix the build.

        * WebCore.xcodeproj/project.pbxproj: Copy SVGResourcesCache.h in to PrivateHeaders
        once more.

2011-01-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8765555> WebKit2: Search field focus ring is missing

        Provide a focus ring visible rect to AppKit.

        * platform/mac/ThemeMac.mm:
        (-[WebCoreFlippedView _focusRingVisibleRect]):
        (-[WebCoreFlippedView _focusRingClipAncestor]):

2011-01-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Rob Buis.

        Move MathML renderer to rendering/mathml
        https://bugs.webkit.org/show_bug.cgi?id=52131

        Move all renderer of MathML to WebCore/rendering/mathml

        No change of functionality, no new tests added.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * mathml/RenderMathMLBlock.cpp: Removed.
        * mathml/RenderMathMLBlock.h: Removed.
        * mathml/RenderMathMLFenced.cpp: Removed.
        * mathml/RenderMathMLFenced.h: Removed.
        * mathml/RenderMathMLFraction.cpp: Removed.
        * mathml/RenderMathMLFraction.h: Removed.
        * mathml/RenderMathMLMath.cpp: Removed.
        * mathml/RenderMathMLMath.h: Removed.
        * mathml/RenderMathMLOperator.cpp: Removed.
        * mathml/RenderMathMLOperator.h: Removed.
        * mathml/RenderMathMLRoot.cpp: Removed.
        * mathml/RenderMathMLRoot.h: Removed.
        * mathml/RenderMathMLRow.cpp: Removed.
        * mathml/RenderMathMLRow.h: Removed.
        * mathml/RenderMathMLSquareRoot.cpp: Removed.
        * mathml/RenderMathMLSquareRoot.h: Removed.
        * mathml/RenderMathMLSubSup.cpp: Removed.
        * mathml/RenderMathMLSubSup.h: Removed.
        * mathml/RenderMathMLUnderOver.cpp: Removed.
        * mathml/RenderMathMLUnderOver.h: Removed.
        * rendering/mathml: Added.
        * rendering/mathml/RenderMathMLBlock.cpp: Copied from Source/WebCore/mathml/RenderMathMLBlock.cpp.
        * rendering/mathml/RenderMathMLBlock.h: Copied from Source/WebCore/mathml/RenderMathMLBlock.h.
        * rendering/mathml/RenderMathMLFenced.cpp: Copied from Source/WebCore/mathml/RenderMathMLFenced.cpp.
        * rendering/mathml/RenderMathMLFenced.h: Copied from Source/WebCore/mathml/RenderMathMLFenced.h.
        * rendering/mathml/RenderMathMLFraction.cpp: Copied from Source/WebCore/mathml/RenderMathMLFraction.cpp.
        * rendering/mathml/RenderMathMLFraction.h: Copied from Source/WebCore/mathml/RenderMathMLFraction.h.
        * rendering/mathml/RenderMathMLMath.cpp: Copied from Source/WebCore/mathml/RenderMathMLMath.cpp.
        * rendering/mathml/RenderMathMLMath.h: Copied from Source/WebCore/mathml/RenderMathMLMath.h.
        * rendering/mathml/RenderMathMLOperator.cpp: Copied from Source/WebCore/mathml/RenderMathMLOperator.cpp.
        * rendering/mathml/RenderMathMLOperator.h: Copied from Source/WebCore/mathml/RenderMathMLOperator.h.
        * rendering/mathml/RenderMathMLRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLRoot.cpp.
        * rendering/mathml/RenderMathMLRoot.h: Copied from Source/WebCore/mathml/RenderMathMLRoot.h.
        * rendering/mathml/RenderMathMLRow.cpp: Copied from Source/WebCore/mathml/RenderMathMLRow.cpp.
        * rendering/mathml/RenderMathMLRow.h: Copied from Source/WebCore/mathml/RenderMathMLRow.h.
        * rendering/mathml/RenderMathMLSquareRoot.cpp: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.cpp.
        * rendering/mathml/RenderMathMLSquareRoot.h: Copied from Source/WebCore/mathml/RenderMathMLSquareRoot.h.
        * rendering/mathml/RenderMathMLSubSup.cpp: Copied from Source/WebCore/mathml/RenderMathMLSubSup.cpp.
        * rendering/mathml/RenderMathMLSubSup.h: Copied from Source/WebCore/mathml/RenderMathMLSubSup.h.
        * rendering/mathml/RenderMathMLUnderOver.cpp: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.cpp.
        * rendering/mathml/RenderMathMLUnderOver.h: Copied from Source/WebCore/mathml/RenderMathMLUnderOver.h.

2011-01-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Alexey Proskuryakov.

        HTMLStyleElement.disabled doesn't work (affects jQuery)
        https://bugs.webkit.org/show_bug.cgi?id=25287
        
        Fix the disabled property of a HTMLStyleElement to reflect,
        and set the disabled state of its style sheet, as required
        by DOM1 etc.

        Based on initial patch by Tarun Nainani.

        Test: fast/html/disable-style-element.html

        * dom/StyleElement.h:
        (WebCore::StyleElement::sheet): Make const.
        
        * html/HTMLStyleElement.h:
        * html/HTMLStyleElement.idl:
        * html/HTMLStyleElement.cpp:
        (WebCore::HTMLStyleElement::disabled): 
        (WebCore::HTMLStyleElement::setDisabled): Getter and setter for disabled
        call through to the sheet (if any).

2011-01-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Rename RenderForeignObject to RenderSVGForeignObject
        https://bugs.webkit.org/show_bug.cgi?id=52129

        Rename RenderForeignObject to RenderSVGForeignObject to match the naming schema in render/svg.

        No change of functionality, no new tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderingAllInOne.cpp:
        * rendering/svg/RenderForeignObject.cpp: Removed.
        * rendering/svg/RenderForeignObject.h: Removed.
        * rendering/svg/RenderSVGAllInOne.cpp:
        * rendering/svg/RenderSVGBlock.cpp:
        (WebCore::RenderSVGBlock::updateBoxModelInfoFromStyle):
        * rendering/svg/RenderSVGForeignObject.cpp: Copied from Source/WebCore/rendering/svg/RenderForeignObject.cpp.
        (WebCore::RenderSVGForeignObject::RenderSVGForeignObject):
        (WebCore::RenderSVGForeignObject::~RenderSVGForeignObject):
        (WebCore::RenderSVGForeignObject::paint):
        (WebCore::RenderSVGForeignObject::clippedOverflowRectForRepaint):
        (WebCore::RenderSVGForeignObject::computeRectForRepaint):
        (WebCore::RenderSVGForeignObject::localToParentTransform):
        (WebCore::RenderSVGForeignObject::computeLogicalWidth):
        (WebCore::RenderSVGForeignObject::computeLogicalHeight):
        (WebCore::RenderSVGForeignObject::layout):
        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
        (WebCore::RenderSVGForeignObject::nodeAtPoint):
        (WebCore::RenderSVGForeignObject::mapLocalToContainer):
        * rendering/svg/RenderSVGForeignObject.h: Copied from Source/WebCore/rendering/svg/RenderForeignObject.h.
        (WebCore::RenderSVGForeignObject::renderName):
        * svg/SVGForeignObjectElement.cpp:
        (WebCore::SVGForeignObjectElement::createRenderer):

2011-01-09  Dirk Schulze  <krit@webkit.org>

        Reviewed by Nikolas Zimmermann.

        Move all SVG renderer to WebCore/rendering/svg
        https://bugs.webkit.org/show_bug.cgi?id=52087

        No change of functionality. Just moved all SVG renderer to WebCore/rendering/svg.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vjproj/project.vjproj:
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderForeignObject.cpp: Removed.
        * rendering/RenderForeignObject.h: Removed.
        * rendering/RenderSVGAllInOne.cpp: Removed.
        * rendering/RenderSVGBlock.cpp: Removed.
        * rendering/RenderSVGBlock.h: Removed.
        * rendering/RenderSVGContainer.cpp: Removed.
        * rendering/RenderSVGContainer.h: Removed.
        * rendering/RenderSVGGradientStop.cpp: Removed.
        * rendering/RenderSVGGradientStop.h: Removed.
        * rendering/RenderSVGHiddenContainer.cpp: Removed.
        * rendering/RenderSVGHiddenContainer.h: Removed.
        * rendering/RenderSVGImage.cpp: Removed.
        * rendering/RenderSVGImage.h: Removed.
        * rendering/RenderSVGModelObject.cpp: Removed.
        * rendering/RenderSVGModelObject.h: Removed.
        * rendering/RenderSVGResource.cpp: Removed.
        * rendering/RenderSVGResource.h: Removed.
        * rendering/RenderSVGResourceClipper.cpp: Removed.
        * rendering/RenderSVGResourceClipper.h: Removed.
        * rendering/RenderSVGResourceContainer.cpp: Removed.
        * rendering/RenderSVGResourceContainer.h: Removed.
        * rendering/RenderSVGResourceFilter.cpp: Removed.
        * rendering/RenderSVGResourceFilter.h: Removed.
        * rendering/RenderSVGResourceFilterPrimitive.cpp: Removed.
        * rendering/RenderSVGResourceFilterPrimitive.h: Removed.
        * rendering/RenderSVGResourceGradient.cpp: Removed.
        * rendering/RenderSVGResourceGradient.h: Removed.
        * rendering/RenderSVGResourceLinearGradient.cpp: Removed.
        * rendering/RenderSVGResourceLinearGradient.h: Removed.
        * rendering/RenderSVGResourceMarker.cpp: Removed.
        * rendering/RenderSVGResourceMarker.h: Removed.
        * rendering/RenderSVGResourceMasker.cpp: Removed.
        * rendering/RenderSVGResourceMasker.h: Removed.
        * rendering/RenderSVGResourcePattern.cpp: Removed.
        * rendering/RenderSVGResourcePattern.h: Removed.
        * rendering/RenderSVGResourceRadialGradient.cpp: Removed.
        * rendering/RenderSVGResourceRadialGradient.h: Removed.
        * rendering/RenderSVGResourceSolidColor.cpp: Removed.
        * rendering/RenderSVGResourceSolidColor.h: Removed.
        * rendering/RenderSVGRoot.cpp: Removed.
        * rendering/RenderSVGRoot.h: Removed.
        * rendering/RenderSVGShadowTreeRootContainer.cpp: Removed.
        * rendering/RenderSVGShadowTreeRootContainer.h: Removed.
        * rendering/RenderSVGTransformableContainer.cpp: Removed.
        * rendering/RenderSVGTransformableContainer.h: Removed.
        * rendering/RenderSVGViewportContainer.cpp: Removed.
        * rendering/RenderSVGViewportContainer.h: Removed.
        * rendering/SVGImageBufferTools.cpp: Removed.
        * rendering/SVGImageBufferTools.h: Removed.
        * rendering/SVGMarkerData.h: Removed.
        * rendering/SVGMarkerLayoutInfo.cpp: Removed.
        * rendering/SVGMarkerLayoutInfo.h: Removed.
        * rendering/SVGRenderSupport.cpp: Removed.
        * rendering/SVGRenderSupport.h: Removed.
        * rendering/SVGRenderTreeAsText.cpp: Removed.
        * rendering/SVGRenderTreeAsText.h: Removed.
        * rendering/SVGResources.cpp: Removed.
        * rendering/SVGResources.h: Removed.
        * rendering/SVGResourcesCache.cpp: Removed.
        * rendering/SVGResourcesCache.h: Removed.
        * rendering/SVGResourcesCycleSolver.cpp: Removed.
        * rendering/SVGResourcesCycleSolver.h: Removed.
        * rendering/SVGShadowTreeElements.cpp: Removed.
        * rendering/SVGShadowTreeElements.h: Removed.
        * rendering/svg/RenderForeignObject.cpp: Copied from Source/WebCore/rendering/RenderForeignObject.cpp.
        * rendering/svg/RenderForeignObject.h: Copied from Source/WebCore/rendering/RenderForeignObject.h.
        * rendering/svg/RenderSVGAllInOne.cpp: Copied from Source/WebCore/rendering/RenderSVGAllInOne.cpp.
        * rendering/svg/RenderSVGBlock.cpp: Copied from Source/WebCore/rendering/RenderSVGBlock.cpp.
        * rendering/svg/RenderSVGBlock.h: Copied from Source/WebCore/rendering/RenderSVGBlock.h.
        * rendering/svg/RenderSVGContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGContainer.cpp.
        * rendering/svg/RenderSVGContainer.h: Copied from Source/WebCore/rendering/RenderSVGContainer.h.
        * rendering/svg/RenderSVGGradientStop.cpp: Copied from Source/WebCore/rendering/RenderSVGGradientStop.cpp.
        * rendering/svg/RenderSVGGradientStop.h: Copied from Source/WebCore/rendering/RenderSVGGradientStop.h.
        * rendering/svg/RenderSVGHiddenContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.cpp.
        * rendering/svg/RenderSVGHiddenContainer.h: Copied from Source/WebCore/rendering/RenderSVGHiddenContainer.h.
        * rendering/svg/RenderSVGImage.cpp: Copied from Source/WebCore/rendering/RenderSVGImage.cpp.
        * rendering/svg/RenderSVGImage.h: Copied from Source/WebCore/rendering/RenderSVGImage.h.
        * rendering/svg/RenderSVGModelObject.cpp: Copied from Source/WebCore/rendering/RenderSVGModelObject.cpp.
        * rendering/svg/RenderSVGModelObject.h: Copied from Source/WebCore/rendering/RenderSVGModelObject.h.
        * rendering/svg/RenderSVGResource.cpp: Copied from Source/WebCore/rendering/RenderSVGResource.cpp.
        * rendering/svg/RenderSVGResource.h: Copied from Source/WebCore/rendering/RenderSVGResource.h.
        * rendering/svg/RenderSVGResourceClipper.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.cpp.
        * rendering/svg/RenderSVGResourceClipper.h: Copied from Source/WebCore/rendering/RenderSVGResourceClipper.h.
        * rendering/svg/RenderSVGResourceContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.cpp.
        * rendering/svg/RenderSVGResourceContainer.h: Copied from Source/WebCore/rendering/RenderSVGResourceContainer.h.
        * rendering/svg/RenderSVGResourceFilter.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.cpp.
        * rendering/svg/RenderSVGResourceFilter.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilter.h.
        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.cpp.
        * rendering/svg/RenderSVGResourceFilterPrimitive.h: Copied from Source/WebCore/rendering/RenderSVGResourceFilterPrimitive.h.
        * rendering/svg/RenderSVGResourceGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.cpp.
        * rendering/svg/RenderSVGResourceGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceGradient.h.
        * rendering/svg/RenderSVGResourceLinearGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.cpp.
        * rendering/svg/RenderSVGResourceLinearGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceLinearGradient.h.
        * rendering/svg/RenderSVGResourceMarker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.cpp.
        * rendering/svg/RenderSVGResourceMarker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMarker.h.
        * rendering/svg/RenderSVGResourceMasker.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.cpp.
        * rendering/svg/RenderSVGResourceMasker.h: Copied from Source/WebCore/rendering/RenderSVGResourceMasker.h.
        * rendering/svg/RenderSVGResourcePattern.cpp: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.cpp.
        * rendering/svg/RenderSVGResourcePattern.h: Copied from Source/WebCore/rendering/RenderSVGResourcePattern.h.
        * rendering/svg/RenderSVGResourceRadialGradient.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.cpp.
        * rendering/svg/RenderSVGResourceRadialGradient.h: Copied from Source/WebCore/rendering/RenderSVGResourceRadialGradient.h.
        * rendering/svg/RenderSVGResourceSolidColor.cpp: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.cpp.
        * rendering/svg/RenderSVGResourceSolidColor.h: Copied from Source/WebCore/rendering/RenderSVGResourceSolidColor.h.
        * rendering/svg/RenderSVGRoot.cpp: Copied from Source/WebCore/rendering/RenderSVGRoot.cpp.
        * rendering/svg/RenderSVGRoot.h: Copied from Source/WebCore/rendering/RenderSVGRoot.h.
        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.cpp.
        * rendering/svg/RenderSVGShadowTreeRootContainer.h: Copied from Source/WebCore/rendering/RenderSVGShadowTreeRootContainer.h.
        * rendering/svg/RenderSVGTransformableContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.cpp.
        * rendering/svg/RenderSVGTransformableContainer.h: Copied from Source/WebCore/rendering/RenderSVGTransformableContainer.h.
        * rendering/svg/RenderSVGViewportContainer.cpp: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.cpp.
        * rendering/svg/RenderSVGViewportContainer.h: Copied from Source/WebCore/rendering/RenderSVGViewportContainer.h.
        * rendering/svg/SVGImageBufferTools.cpp: Copied from Source/WebCore/rendering/SVGImageBufferTools.cpp.
        * rendering/svg/SVGImageBufferTools.h: Copied from Source/WebCore/rendering/SVGImageBufferTools.h.
        * rendering/svg/SVGMarkerData.h: Copied from Source/WebCore/rendering/SVGMarkerData.h.
        * rendering/svg/SVGMarkerLayoutInfo.cpp: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.cpp.
        * rendering/svg/SVGMarkerLayoutInfo.h: Copied from Source/WebCore/rendering/SVGMarkerLayoutInfo.h.
        * rendering/svg/SVGRenderSupport.cpp: Copied from Source/WebCore/rendering/SVGRenderSupport.cpp.
        * rendering/svg/SVGRenderSupport.h: Copied from Source/WebCore/rendering/SVGRenderSupport.h.
        * rendering/svg/SVGRenderTreeAsText.cpp: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.cpp.
        * rendering/svg/SVGRenderTreeAsText.h: Copied from Source/WebCore/rendering/SVGRenderTreeAsText.h.
        * rendering/svg/SVGResources.cpp: Copied from Source/WebCore/rendering/SVGResources.cpp.
        * rendering/svg/SVGResources.h: Copied from Source/WebCore/rendering/SVGResources.h.
        * rendering/svg/SVGResourcesCache.cpp: Copied from Source/WebCore/rendering/SVGResourcesCache.cpp.
        * rendering/svg/SVGResourcesCache.h: Copied from Source/WebCore/rendering/SVGResourcesCache.h.
        * rendering/svg/SVGResourcesCycleSolver.cpp: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.cpp.
        * rendering/svg/SVGResourcesCycleSolver.h: Copied from Source/WebCore/rendering/SVGResourcesCycleSolver.h.
        * rendering/svg/SVGShadowTreeElements.cpp: Copied from Source/WebCore/rendering/SVGShadowTreeElements.cpp.
        * rendering/svg/SVGShadowTreeElements.h: Copied from Source/WebCore/rendering/SVGShadowTreeElements.h.

2011-01-09  Xianzhu Wang  <phnixwxz@gmail.com>

        Reviewed by Darin Fisher.

        https://bugs.webkit.org/show_bug.cgi?id=41441
        createWindow method should only do window-creating without URL navigation.
        Let client APIs know which URL a new window will start with

        * loader/FrameLoader.cpp:
        (WebCore::createWindow):
        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow):
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::createWindow):

2011-01-09  Dirk Schulze  <krit@webkit.org>

        Unreviewed sort of Xcode project file.

        * WebCore.xcodeproj/project.pbxproj:

2011-01-09  Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>

        Reviewed by Martin Robinson.

        Changes to add Process Launcher and Thread Launcher implementation to the WebKit2 GTK port.
        https://bugs.webkit.org/show_bug.cgi?id=48511

        * platform/FileSystem.h: 
        * platform/gtk/FileSystemGtk.cpp: Implement function to get a binary's path
        (WebCore::applicationDirectoryPath):

2011-01-08  Martin Robinson  <mrobinson@igalia.com>

        GTK+ Build fix. Add missing headers to the source list, fixing make dist.

        No new tests. This is only a build change.

        * GNUmakefile.am: Add missing headers to the source list.

2011-01-08 Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>

        Reviewed by Martin Robinson.

        [GTK] WebKit2 GNUmakefile is out of date from trunk
        https://bugs.webkit.org/show_bug.cgi?id=51883

        Added stubs for WebKit2 compilation.

        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::contextMenuItemVector):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::checked):
        (WebCore::ContextMenuItem::enabled):
        * platform/network/soup/AuthenticationChallenge.h:
        (WebCore::AuthenticationChallenge::authenticationClient):

2011-01-08  Helder Correia  <helder@sencha.com>

        Reviewed by Simon Fraser.

        Shadow is not drawn when filling a path with a gradient
        https://bugs.webkit.org/show_bug.cgi?id=51982

        This happens in CG and is related to bug 51869, this time to be fixed
        in GraphicsContext::fillPath(const Path& path). We need to draw the
        gradient clipped to the path on a CGLayer first, and then draw the
        layer on the GraphicsContext.

        Test: fast/canvas/canvas-fillPath-gradient-shadow.html

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillPath):

2011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] PasteboardQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39771

        Update the code to follow the coding style.

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::writePlainText):
        (WebCore::Pasteboard::writeURL):

2011-01-08  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        HTML5 Conformance Test failure: approved/xhtml5/html_style_in_comment.xhtml
        https://bugs.webkit.org/show_bug.cgi?id=48593

        XHTML <style> blocks, unlike HTML <style> blocks, should respect HTML
        comments.

        Test: fast/parser/xhtml-html-comment-in-style-block.xhtml

        * dom/StyleElement.cpp:
        (WebCore::isValidStyleChild): Remove the COMMENT_NODE check as the HTML parser doesn't add COMMENT_NODEs as children of style blocks.
        (WebCore::StyleElement::process): Factored out a condition that must remain in sync.

2011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Navigator.cookiesEnabled return true for Qt even if there is no cookie jar
        https://bugs.webkit.org/show_bug.cgi?id=52081

        Test for the availability of cookie jar to return if cookies are enabled or not. The network access
        manager always exist, not the cookie jar.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::cookiesEnabled):

2011-01-08  Charlie Reis  <creis@chromium.org>

        Reviewed by Mihai Parparita.

        Canceled frame loads can corrupt back forward list
        https://bugs.webkit.org/show_bug.cgi?id=50254

        Avoids changing m_currentItem until the navigation commits.
        Also resets top-level history items if a subframe navigation is canceled.

        * WebCore/loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
        * WebCore/loader/HistoryController.cpp:
        * WebCore/loader/HistoryController.h:

2011-01-08  Chang Shu  <chang.shu@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        Support createTouchList with Touch list for test automation.
        Implemented JS/V8 custom functions for createTouchList.
        https://bugs.webkit.org/show_bug.cgi?id=51196

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::createTouchList):
        * bindings/v8/custom/V8DocumentCustom.cpp:
        (WebCore::V8Document::createTouchListCallback):
        * dom/Document.idl:
        * dom/TouchEvent.cpp:
        (WebCore::TouchEvent::initTouchEvent):

2011-01-08  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] CookieJarQt.cpp has coding-style errors
        https://bugs.webkit.org/show_bug.cgi?id=39778

        Improve the coding style of CookieJarQt.cpp.

        * platform/qt/CookieJarQt.cpp:
        (WebCore::networkAccessManager):
        (WebCore::cookiesEnabled):

2011-01-08  Jeff Miller  <jeffm@apple.com>

        Rubber-stamped by Dan Bernstein.

        Fix QTMovieWin.vcproj to account for moving WebCore to Source\WebCore
        https://bugs.webkit.org/show_bug.cgi?id=52114

        * WebCore.vcproj/QTMovieWin.vcproj:
        Add an extra .. to some InheritedPropertySheets entries since WebCore is now one level deeper.

2011-01-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Mihai Parparita.

        SVG rendering clean up according to the webkit style rules 2
        https://bugs.webkit.org/show_bug.cgi?id=52112

        Modified the style of the license of all files in WebCore/rendering/svg to match the style
        in WebCore/svg. Cleaned up the code according to the webkit style rules.

        No change of functionality. No test added.

        * rendering/svg/RenderSVGInline.cpp:
        * rendering/svg/RenderSVGInline.h:
        * rendering/svg/RenderSVGInlineText.cpp:
        * rendering/svg/RenderSVGInlineText.h:
        * rendering/svg/RenderSVGPath.cpp:
        * rendering/svg/RenderSVGPath.h:
        * rendering/svg/RenderSVGTSpan.cpp:
        * rendering/svg/RenderSVGTSpan.h:
        * rendering/svg/RenderSVGText.cpp:
        * rendering/svg/RenderSVGText.h:
        * rendering/svg/RenderSVGTextPath.cpp:
        * rendering/svg/RenderSVGTextPath.h:
        * rendering/svg/SVGInlineFlowBox.cpp:
        * rendering/svg/SVGInlineFlowBox.h:
        * rendering/svg/SVGInlineTextBox.cpp:
        * rendering/svg/SVGInlineTextBox.h:
        * rendering/svg/SVGRootInlineBox.cpp:
        * rendering/svg/SVGRootInlineBox.h:
        * rendering/svg/SVGTextLayoutEngineBaseline.cpp: Brace was misplaced accoring to check-webkit-style.
        (WebCore::SVGTextLayoutEngineBaseline::calculateGlyphOrientationAngle):
        * rendering/svg/SVGTextQuery.cpp:
        * rendering/svg/SVGTextQuery.h:

2011-01-08  Dirk Schulze  <krit@webkit.org>

        Reviewed by Mihai Parparita.

        SVG rendering clean up according to the webkit style rules
        https://bugs.webkit.org/show_bug.cgi?id=52107

        Cleanup of the SVG rendering code according to the webbkit style rules.
        Changed style of licensing texts to match the style in WebCore/svg, no change
        of the licensing text itself.

        * rendering/RenderForeignObject.cpp:
        * rendering/RenderForeignObject.h:
        * rendering/RenderSVGBlock.cpp:
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGContainer.cpp:
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGGradientStop.cpp:
        * rendering/RenderSVGGradientStop.h:
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGHiddenContainer.h:
        (WebCore::RenderSVGHiddenContainer::renderName):
        (WebCore::RenderSVGHiddenContainer::isSVGHiddenContainer):
        (WebCore::RenderSVGHiddenContainer::requiresLayer):
        (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint):
        * rendering/RenderSVGImage.cpp:
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGModelObject.h:
        * rendering/RenderSVGResource.cpp:
        * rendering/RenderSVGResource.h:
        * rendering/RenderSVGResourceClipper.cpp:
        * rendering/RenderSVGResourceClipper.h:
        * rendering/RenderSVGResourceContainer.cpp:
        * rendering/RenderSVGResourceContainer.h:
        * rendering/RenderSVGResourceFilter.cpp:
        * rendering/RenderSVGResourceFilter.h:
        * rendering/RenderSVGResourceFilterPrimitive.cpp:
        * rendering/RenderSVGResourceFilterPrimitive.h:
        * rendering/RenderSVGResourceGradient.cpp:
        * rendering/RenderSVGResourceGradient.h:
        * rendering/RenderSVGResourceLinearGradient.cpp:
        * rendering/RenderSVGResourceLinearGradient.h:
        * rendering/RenderSVGResourceMarker.cpp:
        * rendering/RenderSVGResourceMarker.h:
        * rendering/RenderSVGResourceMasker.cpp:
        * rendering/RenderSVGResourceMasker.h:
        * rendering/RenderSVGResourcePattern.cpp:
        * rendering/RenderSVGResourcePattern.h:
        * rendering/RenderSVGResourceRadialGradient.cpp:
        * rendering/RenderSVGResourceRadialGradient.h:
        * rendering/RenderSVGResourceSolidColor.cpp:
        * rendering/RenderSVGResourceSolidColor.h:
        * rendering/RenderSVGRoot.cpp:
        (WebCore::RenderSVGRoot::nodeAtPoint):
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGShadowTreeRootContainer.cpp:
        * rendering/RenderSVGShadowTreeRootContainer.h:
        * rendering/RenderSVGTransformableContainer.cpp:
        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
        * rendering/RenderSVGTransformableContainer.h:
        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
        (WebCore::RenderSVGTransformableContainer::setNeedsTransformUpdate):
        (WebCore::RenderSVGTransformableContainer::localTransform):
        * rendering/RenderSVGViewportContainer.cpp:
        * rendering/RenderSVGViewportContainer.h:
        * rendering/SVGImageBufferTools.cpp:
        * rendering/SVGImageBufferTools.h:
        * rendering/SVGMarkerData.h:
        * rendering/SVGMarkerLayoutInfo.cpp:
        * rendering/SVGMarkerLayoutInfo.h:
        * rendering/SVGRenderSupport.cpp:
        * rendering/SVGRenderSupport.h:
        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::operator<<):
        * rendering/SVGRenderTreeAsText.h:
        * rendering/SVGResources.cpp:
        * rendering/SVGResources.h:
        * rendering/SVGResourcesCache.cpp:
        * rendering/SVGResourcesCache.h:
        * rendering/SVGResourcesCycleSolver.cpp:
        * rendering/SVGResourcesCycleSolver.h:
        * rendering/SVGShadowTreeElements.cpp:
        * rendering/SVGShadowTreeElements.h:

2011-01-07  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move WebCore to Source
        https://bugs.webkit.org/show_bug.cgi?id=52050

        Update project files to understand WebCore's new location.  I suspect
        there will be some follow-up patches after we land this patch.

        * Android.derived.jscbindings.mk:
        * Android.jscbindings.mk:
        * Android.v8bindings.mk:
        * GNUmakefile.am:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:

2011-01-07  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=51851
        Implement RenderSVGInlineText::localCaretRect()

        * rendering/svg/RenderSVGInlineText.cpp:
        (WebCore::RenderSVGInlineText::localCaretRect): Implemented.

2011-01-07  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed; Added the missing null pointer check for r75293.

        * dom/Document.cpp:
        (WebCore::Document::adoptNode):

2011-01-07  Stephanie Lewis  <slewis@apple.com>

        Reviewed by Geoff Garen.

         <rdar://problem/8649617> Migrate memory tracking from Safari to WebKit
        https://bugs.webkit.org/show_bug.cgi?id=50799 Add Memory Sampler to WebKit
        
        Add a sampler for printing off process memory statistics.
        Export file mode.

        * WebCore.exp.in:

2011-01-06  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Adam Barth.

        onbeforeunload is broken for framesets
        https://bugs.webkit.org/show_bug.cgi?id=19418

        Added beforeunload event support for sub frames. WebKit's implementation tries to match
        that of Internet Explorer as much as possible. beforeunload event is fired for each and
        every descendent of a frame that is about to navigate.

        When a value other than null is returned by a beforeunload handler, a confirmation dialog
        is shown for each handler (calls chrome's runBeforeUnloadConfirmPanel) just like it is done
        for main frames.

        In addition, navigation is forbidden while beforeunload handlers are being called.
        Setting values to location.href, location.reload, and other means of navigations are thus
        ignored while beforeunload event handler is being ran, matching Internet Explorer's behavior.

        Because navigation needs to prevented globally, NavigationDisablerForBeforeUnload is added to
        NavigationScheduler.h, which is instantiated as a RAII object in FrameLoader::shouldClose.

        Tests: fast/events/before-unload-adopt-subframe-to-outside.html
               fast/events/before-unload-adopt-within-subframes.html
               fast/events/before-unload-forbidden-navigation.html
               fast/events/before-unload-in-multiple-subframes.html
               fast/events/before-unload-in-subframe.html
               fast/events/before-unload-javascript-navigation.html
               fast/events/before-unload-remove-and-add-subframe.html
               fact/events/before-unload-remove-itself.html
               fast/events/before-unload-with-subframes.html

       * loader/FrameLoader.cpp:
       (WebCore::FrameLoader::shouldClose): Calls fireBeforeUnloadEvent on m_frame and m_frame's
       descendents. Returns true only if every call to fireBeforeUnloadEvent returned true.
       (WebCore::FrameLoader::fireBeforeUnloadEvent): Fires a beforeunload event and calls
       chrome's runBeforeUnloadConfirmPanel as needed.
       (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Calls shouldClose for all frames.
       * loader/FrameLoader.h:
       * loader/NavigationScheduler.cpp:
       (WebCore::NavigationScheduler::shouldScheduleNavigation): Checks the nullity of Page and calls
       NavigationDisablerForBeforeUnload::isNavigationAllowed when url is not javascript scheme.
       (WebCore::NavigationScheduler::scheduleRedirect): Calls shouldScheduleNavigation.
       (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
       (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
       (WebCore::NavigationScheduler::scheduleHistoryNavigation): Ditto.
       * loader/NavigationScheduler.h:
       (WebCore::NavigationDisablerForBeforeUnload::NavigationDisablerForBeforeUnload): Disables navigation.
       (WebCore::NavigationDisablerForBeforeUnload::~NavigationDisablerForBeforeUnload): Enables navigation
       when called on the last instance of NavigationDisablerForBeforeUnload.
       (WebCore::NavigationDisablerForBeforeUnload::isNavigationAllowed): Returns true if there are no instance
       of NavigationDisablerForBeforeUnload left on the stack.

2011-01-07  Martin Robinson  <mrobinson@igalia.com>

        Build fix for GTK+.

        * GNUmakefile.am: Add RenderFullScreen.cpp to the sources list.
        * rendering/RenderFullScreen.cpp:
        (RenderFullScreen::setAnimating): Guard the call to contentChanged
        with ENABLED(ACCELERATED_COMPOSITING).

2011-01-07  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed; speculative fix for Windows debug build.

        * bindings/js/JSBindingsAllInOne.cpp:

2011-01-07  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        Adopting an iframe to a child frame results in stack overflow
        https://bugs.webkit.org/show_bug.cgi?id=52018

        Throws an exception when a document adopts an iframe that is an ancestor
        of the document in the frame hierarchy. New behavior matches that of Firefox.

        Test: fast/html/adopt-parent-frame.html

        * dom/Document.cpp:
        (WebCore::Document::adoptNode):

2011-01-07  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Fisher.

        [Chromium] Scrollbar code cleanup
        https://bugs.webkit.org/show_bug.cgi?id=52073

        Scrollbar code cleanup:
        - Remove ScrollbarThemeMac.{mm|h} from the mac sources list, we use
          ScrollbarThemeChromiumMac.{mm|h}
        - Remove USE_WEB_THEME_ENGINE_TO_PAINT_THUMB #define now that switch to
          WebThemeEngine is permanent
        - Fix typo in Linux scrollbar enum name

        No new tests (compiles).

        * WebCore.gypi:
        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):

2011-01-07  Jer Noble  <jer.noble@apple.com>

        GTK Linux build fix: isDocumentRunningFullScreenAnimation should
        be protected both by ENABLE(FULLSCREEN_API) && USE(ACCELERATED_COMPOSITING)

        * page/FrameView.cpp:

2011-01-07  Rafael Weinstein  <rafaelw@chromium.org>

        Reviewed by Eric Seidel.

        Cleanup: Fold shadowParentNode into shadowHost
        https://bugs.webkit.org/show_bug.cgi?id=51059

        Replaces all uses of shadowParentNode.

        No new tests because no behavior has changed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve):
        * dom/Node.cpp:
        (WebCore::Node::shadowHost):
        (WebCore::Node::shadowAncestorNode):
        (WebCore::eventTargetRespectingSVGTargetRules):
        (WebCore::Node::getEventAncestors):
        * dom/Node.h:
        * editing/Editor.cpp:
        (WebCore::Editor::findString):
        * page/DragController.cpp:
        (WebCore::asFileInput):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::instanceAssociatedWithShadowTreeElement):
        (WebCore::EventHandler::dispatchMouseEvent):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasLineIfEmpty):
        * rendering/RenderSVGShadowTreeRootContainer.cpp:
        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title):

2011-01-07  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        I mistakenly included a Windows only file in a
        cross platform file. 

        * platform/graphics/ca/GraphicsLayerCA.cpp:

2011-01-07  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Get rid of include of <QuartzCore/QuartzCore.h>

        * platform/graphics/ca/GraphicsLayerCA.cpp:

2011-01-07  Jer Noble  <jer.noble@apple.com>

        Further build fixes.  Add a ENABLE(FULLSCREEN_API) guard around
        the implementation of requiresCompositingfForFullScreen.

        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):

2011-01-07  Jer Noble  <jer.noble@apple.com>

        No review, build fix only.  Removed parameter who was causing
        a warning in Release builds.

        * dom/Document.cpp:
        (WebCore::Document::webkitDidExitFullScreenForElement):

2011-01-07  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Use new wkCACFLayerGetContextUserData function

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:

2011-01-07  James Robinson  <jamesr@chromium.org>

        Fix compile bustage due to bad merge in 75276.

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):

2010-12-17  Jer Noble  <jer@kokode.apple.com>

        Reviewed by Simon Fraser.

        Implement WebKit Full Screen support.
        https://bugs.webkit.org/show_bug.cgi?id=49481
        rdar://problem/8247444

        Mark for export all those WebCore functions needed by WebFullscreenController.

        * WebCore.exp.in:

2010-12-17  Jer Noble  <jer@kokode.apple.com>

        Reviewed by Simon Fraser.

        Implement WebKit Full Screen support.
        https://bugs.webkit.org/show_bug.cgi?id=49481
        rdar://problem/8247444
        
        screenRect is useful for more than just HTMLMediaElements.  Promote it into
        Element.

        * dom/Element.cpp: Moved into Element from HTMLMediaElement.
        * dom/Element.h: Ditto.
        * dom/Node.cpp:
        * html/HTMLMediaElement.cpp: Moved screenRect into Element.
        * html/HTMLMediaElement.h: Ditto.
        * WebCore.exp.in: Modify the exports list to reflect the new symbol name.

2010-12-17  Jer Noble  <jer@kokode.apple.com>

        Reviewed by Simon Fraser.

        Implement WebKit Full Screen support.
        https://bugs.webkit.org/show_bug.cgi?id=49481
        rdar://problem/8247444

        The RenderFullScreen is intended to be used by clients of that API to allow a DOM subtree to
        be rendered outside its original Frame. Because of this, there are a few areas of the
        rendering code which need to be special cased: RenderFullScreen layers should not be clipped
        to the viewport, as they will almost always be rendering outside the viewport area;
        RenderFullScreen graphics layers should not be reparented by the RenderLayerCompositor, as
        the client will likely want to reparent the platformLayer into their own fullscreen platform
        window; the FrameView must update the RenderFullScreen graphics layer tree separately from
        the root layer, as the two trees are disconnected.

        * page/FrameView.cpp:
        (WebCore::FrameView::updateCompositingLayers):  Special treatment for fullscreen renderer.
        (WebCore::FrameView::syncCompositingStateRecursive): Ditto.
        (WebCore::FrameView::paintContents): Ditto.
        * rendering/RenderLayer.h: Add a new ContentChangeType enum entry for FullScreen.
        * rendering/RenderLayer.cpp: 
        (WebCore::RenderLayer::contentChanged): Add support for above.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::layerOrAncestorIsFullScreen): New function.
        (WebCore::RenderLayerBacking::updateCompositedBounds): Do not clip if the layerOrAncestorIsFullScreen.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Special treatment for fullscreen renderer.
        (WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen): Ditto.
        * rendering/RenderLayerCompositor.h:

2010-12-17  Jer Noble  <jer@kokode.apple.com>

        Reviewed by Simon Fraser.

        Implemented non-accelerated fullscreen support.  The Document will now vend a RenderFullScreen object for clients to
        use to relocate the fullscreen element subtree.

        https://bugs.webkit.org/show_bug.cgi?id=49481
        rdar://problem/8247444

        * css/CSSStyleSelector.cpp:
        (WebCore::loadFullScreenRulesIfNeeded): Change webkitFullScreen -> webkitIsFullScreen.
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
        * dom/Document.cpp:
        (WebCore::Document::Document): Initialize m_fullScreenRenderer.
        (WebCore::Document::detach): Call setFullScreenRenderer(0).
        (WebCore::Document::nodeWillBeRemoved): Replicate the logic in webkitWillEnterFullScreenForElement.
        (WebCore::Document::webkitWillEnterFullScreenForElement):  Detach the fullscreen element to cause
            a new RenderFullScreen renderer to be created with the new fullscreen element.
        (WebCore::Document::webkitDidEnterFullScreenForElement):  Notify clients of a fullscreen change
            here, rather in "willEnter", to avoid reentrancy problems when clients remove nodes in response
            to webkitfullscreenchange events.
        (WebCore::Document::webkitWillExitFullScreenForElement): Recalculate the fullscreen element's style.
        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
        (WebCore::Document::setFullScreenRenderer): Accessor for m_fullScreenRenderer.
        (WebCore::Document::setFullScreenRendererSize): Set the style on the m_fullScreenRenderer with a new
            size; this keeps clients from having to access the renderer's style directly.
        (WebCore::Document::setFullScreenRendererBackgroundColor): Ditto.
        * dom/Document.h:
        (WebCore::Document::webkitIsFullScreen): Change webkitFullScreen -> webkitIsFullScreen.
        (WebCore::Document::fullScreenRenderer): Accessor.
        * dom/Document.idl:
        * dom/Node.cpp:
        (WebCore::Node::createRendererIfNeeded): If the document is in fullscreen mode, create a RenderFullScreen
            object to insert between the fullscreen element and its parent.
        * page/ChromeClient.h:
        (WebCore::ChromeClient::fullScreenRendererChanged): Added.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): Change webkitFullScreen -> webkitIsFullScreen.

2010-12-17  Jer Noble  <jer@kokode.apple.com>

        Reviewed by Simon Fraser.

        Implement WebKit Full Screen support.
        https://bugs.webkit.org/show_bug.cgi?id=49481
        rdar://problem/8247444
        
        This patch introduces a new RenderObject type: RenderFullScreen.  The RenderFullScreen renderer 
        will be used to implement new FullScreen APIs.  Because the RenderFullScreen object will be the
        parent of the current fullscreen element, the style rules for fullscreen objects must change to
        match.
        
        * WebCore.xcodeproj/project.pbxproj:
        * rendering/RenderFullScreen.cpp: Added.
        (RenderFullScreen::setAnimating): Sets the m_isAnimating flag.
        (RenderFullScreen::createFullScreenStyle): Returns a new RenderStyle containing the default stye
            for RenderFullScreen objects.
        * rendering/RenderFullScreen.h: Added.
        (WebCore::RenderFullScreen::isRenderFullScreen): Added.  Overrides the RenderObject version.
        * rendering/RenderObject.h:
        (WebCore::RenderObject::isRenderFullScreen): Added.  Used for type-checking RenderFullScreen objects.
        * css/fullscreen.css:  Modified the contained fullscreen styles.


2011-01-07  James Robinson  <jamesr@chromium.org>

        Revert "Implement mozilla's animationTime property"
        https://bugs.webkit.org/show_bug.cgi?id=51952

        This approach isn't quite right.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * page/DOMWindow.cpp:
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/Frame.cpp:
        * page/Frame.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
        * page/animation/AnimationTimeController.cpp: Removed.
        * page/animation/AnimationTimeController.h: Removed.

2011-01-07  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Black text on black buttons using a dark theme
        https://bugs.webkit.org/show_bug.cgi?id=35024

        Implement RenderThemeQt::systemColor to apply the correct colors from the current Qt style.

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::systemColor):
        * platform/qt/RenderThemeQt.h:

2011-01-05  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        Add WEBKIT_lose_context WebGL extension.
        https://bugs.webkit.org/show_bug.cgi?id=51492

        Tests: fast/canvas/webgl/context-lost-restored.html
               fast/canvas/webgl/context-lost.html

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
        * html/canvas/WebGLExtension.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::forceLostContext):
        (WebCore::WebGLRenderingContext::onLostContext):
        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
        (WebCore::WebGLRenderingContext::getExtensionNumber):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebKitLoseContext.cpp: Copied from WebCore/html/canvas/WebGLExtension.h.
        (WebCore::WebKitLoseContext::WebKitLoseContext):
        (WebCore::WebKitLoseContext::~WebKitLoseContext):
        (WebCore::WebKitLoseContext::getName):
        (WebCore::WebKitLoseContext::create):
        (WebCore::WebKitLoseContext::loseContext):
        * html/canvas/WebKitLoseContext.h: Copied from WebCore/html/canvas/WebGLExtension.h.
        * html/canvas/WebKitLoseContext.idl: Copied from WebCore/html/canvas/WebGLExtension.h.

2011-01-07  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Build fix for Chromium. Missing include.

        * page/animation/AnimationBase.cpp:

2011-01-07  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Build fix.

        * platform/graphics/ca/win/PlatformCALayerWin.cpp:

2011-01-06  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Geoff Garen.

        Bug 52035 - Unregistering DOMWrapperWorlds is unsafe

        The method DOMWrapperWorld::unregisterWorld() effectively calls the DOMWrapperWorld's
        destructor early, in order to release wrappers once we know we no longer intend to use them.
        Whilst it is okay to have a method to throw away wrappers (assuming we know we're willing to
        lose any state stored on them) it is not okay to deregister the world from the JSGlobalData.
        A sequence of events that triggers the bug would look like this:

        (1) Create a DOMWrapperWorld.
        (2) Register a timer in the world.
        (3) Call unregisterWorld() on the world.
        (4) Timer goes off, code is executed in the world, creates a Node not attached to a Document.
        (5) We attempt to lookup a wrapper map for the world on the JSGlobalData, but because we've
            called forgetWorld() none exists.
        (6) Attempt to add a wrapper to a NULL map.

        Fix the problem by not removing the JSGlobalData's wrapper map until the world really goes away.

        * WebCore.exp.in:
        * bindings/js/DOMWrapperWorld.cpp:
        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
        (WebCore::DOMWrapperWorld::clearWrappers):
        * bindings/js/DOMWrapperWorld.h:

2011-01-07  Chris Marrin  <cmarrin@apple.com>

        Rubber-stamped by Simon Fraser.

        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
        https://bugs.webkit.org/show_bug.cgi?id=49388

        Final step in unifying GraphicsLayer logic across Win and Mac. This 
        implements the Windows side classes for PlatformCALayer and supporting
        classes. Also changed MediaPlayer to use new PlatformCALayerClient
        so it can use PlatformCALayer directly rather than a dummy GraphicsLayer.
        WKCACFLayerRenderer now does the task of notifying animations of their
        start time. Also commented out an assert in AnimationBase because
        AnimationController's frame time is not in sync with the new 
        AnimationTimeController. I've opened a new bug for that issue:

            https://bugs.webkit.org/show_bug.cgi?id=52037
            
        This also includes the Mac side changes backed out in 
        http://trac.webkit.org/changeset/75227.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * WebCore.xcodeproj/project.pbxproj:
        * config.h:
        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):
        (WebCore::AnimationBase::getElapsedTime):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::layerDidDisplay):
        (WebCore::GraphicsLayer::showDebugBorders):
        (WebCore::GraphicsLayer::showRepaintCounter):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
        (WebCore::GraphicsLayerCA::setContentsToImage):
        (WebCore::GraphicsLayerCA::setContentsToMedia):
        (WebCore::GraphicsLayerCA::layerDidDisplay):
        (WebCore::GraphicsLayerCA::updateSublayerList):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::platformCALayer):
        (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
        (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
        (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
        (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
        (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
        (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
        (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
        (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::owner):
        (WebCore::PlatformCALayer::animationStarted):
        * platform/graphics/ca/PlatformCALayerClient.h: Copied from WebCore/platform/graphics/ca/PlatformCALayerClient.h.
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setOwner):
        (PlatformCALayer::create):
        (PlatformCALayer::PlatformCALayer):
        (PlatformCALayer::contents):
        (PlatformCALayer::setContents):
        * platform/graphics/ca/win: Added.
        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: Added.
        * platform/graphics/ca/win/PlatformCALayerWin.cpp: Added.
        * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: Added.
        * platform/graphics/ca/win/PlatformCALayerWinInternal.h: Added.
        (WebCore::PlatformCALayerWinInternal::owner):
        * platform/graphics/mac/WebGLLayer.mm:
        (-[WebGLLayer display]):
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        (setLayerNeedsDisplayInRect):
        (-[WebLayer setNeedsDisplay]):
        (-[WebLayer display]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplay]):
        (-[WebTiledLayer display]):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::CGContextWithHDC):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
        (WebCore::MediaPlayerPrivateFullscreenWindow::rootChildLayer):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::~LayerClient):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerRespondsToLayoutChanges):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerAnimationStarted):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOrientation):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowDebugBorders):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerShowRepaintCounter):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerIncrementRepaintCount):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerContentsOpaque):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDrawsContent):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayerDidDisplay):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerLayoutSublayersOfLayer):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::platformMedia):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::retrieveCurrentImage):
        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::createLayerForMovie):
        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
        (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
        (WebCore::MediaPlayerPrivate::createLayerForMovie):
        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
        (WebCore::WKCACFLayerRenderer::rootLayer):
        (WebCore::WKCACFLayerRenderer::addPendingAnimatedLayer):
        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
        (WebCore::WKCACFLayerRenderer::setNeedsDisplay):
        (WebCore::WKCACFLayerRenderer::destroyRenderer):
        (WebCore::WKCACFLayerRenderer::render):
        * platform/graphics/win/WKCACFLayerRenderer.h:
        (WebCore::WKCACFLayerRendererClient::animationsStarted):
        (WebCore::WKCACFLayerRendererClient::syncCompositingState):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::showDebugBorders):
        (WebCore::RenderLayerBacking::showRepaintCounter):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
        (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
        (WebCore::RenderLayerCompositor::notifyAnimationStarted):
        (WebCore::RenderLayerCompositor::notifySyncRequired):
        (WebCore::RenderLayerCompositor::paintContents):
        (WebCore::RenderLayerCompositor::showDebugBorders):
        (WebCore::RenderLayerCompositor::showRepaintCounter):

2011-01-07  Nate Chapin  <japhet@chromium.org>

        Reviewed by Darin Fisher.

        Let PingLoader send cookies if FrameLoaderClient permits it.
        https://bugs.webkit.org/show_bug.cgi?id=51898

        Test: http/tests/navigation/ping-cookie.html

        * loader/PingLoader.cpp:
        (WebCore::PingLoader::PingLoader): Set m_shouldUseCredentialStorage
            at load start time, since we won't be able to call 
            FrameLoaderClient::shouldUseCredentialStorage() later.
        * loader/PingLoader.h:
        (WebCore::PingLoader::shouldUseCredentialStorage):

2011-01-07  Xan Lopez  <xlopez@igalia.com>

        Unreviewed, rolling out r75256.
        http://trac.webkit.org/changeset/75256
        https://bugs.webkit.org/show_bug.cgi?id=50869

        Broke GTK+ canvas tests

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::addArc):

2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Port scrollbar painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=52051

        Use GtkStyleContext API to paint scrollbars when building with
        GTK+ 3.x.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::gtkScrollbarStyle):
        * platform/gtk/ScrollbarThemeGtk.cpp:
        * platform/gtk/ScrollbarThemeGtk.h:
        * platform/gtk/ScrollbarThemeGtk2.cpp:
        (WebCore::gtkStyleSetCallback):
        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
        * platform/gtk/ScrollbarThemeGtk3.cpp:
        (WebCore::gtkStyleChangedCallback):
        (WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk):
        (WebCore::ScrollbarThemeGtk::updateThemeProperties):
        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
        (WebCore::ScrollbarThemeGtk::paintThumb):
        (WebCore::ScrollbarThemeGtk::paintButton):

2011-01-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8783318> Text emphasis marks should not appear over characters that have ruby annotations
        https://bugs.webkit.org/show_bug.cgi?id=51267

        Test: fast/text/emphasis-avoid-ruby.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Use getEmphasisMarkPosition() to check if
        there are text emphasis marks.
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Ditto.
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Ditto.
        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::getEmphasisMarkPosition): Added. Returns true and sets the emphasis mark
        position if the text is style with emphasis marks and there isn’t a ruby annotation that should
        suppress them. Otherwise returns false.
        (WebCore::InlineTextBox::paint): Use getEmphasisMarkPosition() to check if emphasis marks should
        be painted.
        * rendering/InlineTextBox.h:

2011-01-07  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [cairo] Rendering a lot of arcs on top of each other causes time
        outs in some tests
        https://bugs.webkit.org/show_bug.cgi?id=50869

        We avoid the situation where we have to render the same arc
        multiple times over itself. Now it renders just one oval and
        moves to the end angle.

        * platform/graphics/cairo/PathCairo.cpp:
        (WebCore::Path::addArc):

2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Port buttons painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=51812

        Use GtkStyleContext API to paint buttons when building with GTK+
        3.x.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::adjustRectForFocus):
        (WebCore::RenderThemeGtk::adjustRepaintRect):
        (WebCore::RenderThemeGtk::paintButton):

2011-01-07  Zhenyao Mo  <zmo@google.com>

        Unreviewed, build fix.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):

2011-01-06  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        copyTexSubImage2D shouldn't have undefined pixels
        https://bugs.webkit.org/show_bug.cgi?id=51559

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D): Refactor to share some code with copyTexSubImage2D through helper function clip2D.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Initialize undefined pixels to 0.
        (WebCore::WebGLRenderingContext::validateTexFuncLevel): Seperate the validation of level from validateTexFuncParameters.
        (WebCore::WebGLRenderingContext::validateTexFuncParameters): Ditto.
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::getType): Expose the type of a texture.
        * html/canvas/WebGLTexture.h:

2011-01-07  Takashi Toyoshima  <toyoshim@google.com>

        Reviewed by Kenneth Russell.

        cleanupAfterGraphicsCall() is never called in
        WebGLRenderingContext::checkFramebufferStatus()
        https://bugs.webkit.org/show_bug.cgi?id=51668

        No new tests. This is a trivial bug.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::checkFramebufferStatus):

2011-01-07  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Chris Fleizach.

        GTK: AX: atk tests need to be updated after recent changes
        https://bugs.webkit.org/show_bug.cgi?id=51932

        Make sure we can always get the right accesssible parent for an
        AtkObject when traversing the hierarchy bottom up.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (isRootObject): New function to check whether an
        AccessibilityObject is the root one or not, according to the
        latest changes in the hierarchy.
        (atkParentOfRootObject): Gets the appropriate AtkObject from GTK's
        GAIL as the parent of the root AtkObject from WebCore.
        (webkit_accessible_get_parent): Use atkParentOfRootObject.
        (webkit_accessible_get_index_in_parent): Ditto.
        (atkRole): Expose AccessibilityObjects with ScrollAreaRole as
        AtkObject's of role ATK_ROLE_SCROLLED_PANE.

2011-01-07  Zhenyao Mo  <zmo@google.com>

        Unreviewed, Mac 32-bit build fix.
        Use float instead of double in GL function arguments to avoid implicit type down casting.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::blendColor):
        (WebCore::WebGLRenderingContext::clearColor):
        (WebCore::WebGLRenderingContext::clearDepth):
        (WebCore::WebGLRenderingContext::depthRange):
        (WebCore::WebGLRenderingContext::lineWidth):
        (WebCore::WebGLRenderingContext::polygonOffset):
        (WebCore::WebGLRenderingContext::sampleCoverage):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2011-01-07  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Port slider painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=51874

        Use GtkStyleContext API to paint sliders when building with GTK+
        3.x. Also move the code to adjust media slider to its own method
        in RenderThemeGtk.cpp since it's common to both gtk 2 and 3.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::paintSliderTrack):
        (WebCore::RenderThemeGtk::paintSliderThumb):
        (WebCore::RenderThemeGtk::adjustSliderThumbSize):

2011-01-07  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] [WK2] QtWebKit does not build in debug, FileReader.cpp does not compile
        https://bugs.webkit.org/show_bug.cgi?id=51992

        Add the missing header. CString is used in debug by the calls to LOG().

        * fileapi/FileReader.cpp:

2011-01-07  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        Cairo's ContextShadow may mis-render some box shadows
        https://bugs.webkit.org/show_bug.cgi?id=51374

        The space required for the internal shadow of the corners was not
        correctly considered.

        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::drawRectShadow):

2011-01-06  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION (r74663): ASSERTION FAILED: m_tokenizer->lineNumber() == line.zeroBasedInt()
        https://bugs.webkit.org/show_bug.cgi?id=52013

        When excluding line numbers for composite strings, we forgot to exclude
        the line number for the current string!

        Test: fast/parser/line-number-composite-segmented-string.html

        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::setExcludeLineNumbers):

2011-01-06  Chris Marrin  <cmarrin@apple.com>

        Unreviewed.

        Back out changes in http://trac.webkit.org/changeset/75199
        This breaks the Windows build. Fixing it on that side. Until
        then I'll back this out.

2011-01-06  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Dmitry Titov.

        When a live frame is moved between pages, some plug-in DOM methods cease to function
        https://bugs.webkit.org/show_bug.cgi?id=45770

        Test: fast/frames/iframe-reparenting-plugins.html

        * page/Frame.cpp:
        (WebCore::Frame::~Frame):
        (WebCore::Frame::addObserver):
        (WebCore::Frame::removeObserver):
        * page/Frame.h:
        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
        Added observer to be notified when frame is destroyed.
        * page/Page.cpp:
        (WebCore::Page::~Page):
        (WebCore::Page::refreshPlugins):
        PluginData no longer stores page pointer.
        * plugins/DOMMimeType.cpp:
        (WebCore::DOMMimeType::DOMMimeType):
        (WebCore::DOMMimeType::~DOMMimeType):
        (WebCore::DOMMimeType::enabledPlugin):
        * plugins/DOMMimeType.h:
        (WebCore::DOMMimeType::create):
        (WebCore::DOMMimeType::frameDestroyed):
        Store frame instead of page pointer in DOMMimeType.
        * plugins/DOMMimeTypeArray.cpp:
        (WebCore::DOMMimeTypeArray::item):
        (WebCore::DOMMimeTypeArray::namedItem):
        Provide frame to create DOMMimeType.
        * plugins/DOMPlugin.cpp:
        (WebCore::DOMPlugin::DOMPlugin):
        (WebCore::DOMPlugin::~DOMPlugin):
        (WebCore::DOMPlugin::item):
        (WebCore::DOMPlugin::namedItem):
        * plugins/DOMPlugin.h:
        (WebCore::DOMPlugin::create):
        (WebCore::DOMPlugin::frameDestroyed):
        Store frame instead of page pointer in DOMPlugin.
        * plugins/DOMPluginArray.cpp:
        (WebCore::DOMPluginArray::item):
        (WebCore::DOMPluginArray::namedItem):
        Provide frame to create DOMPlugin.
        * plugins/PluginData.cpp:
        (WebCore::PluginData::PluginData):
        (WebCore::PluginData::initPlugins):
        * plugins/PluginData.h:
        No longer stores a pointer to the page.
        Added page parameter to initPlugins.
        * plugins/PluginDataNone.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/chromium/PluginDataChromium.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/gtk/PluginDataGtk.cpp:
        (WebCore::PluginData::initPlugins):
        * plugins/wx/PluginDataWx.cpp:
        (WebCore::PluginData::initPlugins):
        Updated platforms to add (unused) page parameter to initPlugins.

2011-01-05  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Define GC3D types to match GL types and use them in GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=45557

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::readPixels):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::texImage2DResourceSafe):
        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
        (WebCore::GraphicsContext3D::extractImageData):
        (WebCore::GraphicsContext3D::extractTextureData):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::enable):
        (WebCore::SharedGraphicsContext3D::disable):
        (WebCore::SharedGraphicsContext3D::clear):
        (WebCore::SharedGraphicsContext3D::drawArrays):
        (WebCore::SharedGraphicsContext3D::getError):
        (WebCore::SharedGraphicsContext3D::getIntegerv):
        (WebCore::SharedGraphicsContext3D::createFramebuffer):
        (WebCore::SharedGraphicsContext3D::createTexture):
        (WebCore::SharedGraphicsContext3D::deleteFramebuffer):
        (WebCore::SharedGraphicsContext3D::deleteTexture):
        (WebCore::SharedGraphicsContext3D::framebufferTexture2D):
        (WebCore::SharedGraphicsContext3D::texParameteri):
        (WebCore::SharedGraphicsContext3D::texImage2D):
        (WebCore::SharedGraphicsContext3D::texSubImage2D):
        (WebCore::SharedGraphicsContext3D::readPixels):
        (WebCore::SharedGraphicsContext3D::setActiveTexture):
        (WebCore::SharedGraphicsContext3D::bindTexture):
        (WebCore::SharedGraphicsContext3D::bindFramebuffer):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::lineWidth):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):
        (WebCore::GraphicsContext3D::sizeInBytes):
        (WebCore::GraphicsContext3D::synthesizeGLError):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::activeTexture):
        (WebCore::GraphicsContext3D::attachShader):
        (WebCore::GraphicsContext3D::getAttachedShaders):
        (WebCore::GraphicsContext3D::bindAttribLocation):
        (WebCore::GraphicsContext3D::bindBuffer):
        (WebCore::GraphicsContext3D::bindFramebuffer):
        (WebCore::GraphicsContext3D::bindRenderbuffer):
        (WebCore::GraphicsContext3D::bindTexture):
        (WebCore::GraphicsContext3D::blendColor):
        (WebCore::GraphicsContext3D::blendEquation):
        (WebCore::GraphicsContext3D::blendEquationSeparate):
        (WebCore::GraphicsContext3D::blendFunc):
        (WebCore::GraphicsContext3D::blendFuncSeparate):
        (WebCore::GraphicsContext3D::bufferData):
        (WebCore::GraphicsContext3D::bufferSubData):
        (WebCore::GraphicsContext3D::checkFramebufferStatus):
        (WebCore::GraphicsContext3D::clearColor):
        (WebCore::GraphicsContext3D::clear):
        (WebCore::GraphicsContext3D::clearDepth):
        (WebCore::GraphicsContext3D::clearStencil):
        (WebCore::GraphicsContext3D::colorMask):
        (WebCore::GraphicsContext3D::compileShader):
        (WebCore::GraphicsContext3D::copyTexImage2D):
        (WebCore::GraphicsContext3D::copyTexSubImage2D):
        (WebCore::GraphicsContext3D::cullFace):
        (WebCore::GraphicsContext3D::depthFunc):
        (WebCore::GraphicsContext3D::depthMask):
        (WebCore::GraphicsContext3D::depthRange):
        (WebCore::GraphicsContext3D::detachShader):
        (WebCore::GraphicsContext3D::disable):
        (WebCore::GraphicsContext3D::disableVertexAttribArray):
        (WebCore::GraphicsContext3D::drawArrays):
        (WebCore::GraphicsContext3D::drawElements):
        (WebCore::GraphicsContext3D::enable):
        (WebCore::GraphicsContext3D::enableVertexAttribArray):
        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
        (WebCore::GraphicsContext3D::framebufferTexture2D):
        (WebCore::GraphicsContext3D::frontFace):
        (WebCore::GraphicsContext3D::generateMipmap):
        (WebCore::GraphicsContext3D::getActiveAttrib):
        (WebCore::GraphicsContext3D::getActiveUniform):
        (WebCore::GraphicsContext3D::getAttribLocation):
        (WebCore::GraphicsContext3D::getError):
        (WebCore::GraphicsContext3D::getString):
        (WebCore::GraphicsContext3D::hint):
        (WebCore::GraphicsContext3D::isBuffer):
        (WebCore::GraphicsContext3D::isEnabled):
        (WebCore::GraphicsContext3D::isFramebuffer):
        (WebCore::GraphicsContext3D::isProgram):
        (WebCore::GraphicsContext3D::isRenderbuffer):
        (WebCore::GraphicsContext3D::isShader):
        (WebCore::GraphicsContext3D::isTexture):
        (WebCore::GraphicsContext3D::linkProgram):
        (WebCore::GraphicsContext3D::pixelStorei):
        (WebCore::GraphicsContext3D::polygonOffset):
        (WebCore::GraphicsContext3D::readPixels):
        (WebCore::GraphicsContext3D::renderbufferStorage):
        (WebCore::GraphicsContext3D::sampleCoverage):
        (WebCore::GraphicsContext3D::scissor):
        (WebCore::GraphicsContext3D::stencilFunc):
        (WebCore::GraphicsContext3D::stencilFuncSeparate):
        (WebCore::GraphicsContext3D::stencilMask):
        (WebCore::GraphicsContext3D::stencilMaskSeparate):
        (WebCore::GraphicsContext3D::stencilOp):
        (WebCore::GraphicsContext3D::stencilOpSeparate):
        (WebCore::GraphicsContext3D::texParameterf):
        (WebCore::GraphicsContext3D::texParameteri):
        (WebCore::GraphicsContext3D::uniform1f):
        (WebCore::GraphicsContext3D::uniform1fv):
        (WebCore::GraphicsContext3D::uniform2f):
        (WebCore::GraphicsContext3D::uniform2fv):
        (WebCore::GraphicsContext3D::uniform3f):
        (WebCore::GraphicsContext3D::uniform3fv):
        (WebCore::GraphicsContext3D::uniform4f):
        (WebCore::GraphicsContext3D::uniform4fv):
        (WebCore::GraphicsContext3D::uniform1i):
        (WebCore::GraphicsContext3D::uniform1iv):
        (WebCore::GraphicsContext3D::uniform2i):
        (WebCore::GraphicsContext3D::uniform2iv):
        (WebCore::GraphicsContext3D::uniform3i):
        (WebCore::GraphicsContext3D::uniform3iv):
        (WebCore::GraphicsContext3D::uniform4i):
        (WebCore::GraphicsContext3D::uniform4iv):
        (WebCore::GraphicsContext3D::uniformMatrix2fv):
        (WebCore::GraphicsContext3D::uniformMatrix3fv):
        (WebCore::GraphicsContext3D::uniformMatrix4fv):
        (WebCore::GraphicsContext3D::useProgram):
        (WebCore::GraphicsContext3D::validateProgram):
        (WebCore::GraphicsContext3D::vertexAttrib1f):
        (WebCore::GraphicsContext3D::vertexAttrib1fv):
        (WebCore::GraphicsContext3D::vertexAttrib2f):
        (WebCore::GraphicsContext3D::vertexAttrib2fv):
        (WebCore::GraphicsContext3D::vertexAttrib3f):
        (WebCore::GraphicsContext3D::vertexAttrib3fv):
        (WebCore::GraphicsContext3D::vertexAttrib4f):
        (WebCore::GraphicsContext3D::vertexAttrib4fv):
        (WebCore::GraphicsContext3D::vertexAttribPointer):
        (WebCore::GraphicsContext3D::viewport):
        (WebCore::GraphicsContext3D::getBooleanv):
        (WebCore::GraphicsContext3D::getBufferParameteriv):
        (WebCore::GraphicsContext3D::getFloatv):
        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
        (WebCore::GraphicsContext3D::getIntegerv):
        (WebCore::GraphicsContext3D::getProgramiv):
        (WebCore::GraphicsContext3D::getProgramInfoLog):
        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
        (WebCore::GraphicsContext3D::getShaderiv):
        (WebCore::GraphicsContext3D::getShaderInfoLog):
        (WebCore::GraphicsContext3D::getShaderSource):
        (WebCore::GraphicsContext3D::getTexParameterfv):
        (WebCore::GraphicsContext3D::getTexParameteriv):
        (WebCore::GraphicsContext3D::getUniformfv):
        (WebCore::GraphicsContext3D::getUniformiv):
        (WebCore::GraphicsContext3D::getUniformLocation):
        (WebCore::GraphicsContext3D::getVertexAttribfv):
        (WebCore::GraphicsContext3D::getVertexAttribiv):
        (WebCore::GraphicsContext3D::getVertexAttribOffset):
        (WebCore::GraphicsContext3D::texImage2D):
        (WebCore::GraphicsContext3D::texSubImage2D):
        (WebCore::GraphicsContext3D::createBuffer):
        (WebCore::GraphicsContext3D::createFramebuffer):
        (WebCore::GraphicsContext3D::createProgram):
        (WebCore::GraphicsContext3D::createRenderbuffer):
        (WebCore::GraphicsContext3D::createShader):
        (WebCore::GraphicsContext3D::createTexture):
        (WebCore::GraphicsContext3D::deleteBuffer):
        (WebCore::GraphicsContext3D::deleteFramebuffer):
        (WebCore::GraphicsContext3D::deleteProgram):
        (WebCore::GraphicsContext3D::deleteRenderbuffer):
        (WebCore::GraphicsContext3D::deleteShader):
        (WebCore::GraphicsContext3D::deleteTexture):
        (WebCore::GraphicsContext3D::sizeInBytes):
        (WebCore::GraphicsContext3D::synthesizeGLError):
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2011-01-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] Initial build support for WebGL
        https://bugs.webkit.org/show_bug.cgi?id=51716

        Add initial build support for WebGL and insert bits of implementation
        necessary for clean compilation into GraphicsContext3D.

        No new tests. This is just a build change.

        * GNUmakefile.am: Add missing files to the source lists.
        * platform/graphics/GraphicsContext3D.h: Include IntSize.h as it's used below.
        Include typedefs necessary for WebGL on GTK+ and consolidate typdefs which are the
        same across different platforms. X11 headers define the VERSION symbol, so it's
        necessary to undefine it, since it's used as an enum value.

2011-01-06  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] GraphicsContext::drawConvexPolygon() has unnecessary code for shadow
        https://bugs.webkit.org/show_bug.cgi?id=52014

        The function is only used by RenderObject to draw box sides.
        The shadow branch is never used and thus can be removed.

        No new tests are necessary.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):

2011-01-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Make sure touch is disabled in the minimal configuration
        https://bugs.webkit.org/show_bug.cgi?id=51316

        No new tests as there is no new functionality.

        * features.pri:

2011-01-06  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Eric Seidel.

        [GTK] Freetype backend does not support WOFF
        https://bugs.webkit.org/show_bug.cgi?id=51904

        * CMakeListsEfl.txt: Add WOFF support to the sources list.
        * GNUmakefile.am: Add WOFF support to the sources list.
        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
        (WebCore::createFontCustomPlatformData): Call the WOFF decoder when appropriate.
        (WebCore::FontCustomPlatformData::supportsFormat): Advertise support for WOFF.

2011-01-06  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Remove vendor prefix
        https://bugs.webkit.org/show_bug.cgi?id=48922

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::performance): Rename to performance.
        * page/DOMWindow.h:
        * page/DOMWindow.idl: Rename to performance and make replaceable.

2011-01-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
        https://bugs.webkit.org/show_bug.cgi?id=49388

        Changed PlatformCALayer API. Added PlatformCALayerClient abstract class which is
        used to communicate from PlatformCALayer to the owner. This replaces passing
        GraphicsLayerCA pointer when creating PlatformCALayer. It also includes the
        API that used to be in PlatformCALayerLayout. GraphicsLayerCA now implements
        the PlatformCALayerClient API.

        This change has little impact on the Mac side but makes the Windows
        interface simpler, especially when handling video layers on Windows.

        * WebCore.xcodeproj/project.pbxproj:
        * config.h:
        * platform/graphics/GraphicsLayer.h:
        (WebCore::GraphicsLayer::layerDidDisplay):
        (WebCore::GraphicsLayer::showDebugBorders):
        (WebCore::GraphicsLayer::showRepaintCounter):
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
        (WebCore::GraphicsLayerCA::setContentsToImage):
        (WebCore::GraphicsLayerCA::setContentsToMedia):
        (WebCore::GraphicsLayerCA::layerDidDisplay):
        (WebCore::GraphicsLayerCA::updateSublayerList):
        * platform/graphics/ca/GraphicsLayerCA.h:
        (WebCore::GraphicsLayerCA::platformCALayerLayoutSublayersOfLayer):
        (WebCore::GraphicsLayerCA::platformCALayerRespondsToLayoutChanges):
        (WebCore::GraphicsLayerCA::platformCALayerContentsOrientation):
        (WebCore::GraphicsLayerCA::platformCALayerPaintContents):
        (WebCore::GraphicsLayerCA::platformCALayerShowDebugBorders):
        (WebCore::GraphicsLayerCA::platformCALayerShowRepaintCounter):
        (WebCore::GraphicsLayerCA::platformCALayerIncrementRepaintCount):
        (WebCore::GraphicsLayerCA::platformCALayerContentsOpaque):
        (WebCore::GraphicsLayerCA::platformCALayerDrawsContent):
        (WebCore::GraphicsLayerCA::platformCALayerLayerDidDisplay):
        (WebCore::GraphicsLayerCA::platformCALayer):
        * platform/graphics/ca/PlatformCALayer.h:
        (WebCore::PlatformCALayer::owner):
        (WebCore::PlatformCALayer::animationStarted):
        * platform/graphics/ca/PlatformCALayerClient.h: Added.
        (WebCore::PlatformCALayerClient::~PlatformCALayerClient):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setOwner):
        (PlatformCALayer::create):
        (PlatformCALayer::PlatformCALayer):
        (PlatformCALayer::contents):
        (PlatformCALayer::setContents):
        * platform/graphics/mac/WebGLLayer.mm:
        (-[WebGLLayer display]):
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):
        (setLayerNeedsDisplayInRect):
        (-[WebLayer setNeedsDisplay]):
        (-[WebLayer display]):
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplay]):
        (-[WebTiledLayer display]):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::showDebugBorders):
        (WebCore::RenderLayerBacking::showRepaintCounter):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
        * rendering/RenderLayerCompositor.h:
        (WebCore::RenderLayerCompositor::compositorShowDebugBorders):
        (WebCore::RenderLayerCompositor::compositorShowRepaintCounter):
        (WebCore::RenderLayerCompositor::notifyAnimationStarted):
        (WebCore::RenderLayerCompositor::notifySyncRequired):
        (WebCore::RenderLayerCompositor::paintContents):
        (WebCore::RenderLayerCompositor::showDebugBorders):
        (WebCore::RenderLayerCompositor::showRepaintCounter):

2011-01-06  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Allow framesets after hidden inputs
        https://bugs.webkit.org/show_bug.cgi?id=51998

        This implements the HTML5 spec update in response to:
        http://www.w3.org/Bugs/Public/show_bug.cgi?id=11156

        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::processStartTagForInBody):

2010-12-29  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        vertexAttribPointer should raise INVALID_OPERATION if stride/offset is not multiple of the type size
        https://bugs.webkit.org/show_bug.cgi?id=51725

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::vertexAttribPointer):

2011-01-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        [WINCE] Remove JSC::g_stackBase
        https://bugs.webkit.org/show_bug.cgi?id=51779

        * platform/wince/SharedTimerWinCE.cpp:
        (WebCore::TimerWindowWndProc):

2011-01-06  Robert Hogan  <robert@webkit.org>

        Reviewed by Antonio Gomes.

        [Qt] Introduce QDRTNode for passing WebCore::Node across JS bridge

        This allows LayoutTestController to pass WebCore::Node back to
        layout tests.

        Also amend nodesFromRect-links-and-text.html and
        nodesFromRect-inner-documents.html so that they do not produce
        platform-specific results.

        Unskip:
        fast/dom/nodesFromRect-links-and-text.html
        fast/dom/nodesFromRect-inner-documents.html

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

        * bridge/qt/qt_runtime.cpp:
        (JSC::Bindings::QtDRTNodeRuntime::create):
        (JSC::Bindings::QtDRTNodeRuntime::get):
        (JSC::Bindings::convertValueToQVariant):
        (JSC::Bindings::convertQVariantToValue):

2011-01-06  Joone Hur  <joone.hur@collabora.co.uk>

        Reviewed by Eric Seidel.

        WML Parser should treat line/column number in a consistent way
        https://bugs.webkit.org/show_bug.cgi?id=51601

        XML Parser treats line/column number as 1-based values, but WML ErrorHandler treat them as 0-based.
        Therefore, this patch allows WML ErrorHandler to use 1-based values.

        * dom/XMLDocumentParser.cpp:
        (WebCore::XMLDocumentParser::handleError): Treat line/column number as 1 based values.
        * dom/XMLDocumentParser.h: Make textPositionOneBased public and Add TextPosition1(m_lastErrorPosition) to keep error line/column number.
        * dom/XMLDocumentParserLibxml2.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
        * dom/XMLDocumentParserQt.cpp:
        (WebCore::XMLDocumentParser::XMLDocumentParser): Initialize m_lastErrorPosition. 
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError): Use 1 based value instead of 0 based value to report error line/column number.

2011-01-05  Adam Roben  <aroben@apple.com>

        Remove some dead code from WKCACFLayerRenderer

        Fixes <http://webkit.org/b/51954> WKCACFLayerRenderer has dead and
        redundant code for reacting to changes to the layer tree

        Reviewed by Sam Weinig.

        * platform/graphics/win/WKCACFLayerRenderer.cpp:
        * platform/graphics/win/WKCACFLayerRenderer.h:
        Removed didFlushContext and the HashMap it depended on. We react to
        changes to the layer tree in layerTreeDidChange instead.

2011-01-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: "AXExpanded" not exposed on most ARIA roles that use aria-expanded
        https://bugs.webkit.org/show_bug.cgi?id=51995

        Test: platform/mac/accessibility/aria-expanded-standard-items.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::supportsARIAExpanded):
        (WebCore::AccessibilityObject::isExpanded):
        * accessibility/AccessibilityObject.h:
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isVisited):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):

2010-12-28  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Must generate INVALID_VALUE errors for strings containing out-of-range characters
        https://bugs.webkit.org/show_bug.cgi?id=50929

        * html/canvas/WebGLRenderingContext.cpp: Validate characters according to GLSL ES 1.0 spec section 3.1.
        (WebCore::WebGLRenderingContext::bindAttribLocation):
        (WebCore::WebGLRenderingContext::getAttribLocation):
        (WebCore::WebGLRenderingContext::getUniformLocation):
        (WebCore::WebGLRenderingContext::shaderSource):
        (WebCore::WebGLRenderingContext::validateString): Helper function to perform the character validation.
        * html/canvas/WebGLRenderingContext.h: Declare validateString().

2011-01-06  Yong Li  <yoli@rim.com>

        Reviewed by Adam Barth.
        Add the test case that is missed in r75066.
        https://bugs.webkit.org/show_bug.cgi?id=48077

        Test case: WebCore/manual-tests/bugzilla-48077.html.

2011-01-06  James Robinson  <jamesr@chromium.org>

        Reviewed by Simon Fraser.

        Implement mozilla's animationTime property
        https://bugs.webkit.org/show_bug.cgi?id=51952

        Implements mozilla's animationTime property as described here:
        https://developer.mozilla.org/en/DOM/window.mozAnimationStartTime
        and http://hacks.mozilla.org/2010/08/more-efficient-javascript-animations-with-mozrequestanimationframe/
        The property is called webkitAnimationTime as calling it the 'Start' time is not very informative.
        This property exposes a notion of a 'current' time to use for declarative animations and allows
        scripts to synchronize imperative animations with declarative ones if they choose to.  Once queried
        this time is saved and used for all declarative animation updates until the embedder paints/composites
        the next frame and clears it, or 15ms elapse (in case the embedder isn't producing frames, for example
        if the page is in a background tab).

        This patch also ensures that all declarative animations started in the same script execution block
        are synchronized even if some time elapses while script is running.

        Test: fast/animation/animation-time.html

        * WebCore.gypi:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::webkitAnimationTime):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        * page/Frame.cpp:
        (WebCore::Frame::currentAnimationTime):
        * page/Frame.h:
        * page/Page.cpp:
        (WebCore::Page::Page):
        * page/Page.h:
        (WebCore::Page::animationTime):
        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime):
        * page/animation/AnimationTimeController.cpp: Added.
        (WebCore::AnimationTimeController::AnimationTimeController):
        (WebCore::AnimationTimeController::~AnimationTimeController):
        (WebCore::AnimationTimeController::currentAnimationTime):
        (WebCore::AnimationTimeController::clearCurrentAnimationTime):
        (WebCore::AnimationTimeController::clearCurrentAnimationTimeTimerFired):
        * page/animation/AnimationTimeController.h: Added.
        (WebCore::AnimationTimeController::create):

2011-01-06  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Null out the parent stylesheet pointer when a css rule is removed.
        https://bugs.webkit.org/show_bug.cgi?id=51993

        Tests: fast/dom/StyleSheet/removed-media-rule-deleted-parent-crash.html
               fast/dom/StyleSheet/removed-stylesheet-rule-deleted-parent-crash.html

        * css/CSSRuleList.cpp:
        (WebCore::CSSRuleList::deleteRule):
        * css/CSSStyleSheet.cpp:
        (WebCore::CSSStyleSheet::deleteRule):

2011-01-04  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        NaN in a TypedArray should be converted to zero only for Float32Array.
        https://bugs.webkit.org/show_bug.cgi?id=46990

        Test: LayoutTests/fast/canvas/webgl/array-unit-tests.html

        * bindings/js/JSArrayBufferViewHelper.h:
        (WebCore::convertArrayValue):
        (WebCore::constructArrayBufferView):
        * html/canvas/Float32Array.h:
        (WebCore::Float32Array::set):
        (WebCore::Float32Array::item):

2011-01-06  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed Windows build fix for r75161.

        * platform/graphics/cg/GraphicsContextCG.cpp: Missing include added.

2011-01-06  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r75139.

        Try to remove include after adding forward-declaration in r75145.

        * platform/graphics/Gradient.h:

2011-01-06  Renata Hodovan  <reni@webkit.org>

        Reviewed by Andreas Kling.

        https://bugs.webkit.org/show_bug.cgi?id=51811
        Merge m_height and m_width members of ImageData into the new m_size member.

        Image (BitmapImage, ImageSource) types in WebKit use IntSize to store their
        width and height argument, except ImageData. This patch refactors ImageData
        to follow the style of other Image types in WebKit.
        Using of PassRefPtrs other than argument passing is not allowed in WebKit anymore.
        This patch also refactors the PassRefPtr usages of ImageData.

        It's just a refactoring, so we don't need any new tests.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::write):
        (WebCore::CloneDeserializer::readTerminal):
        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Reader::readImageData):
        * html/ImageData.cpp:
        (WebCore::ImageData::create):
        (WebCore::ImageData::ImageData):
        * html/ImageData.h:
        (WebCore::ImageData::size):
        (WebCore::ImageData::width):
        (WebCore::ImageData::height):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::createEmptyImageData):
        (WebCore::CanvasRenderingContext2D::createImageData):
        (WebCore::CanvasRenderingContext2D::getImageData):
        * html/canvas/CanvasRenderingContext2D.h:
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::getImageData):

2011-01-06  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        document.querySelector(':nth-child(foo)') should throw a syntax error
        https://bugs.webkit.org/show_bug.cgi?id=51231

        Also fixes 
        CSSNthSelector parsing code is illegible and buggy (allows "n3" as a valid selector)
        https://bugs.webkit.org/show_bug.cgi?id=21815

        Add a check in the parser that other than an+b, only "odd" or "even" would be allowed
        as parameters to nth selector.

        Tests: fast/css/css3-nth-tokens-script.html
               fast/css/css3-nth-tokens-style.html

        * css/CSSGrammar.y:
        * css/CSSParser.cpp:
        (WebCore::isValidNthToken):
        * css/CSSParser.h:

2011-01-06  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] crash in QNetworkReplyHandler::sendResponseIfNeeded()
        https://bugs.webkit.org/show_bug.cgi?id=51453

        Check if m_reply is NULL before accessing.

        * manual-tests/load-deferrer-resume-crash.html: Added.
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::setLoadMode):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):

2011-01-06  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][V8] Fix the build when DEVICE_ORIENTATION is enabled.

        No new tests needed.

        * WebCore.pro: remove duplications and globally add RuntimeEnabledFeatures.

2011-01-06  Helder Correia  <helder@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt][GTK] Use GraphicsContext::hasShadow() in port-specific code
        https://bugs.webkit.org/show_bug.cgi?id=51985

        r75139 introduced GraphicsContext::hasShadow(). This can now simplify
        and unify some code in the Qt and GTK ports.

        No new tests necessary for this refactoring.

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::drawConvexPolygon):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):

2011-01-05  Darin Adler  <darin@apple.com>

        Fix Chromium Mac build.

        * platform/graphics/Gradient.h: Forward-declare CGContextRef.
        This might even make it possible to remove the include of
        <CoreGraphics/CoreGraphics.h> for PLATFORM(WIN), but I did not
        do that at this time because I don't want to break the Windows
        build when fixing the Chromium build.

2011-01-05  Xianzhu Wang  <wangxianzhu@google.com>

        Reviewed by David Levin.

        Implement RemoteFontStream's skip behavior (in FontCustomPlatformData.cpp)
        https://bugs.webkit.org/show_bug.cgi?id=51736

        No new tests. This change has potential effect on @font-face CSS feature
        on ports using Skia. Tested on Chromium that this change won't break
        fast/css/font-face-remote.html. This change can make the test pass on
        other ports using Skia.

        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::RemoteFontStream::read):

2011-01-05  Helder Correia  <helder@sencha.com>

        Reviewed by Simon Fraser.

        Shadows are not drawn when filling a rect with a gradient fillStyle on Mac and Chromium-Mac
        https://bugs.webkit.org/show_bug.cgi?id=51869

        GraphicsContext::fillRect(const FloatRect&) is clipping to the rect.
        The shadow is being drawn, but getting clipped to the rect being filled.
        The solution is to draw the gradient into a CGLayer (when a shadow is
        required), then render the layer to the GraphicsContext.

        This patch also fixes:
        canvas/philip/tests/2d.shadow.gradient.alpha.html
        canvas/philip/tests/2d.shadow.gradient.basic.html
        canvas/philip/tests/2d.shadow.gradient.transparent.2.html

        Test: fast/canvas/canvas-fillRect-gradient-shadow.html

        * platform/graphics/Gradient.h:
        * platform/graphics/cg/GradientCG.cpp:
        (WebCore::Gradient::paint):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRect):

2011-01-05  Steve Falkenburg  <sfalken@apple.com>

        Reviewed by Darin Adler.

        Debug and Release builds on Windows clobber each other
        https://bugs.webkit.org/show_bug.cgi?id=49185

        Changes the structure of WebKitBuild build products directory so we
        completely separate each build configuration into independent directories.
        
        Although we previously had per-configuration directories for obj, this change adds
        per-configuration directories for bin, lib, obj, and include. Each configuration's
        build products are stored within a directory inside of WebKitBuild.
        
        Most use of $(WebKitOutputDir) in the build files has been replaced by $(ConfigurationBuildDir),
        defined in common.vsprops to be $(WebKitOutputDir)\$(ConfigurationName).

        * WebCore.vcproj/QTMovieWinCommon.vsprops:
        * WebCore.vcproj/QTMovieWinPostBuild.cmd:
        * WebCore.vcproj/QTMovieWinPreBuild.cmd:
        * WebCore.vcproj/WebCore.make:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:
        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
        * WebCore.vcproj/WebCoreMediaQT.vsprops:
        * WebCore.vcproj/WebCorePostBuild.cmd:
        * WebCore.vcproj/WebCorePreBuild.cmd:
        * WebCore.vcproj/copyForwardingHeaders.cmd:
        * WebCore.vcproj/copyInspectorFiles.cmd:

2011-01-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Ariya Hidayat.

        Directly composited SVG images fail to render
        https://bugs.webkit.org/show_bug.cgi?id=51975
        
        There was already code, added in r67900, to detect whether an image
        may be directly composited, by checking to see if it's a bitmap image.
        
        However, CachedImage::image() returns the nullImage() if m_image is null,
        which is a BitmapImage, confusing this test.

        Test: compositing/images/direct-svg-image.html

        * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
        exactly the same method.
        (WebCore::CachedImage::image): Use Image::nullImage().
        * loader/cache/CachedImage.h:
        (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
        non-null.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
        so that we don't test the nullImage.

2011-01-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Fix percentage values in radius of radial gradients
        https://bugs.webkit.org/show_bug.cgi?id=51979
        
        Handle percentage values for the ending size of radial gradients.

        Test: fast/gradients/css3-radial-gradients3.html

        * css/CSSGradientValue.cpp:
        (WebCore::CSSRadialGradientValue::resolveRadius): Add parameter for height or width, which is
        non-null if percentage values are allowed, and compute percentage values when we see them.
        (WebCore::CSSRadialGradientValue::createGradient): Pass height or width down to say that
        percentages are OK when resolving end radii.
        * css/CSSGradientValue.h: New parameter for resolveRadius.

2011-01-05  James Simonsen  <simonjam@chromium.org>

        Reviewed by Adam Barth.

        [Web Timing] Zero out some values on cross-origin redirects
        https://bugs.webkit.org/show_bug.cgi?id=49294

        Tests: http/tests/misc/webtiming-cross-origin-redirect.php
               http/tests/misc/webtiming-origins.html

        * loader/DocumentLoadTiming.h:
        (WebCore::DocumentLoadTiming::DocumentLoadTiming): Add flags for cross-origin redirects and same-origin navigation.
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::~FrameLoader):
        (WebCore::FrameLoader::stopLoading): Don't overwrite previous unload times.
        (WebCore::FrameLoader::completed):
        (WebCore::FrameLoader::loadWithDocumentLoader): Remember previous URL to see if navigation is same-origin.
        (WebCore::FrameLoader::commitProvisionalLoad): Set flag if navigation is same-origin.
        * loader/FrameLoader.h:
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::willSendRequest): Set flag on cross-origin redirects.
        * page/PerformanceNavigation.cpp:
        (WebCore::PerformanceNavigation::redirectCount): Clear if cross-origin redirect flag is set.
        * page/PerformanceTiming.cpp:
        (WebCore::PerformanceTiming::redirectStart): Ditto.
        (WebCore::PerformanceTiming::redirectEnd): Ditto.
        (WebCore::PerformanceTiming::unloadEventStart): Clear if cross-origin navigation is set.
        (WebCore::PerformanceTiming::unloadEventEnd): Ditto.

2011-01-05  Helder Correia  <helder@sencha.com>

        Reviewed by Ariya Hidayat.

        [Qt] Default focus ring is too wide
        https://bugs.webkit.org/show_bug.cgi?id=51854

        This is an intermediate step to solve this bug. Use QPalette::Highlight
        instead of default half-transparent black as the focus ring color.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::drawFocusRingForPath):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::platformFocusRingColor):
        * platform/qt/RenderThemeQt.h:

2011-01-05  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] requestStart and responseStart should be available even if the document is still loading
        https://bugs.webkit.org/show_bug.cgi?id=51368

        Test: http/tests/misc/webtiming-slow-load.php

        * page/PerformanceTiming.cpp:
        (WebCore::getPossiblySkewedTimeInKnownRange): Handle case where response is not yet complete.
        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Use full upper bound.

2011-01-05  Chris Rogers  <crogers@google.com>

        Reviewed by Darin Fisher.

        Add WebKitClient::createAudioDevice() for Chromium port of web audio API
        https://bugs.webkit.org/show_bug.cgi?id=51424

        No new tests since audio API is not yet implemented.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:

2011-01-05  Anders Carlsson  <andersca@apple.com>

        Try again.

        * WebCore.exp.in:

2011-01-05  Anders Carlsson  <andersca@apple.com>

        Attempt to fix Leopard build.

        * WebCore.exp.in:

2011-01-05  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] refactor complex text on Linux
        https://bugs.webkit.org/show_bug.cgi?id=51956

        Pull out TextRunWalker from FontLinux.cpp.  Put it in its own file.
        Rename it to ComplexTextController, to match platform/graphics/mac
        more closely.

        No tests because the change is just renaming a class.

        * WebCore.gyp/WebCore.gyp:
        * platform/graphics/chromium/ComplexTextControllerLinux.cpp: Added.
        (WebCore::ComplexTextController::ComplexTextController):
        (WebCore::ComplexTextController::~ComplexTextController):
        (WebCore::ComplexTextController::isWordBreak):
        (WebCore::ComplexTextController::determineWordBreakSpacing):
        (WebCore::ComplexTextController::setPadding):
        (WebCore::ComplexTextController::reset):
        (WebCore::ComplexTextController::setBackwardsIteration):
        (WebCore::ComplexTextController::nextScriptRun):
        (WebCore::ComplexTextController::widthOfFullRun):
        (WebCore::ComplexTextController::setupFontForScriptRun):
        (WebCore::ComplexTextController::allocHarfbuzzFont):
        (WebCore::ComplexTextController::deleteGlyphArrays):
        (WebCore::ComplexTextController::createGlyphArrays):
        (WebCore::ComplexTextController::resetGlyphArrays):
        (WebCore::ComplexTextController::shapeGlyphs):
        (WebCore::ComplexTextController::setGlyphXPositions):
        (WebCore::ComplexTextController::normalizeSpacesAndMirrorChars):
        (WebCore::ComplexTextController::getNormalizedTextRun):
        * platform/graphics/chromium/ComplexTextControllerLinux.h: Added.
        (WebCore::ComplexTextController::setWordSpacingAdjustment):
        (WebCore::ComplexTextController::setLetterSpacingAdjustment):
        (WebCore::ComplexTextController::letterSpacing):
        (WebCore::ComplexTextController::setXOffsetToZero):
        (WebCore::ComplexTextController::rtl):
        (WebCore::ComplexTextController::glyphs):
        (WebCore::ComplexTextController::length):
        (WebCore::ComplexTextController::xPositions):
        (WebCore::ComplexTextController::advances):
        (WebCore::ComplexTextController::width):
        (WebCore::ComplexTextController::logClusters):
        (WebCore::ComplexTextController::numCodePoints):
        (WebCore::ComplexTextController::fontPlatformDataForScriptRun):
        (WebCore::ComplexTextController::isCodepointSpace):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawComplexText):
        (WebCore::Font::floatWidthForComplexText):
        (WebCore::glyphIndexForXPositionInScriptRun):
        (WebCore::Font::offsetForPositionForComplexText):
        (WebCore::Font::selectionRectForComplexText):

2011-01-05  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Darin Adler.

        Merge cf and mac header files with same name
        https://bugs.webkit.org/show_bug.cgi?id=51916

        Since most of the code in the header files is identical, we can merge them and have #if
        USE(CFNETWORK) to separate out the network specific parts.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/network/cf/AuthenticationChallenge.h:
        (WebCore::AuthenticationChallenge::sender):
        (WebCore::AuthenticationChallenge::nsURLAuthenticationChallenge):
        * platform/network/cf/ResourceError.h:
        (WebCore::ResourceError::ResourceError):
        * platform/network/cf/ResourceRequest.h:
        (WebCore::ResourceRequest::ResourceRequest):
        * platform/network/cf/ResourceResponse.h:
        (WebCore::ResourceResponse::ResourceResponse):
        * platform/network/mac/AuthenticationChallenge.h: Removed.
        * platform/network/mac/ResourceError.h: Removed.
        * platform/network/mac/ResourceRequest.h: Removed.
        * platform/network/mac/ResourceResponse.h: Removed.

2011-01-05  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adele Peterson.

        Implement word transformation
        https://bugs.webkit.org/show_bug.cgi?id=51943

        Export Editor functions needed by WebKit2.

        * WebCore.exp.in:

2011-01-05  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dave Hyatt.

        Implement repeating CSS3 gradients
        https://bugs.webkit.org/show_bug.cgi?id=51843
        
        Add support for repeating gradients, via the new gradient functions
        -webkit-repeating-linear-gradient and -webkit-repeating-radial-gradient.

        Tests: fast/gradients/css3-repeating-linear-gradients.html
               fast/gradients/css3-repeating-radial-gradients.html

        * css/CSSGradientValue.h:
        (WebCore::CSSGradientValue::isRepeating): Accessor for whethe the gradient repeats.
        (WebCore::CSSGradientValue::CSSGradientValue): Pass CSSGradientRepeat in.
        (WebCore::CSSLinearGradientValue::create): Pass CSSGradientRepeat.
        (WebCore::CSSLinearGradientValue::CSSLinearGradientValue): Ditto
        (WebCore::CSSRadialGradientValue::create): Ditto.
        (WebCore::CSSRadialGradientValue::CSSRadialGradientValue): Ditto.

        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::addStops): Pass maxLengthForRepeat, which
        is used for repeating radial gradients. Add code to repeat the stops,
        adding stops before the start, and after the end until the 0-N range is
        covered, where N is large enough to ensure the box is covered. Fix an issue
        with repeating gradients where if both stops were < 0, it would fail to clamp
        them to 0.
        
        (WebCore::CSSLinearGradientValue::cssText): Output strings for repeating gradients.
        (WebCore::CSSLinearGradientValue::createGradient): maxExtent for linear gradients is 1,
        because they are guaranteed to fill the box already.
        (WebCore::CSSRadialGradientValue::cssText): Output strings for repeating gradients.
        (WebCore::CSSRadialGradientValue::createGradient): Compute the distance to the furthest
        corner in order to inform addStops() how much additional extent is required.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseDeprecatedGradient): Old gradients never repeat.
        (WebCore::CSSParser::parseLinearGradient): Pass down CSSGradientRepeat.
        (WebCore::CSSParser::parseRadialGradient): Ditto.
        (WebCore::CSSParser::isGeneratedImageValue): Add repeating gradient functions.
        (WebCore::CSSParser::parseGeneratedImage): Ditto.
        * css/CSSParser.h: Pass CSSGradientRepeat to gradient functions.
        * platform/graphics/cg/GradientCG.cpp: Remove unused #include.

2011-01-05  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Ariya Hidayat.

        ContextShadow::blurLayerImage() not endian-safe
        https://bugs.webkit.org/show_bug.cgi?id=51822

        Correct the channel map in ContextShadow to reflect the different
        ordering of pixels on processors with different endianness.

        No new tests. This is covered by the existing shadow tests. It was
        not discovered, because all of the bots using ContextShadow are
        little-endian.

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::blurLayerImage): Initialize the channel mapping
        based on machine endianness.

2011-01-05  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Nate Chapin.

        [Chromium] Crash when drawing PDF plug-in scrollbars
        https://bugs.webkit.org/show_bug.cgi?id=51942

        Pepper plug-in scrollbars don't have a parent, guard against that before
        seeing if the parent is a FrameView.

        Not testable via layout tests, verified fix by hand.
        
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::ScrollbarThemeChromiumMac::paint):

2011-01-05  Abhishek Arya  <inferno@chromium.org>

        Unreviewed.

        Update FIXME comment to sound better. Also initialize the block to fix compile.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):

2011-01-05  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dave Hyatt.

        Do not merge anonymous blocks when one of them is the one getting removed.
        https://bugs.webkit.org/show_bug.cgi?id=51919

        Test: fast/block/merge-anonymous-block-remove-child-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::removeChild):

2011-01-05  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        ApplyStyleCommand::applyRelativeFontStyleChange should take EditingStyle*
        https://bugs.webkit.org/show_bug.cgi?id=50641

        Modified applyRelativeFontStyleChange to take EditingStyle instead of CSSMutableStyleDeclaration.
        Also extracted the logic to obtain the font size delta from ApplyStyleCommand to EditingStyle.
        The font size delta is now stored as a member variable of EditingStyle as supposed to a property
        in CSSMutableStyleDeclration as soon as EditingStyle is instantiated.

        No new tests are added since this is a refactoring.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::doApply): Calls applyRelativeFontStyleChange.
        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Takes EditingStyle.
        * editing/ApplyStyleCommand.h:
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::EditingStyle): Initializes m_fontSizeDelta.
        (WebCore::EditingStyle::init): Ditto.
        (WebCore::EditingStyle::extractFontSizeDelta): Extracted from applyRelativeFontStyleChange.
        (WebCore::EditingStyle::isEmpty): Takes care of m_fontSizeDelta.
        (WebCore::EditingStyle::setStyle): Calls extractFontSizeDelta.
        (WebCore::EditingStyle::overrideWithStyle): Ditto.
        (WebCore::EditingStyle::clear): Initializes m_fontSizeDelta.
        (WebCore::EditingStyle::copy): Calls extractFontSizeDelta.
        * editing/EditingStyle.h:
        (WebCore::EditingStyle::fontSizeDelta): Added.
        (WebCore::EditingStyle::hasFontSizeDelta): Added.
        * editing/Editor.h:

2011-01-05  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        <rdar://problem/8799835> hyphenate-character: auto should fall back to hyphen-minus if the primary font lacks a hyphen glyph
        https://bugs.webkit.org/show_bug.cgi?id=51915

        This changes the results of existing tests in fast/text.

        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::primaryFontHasGlyphForCharacter): Added.
        * rendering/style/RenderStyle.cpp:
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::primaryFontHasGlyphForCharacter): Added a stub.
        (WebCore::RenderStyle::hyphenString): For hyphenate-character: auto, return a
        hyphen only if the primary font has a hyphen glyph, and otherwise return a
        hyphen-minus.

2011-01-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] [Symbian] Make CONFIG-=def_files the default configuration for trunk builds
        https://bugs.webkit.org/show_bug.cgi?id=51888

        Overrule Qt's default from qconfig.pri for non-production builds so
        that CONFIG(def_files) evaluates to false and QtWebKit trunk builds succeed.

        No new tests as there is no new functionality.

        * WebCore.pro:

2011-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74778.
        http://trac.webkit.org/changeset/74778
        https://bugs.webkit.org/show_bug.cgi?id=51930

        Android and QtWebKit-V8 uses V8DOMWindowShell::setContext.
        (Requested by bbandix on #webkit).

        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::setContext):
        * bindings/v8/V8DOMWindowShell.h:

2011-01-05  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Animated GIF images does not animate 10x as expected by default.
        https://bugs.webkit.org/show_bug.cgi?id=36818

        Add a test animated GIF which should be displayed 2 times and stop.

        * manual-tests/animated-gif-looping.html:
        * manual-tests/resources/animated-2x.gif: Added.

2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Fork code of ScrollbarThemeGtk that will differ for GTK+ 3
        https://bugs.webkit.org/show_bug.cgi?id=51923

        Split out pieces of ScrollbarThemeGtk into ScrollbarThemeGtk2 and
        ScrollbarThemeGtk3 that will differ between GTK+ 2 and GTK+ 3.

        No new tests. This should not change functionality.

        * GNUmakefile.am: Add ScrollbarThemeGtk2.cpp and ScrollbarThemeGtk3.cpp
        * platform/gtk/ScrollbarThemeGtk.cpp:
        (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
        * platform/gtk/ScrollbarThemeGtk.h:
        * platform/gtk/ScrollbarThemeGtk2.cpp: Added.
        (WebCore::ScrollbarThemeGtk::updateThemeProperties):
        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
        (WebCore::ScrollbarThemeGtk::paintThumb):
        (WebCore::ScrollbarThemeGtk::paintButton):
        * platform/gtk/ScrollbarThemeGtk3.cpp: Added.
        (WebCore::ScrollbarThemeGtk::updateThemeProperties):
        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
        (WebCore::ScrollbarThemeGtk::paintThumb):
        (WebCore::ScrollbarThemeGtk::paintButton):

2011-01-05  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Fix the usage of SOURCE_GROUP
        https://bugs.webkit.org/show_bug.cgi?id=51739

        * CMakeLists.txt:

2011-01-05  Andras Becsi  <abecsi@webkit.org>

        Reviewed by Csaba Osztrogonác.

        [Qt][V8] Fix the build after recent changes.

        No new tests needed.

        * WebCore.pro: Add missing files, and remove obsolete ones.

2011-01-05  Yong Li  <yoli@rim.com>

        Reviewed by Adam Barth.

        Suspend HTMLParserScheduler when page load is deferred to
        avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
        from an external script or by events, and is blocked by a modal dialog,
        WebKit can parse more HTML source and also start another JS execution.
        
        https://bugs.webkit.org/show_bug.cgi?id=48077

        Test case: WebCore/manual-tests/bugzilla-48077.html.

        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::suspendScheduledTasks):
        (WebCore::DocumentParser::resumeScheduledTasks):
        * dom/DocumentParser.h:
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::suspendScheduledTasks):
        (WebCore::HTMLDocumentParser::resumeScheduledTasks):
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        (WebCore::HTMLParserScheduler::suspend):
        (WebCore::HTMLParserScheduler::resume):
        * html/parser/HTMLParserScheduler.h:
        (WebCore::HTMLParserScheduler::isScheduledForResume):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2011-01-05  Simon Hausmann  <simon.hausmann@nokia.com>

        Reviewed by Kenneth Rohde Christiansen, Gustavo Noronha Silva

        [GStreamer] MediaPlayerPrivateGStreamer::totalBytes() does not work reliably
        https://bugs.webkit.org/show_bug.cgi?id=51926

        Work around potential upstream bug: Querying a GstBin for the duration,
        will forward the query to all sink children. Our WebKitWebSrc however
        is a bin with only source children, therefore the query fails. Until
        this is changed upstream, this patch works around it as follows,
        based on suggestion by Philippe Normand and Sebastian Dröge:

        When the initial query fails, attempt the same query on all source
        pads and take the maximum length reported.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):

2011-01-05  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Eric Seidel.

        [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
        https://bugs.webkit.org/show_bug.cgi?id=51810

        Based on a patch by Mart Raudsepp.

        No new tests, build fix only.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
        API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
        introduced in same version as the xoverlay API change.

2011-01-05  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by Dirk Schulze.

        Malformed SVG causes crash in updateContainerOffset
        https://bugs.webkit.org/show_bug.cgi?id=44610

        We should check recursive <use> at the begining of
        WebCore::SVGUseElement::buildInstanceTree instead
        of at the end of it because the target element's
        children may cause infinite recursive <use>.

        Test: svg/custom/recursive-use.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildInstanceTree):
        (WebCore::SVGUseElement::hasCycleUseReferencing):
        * svg/SVGUseElement.h:

2011-01-04  Antti Koivisto  <antti@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=51907
        Style selector should only be recalculated when the pending sheet count goes to zero
        
        Shark says this is a significant performance improvement on some sites with lots of stylesheets.

        * dom/Document.cpp:
        (WebCore::Document::removePendingSheet):

2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Use GtkStyleContext to get platform colors
        https://bugs.webkit.org/show_bug.cgi?id=51830

        Use GtkStyleContext API to get platform colors when building with
        GTK+ 3.x.

        No new tests. This should not change functionality.

        * platform/graphics/Color.h: Add specialized constructor for GdkRGBA.
        * platform/graphics/gtk/ColorGtk.cpp:
        (WebCore::Color::Color):
        (WebCore::Color::operator GdkRGBA):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionBackgroundColor):
        (WebCore::RenderThemeGtk::activeListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::inactiveListBoxSelectionForegroundColor):
        (WebCore::RenderThemeGtk::systemColor):

2011-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>

        Unreviewed. Build fix for GTK when using gtk+-3 after r75009.

        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::RenderThemeGtk::getStockIcon): Use adoptGRef instead of
        adoptGRefPtr which doesn't exist.

2011-01-05  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=51903
        Tell UI process which subframe is largest

        * WebCore.exp.in: Exported FrameView::contentsSize().

2011-01-04  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed. GTK build fix.

        WK2: Support Accessibility
        https://bugs.webkit.org/show_bug.cgi?id=51859

        * page/FrameView.cpp:
        (WebCore::FrameView::axObjectCache):

2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74992.
        http://trac.webkit.org/changeset/74992
        https://bugs.webkit.org/show_bug.cgi?id=51917

        Crash in HTMLDocumentParser::suspendScheduledTasks()
        (Requested by tkent on #webkit).

        * dom/DocumentParser.cpp:
        * dom/DocumentParser.h:
        * html/parser/HTMLDocumentParser.cpp:
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        * html/parser/HTMLParserScheduler.h:
        (WebCore::HTMLParserScheduler::isScheduledForResume):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] [WK2] Add support for non-trivial context menu action
        https://bugs.webkit.org/show_bug.cgi?id=51902

        Fix the preprocessor guard for ContextMenuItemTagSelectAll in
        the implementation of ContextMenuController::contextMenuItemSelected(). The guard was
        inconsistent with what is defined in ContextMenuItem.h.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::contextMenuItemSelected):

2011-01-04  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Ryosuke Niwa.

        Avoid manual ref/deref in AsyncScriptRunner by using PendingScript
        https://bugs.webkit.org/show_bug.cgi?id=51723

        ScriptElement should also be able to keep its Element+CachedScript in
        a PendingScript, and then executeScriptSoon can accept a PendingScript.
        Once HTMLScriptRunner, ScriptElement, and AsyncScriptRunner all use
        PendingScripts, then generic request and execute which operate on
        PendingScripts can be factored out to avoid code duplicate that we have.

        No new tests because no new functionality.

        * dom/AsyncScriptRunner.cpp:
        (WebCore::AsyncScriptRunner::~AsyncScriptRunner):
        (WebCore::AsyncScriptRunner::executeScriptSoon):
        (WebCore::AsyncScriptRunner::timerFired):
        * dom/AsyncScriptRunner.h:
        * dom/PendingScript.h: Add ctor which sets element and cachedScript. Rename adoptElement->setElement.
        * dom/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::requestPendingScript):

2011-01-04  Jeff Miller  <jeffm@apple.com>

        Reviewed by Darin Adler.

        Member variable and method naming cleanup to be consistent with WebKit2.
        https://bugs.webkit.org/show_bug.cgi?id=51228

        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::eventActivatedView):
        Rename activatedWebView() to didActivateWebView().
        
        * platform/PlatformMouseEvent.h:
        Rename m_activatedWebView to m_didActivateWebView.
        
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        Initialize platform-specific member variables in PlatformMouseEvent constructors.
        
        (WebCore::PlatformMouseEvent::didActivateWebView):
        Rename activatedWebView() to didActivateWebView().

        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        Rename m_activatedWebView to m_didActivateWebView.

2011-01-04  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Darin Adler.

        CSS3 :nth-child selector and valid whitespace test fails
        https://bugs.webkit.org/show_bug.cgi?id=36279

        Teach the tokenizer to allow white spaces around [+/-] signs in nth constructs.

        Test: fast/css/css3-nth-space.html

        * css/tokenizer.flex:

2011-01-04  Chris Fleizach  <cfleizach@apple.com>

        Unreviewed. Build fix.

        WK2: Support Accessibility
        https://bugs.webkit.org/show_bug.cgi?id=51859

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (fallbackObject):

2011-01-04  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Eric Seidel.

        [chromium] PNG compression settings optimized for speed
        https://bugs.webkit.org/show_bug.cgi?id=51719

        Although Z_HUFFMAN_ONLY is the fastest on hard-to-compress images,
        it is also the slowest, by a wide margin, on easy-to-compress images.
        Use a more balanced configuration, based on the libpng compression defaults,
        but with a faster compression level (3 instead of 6), and a faster filter
        ("sub" instead of "all").

        No change in behaviour, so no new tests.

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::PNGImageEncoder::encode):

2011-01-04  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Sam Weinig.

        WK2: Support Accessibility
        https://bugs.webkit.org/show_bug.cgi?id=51859

        WK2 doesn't use platform scroll views anymore. Accessibility code
        needs to have its own scroll views. 

        Test: platform/mac/accessibility/webkit-scrollarea.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::AXObjectCache):
        (WebCore::AXObjectCache::get):
        (WebCore::AXObjectCache::getOrCreate):
        (WebCore::AXObjectCache::rootObject):
        (WebCore::AXObjectCache::remove):
        (WebCore::AXObjectCache::handleScrollbarUpdate):
        * accessibility/AXObjectCache.h:
        (WebCore::AXObjectCache::handleScrollbarUpdate):
        * accessibility/AccessibilityARIAGrid.h:
        * accessibility/AccessibilityAllInOne.cpp:
        * accessibility/AccessibilityImageMapLink.cpp:
        * accessibility/AccessibilityImageMapLink.h:
        * accessibility/AccessibilityListBoxOption.cpp:
        * accessibility/AccessibilityListBoxOption.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
        (WebCore::AccessibilityObject::axObjectCache):
        (WebCore::AccessibilityObject::focusedUIElement):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isAccessibilityScrollView):
        (WebCore::AccessibilityObject::isScrollView):
        (WebCore::AccessibilityObject::canSetNumericValue):
        (WebCore::AccessibilityObject::scrollBar):
        (WebCore::AccessibilityObject::size):
        (WebCore::AccessibilityObject::setValue):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::parentObject):
        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
        (WebCore::AccessibilityRenderObject::updateChildrenIfNecessary):
        (WebCore::AccessibilityRenderObject::addChildren):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilityScrollView.cpp: Added.
        (WebCore::AccessibilityScrollView::AccessibilityScrollView):
        (WebCore::AccessibilityScrollView::create):
        (WebCore::AccessibilityScrollView::scrollBar):
        (WebCore::AccessibilityScrollView::children):
        (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
        (WebCore::AccessibilityScrollView::removeChildScrollbar):
        (WebCore::AccessibilityScrollView::addChildScrollbar):
        (WebCore::AccessibilityScrollView::addChildren):
        (WebCore::AccessibilityScrollView::webAreaObject):
        (WebCore::AccessibilityScrollView::accessibilityHitTest):
        (WebCore::AccessibilityScrollView::document):
        (WebCore::AccessibilityScrollView::elementRect):
        (WebCore::AccessibilityScrollView::parentObject):
        * accessibility/AccessibilityScrollView.h: Added.
        (WebCore::AccessibilityScrollView::roleValue):
        (WebCore::AccessibilityScrollView::scrollView):
        (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
        (WebCore::AccessibilityScrollView::isAccessibilityScrollView):
        (WebCore::toAccessibilityScrollView):
        * accessibility/AccessibilityScrollbar.cpp:
        (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
        (WebCore::AccessibilityScrollbar::create):
        (WebCore::AccessibilityScrollbar::elementRect):
        (WebCore::AccessibilityScrollbar::document):
        (WebCore::AccessibilityScrollbar::orientation):
        (WebCore::AccessibilityScrollbar::isEnabled):
        (WebCore::AccessibilityScrollbar::valueForRange):
        (WebCore::AccessibilityScrollbar::setValue):
        * accessibility/AccessibilityScrollbar.h:
        (WebCore::AccessibilityScrollbar::setParent):
        (WebCore::AccessibilityScrollbar::canSetValueAttribute):
        (WebCore::AccessibilityScrollbar::canSetNumericValue):
        (WebCore::AccessibilityScrollbar::isAccessibilityScrollbar):
        (WebCore::AccessibilityScrollbar::parentObject):
        (WebCore::AccessibilityScrollbar::roleValue):
        * accessibility/mac/AccessibilityObjectMac.mm:
        (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper remoteAccessibilityParentObject]):
        (-[AccessibilityObjectWrapper position]):
        (-[AccessibilityObjectWrapper scrollViewParent]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        (-[AccessibilityObjectWrapper accessibilityHitTest:]):
        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
        * dom/Document.cpp:
        (WebCore::Document::axObjectCache):
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::accessibilityRemoteObject):
        * loader/FrameLoaderClient.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::~FrameView):
        (WebCore::FrameView::axObjectCache):
        * page/FrameView.h:
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::setHasHorizontalScrollbar):
        (WebCore::ScrollView::setHasVerticalScrollbar):
        * platform/Scrollbar.cpp:
        (WebCore::Scrollbar::~Scrollbar):
        (WebCore::Scrollbar::scroll):
        (WebCore::Scrollbar::axObjectCache):
        * platform/Scrollbar.h:
        * platform/Widget.h:
        (WebCore::Widget::axObjectCache):

2011-01-04  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Add support to compositor to composite to offscreen texture.
        https://bugs.webkit.org/show_bug.cgi?id=50833

        A patch to extend compositor to be able to composite into an offscreen texture instead
        of just directly to the display buffer. Builds on RenderSurfaceChromium support.
        Explicitly resets alpha channel before rendering to display.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::setCompositeOffscreen):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::isCompositingOffscreen):
        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):

2011-01-04  Evan Martin  <evan@chromium.org>

        Reviewed by Tony Chang.

        [chromium] depend on harfbuzz explicitly
        https://bugs.webkit.org/show_bug.cgi?id=51895

        platform/graphics/chromium uses Harfbuzz directly.  Rather than
        expecting Skia to adjust the include paths, be explicit about
        the dependency.

        * WebCore.gyp/WebCore.gyp:

2011-01-04  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        Add back/forward encoding and decoding to WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=51901

        * WebCore.exp.in: Export functions used in WebKit2.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::encodeBackForwardTree): Use references instead of pointers.
        (WebCore::HistoryItem::encodeBackForwardTreeNode): Ditto.
        (WebCore::HistoryItem::decodeBackForwardTree): Ditto.
        * history/HistoryItem.h: Ditto.
        * platform/network/FormData.cpp:
        (WebCore::encode): Ditto.
        (WebCore::decode): Ditto.
        (WebCore::FormData::encodeForBackForward): Ditto.
        (WebCore::FormData::decodeForBackForward): Ditto.
        * platform/network/FormData.h: Ditto.

2011-01-04  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Implement sel.modify('move', 'left'/'right', 'lineBoundary').
        https://bugs.webkit.org/show_bug.cgi?id=33435

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::modifyMovingRight):
        (WebCore::SelectionController::modifyMovingLeft):
        * editing/visible_units.cpp:
        (WebCore::logicalStartOfLine):
        (WebCore::logicalEndOfLine):
        (WebCore::leftBoundaryOfLine):
        (WebCore::rightBoundaryOfLine):
        * editing/visible_units.h:

2011-01-04  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Use the default CSS text input control border width of relying on the GTK+ theme
        https://bugs.webkit.org/show_bug.cgi?id=51887

        Do not rely on the GTK+ theme to determine text control borders. This simplifies
        the RenderTheme code, prevents metrics differences between GTK+ 2.x and 3.x and
        doesn't break the rendering of any theme that I've encountered.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustSearchFieldStyle): No longer call setTextInputBorders, but
        still disable any border radius.
        * platform/gtk/RenderThemeGtk.h: Remove setTextInputBorders and no longer override the
        default style of text areas and text input controls.
        * platform/gtk/RenderThemeGtk2.cpp: Ditto.
        * platform/gtk/RenderThemeGtk3.cpp: Ditto.

2011-01-03  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Darin Adler.

        Remove the last non-GObject usage of PlatformRefPtr and move the code to GRefPtr
        https://bugs.webkit.org/show_bug.cgi?id=51846

        No new tests. This should not introduce any functional changes.

        Changed all references to PlatformRefPtr in GTK+ code to GRefPtr. Changed
        all references to PlatformRefPtr in Brew code to RefPtr.

2011-01-04  David Kilzer  <ddkilzer@apple.com>

        <http://webkit.org/b/51890> Move ResourceLoadPriority.h into WebCore/platform/network

        Reviewed by Antti Koivisto.

        This is needed to prevent a WebCore/platform policy violation in
        my next patch.

        * WebCore.gypi: Updated for moved header.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * platform/network/ResourceLoadPriority.h: Renamed from WebCore/loader/ResourceLoadPriority.h.

2011-01-04  Brady Eidson  <beidson@apple.com>

        Reviewed by a spell checker.

        * storage/StorageMap.h: mesured?  Really?

2011-01-04  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Port stock icon painting to GtkStyleContext
        https://bugs.webkit.org/show_bug.cgi?id=51764

        Port stock icon painting for media and search input elements to
        GtkStyleContext. Also create the initial machinery for accessing
        style contexts for all GTK+ 3.x based widgets.

        No new tests. This should not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintGdkPixbuf):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::paintMediaButton):
        * platform/gtk/RenderThemeGtk.h:
        * platform/gtk/RenderThemeGtk2.cpp:
        (WebCore::RenderThemeGtk::getStockIcon):
        * platform/gtk/RenderThemeGtk3.cpp:
        (WebCore::gtkStyleChangedCallback):
        (WebCore::styleContextMap):
        (WebCore::getStyleContext):
        (WebCore::RenderThemeGtk::paintMenuList):

2010-12-31  Antti Koivisto  <antti@apple.com>

        Reviewed by Dave Hyatt.

        Scripts should not be executed before preceding stylesheets are loaded
        https://bugs.webkit.org/show_bug.cgi?id=8852

        Block inline script execution on pending stylesheet loads. This matches
        other browsers and HTML5.

        Tests: fast/tokenizer/inline-script-stylesheet-write.html
               fast/tokenizer/inline-script-stylesheet.html

        * dom/PendingScript.cpp:
        (WebCore::PendingScript::releaseElementAndClear):
        * dom/PendingScript.h:
        (WebCore::PendingScript::PendingScript):
        (WebCore::PendingScript::operator=):
        (WebCore::PendingScript::startingPosition):
        (WebCore::PendingScript::setStartingPosition):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        
        This fixes an unrelated bug with beforeload events that was exposed by the other
        changes (fast/dom/beforeload/remove-link-in-beforeload-listener.html).
        
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):
        (WebCore::HTMLScriptRunner::runScript):

2011-01-04  Xianzhu Wang  <wangxianzhu@google.com>

        Reviewed by Darin Adler.

        Let DataView.getInt8() and DataView.setInt8() use int8_t instead of
        ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure
        on ARM.
        https://bugs.webkit.org/show_bug.cgi?id=51861

        By the way, changed other getIntXX() and setIntXX() methods to use
        more precise integer types.

        * bindings/js/JSDataViewCustom.cpp:
        (WebCore::setDataViewMember):
        * bindings/v8/custom/V8DataViewCustom.cpp:
        (WebCore::V8DataView::getInt8Callback):
        (WebCore::V8DataView::setInt8Callback):
        * html/canvas/DataView.cpp:
        (WebCore::DataView::getInt8):
        (WebCore::DataView::setInt8):
        * html/canvas/DataView.h:
        * html/canvas/DataView.idl:

2011-01-04  Yong Li  <yoli@rim.com>

        Reviewed by Adam Barth.

        Suspend HTMLParserScheduler when page load is deferred to
        avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
        from an external script or by events, and is blocked by a modal dialog,
        WebKit can parse more HTML source and also start another JS execution.
        
        https://bugs.webkit.org/show_bug.cgi?id=48077

        Test case: WebCore/manual-tests/bugzilla-48077.html.

        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::suspendScheduledTasks):
        (WebCore::DocumentParser::resumeScheduledTasks):
        * dom/DocumentParser.h:
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::suspendScheduledTasks):
        (WebCore::HTMLDocumentParser::resumeScheduledTasks):
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        (WebCore::HTMLParserScheduler::suspend):
        (WebCore::HTMLParserScheduler::resume):
        * html/parser/HTMLParserScheduler.h:
        (WebCore::HTMLParserScheduler::isScheduledForResume):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2011-01-04  Tony Gentilcore  <tonyg@chromium.org>

        Unreviewed build fix.

        Include glib-object.h for GObject
        https://bugs.webkit.org/show_bug.cgi?id=51876

        * bindings/gobject/DOMObjectCache.cpp:

2011-01-04  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dan Bernstein.

        Clicking on the first or the last letter of LTR/RTL text in a RTL/LTR block puts caret on the opposite side.
        https://bugs.webkit.org/show_bug.cgi?id=50992

        Fixed the bug by interchanging the offset when the direction of inline text box and the containing block
        does not match. Reused the code added by http://trac.webkit.org/changeset/73553.

        Test: editing/selection/caret-bidi-first-and-last-letters.html

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::offsetForPosition):

2010-12-29  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Remove 2 unnecessary includes from Document.h
        https://bugs.webkit.org/show_bug.cgi?id=51727

        No new tests because no changed functionality.

        * dom/Document.cpp:
        * dom/Document.h:
        * editing/Editor.cpp:
        * editing/SpellChecker.h:
        * editing/SplitTextNodeCommand.cpp:
        * editing/TextCheckingHelper.cpp:
        * page/FrameView.cpp:
        * page/Page.cpp:
        * rendering/HitTestResult.cpp:
        * rendering/InlineTextBox.cpp:
        * rendering/InlineTextBox.h:
        * rendering/svg/SVGInlineFlowBox.cpp:

2011-01-04  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix.

        * CMakeListsWinCE.txt: Added missing include directories, files and libraries.

2011-01-04  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Simon Hausmann.

        Provide an interface to require using fullscreen mediaplayer
        https://bugs.webkit.org/show_bug.cgi?id=51133

        Only video should be displayed in fullscreen when 
        requiresFullscreenForVideoPlayback is specified.

        No new tests because no client implements requiresFullscreenForVideoPlayback yet.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updatePlayState):

2011-01-04  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] [WK2] create an initial implementation of the context menu handling for WebKit 2
        https://bugs.webkit.org/show_bug.cgi?id=51825

        Implement contextMenuItemVector() for Qt, this method is used in WebKit 2 to get the
        platform independent menu informations.

        * platform/qt/ContextMenuQt.cpp:
        (WebCore::contextMenuItemVector):

2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74960.
        http://trac.webkit.org/changeset/74960
        https://bugs.webkit.org/show_bug.cgi?id=51868

        Rollout since we hit an assert after this patch. (Requested by
        krit on #webkit).

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildInstanceTree):

2011-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74961.
        http://trac.webkit.org/changeset/74961
        https://bugs.webkit.org/show_bug.cgi?id=51867

        breaks 32/64-bits debug bots build (Requested by philn-tp on
        #webkit).

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::setWindowOverlay):

2011-01-03  Philippe Normand  <pnormand@igalia.com>

        Rubber-stamped by Eric Seidel.

        [GStreamer] build fails with gstreamer core 0.10.31 and -plugins-base 0.10.30
        https://bugs.webkit.org/show_bug.cgi?id=51810

        Based on a patch by Mart Raudsepp.

        No new tests, build fix only.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::setWindowOverlay): Use the new xoverlay
        API if the GST_CHECK_PLUGINS_BASE_VERSION macro is defined. It was
        introduced in same version as the xoverlay API change.

2011-01-04  Leo Yang  <leo.yang@torchmobile.com.cn>

        Reviewed by Dirk Schulze.

        Malformed SVG causes crash in updateContainerOffset
        https://bugs.webkit.org/show_bug.cgi?id=44610

        We should check recursive <use> at the begining of
        WebCore::SVGUseElement::buildInstanceTree instead
        of at the end of it because the target element's
        children may cause infinite recursive <use>.

        Test: svg/custom/recursive-use.svg

        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildInstanceTree):

2011-01-04  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        Try to fix Clang build.

        * css/CSSParser.cpp:
        (WebCore::valueFromSideKeyword):
        (WebCore::CSSParser::parseLinearGradient):

2011-01-03  Julie-Jeongeun-Kim  <Jeongeun.Kim@obigo.com>

        Reviewed by Darin Adler.

        HTML5 Conformance Test failure: approved/xhtml5/object_border_pixel.xhtml
        https://bugs.webkit.org/show_bug.cgi?id=48596
        
        border attribute was not parsed in HTMLObjectElement.
        I added code for it as HTMLImageElement handled.

        new test:fast/html/object-border.html

        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::parseMappedAttribute):

2011-01-03  Darin Adler  <darin@apple.com>

        Try to fix Chromium build.

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::encodeBackForwardTreeNode): Added a V8 case here.
        Not sure this ever will be used with V8.
        (WebCore::HistoryItem::decodeBackForwardTree): Ditto.

2011-01-03  Darin Adler  <darin@apple.com>

        Try to fix Leopard build.

        * history/HistoryItem.cpp: Use a consistent type, uint64_t, for the
        size variable.

2011-01-03  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Adler.

        Fixes before child calculation when adding anonymous childs to table parts.
        https://bugs.webkit.org/show_bug.cgi?id=50932

        Fix in r74364 was incomplete. When before child is equal to the table part(to
        which the new child is getting added), it confuses the table part to add it
        incorrectly as an after child. The patch fixes by passing the before child as
        the table part's first child.

        Tests: fast/css-generated-content/table-before-after-child-add.html
               fast/css-generated-content/table-cell-before-after-child-add.html
               fast/css-generated-content/table-row-before-after-child-add.html
               fast/css-generated-content/table-row-before-after-child-add.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::addChild):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):

2011-01-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Shrink HTMLTableCellElement
        https://bugs.webkit.org/show_bug.cgi?id=51858

        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::HTMLTableCellElement): Removed intialization of m_row and
        m_col.
        * html/HTMLTableCellElement.h: Removed m_row and m_col and their accessors.

2011-01-03  Darin Adler  <darin@apple.com>

        Fix build.

        * platform/network/FormData.cpp:
        (WebCore::FormData::create): Roll back uint8_t change.
        (WebCore::FormData::flatten): Ditto.
        (WebCore::FormData::flattenToString): Ditto.
        (WebCore::encode): Ditto.
        (WebCore::decode): Ditto.
        (WebCore::FormData::encodeForBackForward):
        * platform/network/FormData.h: Ditto.
        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::advanceCurrentStream): Ditto.

2011-01-03  Darin Adler  <darin@apple.com>

        Reviewed by Brady Eidson.

        Add code to encode/decode the back/forward tree
        https://bugs.webkit.org/show_bug.cgi?id=51853

        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::encodeBackForwardTree): Added.
        (WebCore::HistoryItem::encodeBackForwardTreeNode): Added.
        (WebCore::HistoryItem::decodeBackForwardTree): Added.
        * history/HistoryItem.h: Added functions above.

        * platform/network/FormData.cpp:
        (WebCore::FormData::create): Changed type to Vector<uint8_t> instead of
        Vector<char>. This type is used in our newer code for vectors of bytes.
        (WebCore::FormData::flatten): Ditto.
        (WebCore::FormData::flattenToString): Ditto. Had to add a cast here.
        (WebCore::FormData::encodeForBackForward): Added.
        (WebCore::FormData::decodeForBackForward): Added.
        * platform/network/FormData.h: Changed type to Vector<uint8_t> instead of
        Vector<char>. Also made some single-argument constructors explicit.
        Also added the new functions.

        * platform/network/mac/FormDataStreamMac.mm:
        (WebCore::advanceCurrentStream): Changed to use uint8_t to match above.

2011-01-03  Simon Fraser  <simon.fraser@apple.com>

        Attempt to fix GTK build.

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::drawGlyphsShadow):

2011-01-03  Helder Correia  <helder@sencha.com>

        Reviewed by Simon Fraser.

        ContextShadow can avoid code duplication for getting the CTM
        https://bugs.webkit.org/show_bug.cgi?id=51799

        ContextShadow defines its own getTransformationMatrixFromContext()
        which does exactly the same as GraphicsContext::getCTM().

        Existing tests: fast/canvas/canvas*shadow*html

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::mustUseContextShadow):
        (WebCore::ContextShadow::adjustBlurDistance):
        (WebCore::ContextShadow::calculateLayerBoundingRect):
        * platform/graphics/ContextShadow.h:
        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        (WebCore::ContextShadow::drawRectShadowWithoutTiling):
        * platform/graphics/cairo/FontCairo.cpp:
        (WebCore::drawGlyphsShadow):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::drawGlyphsShadow):
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::drawTextCommon):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::BitmapImage::draw):
        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2011-01-03  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        InsertTextCommand::m_charactersAdded is unused
        https://bugs.webkit.org/show_bug.cgi?id=51849

        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::InsertTextCommand): Don't initialize m_charactersAdded.
        (WebCore::InsertTextCommand::input): Don't update m_charactersAdded.
        * editing/InsertTextCommand.h: Removed charactersAdded function and
        m_charactersAdded data member.

2011-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Move paintMenuListButton() to RenderThemeGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=51832

        Method paintMenuListButton() contains code common to both gtk 2
        and 3, so it can be moved to RenderThemeGtk.cpp instead of
        duplicating it.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMenuListButton):
        * platform/gtk/RenderThemeGtk2.cpp:
        * platform/gtk/RenderThemeGtk3.cpp:

2011-01-03  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=51850
        Put CFNetwork loader code inside USE(CFNETWORK)

        Add USE(CFNETWORK) macros around all the cf/mac network files. Also added all CFNetwork
        files to the WebCore Xcode project.

        * WebCore.xcodeproj/project.pbxproj:
        * loader/cf/ResourceLoaderCFNet.cpp:
        * loader/mac/ResourceLoaderMac.mm:
        * platform/network/cf/AuthenticationCF.cpp:
        * platform/network/cf/AuthenticationCF.h:
        * platform/network/cf/CookieJarCFNet.cpp:
        * platform/network/cf/CookieStorageCFNet.cpp:
        * platform/network/cf/CookieStorageCFNet.h:
        * platform/network/cf/CredentialStorageCFNet.cpp:
        * platform/network/cf/FormDataStreamCFNet.cpp:
        * platform/network/cf/FormDataStreamCFNet.h:
        * platform/network/cf/LoaderRunLoopCF.cpp:
        * platform/network/cf/LoaderRunLoopCF.h:
        * platform/network/cf/ResourceError.h:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        * platform/network/cf/ResourceRequest.h:
        * platform/network/cf/ResourceRequestCFNet.cpp:
        * platform/network/cf/ResourceRequestCFNet.h:
        * platform/network/cf/ResourceResponse.h:
        * platform/network/cf/ResourceResponseCFNet.cpp:
        * platform/network/mac/AuthenticationMac.h:
        * platform/network/mac/AuthenticationMac.mm:
        * platform/network/mac/FormDataStreamMac.h:
        * platform/network/mac/FormDataStreamMac.mm:
        * platform/network/mac/ResourceError.h:
        * platform/network/mac/ResourceHandleMac.mm:
        * platform/network/mac/ResourceRequest.h:
        * platform/network/mac/ResourceRequestMac.mm:
        * platform/network/mac/ResourceResponse.h:
        * platform/network/mac/ResourceResponseMac.mm:

2011-01-03  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Adam Barth.

        [Qt] Add SelectAll option to the context menu for the editor
        https://bugs.webkit.org/show_bug.cgi?id=50049

        Enable SelectAll for the Qt context menu.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::populate):
        * platform/ContextMenuItem.h:
        * platform/LocalizationStrategy.h:
        * platform/LocalizedStrings.cpp:
        (WebCore::contextMenuItemTagSelectAll):
        * platform/LocalizedStrings.h:

2011-01-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Shrink RootInlineBox
        https://bugs.webkit.org/show_bug.cgi?id=51847

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::alignBoxesInBlockDirection): Changed to use the baselineType()
        accessor.
        * rendering/RootInlineBox.h: Rolled m_baselineType into a bitfield. Changed its type to
        unsigned because otherwise MSVC treats it as signed.
        (WebCore::RootInlineBox::baselineType): Added a cast.

2011-01-03  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Reviewed by Martin Robinson.

        [GTK] Split webkitprivate.{cpp,h} in more manageable chunks
        https://bugs.webkit.org/show_bug.cgi?id=50698

        Fix DOM bindings generation to no longer include the now-gone
        webkitprivate.h header, including the appropriate replacements
        instead.

        * bindings/scripts/CodeGeneratorGObject.pm:

2011-01-03  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin Adler.

        Add Encode/Decode machinery Darin and I plan to work with for back/forward stuff in WebKit2.

        * ForwardingHeaders/wtf/Decoder.h: Added.
        * ForwardingHeaders/wtf/Encoder.h: Added.

2011-01-03  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: Regression: WebKit no longer auto-scrolls with VoiceOver navigation
        https://bugs.webkit.org/show_bug.cgi?id=51833

        Make sure the web area returns the contentsSize, not the same size as what is displayed.

        Test: platform/mac/accessibility/webarea-size-equals-content-size.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::boundingBoxRect):

2011-01-03  Simon Fraser  <simon.fraser@apple.com>

        Fix warning in 32-bit builds.

        * css/CSSGradientValue.cpp:
        (WebCore::CSSLinearGradientValue::createGradient):

2011-01-03  Benjamin C Meyer  <bmeyer@rim.com>

        Reviewed by Daniel Bates.

        In the cmake build system move logic related to ENABLE_NOTIFICATIONS into its own block.
        https://bugs.webkit.org/show_bug.cgi?id=51827

        * CMakeLists.txt:

2011-01-03  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        Remove the unused RenderTableCell::m_percentageHeight
        https://bugs.webkit.org/show_bug.cgi?id=51837

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::RenderTableCell): Removed initialization of m_percentageHeight.
        * rendering/RenderTableCell.h: Removed m_percentageHeight.

2011-01-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by David Hyatt.

        Implement -webkit-linear-gradient and -webkit-radial-gradient
        https://bugs.webkit.org/show_bug.cgi?id=28152

        Add support for -webkit-radial-gradients.

        Tests: fast/gradients/css3-radial-gradients.html
               fast/gradients/css3-radial-gradients2.html

        * css/CSSGradientValue.cpp:
        (WebCore::blend): Used to blend colors, which is necessary when truncating
        the start of radial gradients.
        (WebCore::GradientStop): Small struct to aid gradient stop processing.
        (WebCore::CSSGradientValue::addStops): Rename 'positions' to 'stops', and store
        the color so that we can blend it when truncating radial gradients. Changed
        to handle both linear and radial gradients.
        (WebCore::CSSRadialGradientValue::cssText): Update to follow the spec.
        (WebCore::CSSRadialGradientValue::resolveRadius): Stylistic change.
        (WebCore::distanceToClosestCorner): New utility method.
        (WebCore::distanceToFarthestCorner): Ditto.
        (WebCore::CSSRadialGradientValue::createGradient): New logic to deal with shape and
        fill rules.

        * css/CSSGradientValue.h:
        (WebCore::CSSGradientValue::isLinearGradient): Color-stop processing needs to know what
        kind of gradient it's dealing with, so add new isFooGradient methods.
        (WebCore::CSSGradientValue::isRadialGradient): Ditto.
        (WebCore::CSSLinearGradientValue::isLinearGradient):
        (WebCore::CSSRadialGradientValue::setShape): New setters for shape, size etc.
        (WebCore::CSSRadialGradientValue::setSizingBehavior):
        (WebCore::CSSRadialGradientValue::setEndHorizontalSize):
        (WebCore::CSSRadialGradientValue::setEndVerticalSize):
        (WebCore::CSSRadialGradientValue::isRadialGradient):

        * css/CSSParser.h:
        * css/CSSParser.h: Pass a CSSParserValueList* into parseFillPositionXY() and parseFillPosition()
        so we can use parseFillPosition() when parsing a gradient function.
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseFillPositionXY): Pass in a CSSParserValueList*
        (WebCore::CSSParser::parseFillPosition): Ditto
        (WebCore::CSSParser::parseFillProperty): Pass m_valueList to parseFillPosition.
        (WebCore::CSSParser::parseTransformOriginShorthand): Ditto
        (WebCore::CSSParser::parseRadialGradient): Flesh out radial gradient parsing.
        (WebCore::CSSParser::parseTransformOrigin): Pass m_valueList to parseFillPosition.
        (WebCore::CSSParser::parsePerspectiveOrigin): Ditto

        * css/CSSValueKeywords.in: New keywords for radial gradient shape and fill behaviors.

        * platform/graphics/Gradient.cpp:
        (WebCore::Gradient::Gradient): Pass aspect ratio for elliptical gradients.
        * platform/graphics/Gradient.h: Add aspect ratio for elliptical gradients.
        (WebCore::Gradient::create):
        (WebCore::Gradient::startRadius): Expose radii.
        (WebCore::Gradient::endRadius):
        (WebCore::Gradient::setStartRadius): Setters are required for when we need to scale color stops.
        (WebCore::Gradient::setEndRadius):
        (WebCore::Gradient::aspectRatio):
        * platform/graphics/cg/GradientCG.cpp:
        (WebCore::Gradient::paint): For elliptical gradients, scale the CTM.
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::fillRect): Use start/endRadius() rather than r0() and r1().

2011-01-03  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by David Hyatt.

        Implement -webkit-linear-gradient and -webkit-radial-gradient
        https://bugs.webkit.org/show_bug.cgi?id=28152
        
        Add support for the parsing and rendering of non-repeating CSS3 linear gradients,
        according to <http://dev.w3.org/csswg/css3-images/#linear-gradients>.

        Tests: fast/gradients/css3-color-stop-units.html
               fast/gradients/css3-color-stops.html
               fast/gradients/css3-gradient-parsing.html
               fast/gradients/css3-linear-angle-gradients.html

        * css/CSSGradientValue.h:
        Add subclasses of CSSGradientValue for linear and radial gradients.
        
        * css/CSSGradientValue.cpp:
        (WebCore::CSSGradientValue::image): Add FIXME comment about why we can't cache
        the gradient sometimes.
        (WebCore::compareStops): positions are CSSValues now.
        (WebCore::CSSGradientValue::sortStopsIfNeeded): Add assertion that this is only called
        for old-style gradients.
        (WebCore::CSSGradientValue::addStops): New method that handles the spec rules about
        missing positions, ensuring that stop position is ordered, and spacing out stops
        without positions. Also normalize gradients which use stops outside the 0-1 range
        so that platforms can render them correctly.
        (WebCore::positionFromValue): Determin the position on the gradient line for percentage,
        number and length values.
        (WebCore::CSSGradientValue::computeEndPoint):
        (WebCore::CSSLinearGradientValue::cssText):
        (WebCore::endPointsFromAngle): Compute endpoints for a gradient which covers the rectangle
        given an angle.
        (WebCore::CSSLinearGradientValue::createGradient):
        (WebCore::CSSRadialGradientValue::cssText):
        (WebCore::CSSRadialGradientValue::resolveRadius):
        (WebCore::CSSRadialGradientValue::createGradient):

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue): Style fix.
        (WebCore::CSSParser::parseContent): Use isGeneratedImageValue() and parseGeneratedImage()
        (WebCore::CSSParser::parseFillImage): Use isGeneratedImageValue() and parseGeneratedImage()
        (WebCore::CSSParser::parseBorderImage): Use isGeneratedImageValue() and parseGeneratedImage()
        (WebCore::parseDeprecatedGradientPoint): Renamed to indicate that it's only used for -webkit-gradient.
        (WebCore::parseDeprecatedGradientColorStop): Renamed to indicate that it's only used for -webkit-gradient,
        and fixed to store CSSValues for the stop position.
        (WebCore::CSSParser::parseDeprecatedGradient): Renamed to indicate that it's only used for -webkit-gradient,
        and create CSSLinearGradientValue and CSSRadialGradientValue as appropriate.
        (WebCore::valueFromSideKeyword):
        (WebCore::parseGradientColorOrKeyword): Color parsing utility.
        (WebCore::CSSParser::parseLinearGradient): New method to parse linear gradients.
        (WebCore::CSSParser::parseRadialGradient): Stub for new method to parse radial gradients.
        (WebCore::CSSParser::isGeneratedImageValue): Detect gradients and CSS canvas.
        (WebCore::CSSParser::parseGeneratedImage): Parser for generated images like gradients
        and CSS canvas.
        * css/CSSParser.h:
        * platform/graphics/Gradient.h:
        (WebCore::Gradient::setP0): We need to be able to change the points when normalizing gradients.
        (WebCore::Gradient::setP1): Ditto.

2011-01-03  Noam Rosenthal  <noam.rosenthal@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
        https://bugs.webkit.org/show_bug.cgi?id=51464

        Added a way to bind any QObject created as a plugin to JavaScript, 
        by adding a custom member (qtObject) to WebCore::Widget. 
        Added a test to tst_qwebpage to make sure plugins created 
        as QGraphicsWidget are accessible through JavaScript.

        * bindings/js/ScriptControllerQt.cpp:
        (WebCore::ScriptController::createScriptInstanceForWidget):
        * platform/Widget.h:
        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::setBindingObject):
        (WebCore::Widget::bindingObject):

2011-01-03  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

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

        Printing on a page with body { height: 100% } clips out the overflow contents.  This happened
        because the computePageRects function was never correct.  It was using the layer's width and height
        for the document's width and height, and the layer no longer includes overflow in its width and
        height.  It was also incorrectly assuming the first page would begin at (0,0), and this is an invalid
        assumption in RTL or vertical text environments.

        Added printing/page-count-percentage-height.html

        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        (WebCore::PrintContext::computePageRectsWithPageSizeInternal):

2011-01-03  Csaba Osztrogonác  <ossy@webkit.org>

        [Qt] Unreviewed buildfix for --minimal build after r74895.

        * html/InputType.cpp: Missing include added.
        * html/NumberInputType.cpp: Missing include added.

2011-01-02  Darin Adler  <darin@apple.com>

        Reviewed by Kent Tamura.

        Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
        https://bugs.webkit.org/show_bug.cgi?id=51791

        * dom/InputElement.h: Make sanitizeValueForTextField public so it can
        be called by InputType.

        * html/BaseButtonInputType.cpp:
        (WebCore::BaseButtonInputType::accessKeyAction): Added.
        (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
        * html/BaseButtonInputType.h: Ditto.

        * html/BaseCheckableInputType.cpp:
        (WebCore::BaseCheckableInputType::canSetStringValue): Added.
        (WebCore::BaseCheckableInputType::accessKeyAction): Added.
        (WebCore::BaseCheckableInputType::fallbackValue): Added.
        (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
        (WebCore::BaseCheckableInputType::isCheckable): Added.
        * html/BaseCheckableInputType.h: Ditto.

        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
        * html/BaseDateAndTimeInputType.h: Ditto.

        * html/BaseTextInputType.h: Made more functions private.

        * html/ButtonInputType.cpp:
        (WebCore::ButtonInputType::isTextButton): Added.
        * html/ButtonInputType.h: Ditto.

        * html/CheckboxInputType.cpp:
        (WebCore::CheckboxInputType::willDispatchClick): Added.
        (WebCore::CheckboxInputType::didDispatchClick): Added.
        (WebCore::CheckboxInputType::isCheckbox): Added.
        * html/CheckboxInputType.h: Ditto.

        * html/DateTimeInputType.cpp:
        (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
        typo in name of this function.
        * html/DateTimeInputType.h: Ditto.
        * html/DateTimeLocalInputType.cpp:
        (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
        * html/DateTimeLocalInputType.h: Ditto.

        * html/EmailInputType.cpp:
        (WebCore::EmailInputType::isEmailField): Added.
        * html/EmailInputType.h: Ditto.

        * html/FileInputType.cpp:
        (WebCore::FileInputType::FileInputType): Added.
        (WebCore::FileInputType::canSetStringValue): Added.
        (WebCore::FileInputType::canChangeFromAnotherType): Added.
        (WebCore::FileInputType::files): Added.
        (WebCore::FileInputType::canSetValue): Added.
        (WebCore::FileInputType::getTypeSpecificValue): Added.
        (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
        (WebCore::FileInputType::setFileList): Added.
        (WebCore::FileInputType::isFileUpload): Added.
        * html/FileInputType.h: Ditto.

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
        renaming and removal.
        (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
        instead of checking specific type numbers.
        (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
        Use fastGetAttribute and fixed typo in the name of the
        scaledStepValueShouldBeInteger function.
        (WebCore::HTMLInputElement::isKeyboardFocusable): Call
        InputType::isKeyboardFocusable; moved most of the type-specific
        logic there.
        (WebCore::HTMLInputElement::shouldUseInputMethod): Call
        InputType::shouldUseInputMethod; moved the type-specific logic there.
        (WebCore::HTMLInputElement::handleBlurEvent): Call
        InputType::handleBlurEvent; moved the type-specific logic there.
        (WebCore::HTMLInputElement::setType): Tweak the names and types
        in this function.
        (WebCore::HTMLInputElement::updateType): Removed the code that
        set m_deprecatedTypeNumber. Compare types by comparing the value
        from formControlType. Removed file-specific logic and instead call
        InputType::canChangeFromAnotherType. Streamlined the logic for
        activation callbacks.
        (WebCore::HTMLInputElement::accessKeyAction): Call
        InputType::accessKeyAction; moved the type-specific logic there.
        (WebCore::HTMLInputElement::mapToEntry): Call
        InputType::shouldRespectHeightAndWidthAttributes and
        InputType::shouldRespectAlignAttribute.
        (WebCore::HTMLInputElement::parseMappedAttribute): Updated
        for name changes and the removal of m_defaultChecked. Changed the
        alt attribute logic to be based on the class of the renderer.
        Call InputType::srcAttributeChanged and moved the type-specific
        logic there. Call shouldRespectAlignAttribute and
        shouldRespectHeightAndWidthAttributes rather than having
        type-specific logic here. Call minOrMaxAttributeChanged.
        (WebCore::HTMLInputElement::rendererIsNeeded): Call
        InputType::rendererIsNeeded; moved the type-specific logic there.
        (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
        flag, which was redundant with the m_haveType flag. Call
        InputType::attach; moved the type-specific logic there.
        (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
        (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
        InputType::canBeSuccessfulSubmitButton; moved the type-specific
        logic there.
        (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
        name changes.
        (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
        (WebCore::HTMLInputElement::reset): Updated to use
        InputType::storesValueSeparateFromAttribute. Also use
        hasAttribute(checkedAttr) rather than m_defaultChecked,
        since both are the same. Also updated for name change.
        (WebCore::HTMLInputElement::setChecked): Updated for name
        changes. Also added call to
        InputType::shouldSendChangeEventAfterCheckedChanged and
        moved the type-specific logic there.
        (WebCore::HTMLInputElement::setIndeterminate): Call
        isCheckable to see if indeterminate is allowed.
        Also updated for name changes.
        (WebCore::HTMLInputElement::copyNonAttributeProperties):
        Updated for name changes and removed data members.
        (WebCore::HTMLInputElement::value): Call
        InputType::getTypeSpecificValue and InputType::fallbackValue.
        Moved the type-specific logic there.
        (WebCore::HTMLInputElement::valueWithDefault): Call
        InputType::defaultValue. Moved the type-specific logic there.
        (WebCore::HTMLInputElement::setSuggestedValue): Call
        InputType::canSetSuggestedValue. Moved the type-specific logic
        there.
        (WebCore::HTMLInputElement::setValue): Call
        InputType::canSetValue. Moved the type-specific logic there.
        Clear the file list if it exists rather than checking the
        type explicitly. We could probably do that a more elegant way.
        (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
        (WebCore::HTMLInputElement::setValueFromRenderer): Use the
        isFileUpload function in the assertion.
        (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
        of the code from this function into FileInputType::setFileList.
        (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
        to call InputType::willDispatchClick, which does the type-specific
        work. Still need to use a single struct for all types, because
        the type of the element could change during the event handling.
        (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
        to call InputType::didDispatchClick.
        (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
        (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
        (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
        (WebCore::HTMLInputElement::src): Use fastGetAttribute.
        (WebCore::HTMLInputElement::setAutofilled): Updated for name
        changes.
        (WebCore::HTMLInputElement::files): Use InputType::files.
        (WebCore::HTMLInputElement::isAcceptableValue): Use
        InputType::isAcceptableValue.
        (WebCore::HTMLInputElement::sanitizeValue): Use
        InputType::sanitizeValue.
        (WebCore::HTMLInputElement::hasUnacceptableValue): Use
        InputType::hasUnacceptableValue.
        (WebCore::HTMLInputElement::needsActivationCallback): Use
        InputType::shouldResetOnDocumentActivation.
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
        InputType::willMoveToNewOwnerDocument.
        (WebCore::HTMLInputElement::dataList): Use
        InputType::shouldRespectListAttribute.
        (WebCore::HTMLInputElement::selectedOption): Tweaked logic
        and naming a bit.
        (WebCore::HTMLInputElement::stepUpFromRenderer): Use
        fastGetAttribute.
        (WebCore::HTMLInputElement::isSpeechEnabled): Use
        InputType::shouldRespectSpeechAttribute.
        (WebCore::HTMLInputElement::isTextButton): No longer inline.
        Calls through to InputType.
        (WebCore::HTMLInputElement::isRadioButton): Ditto.
        (WebCore::HTMLInputElement::isSearchField): Ditto.
        (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
        (WebCore::HTMLInputElement::isPasswordField): Ditto.
        (WebCore::HTMLInputElement::isCheckbox): Ditto.
        (WebCore::HTMLInputElement::isText): Ditto.
        (WebCore::HTMLInputElement::isEmailField): Ditto.
        (WebCore::HTMLInputElement::isFileUpload): Ditto.
        (WebCore::HTMLInputElement::isImageButton): Ditto.
        (WebCore::HTMLInputElement::isNumberField): Ditto.
        (WebCore::HTMLInputElement::isSubmitButton): Ditto.
        (WebCore::HTMLInputElement::isTelephoneField): Ditto.
        (WebCore::HTMLInputElement::isURLField): Ditto.
        (WebCore::HTMLInputElement::isEnumeratable): Ditto.
        (WebCore::HTMLInputElement::isChecked): No longer inline.
        Calls InputType::isCheckable.
        (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
        Calls through to InputType.
        (WebCore::HTMLInputElement::supportsPlaceholder): No longer
        inline. Calls isTextType as before, but with no special case
        for ISINDEX. That special case was unneeded since it returns
        true from isTextType.
        (WebCore::HTMLInputElement::checkedRadioButtons): No longer
        inline.
        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
        No longer inline.

        * html/HTMLInputElement.h: Removed multiple unneeded includes.
        The big one is probably InputType.h, but also HTMLFormElement.h.
        Removed unneeded forward declarations. Made many functions
        no longer inline since they now need to make virtual function
        dispatches. Removed the unneeded defaultChecked and
        webkitdirectory functions. Both are handled by HTML attribute
        reflection for DOM bindings, and the callers instead can get
        at the attribute. Made updateCheckedRadioButtons public so it
        can be called by an InputType class. Removed
        DeprecatedInputType, InputTypeMap, createTypeMap,
        deprecatedInputType, allowsIndeterminate,
        respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
        m_imageLoader, m_fileList, m_deprecatedTypeNumber,
        m_defaultChecked, and m_inited. Renamed m_checked to
        m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
        m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
        m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
        m_isAutofilled.
        
        * html/HiddenInputType.cpp:
        (WebCore::HiddenInputType::accessKeyAction): Added.
        (WebCore::HiddenInputType::rendererIsNeeded) Added.:
        (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
        (WebCore::HiddenInputType::isHiddenType): Added.
        (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
        * html/HiddenInputType.h: Ditto.

        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
        (WebCore::ImageInputType::srcAttributeChanged): Added.
        (WebCore::ImageInputType::attach): Added.
        (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
        (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
        (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
        (WebCore::ImageInputType::isImageButton): Added.
        (WebCore::ImageInputType::isEnumeratable): Added.
        (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
        * html/ImageInputType.h: Ditto.

        * html/InputType.cpp:
        (WebCore::InputType::create): Changed argument type to String. There
        is no value in taking an AtomicString here.
        (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
        this function name.
        (WebCore::InputType::canSetStringValue): Added.
        (WebCore::InputType::isKeyboardFocusable): Added.
        (WebCore::InputType::shouldUseInputMethod): Added.
        (WebCore::InputType::handleBlurEvent): Added.
        (WebCore::InputType::accessKeyAction): Added.
        (WebCore::InputType::attach): Added.
        (WebCore::InputType::srcAttributeChanged): Added.
        (WebCore::InputType::willMoveToNewOwnerDocument): Added.
        (WebCore::InputType::shouldRespectAlignAttribute): Added.
        (WebCore::InputType::canChangeFromAnotherType): Added.
        (WebCore::InputType::minOrMaxAttributeChanged): Added.
        (WebCore::InputType::canBeSuccessfulSubmitButton): Added.
        (WebCore::InputType::rendererIsNeeded): Added.
        (WebCore::InputType::files): Added.
        (WebCore::InputType::getTypeSpecificValue): Added.
        (WebCore::InputType::fallbackValue): Added.
        (WebCore::InputType::defaultValue): Added.
        (WebCore::InputType::canSetSuggestedValue): Added.
        (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added.
        (WebCore::InputType::storesValueSeparateFromAttribute): Added.
        (WebCore::InputType::canSetValue): Added.
        (WebCore::InputType::willDispatchClick): Added.
        (WebCore::InputType::didDispatchClick): Added.
        (WebCore::InputType::isAcceptableValue): Added.
        (WebCore::InputType::sanitizeValue): Added.
        (WebCore::InputType::hasUnacceptableValue): Added.
        (WebCore::InputType::setFileList): Added.
        (WebCore::InputType::shouldResetOnDocumentActivation): Added.
        (WebCore::InputType::shouldRespectListAttribute): Added.
        (WebCore::InputType::shouldRespectSpeechAttribute): Added.
        (WebCore::InputType::isTextButton): Added.
        (WebCore::InputType::isRadioButton): Added.
        (WebCore::InputType::isSearchField): Added.
        (WebCore::InputType::isHiddenType): Added.
        (WebCore::InputType::isPasswordField): Added.
        (WebCore::InputType::isCheckbox): Added.
        (WebCore::InputType::isEmailField): Added.
        (WebCore::InputType::isFileUpload): Added.
        (WebCore::InputType::isImageButton): Added.
        (WebCore::InputType::isNumberField): Added.
        (WebCore::InputType::isSubmitButton): Added.
        (WebCore::InputType::isTelephoneField): Added.
        (WebCore::InputType::isURLField): Added.
        (WebCore::InputType::isEnumeratable): Added.
        (WebCore::InputType::isCheckable): Added.
        (WebCore::InputType::hasSpinButton): Added.
        (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added.

        * html/InputType.h: Removed unneeded ExceptionCode.h include and
        used a typedef instead as we do when we want for forward declare it.
        Added includes and forward declarations needed for new functions.
        Added ClickHandlingState structure. Changed the argument to create
        to a String rather than AtomicString. Added many virtual functions.
        
        * html/IsIndexInputType.cpp:
        (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
        * html/IsIndexInputType.h: Ditto.

        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::handleBlurEvent): Added.
        (WebCore::NumberInputType::isAcceptableValue): Added.
        (WebCore::NumberInputType::sanitizeValue): Added.
        (WebCore::NumberInputType::hasUnacceptableValue): Added.
        (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added.
        (WebCore::NumberInputType::isNumberField): Added.
        (WebCore::NumberInputType::hasSpinButton): Added.
        * html/NumberInputType.h: Ditto.

        * html/PasswordInputType.cpp:
        (WebCore::PasswordInputType::shouldUseInputMethod): Added.
        (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added.
        (WebCore::PasswordInputType::shouldRespectListAttribute): Added.
        (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added.
        (WebCore::PasswordInputType::isPasswordField): Added.
        * html/PasswordInputType.h: Ditto.

        * html/RadioInputType.cpp:
        (WebCore::RadioInputType::isKeyboardFocusable): Added.
        (WebCore::RadioInputType::attach): Added.
        (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added.
        (WebCore::RadioInputType::willDispatchClick): Added.
        (WebCore::RadioInputType::didDispatchClick): Added.
        (WebCore::RadioInputType::isRadioButton): Added.
        * html/RadioInputType.h: Ditto.

        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::accessKeyAction): Added.
        (WebCore::RangeInputType::minOrMaxAttributeChanged): Added.
        (WebCore::RangeInputType::fallbackValue): Added.
        (WebCore::RangeInputType::sanitizeValue): Added.
        (WebCore::RangeInputType::shouldRespectListAttribute): Added.
        * html/RangeInputType.h: Ditto.

        * html/ResetInputType.cpp:
        (WebCore::ResetInputType::defaultValue): Added.
        (WebCore::ResetInputType::isTextButton): Added.
        * html/ResetInputType.h: Ditto.

        * html/SearchInputType.cpp:
        (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
        (WebCore::SearchInputType::isSearchField): Added.
        * html/SearchInputType.h: Ditto.

        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added.
        (WebCore::SubmitInputType::defaultValue): Added.
        (WebCore::SubmitInputType::isSubmitButton): Added.
        (WebCore::SubmitInputType::isTextButton): Added.
        * html/SubmitInputType.h: Ditto.

        * html/TelephoneInputType.cpp:
        (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
        (WebCore::TelephoneInputType::isTelephoneField): Added.
        * html/TelephoneInputType.h: Ditto.

        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
        (WebCore::TextFieldInputType::sanitizeValue): Added.
        (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
        * html/TextFieldInputType.h: Ditto.

        * html/TextInputType.cpp:
        (WebCore::TextInputType::canSetSuggestedValue): Added.
        (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
        * html/TextInputType.h: Ditto.

        * html/TimeInputType.cpp:
        (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
        typo in the name of this function.
        * html/TimeInputType.h: Ditto.

        * html/URLInputType.cpp:
        (WebCore::URLInputType::isURLField): Added.
        * html/URLInputType.h: Ditto.

2011-01-03  Mihai Parparita  <mihaip@chromium.org>

        Unreviewed.

        NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
        https://bugs.webkit.org/show_bug.cgi?id=51151

        Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering,
        so that it can match Safari's (and thus use the same baselines).

        No new tests, should be covered by layout tests (which will need
        expectation changes)

        * platform/chromium/ScrollbarThemeChromiumMac.mm:

2011-01-03  Antonio Gomes  <agomes@rim.com>

        Unreviewed build fix for WebKit/Gtk+.

        RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
        guarded by ENABLE(VIDEO), as it is in its header.

        No new tests.

        * platform/gtk/RenderThemeGtk2.cpp:

2011-01-02  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Simon Fraser.

        <rdar://problem/8812159> Update copyright strings

        * Info.plist:

2011-01-02  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field
        https://bugs.webkit.org/show_bug.cgi?id=51623

        * editing/Editor.cpp:
        (WebCore::Editor::countMatchesForText): Actually remember the original search range end
        container and offset and restore them when needed, instead of using two references to the
        same Range.
        * manual-tests/find-count-matches-after-text-control.html: Added.

2011-01-02  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Csaba Osztrogonác.

        WebKit 2 does not build on 64bits with a recent GCC
        https://bugs.webkit.org/show_bug.cgi?id=51754

        Use explicitely 64 bits types for the attributes of DatabaseDetails.

        * storage/DatabaseDetails.h:
        (WebCore::DatabaseDetails::expectedUsage):
        (WebCore::DatabaseDetails::currentUsage):

2011-01-02  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed WinCE build fix for r74868.

        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::getImageData):

2011-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74847.
        http://trac.webkit.org/changeset/74847
        https://bugs.webkit.org/show_bug.cgi?id=51803

        "Preprocessor guards should be in header files" (Requested by
        ap on #webkit).

        * bindings/js/JSDOMWindowBase.cpp:
        * dom/Document.cpp:
        (WebCore::Document::recalcStyle):
        * html/HTMLDocument.cpp:
        * loader/FrameLoader.cpp:
        * loader/ResourceLoadNotifier.cpp:
        * page/Chrome.cpp:
        * page/Console.cpp:
        * page/ContextMenuController.cpp:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::dispatchEvent):
        * page/EventHandler.cpp:
        * page/Page.cpp:
        * storage/Database.cpp:
        * workers/AbstractWorker.cpp:
        * workers/DefaultSharedWorkerRepository.cpp:
        * workers/SharedWorker.cpp:
        * workers/Worker.cpp:
        * workers/WorkerContext.cpp:
        * workers/WorkerMessagingProxy.cpp:
        * xml/XMLHttpRequest.cpp:
        (WebCore::XMLHttpRequest::callReadyStateChangeListener):

2011-01-02  Patrick Gansterer  <paroga@webkit.org>

        [CMake] Unreviewed build fix.

        * CMakeLists.txt:

2011-01-02  Dirk Schulze  <krit@webkit.org>

        Reviewed by Simon Fraser.

        Clarify ImageBuffer and ImageData relationship
        https://bugs.webkit.org/show_bug.cgi?id=51297

        Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code,
        since this was a layering violation, and replaced it by ByteArray.

        No change of functionality, so no new test added.

        * html/ImageData.cpp:
        (WebCore::ImageData::create):
        (WebCore::ImageData::ImageData):
        * html/ImageData.h: Added new constructor with ByteArray input.
        (WebCore::ImageData::width):
        (WebCore::ImageData::height):
        (WebCore::ImageData::data):
        * html/canvas/CanvasPixelArray.cpp:
        (WebCore::CanvasPixelArray::create):
        (WebCore::CanvasPixelArray::CanvasPixelArray):
        * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas.
        (WebCore::CanvasPixelArray::data):
        (WebCore::CanvasPixelArray::length):
        (WebCore::CanvasPixelArray::set):
        (WebCore::CanvasPixelArray::get):
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::getImageData):
        (WebCore::CanvasRenderingContext2D::putImageData):
        * platform/graphics/ImageBuffer.h:
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::apply):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::setDestinationPixels):
        (WebCore::FEConvolveMatrix::apply):
        * platform/graphics/filters/FEConvolveMatrix.h:
        * platform/graphics/filters/FEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::apply):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::apply):
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::apply):
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::apply):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::asImageBuffer):
        (WebCore::FilterEffect::asUnmultipliedImage):
        (WebCore::FilterEffect::asPremultipliedImage):
        (WebCore::FilterEffect::copyImageBytes):
        (WebCore::FilterEffect::copyUnmultipliedImage):
        (WebCore::FilterEffect::copyPremultipliedImage):
        (WebCore::FilterEffect::createUnmultipliedImageResult):
        (WebCore::FilterEffect::createPremultipliedImageResult):
        * platform/graphics/filters/FilterEffect.h:
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        (WebCore::getImageData):
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::putImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::getUnmultipliedImageData):
        (WebCore::ImageBuffer::getPremultipliedImageData):
        (WebCore::ImageBuffer::putUnmultipliedImageData):
        (WebCore::ImageBuffer::putPremultipliedImageData):
        * rendering/RenderSVGResourceMasker.cpp:
        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):

2011-01-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move JavaScriptCore to Source
        https://bugs.webkit.org/show_bug.cgi?id=51604

        Update references to JavaScriptCore.

        * Android.derived.jscbindings.mk:
        * Android.v8bindings.mk:
        * CMakeLists.txt:
        * WebCore.gyp/WebCore.gyp:
        * WebCore.pro:
          - These changes are subtle and might not be 100% correct.
        * move-js-headers.sh:

2011-01-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        forbid sandboxed frames to call top.close() when allow-same-origin is not setted
        https://bugs.webkit.org/show_bug.cgi?id=38340

        We now pass the ScriptExecutionContext to window.close so it can find
        the Frame and check whether navigation is allowed.  This check will
        almost always pass because you can only close top-level frames, but the
        check will fail when the calling script is sandboxed.

        Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
               fast/frames/sandboxed-iframe-close-top.html

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::close):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:

2011-01-01  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        sandbox iframes have access to top.history methods
        https://bugs.webkit.org/show_bug.cgi?id=38152

        To enforce the sandbox restrictions on History, we need to pass the
        ScriptExecutionContext to WebCore.  This patch leaves the original
        History methods in place because they are used directly by folks who
        don't care about security checks.

        Test: fast/frames/sandboxed-iframe-history-denied.html

        * page/History.cpp:
        (WebCore::History::back):
        (WebCore::History::forward):
        (WebCore::History::go):
        * page/History.h:
        * page/History.idl:

2011-01-01  Adam Barth  <abarth@webkit.org>

        Remove empty file.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DOMAllInOne.cpp:
        * dom/Entity.cpp: Removed.

2011-01-01  Adam Barth  <abarth@webkit.org>

        Remove empty file.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSPopStateEventCustom.cpp: Removed.

2011-01-01  Adam Barth  <abarth@webkit.org>

        Remove empty files.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/generic/BindingFrame.h: Removed.
        * bindings/generic/BindingLocation.h: Removed.

2011-01-01  Konstantin Tokarev  <annulen@yandex.ru>

        Reviewed by Darin Adler.

        Don't include Inspector headers when Inspector is disabled
        https://bugs.webkit.org/show_bug.cgi?id=51789

        * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
        Inspector is enabled
        * dom/Document.cpp: Include Inspector headers when
        Inspector is enabled
        (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
        handling
        * html/HTMLDocument.cpp: Include Inspector headers when
        Inspector is enabled
        * loader/FrameLoader.cpp: Include Inspector headers when
        Inspector is enabled
        * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
        Inspector is enabled
        * page/Chrome.cpp: Include Inspector headers when
        Inspector is enabled
        * page/Console.cpp: Include Inspector headers when
        Inspector is enabled
        * page/ContextMenuController.cpp: Include Inspector headers when
        Inspector is enabled
        * page/DOMWindow.cpp: Include Inspector headers when
        Inspector is enabled
        (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
        handling
        * page/EventHandler.cpp: Include Inspector headers when
        Inspector is enabled
        * page/Page.cpp: Include Inspector headers when
        Inspector is enabled
        * storage/Database.cpp: Include Inspector headers when
        Inspector is enabled
        * workers/AbstractWorker.cpp: Include Inspector headers when
        Inspector is enabled
        * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
        Inspector is enabled
        * workers/SharedWorker.cpp: Include Inspector headers when
        Inspector is enabled
        * workers/Worker.cpp: Include Inspector headers when
        Inspector is enabled
        * workers/WorkerContext.cpp: Include Inspector headers when
        Inspector is enabled
        * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
        Inspector is enabled
        * xml/XMLHttpRequest.cpp: Include Inspector headers when
        Inspector is enabled
        (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
        InspectorInstrumentationCookie handling

2010-12-31  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        fast/loader/about-blank-hash-change.html fails on Chromium
        https://bugs.webkit.org/show_bug.cgi?id=51788

        I'm unable to reproduce the failure locally, so this patch is slightly
        speculative.  We need to be slighly more careful how we compare the
        fragment identifiers for Chromium because Chromium uses a URL parser
        that is more agressive about canonicalization.

        * page/Location.cpp:
        (WebCore::Location::setHash):

2010-12-31  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Use GLib/GIO API for FileSystemGtk implementation
        https://bugs.webkit.org/show_bug.cgi?id=51617

        Complete implementation of FileSystem platform code for GLib. This
        converts remaining API points using POSIX calls to platform-independent
        GLib calls and fixes other compilation errors.

        No new tests. This code will be tested when an implementation
        of beginDragWithFiles is complete.

        (WebCore::JSDirectoryEntry::getFile):
        (WebCore::JSDirectoryEntry::getDirectory):
        * platform/FileSystem.h: Added forward declarations for GLib types to
        avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
        * platform/gtk/FileSystemGtk.cpp:
        (WebCore::openTemporaryFile): Reimplement using only GLib calls.
        (WebCore::openFile): Ditto.
        (WebCore::closeFile): Ditto.
        (WebCore::seekFile): Added implementation.
        (WebCore::writeToFile): Reimplement using only GLib calls.
        (WebCore::readFromFile): Ditto.

2010-12-31  Darin Adler  <darin@apple.com>

        Reviewed by Dan Bernstein.

        Some renaming and refactoring of form element code
        https://bugs.webkit.org/show_bug.cgi?id=51784

        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
        for option elements instead of putting the logic in the binding.

        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
        (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
        "event" instead of "evt". Also updated for name changes.
        (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
        (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
        (WebCore::HTMLButtonElement::appendFormData): Ditto.
        * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
        to match the getter function name. The name still doesn't seem great.

        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
        (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
        instead of m_autocomplete data member.
        (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
        instead of otherwise-unused isDemoted function.
        (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
        (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
        m_insubmit. This is now handled by the caller, prepareForSubmission.
        (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
        name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
        here from validateInteractively. Removed unneeded check of m_doingsubmit
        boolean before setting it.
        (WebCore::HTMLFormElement::submit): Factored this function into two.
        One for JavaScript and one for non-JavaScript. Neither function needs a frame
        argument, because the question being asked, anyPageIsProcessingUserGesture,
        is a question asked of an entire page group, not a specific frame or page,
        so it's not important which is the active frame.
        (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
        (WebCore::HTMLFormElement::reset): Updated for name changes.
        (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
        acceptAttr and got rid of code to set m_autocomplete.
        (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
        pointer.
        (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
        and the vector find function. Added a FIXME about the comment.
        (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
        function instead of m_autocomplete data member.
        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
        (WebCore::HTMLFormElement::autoComplete): Ditto.
        * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
        function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
        frame argument from the submit function and added a new submitFromJavaScript
        variant. Removed the unneeded isDemoted function. Changed the return type
        of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
        m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
        m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
        m_demoted to m_wasDemoted. Use plain bool instead of bitfields.

        * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
        instead of using CallWith=DynamicFrame because we don't need to know
        what frame is calling. If we did, it's not clear that the "dynamic"
        frame would be the right one anyway.

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
        element, since the JavaScript binding supports this.
        * html/HTMLSelectElement.h: Ditto.

        * html/ImageInputType.cpp:
        (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
        * html/ImageInputType.h: Ditto.
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.

2010-12-31  Daniel Bates  <dbates@rim.com>

        Reviewed by Darin Adler.

        Pass style for <area> instead of associated <img> when querying whether
        the theme draws the focus ring for an <area>
        https://bugs.webkit.org/show_bug.cgi?id=51632

        Fixes an issue where the style for the associated <img> of an <area>
        was passed when considering whether the theme should draw a focus ring
        for the <area>. Instead, we should pass the theme the style for the <area>.

        It's not possible to test this at this time since there are no themes
        that override focus ring drawing for <area>s.

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
        such that it's called with respect to the focused <area>.

2010-12-31  Darin Adler  <darin@apple.com>

        * WebCore.xcodeproj/project.pbxproj: Added back the language.
        Developers should be using Xcode 3.2.5 or newer.

2010-12-31  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        Move V8 to WebCore Location implementation
        https://bugs.webkit.org/show_bug.cgi?id=51768

        * bindings/generic/BindingFrame.h:
        * bindings/generic/BindingLocation.h:
        * bindings/v8/V8Binding.h:
        * bindings/v8/V8DOMWindowShell.cpp:
        (WebCore::V8DOMWindowShell::setLocation):
        * bindings/v8/V8Utilities.cpp:
        * bindings/v8/V8Utilities.h:
        * bindings/v8/custom/V8LocationCustom.cpp:
        (WebCore::V8Location::hashAccessorSetter):
        (WebCore::V8Location::hostAccessorSetter):
        (WebCore::V8Location::hostnameAccessorSetter):
        (WebCore::V8Location::hrefAccessorSetter):
        (WebCore::V8Location::pathnameAccessorSetter):
        (WebCore::V8Location::portAccessorSetter):
        (WebCore::V8Location::protocolAccessorSetter):
        (WebCore::V8Location::searchAccessorSetter):
        (WebCore::V8Location::reloadCallback):
        (WebCore::V8Location::replaceCallback):
        (WebCore::V8Location::assignCallback):

2010-12-31  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Eric Seidel.

        Make retrieving extraMediaControlsStyleSheet be page dependent.
        https://bugs.webkit.org/show_bug.cgi?id=51752

        Use themeForPage to retrieve extraMediaControlsStyleSheet for media
        controls.

        No new tests because no platform-specific theme implementation uses
        the passed page pointer yet.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):

2010-12-31  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.

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

        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):

2010-12-31  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix after r74800.

        * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
        * bindings/js/JSLocationCustom.cpp: Ditto.

2010-12-31  Adam Barth  <abarth@webkit.org>

        Rubber-stamped by Eric Seidel.

        Move HTML and XML parser benchmarks into PerformanceTests/Parser
        https://bugs.webkit.org/show_bug.cgi?id=51772

        Remove the benchmarks folder now that it's empty.  Future benchmarks
        should go in the PerformanceTests directory.

        * benchmarks: Removed.
        * benchmarks/parser: Removed.
        * benchmarks/parser/html-parser.html: Removed.
        * benchmarks/parser/resources: Removed.
        * benchmarks/parser/resources/html5.html: Removed.
        * benchmarks/parser/resources/runner.js: Removed.
        * benchmarks/parser/xml-parser.html: Removed.

2010-12-31  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Adam Barth.

        Add XML parser benchmark
        https://bugs.webkit.org/show_bug.cgi?id=51612

        Move the JavaScript code of html parser into a separate file to share it with xml parser.

        * benchmarks/parser/html-parser.html:
        * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
        (runFunction):
        (run):
        (start):
        * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.

2010-12-29  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Update validation of stencil mask and ref values
        https://bugs.webkit.org/show_bug.cgi?id=50716

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
        (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
        (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
        (WebCore::WebGLRenderingContext::stencilMask): Ditto.
        (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
        (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
        * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.

2010-12-30  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
        https://bugs.webkit.org/show_bug.cgi?id=51755

        Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
        if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
        step to landing support for the new GTK+ 3.x theming API.

        No new tests. This should not change functionality.

        * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
        (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
        (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
        (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
        * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
        it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
        * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
        that will eventually be platform-dependent.
        * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.

2010-12-30  Justin Schuh  <jschuh@chromium.org>

        Reviewed by James Robinson.

        Reverting r74292 because it introduced a crash with ruby text.
        https://bugs.webkit.org/show_bug.cgi?id=51637

        Test: fast/css/counters/counter-ruby-text-cleared.html

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::appendChildNode):
        (WebCore::RenderObjectChildList::insertChildNode):

2010-12-30  Darin Adler  <darin@apple.com>

        Reviewed by David Kilzer.

        Remove unused JSBinding source files
        https://bugs.webkit.org/show_bug.cgi?id=51762

        * bindings/js/JSBinding.h: Removed.
        * bindings/js/specialization: Removed.
        * bindings/js/specialization/JSBindingState.cpp: Removed.
        * bindings/js/specialization/JSBindingState.h: Removed.

        * CMakeLists.txt: Removed references to files.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * bindings/js/JSBindingsAllInOne.cpp: Ditto.

2010-12-30  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Darin Adler.

        Remove Document.h include from some headers where it isn't necessary
        https://bugs.webkit.org/show_bug.cgi?id=51730

        No new tests because no new functionality.

        * editing/EditingStyle.cpp:
        * editing/EditingStyle.h:
        * editing/SelectionController.h:
        * editing/visible_units.h:
        * html/HTMLAudioElement.h:
        * html/HTMLBodyElement.h:
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.h:
        * xml/DOMParser.cpp:
        * xml/DOMParser.h:
        (WebCore::DOMParser::create):
        (WebCore::DOMParser::DOMParser):

2010-12-30  Benjamin C Meyer  <bmeyer@rim.com>

        Reviewed by Darin Adler.

        bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
        which is required when NOTIFICATIONS is enabled.

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

        * CMakeLists.txt:

2010-12-30  Antti Koivisto  <antti@apple.com>

        Not reviewed.

        Revert accidental project file change.

        * WebCore.xcodeproj/project.pbxproj:

2010-12-30  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=51134
        Move loading related code from MemoryCache to CachedResourceLoader

        - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
        - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
        - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
        - Add MemoryCache::add
        - Refactor the decision on whether to reload, revalidate or use the existing resource to 
          a single function, CachedResourceLoader::determineRevalidationPolicy

        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
            
            Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
            if ever taken (since it passes null CachedResourceLoader pointer).
            
        * loader/ImageLoader.cpp:
        (WebCore::ImageLoader::updateFromElement):
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::CachedResource):
        (WebCore::CachedResource::~CachedResource):
        (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
        
            Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
        
        (WebCore::CachedResource::setLoadPriority):
        
            Check for Unresolved value before setting.
        
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::setOwningCachedResourceLoader):
        
            Rename to be bit less mysterious.
        
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::createResource):
        
            This was moved from MemoryCache.
        
        (WebCore::CachedResourceLoader::~CachedResourceLoader):
        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        
            This was moved/merged from MemoryCache.
        
        (WebCore::CachedResourceLoader::canRequest):
        (WebCore::CachedResourceLoader::requestResource):
        
            This combines MemoryCache::requestResource and the existing method.
        
        (WebCore::CachedResourceLoader::revalidateResource):
        
            This was moved from MemoryCache.
        
        (WebCore::CachedResourceLoader::loadResource):
        
            New method for initiating loading.
        
        (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
        
            Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
        
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::add):
        * loader/cache/MemoryCache.h:
        (WebCore::MemoryCache::remove):

2010-12-30  Steve Block  <steveblock@google.com>

        Reviewed by Gavin Barraclough.

        Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
        https://bugs.webkit.org/show_bug.cgi?id=51740

        This is a policy decision for Android.

        No new tests, simply enabling existing, tested code on Android.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::supportsRichSourceInfo):

2010-12-30  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Adam Barth.

        REGRESSION: fast/dom/cssTarget-crash.html fails
        https://bugs.webkit.org/show_bug.cgi?id=20342

        Do not reload the page when submitting a form, using "GET" method, and the
        form action url matches the location url, except for the fragment.
      
        Test: fast/forms/submit-change-fragment.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURL):
        (WebCore::FrameLoader::loadWithDocumentLoader):
        (WebCore::FrameLoader::shouldScrollToAnchor):
        * loader/FrameLoader.h:

2010-12-30  Darin Adler  <darin@apple.com>

        Reviewed by Adam Barth.

        Move security logic out of the JavaScript binding for location into the DOM class
        https://bugs.webkit.org/show_bug.cgi?id=51714

        * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
        and JSBinding.h. Later, we'll remove them from other project files and delete
        the source files.

        * bindings/js/JSBinding.h: Emptied out, marked for later deletion.

        * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
        function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
        function, unused toLexicalFrame function, unused completeURL function, unused
        getCachedDOMStructure and cacheDOMStructure overloads, and unused
        getCachedDOMConstructor and cacheDOMConstruction functions.
        (WebCore::activeDOMWindow): Added.
        (WebCore::firstDOMWindow): Added.
        (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
        JSBindingState, since the latter is an unneeded abstraction.
        (WebCore::processingUserGesture): Changed to call ScriptController's function
        rather than calling through JSBindingState, which is an unneeded abstraction

        * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
        activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
        named allowsAccessFromFrame functions, which answer the question of whether
        script is allowed access *to* a frame.

        * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
        (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
        activeDOMWindow and firstDOMWindow functions.
        (WebCore::JSDOMWindow::open): Ditto.
        (WebCore::JSDOMWindow::showModalDialog): Ditto.
        (WebCore::JSDOMWindow::postMessage): Ditto.

        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
        to the Location::setHref function, with it doing the rest of the work. This moves
        work out of the DOM binding that belongs in the DOM itself. Eventually such functions
        could even be automatically generated by the bindings script.
        (WebCore::JSLocation::setProtocol): Ditto.
        (WebCore::JSLocation::setHost): Ditto.
        (WebCore::JSLocation::setHostname): Ditto.
        (WebCore::JSLocation::setPort): Ditto.
        (WebCore::JSLocation::setPathname): Ditto.
        (WebCore::JSLocation::setSearch): Ditto.
        (WebCore::JSLocation::setHash): Ditto.
        (WebCore::JSLocation::replace): Ditto.
        (WebCore::JSLocation::reload): Ditto.
        (WebCore::JSLocation::assign): Ditto.

        * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
        * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
        to use this function for Location::replace, which is the same as setLocation except that
        it locks both history and the back/forward list.
        * page/DOMWindow.h: Ditto.

        * page/Location.cpp:
        (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
        logic there does not have to be repeated or even refactored.
        (WebCore::Location::setProtocol): Ditto.
        (WebCore::Location::setHost): Ditto.
        (WebCore::Location::setHostname): Ditto.
        (WebCore::Location::setPort): Ditto.
        (WebCore::Location::setPathname): Ditto.
        (WebCore::Location::setSearch): Ditto.
        (WebCore::Location::setHash): Ditto.
        (WebCore::Location::assign): Ditto.
        (WebCore::Location::replace): Ditto.
        (WebCore::Location::reload): Added. Security logic was refactored from the code in
        JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
        possibly unneeded.

        * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
        (WebCore::Location::create):
        (WebCore::Location::frame):

2010-12-30  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Pasting a style property with value should automatically split it into prop/value
        https://bugs.webkit.org/show_bug.cgi?id=51581

        The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
        of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
        and the edit focus is transferred to the value field.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.js:
        (WebInspector.completeURL): Drive-by: return full URLs as-is.
        (WebInspector.startEditing.cleanUpAfterEditing):
        (WebInspector.startEditing):
        (WebInspector.startEditing.pasteEventListener):
        (WebInspector.startEditing.keyDownEventListener):

2010-12-30  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
        https://bugs.webkit.org/show_bug.cgi?id=51745

        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint.prototype.set enabled):

2010-12-30  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
        https://bugs.webkit.org/show_bug.cgi?id=51748

        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane.prototype.update):
        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):

2010-12-30  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).

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

        * WebCore.gypi:
        * WebCore.pro:
        * bindings/v8/custom/V8ConsoleCustom.cpp:
        (WebCore::V8Console::memoryAccessorGetter):
        * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
        (WebCore::V8Performance::memoryAccessorGetter):
        * page/Console.idl:
        * page/Performance.idl:

2010-12-30  Steve Block  <steveblock@google.com>

        Reviewed by Sam Weinig.

        Visiting macnn.com often causes SQL spew via geolocation database
        https://bugs.webkit.org/show_bug.cgi?id=51557

        If the Geolocation position cache database path has not been set, early-out
        rather than using an empty path and thus failing to open the database.
        This avoids SQL log spew.

        Also, avoid starting the database thread until the path has been set, and
        shorten the thread name to avoid warnings due to exceeding 30 characters.

        No new tests, implementation clean-up only.

        * page/GeolocationPositionCache.cpp:
        (WebCore::GeolocationPositionCache::addUser):
        (WebCore::GeolocationPositionCache::removeUser):
        (WebCore::GeolocationPositionCache::setDatabasePath):
        (WebCore::GeolocationPositionCache::startBackgroundThread):

2010-12-29  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] minimal build fails at link time due to missing sqlite3 symbols
        https://bugs.webkit.org/show_bug.cgi?id=51327

        Guard the code calling sqlite3 with the ENABLE(DATABASE) check.

        No new tests, build fix only.

        * platform/sql/SQLiteAuthorizer.cpp:
        * platform/sql/SQLiteDatabase.cpp:
        * platform/sql/SQLiteFileSystem.cpp:
        * platform/sql/SQLiteStatement.cpp:
        * platform/sql/SQLiteTransaction.cpp:

2010-12-30  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dirk Schulze.

        Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 
        https://bugs.webkit.org/show_bug.cgi?id=51692

        * svg/SVGLength.cpp:
        (WebCore::stringToLengthType):
        (WebCore::SVGLength::setValueAsString):

2010-12-30  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Seidel.

        Create a helper function for finding descendent video elements for a node.
        https://bugs.webkit.org/show_bug.cgi?id=51696

        Test: media/video-element-other-namespace-crash.html

        * html/MediaDocument.cpp:
        (WebCore::descendentVideoElement): helper function.
        (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
        (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.

2010-12-29  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
        https://bugs.webkit.org/show_bug.cgi?id=51707

        This change brushes up storage agents + removes redundant InspectorBackend class.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::databaseForId):
        (WebCore::InjectedScriptHost::selectDatabase):
        (WebCore::InjectedScriptHost::selectDOMStorage):
        (WebCore::InjectedScriptHost::inspectorDOMAgent):
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp: Removed.
        * inspector/InspectorBackend.h: Removed.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::didUseDOMStorage):
        (WebCore::InspectorController::setInjectedScriptSource):
        (WebCore::InspectorController::dispatchOnInjectedScript):
        (WebCore::InspectorController::releaseWrapperObjectGroup):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMStorageAgent.cpp: Added.
        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
        * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
        (WebCore::InspectorDOMStorageAgent::create):
        (WebCore::InspectorDOMStorageAgent::frontend):
        * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        (WebCore::InspectorDatabaseAgent::executeSQL):
        (WebCore::InspectorDatabaseAgent::databaseForId):
        (WebCore::InspectorDatabaseAgent::selectDatabase):
        (WebCore::InspectorDatabaseAgent::clearFrontend):
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
        (WebCore::InspectorDatabaseAgent::create):
        (WebCore::InspectorDatabaseAgent::frontend):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show):
        (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
        (WebInspector.ScriptsPanel.prototype._toggleDebugging):

2010-12-29  Dirk Schulze  <krit@webkit.org>

        Reviewed by Darin Adler.

        Cleanup SVG code according to the webkit style rules 3
        https://bugs.webkit.org/show_bug.cgi?id=51490

        Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
        Just one file can't be fixed for check-webkit-style.
        * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning

        No changes of functionality, so no new tests. 

        * svg/SVGAllInOne.cpp:
        * svg/SVGImage.cpp:
        * svg/SVGLength.cpp:
        (WebCore::SVGLength::setValue):
        * svg/SVGPolygonElement.h:
        * svg/SVGPolylineElement.h:
        * svg/SVGPreserveAspectRatio.cpp:
        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
        (WebCore::SVGPreserveAspectRatio::transformRect):
        * svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::viewport):
        * svg/SVGSetElement.h:
        * svg/SVGStylable.h:
        (WebCore::SVGStylable::~SVGStylable):
        * svg/SVGStyledLocatableElement.h:
        (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
        (WebCore::SVGStyledLocatableElement::isStyledLocatable):
        * svg/SVGStyledTransformableElement.cpp:
        (WebCore::SVGStyledTransformableElement::isKnownAttribute):
        * svg/SVGSwitchElement.cpp:
        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
        * svg/SVGTests.cpp:
        (WebCore::SVGTests::parseMappedAttribute):
        * svg/SVGTextContentElement.cpp:
        (WebCore::SVGTextContentElement::isKnownAttribute):
        * svg/SVGTextPathElement.cpp:
        * svg/SVGTextPathElement.h:
        * svg/SVGTitleElement.h:
        (WebCore::SVGTitleElement::rendererIsNeeded):
        * svg/SVGTransformDistance.cpp:
        (WebCore::SVGTransformDistance::SVGTransformDistance):
        (WebCore::SVGTransformDistance::scaledDistance):
        (WebCore::SVGTransformDistance::addSVGTransforms):
        (WebCore::SVGTransformDistance::addSVGTransform):
        (WebCore::SVGTransformDistance::addToSVGTransform):
        (WebCore::SVGTransformDistance::isZero):
        * svg/SVGTransformList.cpp:
        * svg/SVGURIReference.cpp:
        (WebCore::SVGURIReference::getTarget):
        * svg/SVGVKernElement.h:
        * svg/SVGViewSpec.cpp:
        (WebCore::SVGViewSpec::parseViewSpec):
        * svg/SVGZoomAndPan.h:
        (WebCore::SVGZoomAndPan::SVGZoomAndPan):
        (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
        (WebCore::SVGZoomAndPan::zoomAndPan):
        * svg/SVGZoomEvent.h:
        (WebCore::SVGZoomEvent::create):
        * svg/animation/SMILTime.cpp:
        (WebCore::operator*):
        * svg/animation/SMILTime.h:
        (WebCore::SMILTime::SMILTime):
        (WebCore::SMILTime::unresolved):
        (WebCore::SMILTime::indefinite):
        (WebCore::SMILTime::operator=):
        (WebCore::SMILTime::value):
        (WebCore::SMILTime::isFinite):
        (WebCore::SMILTime::isIndefinite):
        (WebCore::SMILTime::isUnresolved):
        (WebCore::operator==):
        (WebCore::operator!): new operator checks for 0 or infinite values.
        (WebCore::operator!=):
        (WebCore::operator>):
        (WebCore::operator<):
        (WebCore::operator>=):
        (WebCore::operator<=):
        * svg/animation/SMILTimeContainer.h:
        (WebCore::SMILTimeContainer::create):
        (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::ConditionEventListener::operator==):
        (WebCore::SVGSMILElement::repeatingDuration):
        (WebCore::SVGSMILElement::resolveInterval):
        (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
        * svg/animation/SVGSMILElement.h:
        (WebCore::SVGSMILElement::timeContainer):
        (WebCore::SVGSMILElement::intervalBegin):
        (WebCore::SVGSMILElement::intervalEnd):
        (WebCore::SVGSMILElement::previousIntervalBegin):
        (WebCore::SVGSMILElement::documentOrderIndex):
        (WebCore::SVGSMILElement::setDocumentOrderIndex):
        * svg/graphics/SVGImage.h:
        (WebCore::SVGImage::create):
        (WebCore::SVGImage::destroyDecodedData):
        (WebCore::SVGImage::decodedSize):
        (WebCore::SVGImage::frameAtIndex):
        * svg/graphics/filters/SVGFilterBuilder.h:
        (WebCore::SVGFilterBuilder::create):
        (WebCore::SVGFilterBuilder::lastEffect):
        (WebCore::SVGFilterBuilder::getEffectReferences):
        (WebCore::SVGFilterBuilder::addBuiltinEffects):

2010-12-29  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Darin Adler.

        ASSERT(oldchild->parent() == owner) fails.
        https://bugs.webkit.org/show_bug.cgi?id=50480

        In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
        is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
        assertion failure when removeChildNode executes on the child(equal to prev or next).
        Fix a typo in canMergeContiguousAnonymousBlocks.

        Test: fast/multicol/span/double-merge-anonymous-block-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
        (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.

2010-12-29  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        Check SVG element type in FrameView::scrollToAnchor
        https://bugs.webkit.org/show_bug.cgi?id=51718

        Test: svg/custom/scroll-to-anchor-in-symbol.svg

        * page/FrameView.cpp:
        (WebCore::FrameView::scrollToAnchor):

2010-12-29  Anton Muhin  <antonm@chromium.org>

        Reviewed by Eric Seidel.

        [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
        https://bugs.webkit.org/show_bug.cgi?id=51704

        * bindings/v8/V8DOMWindowShell.cpp:
        * bindings/v8/V8DOMWindowShell.h:

2010-12-29  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Darin Adler.

        Use a HashMap for m_continuation to save memory
        https://bugs.webkit.org/show_bug.cgi?id=43716

        Saving memory consumption by applying a HashMap convention to
        continuation pointers of RenderInline and RenderBlock classes.

        * rendering/RenderBlock.cpp: Removed m_continuation.
        (WebCore::RenderBlock::RenderBlock):
        (WebCore::RenderBlock::destroy):
        (WebCore::RenderBlock::inlineElementContinuation):
        (WebCore::RenderBlock::blockElementContinuation):
        * rendering/RenderBlock.h: Removed m_continuation.
        * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
        (WebCore::RenderBoxModelObject::destroy): Added an assertion.
        (WebCore::RenderBoxModelObject::continuation): Added.
        (WebCore::RenderBoxModelObject::setContinuation): Added.
        * rendering/RenderBoxModelObject.h:
        * rendering/RenderInline.cpp: Removed m_continuation.
        (WebCore::RenderInline::RenderInline):
        (WebCore::RenderInline::destroy):
        (WebCore::RenderInline::inlineElementContinuation):
        * rendering/RenderInline.h: Removed m_continuation.

2010-12-27  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>

        Reviewed by Martin Robinson.

        [GTK] Enable building whatever already exists of WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=37369

        No new functionality added or deleted. Only makefile change. Hence, no tests added.

        * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
        added them to WebKit/gtk/GNUmakefile.am
        * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
        and declare WEBKIT_API directly

2010-12-29  Eric Seidel  <eric@webkit.org>

        Unreviewed.

        Simplify make-hash-tools.pl
        https://bugs.webkit.org/show_bug.cgi?id=49922

        Added HashTools.h to the project file now that its not autogenerated.
        I also sorted the project file using sort-xcode-project-file

        * WebCore.xcodeproj/project.pbxproj:

2010-12-29  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: revert r74755 and 74757.

2010-12-29  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Sam Weinig.

        JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
        https://bugs.webkit.org/show_bug.cgi?id=51722

        Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
        methods the fastcall calling convention, which leads to runtime errors when they are
        called from C++. Also remove a bit of unnecessary code duplication.

        No new tests. This is covered by fast/canvas/webgl/data-view-test.html.

        * bindings/js/JSDataViewCustom.cpp:
        (WebCore::getDataViewMember): Remove duplicated code.
        (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
        (WebCore::JSDataView::getUint8): Ditto.
        (WebCore::JSDataView::getFloat32): Ditto.
        (WebCore::JSDataView::getFloat64): Ditto.
        (WebCore::setDataViewMember): Remove duplicated code.
        (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
        (WebCore::JSDataView::setUint8): Ditto.

2010-12-29  Dan Bernstein  <mitz@apple.com>

        Reviewed by Kenneth Russel.

        A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
        CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
        attach-type style recalc.
        * html/HTMLCanvasElement.h:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
        r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
        (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
        Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
        and update the font if it is invalid.
        * platform/graphics/Font.h:
        (WebCore::Font::loadingCustomFonts): Made this private.

2010-12-29  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: Qt build fix.

        * inspector/InspectorController.cpp:

2010-12-29  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: extract Database & DOM Storage
        agents; remove InspectorBackend.
        https://bugs.webkit.org/show_bug.cgi?id=51707

        This change brushes up storage agents + removes redundant
        InspectorBackend class.

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/InjectedScriptHost.cpp:
        (WebCore::InjectedScriptHost::databaseForId):
        (WebCore::InjectedScriptHost::selectDatabase):
        (WebCore::InjectedScriptHost::selectDOMStorage):
        (WebCore::InjectedScriptHost::inspectorDOMAgent):
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp: Removed.
        * inspector/InspectorBackend.h: Removed.
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::~InspectorController):
        (WebCore::InspectorController::connectFrontend):
        (WebCore::InspectorController::releaseFrontendLifetimeAgents):
        (WebCore::InspectorController::didUseDOMStorage):
        (WebCore::InspectorController::setInjectedScriptSource):
        (WebCore::InspectorController::dispatchOnInjectedScript):
        (WebCore::InspectorController::releaseWrapperObjectGroup):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMStorageAgent.cpp: Added.
        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
        * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
        (WebCore::InspectorDOMStorageAgent::create):
        (WebCore::InspectorDOMStorageAgent::frontend):
        * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
        (WebCore::InspectorDatabaseAgent::executeSQL):
        (WebCore::InspectorDatabaseAgent::databaseForId):
        (WebCore::InspectorDatabaseAgent::selectDatabase):
        (WebCore::InspectorDatabaseAgent::clearFrontend):
        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
        * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
        (WebCore::InspectorDatabaseAgent::create):
        (WebCore::InspectorDatabaseAgent::frontend):
        * inspector/InspectorFrontendClientLocal.cpp:
        * inspector/InspectorFrontendClientLocal.h:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.show):

2010-12-29  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
        https://bugs.webkit.org/show_bug.cgi?id=51067

        Typically when a script element is removed from the document, the cached script
        client is removed. However, during the before load event, the cached script client
        hasn't been created yet so it can't be removed.

        This patch handles that case by explicitly checking if the script element was
        removed during the beforeload event. Also, it avoids caching the Document references
        over the arbitrary script execution in the before load event.

        Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
              fast/dom/HTMLScriptElement/remove-in-beforeload.html

        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::requestScript):

2010-12-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
        https://bugs.webkit.org/show_bug.cgi?id=51703

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::drawElementTitle):

2010-12-29  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Kent Tamura.

        [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
        https://bugs.webkit.org/show_bug.cgi?id=29071

        Use InputType::rangeUnderflow() and InputType::rangeOverflow()
        to determine if a control is in-range or out-of-range.

        Tests: fast/css/pseudo-in-range-invalid-value.html
               fast/css/pseudo-in-range.html
               fast/css/pseudo-out-of-range.html

        * css/CSSSelector.cpp:
        (WebCore::CSSSelector::pseudoId):
        (WebCore::nameToPseudoTypeMap):
        (WebCore::CSSSelector::extractPseudoType):
        * css/CSSSelector.h:
        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        * dom/Element.h:
        (WebCore::Element::isInRange):
        (WebCore::Element::isOutOfRange):
        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
        * html/BaseDateAndTimeInputType.h:
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::isInRange):
        (WebCore::HTMLInputElement::isOutOfRange):
        * html/HTMLInputElement.h:
        * html/InputType.cpp:
        (WebCore::InputType::supportsRangeLimitation):
        * html/InputType.h:
        * html/NumberInputType.cpp:
        (WebCore::NumberInputType::supportsRangeLimitation):
        * html/NumberInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::supportsRangeLimitation):
        * html/RangeInputType.h:

2010-12-29  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Eric Seidel.

        When cloning an anonymous block, make sure to set the childrenInline flag based
        on the state of the block to be cloned.
        https://bugs.webkit.org/show_bug.cgi?id=51489

        Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
        (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().

2010-12-29  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix for WinCE after r73802.

        Reapply parts from r72585:
        Port ContextMenuWin.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48408

        * CMakeLists.txt:
        * platform/ContextMenu.h:
        * platform/win/ContextMenuWin.cpp:
        (WebCore::ContextMenu::getContextMenuItems):
        (WebCore::ContextMenu::createNativeMenuFromItems):

2010-12-29  Kent Hansen  <kent.hansen@nokia.com>

        Reviewed by Simon Hausmann.

        [Qt] Fix compilation with Qt in namespace
        https://bugs.webkit.org/show_bug.cgi?id=51701

        * platform/graphics/ContextShadow.h:
        * platform/graphics/GraphicsContext3D.h:
        * platform/network/NetworkingContext.h:
        * platform/network/qt/QtNAMThreadSafeProxy.h:
        * plugins/PluginView.h:

2010-12-28  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: A disabled style property should get enabled when edited
        https://bugs.webkit.org/show_bug.cgi?id=51679

        Test: inspector/styles-disable-then-change.html

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSProperty.prototype.setText):
        (WebInspector.CSSProperty.prototype.setText.callback):

2010-12-29  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Remove WebKitGenerators
        https://bugs.webkit.org/show_bug.cgi?id=50445

        * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.

2010-12-28  Pratik Solanki  <psolanki@apple.com>

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=51522
        Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()

        * page/win/FrameCGWin.cpp:
        (WebCore::imageFromRect):
        * platform/graphics/cg/GradientCG.cpp:
        (WebCore::Gradient::platformGradient):
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::paintToCanvas):
        * platform/graphics/cg/ImageCG.cpp:
        (WebCore::BitmapImage::checkForSolidColor):
        * platform/graphics/gstreamer/ImageGStreamerCG.mm:
        (ImageGStreamer::ImageGStreamer):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::CGContextWithHDC):
        (WebCore::GraphicsContext::releaseWindowsContext):
        (WebCore::GraphicsContext::drawWindowsBitmap):
        * platform/graphics/win/ImageCGWin.cpp:
        (WebCore::BitmapImage::create):
        (WebCore::BitmapImage::getHBITMAPOfSize):
        * platform/image-decoders/cg/ImageDecoderCG.cpp:
        (WebCore::createColorSpace):
        * platform/win/DragImageCGWin.cpp:
        (WebCore::allocImage):
        (WebCore::createCgContextFromBitmap):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
        (WebCore::RenderThemeMac::paintSliderTrack):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
        (WebCore::RenderThemeSafari::paintSliderTrack):

2010-12-28  Daniel Bates  <dbates@rim.com>

        Reviewed by Sam Weinig.

        Substitute // MARK: for compiler-specific #pragma mark
        https://bugs.webkit.org/show_bug.cgi?id=51657

        Fix compilation warnings about "#pragma mark" on GTK+ bots by
        substituting  "// MARK:" for "#pragma mark", which provides
        analogous code-bookmarking functionality under Xcode.

        * platform/graphics/cg/PathCG.cpp:
        * platform/graphics/mac/WebLayer.mm:

2010-12-28  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Eric Seidel.

        [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
        https://bugs.webkit.org/show_bug.cgi?id=51687

        Use a const reference instead of a copy of QPainter::combinedTransform() 
        in GraphicsContext::getCTM()

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::getCTM):

2010-12-28  Takashi Toyoshima  <toyoshim@google.com>

        Reviewed by Eric Seidel.

        gcc detected 'control reaches end of non-void function' with
        -finstrument-functions option.
        https://bugs.webkit.org/show_bug.cgi?id=51669

        No new tests. These fixes are trivial.

        * dom/Element.cpp:
        (WebCore::Element::childTypeAllowed):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::cachedResourceTypeString):

2010-12-28  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Eric Seidel.

        Remove unused member of PendingScript
        https://bugs.webkit.org/show_bug.cgi?id=51684

        This was used when HTMLScriptRunner::runScript created a PendingScript
        for inline scripts. But now it just calls executeScript() directly.
        External scripts always have the minimum starting line number.

        No new tests because no changed functionality.

        * dom/PendingScript.cpp:
        (WebCore::PendingScript::releaseElementAndClear):
        * dom/PendingScript.h:
        (WebCore::PendingScript::PendingScript):
        (WebCore::PendingScript::operator=):
        * html/parser/HTMLScriptRunner.cpp:
        (WebCore::HTMLScriptRunner::sourceFromPendingScript):

2010-12-20  Antonio Gomes  <agomes@rim.com>

        Reviewed by Daniel Bates.

        Spatial Navigation: code clean up (Part VI)
        https://bugs.webkit.org/show_bug.cgi?id=50666

        No new tests needed.

        * page/FocusController.cpp:
        (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
        isElementNode() now that we are bailing out earlier in both the
        FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
        * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
        and virtualRectForAreaElementAndDirection functions.
        (WebCore::FocusController::findFocusCandidateInContainer):
        (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
        of canScrollInDirection(), and added an early return if !isElementNode().
        (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
        virtualRectForAreaElementAndDirection();
        * page/SpatialNavigation.cpp:
        (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
        (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
        (WebCore::scrollInDirection): Adjusted callsite after function name change;
        (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
        a documentNode.
        (WebCore::canScrollInDirection): Signature changed.
        (WebCore::canBeScrolledIntoView): Ditto.
        (WebCore::virtualRectForAreaElementAndDirection): Ditto.

2010-12-28  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Fix tiled compositor assertion after GPU process recovery.
        https://bugs.webkit.org/show_bug.cgi?id=51682

        After the GPU process recovers, the layer size is set to IntSize(),
        but IntRect::unite() has a special case for empty rects.  This
        behavior was causing the layer size to be too small, causing an
        out-of-bounds array access elsewhere.

        No new tests.

        * platform/graphics/chromium/LayerTilerChromium.cpp:
        (WebCore::LayerTilerChromium::growLayerToContain):

2010-12-23  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Initialize to 0 for undefined values in CopyTexImage2D
        https://bugs.webkit.org/show_bug.cgi?id=51421

        * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
        (WebCore::WebGLFramebuffer::WebGLFramebuffer):
        (WebCore::WebGLFramebuffer::setAttachment):
        (WebCore::WebGLFramebuffer::getWidth):
        (WebCore::WebGLFramebuffer::getHeight):
        (WebCore::WebGLFramebuffer::getColorBufferFormat):
        * html/canvas/WebGLFramebuffer.h:
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
        (WebCore::WebGLRenderingContext::framebufferTexture2D):
        (WebCore::WebGLRenderingContext::renderbufferStorage):
        (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
        (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
        (WebCore::WebGLTexture::getInternalFormat):
        (WebCore::WebGLTexture::getWidth):
        (WebCore::WebGLTexture::getHeight):
        (WebCore::WebGLTexture::mapTargetToIndex):
        (WebCore::WebGLTexture::getLevelInfo):
        * html/canvas/WebGLTexture.h:
        (WebCore::WebGLTexture::isTexture):
        * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
        * platform/graphics/qt/GraphicsContext3DQt.cpp:
        (WebCore::GraphicsContext3D::getInternalFramebufferSize):

2010-12-23  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
        https://bugs.webkit.org/show_bug.cgi?id=39855

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
        (WebCore::WebGLRenderingContext::scissor): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::texImage2D): Ditto.
        (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
        (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::viewport): Ditto.
        (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:

2010-12-28  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Kenneth Russell.

        Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
        process of loading.
        https://bugs.webkit.org/show_bug.cgi?id=51681

        Test: canvas/philip/tests/2d.text-custom-font-load-crash.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
        * platform/graphics/Font.cpp:
        (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
        (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
        (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
        * platform/graphics/Font.h:
        (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.

2010-12-28  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Eric Seidel.

        Combine setShadowRoot and clearShadowRoot into a simpler API
        https://bugs.webkit.org/show_bug.cgi?id=50971

        No change in behavior, and API is not used yet.

        * dom/Element.cpp:
        (WebCore::Element::setShadowRoot): Combined clearing and setting of
            the shadowRoot, also hooked up with setting and clearing of the
            corresponding shadowHost values.
        * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
            private.
        * dom/Node.h: Made shadow host-related functions public so that
            Element::setShadowRoot can access setShadowHost. It seems logical
            to make shadowHost public as well to keep the defs together.

2010-12-28  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
        Do not request content for resources with non-numeric identifiers.
        https://bugs.webkit.org/show_bug.cgi?id=49727

        Test: http/tests/inspector/extensions-resources-redirect.html

        * inspector/front-end/NetworkManager.js:
        (WebInspector.NetworkManager.prototype._appendRedirect):

2010-12-28  Ilya Tikhonovsky  <loislo@chromium.org>

        Unreviewed build fix for Qt.

        ResourceTreeModel.js was added.

        * inspector/front-end/WebKit.qrc:

2010-12-28  Mikhail Naganov  <mnaganov@chromium.org>

        Reviewed by Pavel Feldman.

        [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.

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

        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype._reset):

2010-12-28  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
        https://bugs.webkit.org/show_bug.cgi?id=51663

        The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
        optional quotes/apostrophes and spaces are now allowed inside uri(...).

        Test: inspector/styles-url-linkify.html

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):

2010-12-21  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.

        Domain was changed for Resources, FileSystem etc. related methods.
        ResourcesManager was renamed to NetworkManager.
        ResourceTreeModel was extracted as separate file.
        FileSystem, Database, DOMStorage and ApplicationCache methods were
        removed from NetworkManager and added to corresponding classes.

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

        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/Inspector.idl:
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.clearMessages):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.ApplicationCache.updateApplicationCacheStatus):
        (WebInspector.ApplicationCache.updateNetworkState):
        * inspector/front-end/DOMStorage.js:
        (WebInspector.DOMStorage.addDOMStorage):
        (WebInspector.DOMStorage.selectDOMStorage):
        (WebInspector.DOMStorage.updateDOMStorage):
        * inspector/front-end/Database.js:
        (WebInspector.Database.prototype.executeSql):
        (WebInspector.Database.addDatabase):
        (WebInspector.Database.selectDatabase):
        (WebInspector.Database.sqlTransactionSucceeded):
        (WebInspector.Database.sqlTransactionFailed):
        * inspector/front-end/FileSystemView.js:
        (WebInspector.FileSystem.didGetFileSystemPath):
        (WebInspector.FileSystem.didGetFileSystemError):
        (WebInspector.FileSystem.didGetFileSystemDisabled):
        * inspector/front-end/NetworkItemView.js:
        (WebInspector.NetworkItemView):
        * inspector/front-end/NetworkManager.js: Added.
        (WebInspector.NetworkManager):
        (WebInspector.NetworkManager.prototype._createResource):
        (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
        (WebInspector.NetworkManager.prototype.willSendRequest):
        (WebInspector.NetworkManager.prototype._updateResourceWithRequest):
        (WebInspector.NetworkManager.prototype._appendRedirect):
        (WebInspector.NetworkManager.prototype.markResourceAsCached):
        (WebInspector.NetworkManager.prototype.didReceiveResponse):
        (WebInspector.NetworkManager.prototype._updateResourceWithResponse):
        (WebInspector.NetworkManager.prototype.didReceiveContentLength):
        (WebInspector.NetworkManager.prototype.didFinishLoading):
        (WebInspector.NetworkManager.prototype.didFailLoading):
        (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
        (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
        (WebInspector.NetworkManager.prototype.setInitialContent):
        (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
        (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
        (WebInspector.NetworkManager.prototype.didCreateWebSocket):
        (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
        (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
        (WebInspector.NetworkManager.prototype.didCloseWebSocket):
        (WebInspector.NetworkManager.prototype._processCachedResources):
        (WebInspector.NetworkManager.prototype._addFramesRecursively):
        (WebInspector.NetworkManager.requestContent):
        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkPanel.prototype.refreshResource):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._innerRequestContent):
        * inspector/front-end/ResourceManager.js: Removed.
        * inspector/front-end/ResourceTreeModel.js: Added.
        (WebInspector.ResourceTreeModel):
        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
        (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
        (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
        (WebInspector.ResourceTreeModel.prototype._clearResources):
        (WebInspector.ResourceTreeModel.prototype.forAllResources):
        (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
        (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
        (WebInspector.ResourceTreeModel.prototype.bindResourceURL):
        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
        (WebInspector.ResourceTreeModel.createResource):
        * inspector/front-end/ResourceView.js:
        (WebInspector.ResourceView.createResourceView):
        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
        (WebInspector.ResourceView.resourceViewForResource):
        (WebInspector.ResourceView.recreateResourceView):
        (WebInspector.ResourceView.existingResourceViewForResource):
        * inspector/front-end/ResourcesPanel.js:
        (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
        (WebInspector.ResourcesPanel.prototype.showSourceLine):
        (WebInspector.ResourcesPanel.prototype.showResource):
        (WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
        (WebInspector.ResourcesPanel.prototype.get searchableViews):
        (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addScript):
        (WebInspector.ScriptsPanel.prototype.reset):
        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.forAllResources):
        (WebInspector.resourceForURL):

2010-12-27  Helder Correia  <helder@sencha.com>

        Reviewed by Ariya Hidayat.

        ContextShadow should use AffineTransform instead of TransformationMatrix
        https://bugs.webkit.org/show_bug.cgi?id=51661

        ContextShadow needs the CTM to make sure shadows are not affected by
        transformations when drawing on a canvas. AffineTransform is sufficient
        in this case.

        Existing tests: fast/canvas/canvas*shadow*html

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::mustUseContextShadow):
        (WebCore::ContextShadow::adjustBlurDistance):
        (WebCore::ContextShadow::calculateLayerBoundingRect):
        * platform/graphics/ContextShadow.h:
        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::getTransformationMatrixFromContext):
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::getTransformationMatrixFromContext):

2010-12-27  Daniel Bates  <dbates@rim.com>

        Reviewed by Antonio Gomes.

        Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
        https://bugs.webkit.org/show_bug.cgi?id=51634

        Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
        to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
        This will make the names of these getters consistent with the naming convention we use for
        getters.

        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::insertedIntoDocument):
        * html/HTMLFrameElementBase.h:
        (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
        (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadSubframe):
        * page/FrameView.cpp:
        (WebCore::FrameView::init):
        * rendering/RenderEmbeddedObject.cpp:
        (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
        to marginWidth and marginHeight, respectively. This makes the names of these variables
        consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
        * rendering/RenderFrame.cpp:
        (WebCore::RenderFrame::viewCleared): Ditto.

2010-12-27  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Daniel Bates.

        [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
        https://bugs.webkit.org/show_bug.cgi?id=51654

        Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
        on some debug configurations.

        No new tests. This is already covered by current slider tests. It isn't crashing on
        the bots, but it does crash locally.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.

2010-12-27  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
        https://bugs.webkit.org/show_bug.cgi?id=51648

        * bindings/v8/ScriptController.cpp:
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8GCController.cpp:
        (WebCore::V8GCController::gcEpilogue):
        * bindings/v8/V8GCController.h:

2010-12-27  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Removed trailing spaces from a localized
        string to make it the same as the one used in the code.

        * English.lproj/localizedStrings.js:

2010-12-27  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Eric Seidel.

        Browser is failing 16 baseline test from Selector API Test Suite
        https://bugs.webkit.org/show_bug.cgi?id=42968

        Throw an exception if there is no argument to querySelector or 
        querySelectorAll. This replaces the current behavior of passing the string
        "undefined" as the argument.

        No new tests, just updating the existing results for 
        fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.

        * dom/Document.idl:
        * dom/DocumentFragment.idl:
        * dom/Element.idl:

2010-12-26  MORITA Hajime  <morrita@google.com>

        Reviewed by Dan Bernstein.

        For box-shadow, non-primary shadows should have specified radii.
        https://bugs.webkit.org/show_bug.cgi?id=51386

        On paintBoxShadow(), the spread value accidentally accumulated accidentally
        during the loop, which should be applied individually for radius of each shadow. 
        This change makes the radii for rects computed for each shadow.
        
        Test: fast/box-shadow/spread-multiple-normal.html

        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintBoxShadow):

2010-12-26  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Eric Seidel.

        Improve output of HTML parser benchmark
        https://bugs.webkit.org/show_bug.cgi?id=51611

        Calculate and show median, min and max values.

        * benchmarks/parser/html-parser.html:

2010-12-26  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Simon Fraser.

        Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. 
        https://bugs.webkit.org/show_bug.cgi?id=48772

        Test: fast/multicol/renderer-positioned-assert-crash.html

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::paintPaginatedChildLayer):
        (WebCore::RenderLayer::hitTestPaginatedChildLayer):

2010-12-25  Peter Rybin  <peter.rybin@gmail.com>

        Reviewed by Adam Barth.

        Adds currentColumn (and currentLine) to SegmentedString. Switches
        HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
        needs position for a <script> tag.

        SegmentedString should provide column position
        https://bugs.webkit.org/show_bug.cgi?id=51311

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
        (WebCore::HTMLDocumentParser::textPosition):
        * html/parser/HTMLInputStream.h:
        (WebCore::HTMLInputStream::current):
        (WebCore::InsertionPointRecord::InsertionPointRecord):
        (WebCore::InsertionPointRecord::~InsertionPointRecord):
        * html/parser/HTMLTreeBuilder.cpp:
        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
        (WebCore::HTMLTreeBuilder::processScriptStartTag):
        * html/parser/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::create):
        * platform/text/SegmentedString.cpp:
        (WebCore::SegmentedString::operator=):
        (WebCore::SegmentedString::numberOfCharactersConsumedSlow):
        (WebCore::SegmentedString::advanceSlowCase):
        (WebCore::SegmentedString::currentLine):
        (WebCore::SegmentedString::currentColumn):
        (WebCore::SegmentedString::setCurrentPosition):
        * platform/text/SegmentedString.h:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::advancePastNewline):
        (WebCore::SegmentedString::advance):
        (WebCore::SegmentedString::numberOfCharactersConsumed):

2010-12-25  Andreas Kling  <kling@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        GraphicsContext: Don't pass StrokeStyle (enum) as const reference
        https://bugs.webkit.org/show_bug.cgi?id=51608

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setStrokeStyle):
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        * platform/graphics/openvg/PainterOpenVG.cpp:
        (WebCore::PainterOpenVG::setStrokeStyle):
        * platform/graphics/openvg/PainterOpenVG.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeStyle):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformStrokeStyle):

2010-12-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Alexey Proskuryakov.

        REGRESSION (r74648): XHR layout test failures
        https://bugs.webkit.org/show_bug.cgi?id=51603

        Reverted r74648.

        * WebCore.exp.in:

2010-12-24  Dan Bernstein  <mitz@apple.com>

        Try to fix the Qt build after r74648.

        * WebCore.gypi:
        * WebCore.pro:
        * platform/network/qt/CredentialStorageQt.cpp: Added.
        (WebCore::CredentialStorage::getFromPersistentStorage):

2010-12-24  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        CSSStyleSelector cleanup
        https://bugs.webkit.org/show_bug.cgi?id=51597

        Make some methods const. Add assertion to checkOneSelector, with the
        intention of later removing the if (!e) check (this is hot code).

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::locateCousinList):
        (WebCore::CSSStyleSelector::canShareStyleWithElement):
        (WebCore::CSSStyleSelector::locateSharedStyle):
        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
        (WebCore::CSSStyleSelector::mmLength):
        (WebCore::CSSStyleSelector::inchLength):
        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
        (WebCore::CSSStyleSelector::hasSelectorForAttribute):
        * css/CSSStyleSelector.h:
        (WebCore::CSSStyleSelector::fontSelector):

2010-12-24  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8758386> The web process uses its own credential storage
        https://bugs.webkit.org/show_bug.cgi?id=51599

        * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
        and Credential::isEmpty().

2010-12-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Darin Adler.

        [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
        https://bugs.webkit.org/show_bug.cgi?id=51595

        * WebCore.gypi:
        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
        (WebCore::V8EventListener::V8EventListener):
        (WebCore::V8EventListener::getListenerFunction):
        (WebCore::V8EventListener::callListenerFunction):
        * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
        (WebCore::V8EventListener::create):
        * bindings/v8/V8EventListenerList.h:
        * bindings/v8/V8WorkerContextEventListener.h:
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        * bindings/v8/custom/V8LocationCustom.cpp:
        * bindings/v8/custom/V8NodeCustom.cpp:
        * bindings/v8/custom/V8NotificationCenterCustom.cpp:

2010-12-24  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] Show current time / total in media player
        https://bugs.webkit.org/show_bug.cgi?id=51535

        * css/mediaControlsGtk.css:
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
        (WebCore::RenderThemeGtk::paintMediaCurrentTime):
        * platform/gtk/RenderThemeGtk.h:

2010-12-24  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Eric Seidel.

        Clean up CSSRuleData in CSSStyleSelector.h
        https://bugs.webkit.org/show_bug.cgi?id=27753

        Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSRuleData::CSSRuleData):
        (WebCore::CSSRuleData::~CSSRuleData):
        (WebCore::CSSRuleData::position):
        (WebCore::CSSRuleData::rule):
        (WebCore::CSSRuleData::selector):
        (WebCore::CSSRuleData::next):
        (WebCore::CSSRuleDataList::CSSRuleDataList):
        (WebCore::CSSRuleDataList::~CSSRuleDataList):
        (WebCore::CSSRuleDataList::first):
        (WebCore::CSSRuleDataList::last):
        (WebCore::CSSRuleDataList::append):
        * css/CSSStyleSelector.h:

2010-12-24  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix compilation on Windows.

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
        * inspector/InspectorStyleSheet.h:

2010-12-24  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Darin Adler.

        inspector/debugger-step-out.html crashing intermittently in the bots
        https://bugs.webkit.org/show_bug.cgi?id=50868

        Use RefPtr rather instead of raw pointers when keeping references
        to refcounted objects.

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::getStylesForNode2):
        (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyle::create):
        (WebCore::InspectorStyle::InspectorStyle):
        (WebCore::InspectorStyle::buildObjectForStyle):
        (WebCore::InspectorStyle::setPropertyText):
        (WebCore::InspectorStyle::toggleProperty):
        (WebCore::InspectorStyle::styleText):
        (WebCore::InspectorStyle::populateAllProperties):
        (WebCore::InspectorStyle::replacePropertyInStyleText):
        (WebCore::InspectorStyleSheet::create):
        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
        (WebCore::InspectorStyleSheetForInlineStyle::create):
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * inspector/InspectorStyleSheet.h:
        (WebCore::InspectorStyle::cssStyle):
        (WebCore::InspectorStyleSheet::pageStyleSheet):

2010-12-24  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nikolas Zimmermann.

        SVGElementInstance::m_useElement should be cleared when use element is removed from document
        https://bugs.webkit.org/show_bug.cgi?id=51486

        Test: svg/custom/use-instanceRoot-with-use-removed.svg

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
        * svg/SVGElementInstance.h:
        (WebCore::SVGElementInstance::clearUseElement):
        * svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::removedFromDocument):
        (WebCore::ShadowTreeUpdateBlocker::if):
        (WebCore::SVGUseElement::detachInstance):
        (WebCore::SVGUseElement::detach):
        * svg/SVGUseElement.h:

2010-12-23  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Missing Localized Strings
        https://bugs.webkit.org/show_bug.cgi?id=51542

        Added missing strings: "WebSocket",  "Frames", "Text", "Transfer",
        "Preserve Log upon Navigation", and "Go to Line".

        * English.lproj/localizedStrings.js:

2010-12-24  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
        https://bugs.webkit.org/show_bug.cgi?id=51478

        Now the element attribute modifications (including "style") are tracked, which results in the
        source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
        on the "style" attribute modification through the Elements tree. Also, it appears that
        a complete "style" attribute removal destroys the inline style declaration
        (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).

        Test: inspector/elements-delete-inline-style.html

        * inspector/InspectorCSSAgent.cpp:
        (WebCore::InspectorCSSAgent::didModifyDOMAttr):
        * inspector/InspectorCSSAgent.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
        (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
        (WebCore::InspectorStyleSheetForInlineStyle::text):
        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
        * inspector/InspectorStyleSheet.h:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):

2010-12-24  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Andreas Kling.

        [chromium] Fix a style nit in the JPEG encoder
        https://bugs.webkit.org/show_bug.cgi?id=51574

        * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.

2010-12-23  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Maciej Stachowiak.

        Web Inspector: CSS shorthand properties expand unnecessarily
        https://bugs.webkit.org/show_bug.cgi?id=36304

        "border-radius" is a shorthand property that has a "non-standard" format and longhands, see
        http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
        standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
        This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
        appropriately when adding implicit longhands, thus they were added as normal properties
        found in the CSS (neither implicit, nor longhands). This is now fixed.

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseBorderRadius):

2010-12-24  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
        https://bugs.webkit.org/show_bug.cgi?id=51576

        Disallowed elements may be pruned from the shadow tree, leaving a null
        shadowTreeElement. We should check for that before setting attributes.

        Test: svg/custom/animate-disallowed-use-element.svg

        * svg/SVGAnimationElement.cpp:
        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):

2010-12-24  Evan Martin  <evan@chromium.org>

        Reviewed by Darin Adler.

        TextMetrics::width is an integer, but the member is a float
        https://bugs.webkit.org/show_bug.cgi?id=51566

        Change the return type to a float.

        No tests, fixing a compiler warning.
        (I was unable to produce a difference in the values exposed to pages
        with a float versus the previous conversion to an integer.)

        * html/TextMetrics.h:
        (WebCore::TextMetrics::width):

2010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Add option to enable Touch Events.
        https://bugs.webkit.org/show_bug.cgi?id=49125

        Add files for EFL to support TOUCH_EVENTS.

        * CMakeLists.txt:
        * CMakeListsEfl.txt:
        * platform/PlatformTouchEvent.h: Add EFL related constructor.
        * platform/PlatformTouchPoint.h: ditto.
        * platform/efl/PlatformTouchEventEfl.cpp: Added.
        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
        * platform/efl/PlatformTouchPointEfl.cpp: Added.
        (WebCore::PlatformTouchPoint::PlatformTouchPoint):

2010-12-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>

        Reviewed by Kenneth Rohde Christiansen.

        [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
        https://bugs.webkit.org/show_bug.cgi?id=51457

        WebKit EFL can't play html5 audio because of wrong mime type checking.
        So, 'application/octet-stream' is changed with an empty string.

        * platform/efl/MIMETypeRegistryEfl.cpp:
        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
        Returns an empty string instead of application/octet-stream when it can't find proper mime type.

2010-12-24  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        SVGFontFaceElement::rebuildFontFace() should exit when not in document
        https://bugs.webkit.org/show_bug.cgi?id=51571

        We were hitting a NULL deref crash. Since most of the callers checked
        inDocument() anyway, I moved it into the start of rebuildFontFace.

        Test: svg/custom/use-invalid-font-face.svg

        * svg/SVGFontFaceElement.cpp:
        (WebCore::SVGFontFaceElement::parseMappedAttribute):
        (WebCore::SVGFontFaceElement::rebuildFontFace):
        (WebCore::SVGFontFaceElement::childrenChanged):

2010-12-24  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Darin Adler.

        Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
        https://bugs.webkit.org/show_bug.cgi?id=51564

        This check was duplicating an ASSERT for a case fixed in r73927.
        Now that the bug is fixed the check is no longer necessary.

        Removing dead code, so no new tests needed.

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::canvasDestroyed):

2010-12-23  Evan Martin  <evan@chromium.org>

        Reviewed by Darin Adler.

        ViewportArguments.h uses an enum to intialize a bool
        https://bugs.webkit.org/show_bug.cgi?id=50982

        Initialize userScalable to true, rather than -1.
        No tests; fixes a compiler warning.

        * dom/ViewportArguments.h:
        (WebCore::ViewportArguments::ViewportArguments):

2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Adam Barth.

        [Qt] User name/password stripped from URLs
        https://bugs.webkit.org/show_bug.cgi?id=36232

        If a username but no password or no username but a password is present
        in a URL, QtWebKit won't send any authentication information down to Qt
        as it should.

        Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
               http/tests/xmlhttprequest/basic-auth-nouser.html

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::loadResourceSynchronously):

2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        queryCommandValue("FormatBlock") does not respect editing boundaries
        https://bugs.webkit.org/show_bug.cgi?id=51219

        Fixed the bug by checking the element we found in elementForFormatBlockCommand
        does not contain the editable root.

        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::elementForFormatBlockCommand):

2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        FormatBlock doesn't preserve typing style but it should
        https://bugs.webkit.org/show_bug.cgi?id=51140

        Fixed the bug by making preserveTypingStyle return true.

        Test: editing/execCommand/format-block-typing-style.html

        * editing/FormatBlockCommand.h:
        (WebCore::FormatBlockCommand::preservesTypingStyle):

2010-12-23  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Sam Weinig.

        Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
        https://bugs.webkit.org/show_bug.cgi?id=51563

        Add SecurityOrigin::create(const String& protocol, const String& host, int port).

        * WebCore.exp.in:
        Export the symbols for WebCore::SecurityOrigin::create(String, String, int).

        * page/SecurityOrigin.cpp:
        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
        Use the constant MaxAllowedPort.
        (WebCore::SecurityOrigin::create):
        Sanitizing based off of that done in createFromDatabaseIdentifier.
        * page/SecurityOrigin.h:

2010-12-23  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed build fix for WinCE after r73802.

        Reapply r70812:
        Port ContextMenuItemWin.cpp to WinCE
        https://bugs.webkit.org/show_bug.cgi?id=48407

        * platform/win/ContextMenuItemWin.cpp:

2010-12-23  Adam Barth  <abarth@webkit.org>

        Remove include of non-existant file.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:

2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        Selection becomes stale when CharacterData is manipulated directly
        https://bugs.webkit.org/show_bug.cgi?id=51389

        The bug was caused by SelectionController's not adjusting selection when CharacterData's
        m_data is modified by its API.

        Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
        CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
        textWillBeReplaced because inserting, replacing, or removing data may require moving
        the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).

        Also fixed the condition for determining whether or not a node intersects the selection
        in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
        failed to recognize certain cases when selection started and ended with non-zero offsets.

        Tests: editing/selection/character-data-mutation-crash.html
               editing/selection/character-data-mutation.html

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
        (WebCore::CharacterData::appendData): Ditto.
        (WebCore::CharacterData::insertData): Ditto.
        (WebCore::CharacterData::deleteData): Ditto.
        (WebCore::CharacterData::replaceData): Ditto.
        (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
        and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
        * dom/CharacterData.h:
        * editing/SelectionController.cpp:
        (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
        (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
        (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
        fixed the logic to figure out whether a node is inside the range or not.
        (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
        (WebCore::SelectionController::textWillBeReplaced): Added.
        * editing/SelectionController.h:

2010-12-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Remove unneeded V8 bindings files
        https://bugs.webkit.org/show_bug.cgi?id=51570

        * WebCore.gypi:
        * bindings/generic/BindingDOMWindow.h: Removed.
        * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.

2010-12-23  Dan Bernstein  <mitz@apple.com>

        Build fix.

        * editing/EditorCommand.cpp:
        (WebCore::enabledDismissCorrectionPanel):

2010-12-23  Darin Adler  <darin@apple.com>

        Try to fix crash seen on GTK bot.

        * editing/EditorCommand.cpp:
        (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.

        * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.

2010-12-23  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74561.
        http://trac.webkit.org/changeset/74561
        https://bugs.webkit.org/show_bug.cgi?id=51565

        "Broke Chromium UI tests on Vista" (Requested by kbr_google on
        #webkit).

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContentsIfDirty):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-12-23  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Kent Tamura.

        [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
        https://bugs.webkit.org/show_bug.cgi?id=51507
        
        Adds WebThemeEngine for the Mac (it already has parallel definitions for
        Windows and Linux) so that scrollbar thumb rendering can be overridden
        for the DRT (to be consistent with the NSScroller-based rendering
        used by the Mac port).

        No new tests since the functionality is not exposed yet. Eventually will
        result in the Chromium/Mac port being able to use the same pixel
        baselines for layout tests as the Mac port.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/ScrollbarThemeChromiumMac.mm:
        (WebCore::scrollbarStateToThemeState):
        (WebCore::ScrollbarThemeChromiumMac::paint):

2010-12-23  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        WKView should not try to do asynchronous validation for selectors that are not editor commands
        https://bugs.webkit.org/show_bug.cgi?id=51555

        * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
        * editing/Editor.h: Reordered arguments in the Editor::Command constructor
        and the data members too so the frame is last. Added
        commandIsSupportedFromMenuOrKeyBinding.

        * editing/EditorCommand.cpp:
        (WebCore::supported): Removed the EditorCommandSource argument. These
        functions are now only used when called from DOM.
        (WebCore::supportedFromMenuOrKeyBinding): Ditto.
        (WebCore::supportedCopyCut): Ditto.
        (WebCore::supportedPaste): Ditto.
        (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
        an enabled function. It was incorrect to say that this is "supported" only
        when the correction panel is up. Correct to say that it is "enabled" only
        then. And also probably OK to enable it even when the selection is not in
        editable text, as long as the panel is up.
        (WebCore::createCommandMap): Moved conditional commands out of the main
        array into a separate section at the end.
        (WebCore::internalCommand): Added.
        (WebCore::Editor::command): Changed to use the new internalCommand function
        and simplified by relying on the null check in the Command constructor.
        (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
        (WebCore::Editor::Command::Command): Removed unneeded initialization of
        m_source, which is never looked at if m_command is 0. Added feature of
        passing a null command pointer to the non-default constructor.
        (WebCore::Editor::Command::isSupported): Changed to only call the
        per-command isSupported function when the command source is DOM.
        Accordingly that function is now called isSupportedFromDOM.

2010-12-23  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
        https://bugs.webkit.org/show_bug.cgi?id=51560

        No new tests.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setAcceleratesDrawing):

2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
        https://bugs.webkit.org/show_bug.cgi?id=35635

        Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
        tag informing the OS that the data is in UTF-8 format.

        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeSelection):

2010-12-23  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Eric Seidel.

        CSSCursorImageValue destructor should clear referenced element.
        https://bugs.webkit.org/show_bug.cgi?id=51417

        Calls correct method to clear image and renames method to avoid future confusion.

        Test: svg/css/cursor-image-replace.svg

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::cursorImageValueRemoved):
        * svg/SVGElement.h:

2010-12-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        WebKit2 needs to mirror the frame tree in the UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=51546

        - Add client functions to notify that a frame has been added or
          removed from the page cache.

        * history/CachedFrame.cpp:
        (WebCore::CachedFrameBase::restore):
        (WebCore::CachedFrame::CachedFrame):
        * history/CachedFrame.h:
        * loader/EmptyClients.h:
        (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
        (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
        * loader/FrameLoaderClient.h:

2010-12-22  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
        This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
        https://bugs.webkit.org/show_bug.cgi?id=51279

        * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
        * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
        * platform/graphics/ImageBuffer.h: Use new flag
        * platform/graphics/cg/ImageBufferCG.cpp: Use new flag

2010-12-20  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        [chromium] Tile root layer of the compositor.
        https://bugs.webkit.org/show_bug.cgi?id=49947

        Refactor root layer update and drawing from LayerRendererChromium into
        LayerTilerChromium.  The root layer is now drawn as multiple tiles
        rather than as one single large texture.  Scrollbars are now drawn
        separately rather than as part of the root layer.

        Test: LayoutTests/compositing/

        * WebCore.gypi:
        * page/FrameView.cpp:
        (WebCore::FrameView::repaintContentRectangle):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::ScrollView):
        (WebCore::ScrollView::setClipsRepaints):
        * platform/ScrollView.h:
        (WebCore::ScrollView::clipsRepaints):
        * platform/graphics/chromium/LayerChromium.h:
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::~LayerRendererChromium):
        (WebCore::LayerRendererChromium::useShader):
        (WebCore::LayerRendererChromium::verticalScrollbarRect):
        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
        (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::setRootLayer):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
        (WebCore::LayerTilerChromium::create):
        (WebCore::LayerTilerChromium::LayerTilerChromium):
        (WebCore::LayerTilerChromium::~LayerTilerChromium):
        (WebCore::LayerTilerChromium::layerRendererContext):
        (WebCore::LayerTilerChromium::setTileSize):
        (WebCore::LayerTilerChromium::reset):
        (WebCore::LayerTilerChromium::createTile):
        (WebCore::LayerTilerChromium::invalidateTiles):
        (WebCore::LayerTilerChromium::contentRectToTileIndices):
        (WebCore::LayerTilerChromium::contentRectToLayerRect):
        (WebCore::LayerTilerChromium::layerRectToContentRect):
        (WebCore::LayerTilerChromium::tileIndex):
        (WebCore::LayerTilerChromium::tileContentRect):
        (WebCore::LayerTilerChromium::tileLayerRect):
        (WebCore::LayerTilerChromium::invalidateRect):
        (WebCore::LayerTilerChromium::invalidateEntireLayer):
        (WebCore::LayerTilerChromium::update):
        (WebCore::LayerTilerChromium::setLayerPosition):
        (WebCore::LayerTilerChromium::draw):
        (WebCore::LayerTilerChromium::resizeLayer):
        (WebCore::LayerTilerChromium::growLayerToContain):
        (WebCore::LayerTilerChromium::Tile::~Tile):
        (WebCore::LayerTilerChromium::Tile::releaseTextureId):
        * platform/graphics/chromium/LayerTilerChromium.h: Added.
        (WebCore::LayerTilerChromium::Tile::Tile):
        (WebCore::LayerTilerChromium::Tile::textureId):
        (WebCore::LayerTilerChromium::Tile::dirty):
        (WebCore::LayerTilerChromium::Tile::clearDirty):
        (WebCore::LayerTilerChromium::layerRenderer):

2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Eric Seidel.

        Editor.h doesn't need to include SelectionController.h
        https://bugs.webkit.org/show_bug.cgi?id=51441

        Removed #include <Selection.h> from Editor.h.
        Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
        to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h

        * WebCore.exp.in: Signature changes.
        * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
        * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
        * editing/Editor.cpp:
        (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
        (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
        * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
        and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
        * editing/EditorCommand.cpp:
        (WebCore::executeDeleteBackward): Change due to SelectionDirection.
        (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
        (WebCore::executeDeleteForward): Ditto.
        (WebCore::executeDeleteToBeginningOfLine): Ditto.
        (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
        (WebCore::executeDeleteToEndOfLine): Ditto.
        (WebCore::executeDeleteToEndOfParagraph): Ditto.
        (WebCore::executeDeleteWordBackward): Ditto.
        (WebCore::executeDeleteWordForward): Ditto.
        (WebCore::executeForwardDelete): Ditto.
        (WebCore::executeMoveBackward): Ditto.
        (WebCore::executeMoveBackwardAndModifySelection): Ditto.
        (WebCore::executeMoveDown): Ditto.
        (WebCore::executeMoveDownAndModifySelection): Ditto.
        (WebCore::executeMoveForward): Ditto.
        (WebCore::executeMoveForwardAndModifySelection): Ditto.
        (WebCore::executeMoveLeft): Ditto.
        (WebCore::executeMoveLeftAndModifySelection): Ditto.
        (WebCore::executeMoveRight): Ditto.
        (WebCore::executeMoveRightAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfDocument): Ditto.
        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfLine): Ditto.
        (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfParagraph): Ditto.
        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
        (WebCore::executeMoveToBeginningOfSentence): Ditto.
        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfDocument): Ditto.
        (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfSentence): Ditto.
        (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfLine): Ditto.
        (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
        (WebCore::executeMoveToEndOfParagraph): Ditto.
        (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
        (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
        (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
        (WebCore::executeMoveUp): Ditto.
        (WebCore::executeMoveUpAndModifySelection): Ditto.
        (WebCore::executeMoveWordBackward): Ditto.
        (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
        (WebCore::executeMoveWordForward): Ditto.
        (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
        (WebCore::executeMoveWordLeft): Ditto.
        (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
        (WebCore::executeMoveWordRight): Ditto.
        (WebCore::executeMoveWordRightAndModifySelection): Ditto.
        (WebCore::executeMoveToLeftEndOfLine): Ditto.
        (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
        (WebCore::executeMoveToRightEndOfLine): Ditto.
        (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
        (WebCore::SelectionController::modify): Ditto.
        * editing/SelectionController.h: Change due to SelectionDirection.
        * editing/TypingCommand.cpp:
        (WebCore::TypingCommand::deleteKeyPressed): Ditto.
        (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
        * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
        in SelectionController.h
        * editing/WritingDirection.h: Added.
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::modify): Change due to SelectionDirection.
        (WebCore::DOMSelection::deleteFromDocument): Ditto.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
        * page/Frame.h: Includes SelectionController.h.

2010-12-23  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Move V8 to WebCore's implementation of showModalDialog
        https://bugs.webkit.org/show_bug.cgi?id=51527

        This code is basically verbatim translation from the JavaScriptCore
        bindings.  The only intentional difference is in the world selection
        for the dialog's frame.  I suspect JavaScriptCore's bindings have a
        subtle bug there.

        In this patch, I also remove a bunch of now-unneeded code in the
        generic bindings.

        * bindings/generic/BindingDOMWindow.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::DialogHandler::dialogCreated):
        (WebCore::setUpDialog):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::DialogHandler::DialogHandler):
        (WebCore::DialogHandler::dialogCreated):
        (WebCore::DialogHandler::returnValue):
        (WebCore::setUpDialog):
        (WebCore::V8DOMWindow::showModalDialogCallback):
        (WebCore::V8DOMWindow::openCallback):
        * bindings/v8/specialization/V8BindingDOMWindow.h:

2010-12-23  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Can't backspace from CSS value to CSS key field
        https://bugs.webkit.org/show_bug.cgi?id=51476

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):

2010-12-23  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
        https://bugs.webkit.org/show_bug.cgi?id=51186

        No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContentsIfDirty):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>

        Reviewed by Kenneth Rohde Christiansen.

        Fix check by undefined macro
        https://bugs.webkit.org/show_bug.cgi?id=51531

        Fix check by undefined macro

        When building EFL port with libsoup, BUILDING_GTK__ is not defined,
        leading to warnings during compile. We actually have to use an #ifdef
        instead of an #if.

        No change in functionality so no new tests.

        * platform/network/soup/cache/webkit/soup-cache.h:

2010-12-23  Jonathan Dixon  <joth@chromium.org>

        Reviewed by Steve Block.

        TouchEvents does not support multi-touch on a page with multiple touch targets
        https://bugs.webkit.org/show_bug.cgi?id=51258

        Test: fast/events/touch/multi-touch-grouped-targets.html

        * page/EventHandler.cpp:
        (WebCore::eventNameForTouchPointState):
        (WebCore::EventHandler::handleTouchEvent):
        Redesigned event handler to ensure all event targets involved in a given
        multitouch event get the appropriate event(s) fired.

        * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.

2010-12-23  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] media/audio-data-url.html fails since r75504
        https://bugs.webkit.org/show_bug.cgi?id=51525

        Make the GStreamer media-player advertize 3gpp mime-types as
        supported if the 3gp caps are in the typefind factories.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::mimeTypeCache):

2010-12-23  Kent Tamura  <tkent@chromium.org>

        Reviewed by Dimitri Glazkov.

        Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
        to InputTypes.
        https://bugs.webkit.org/show_bug.cgi?id=51093

        Move BeforeTextInserted and Wheel event handling, event forwarding to
        renderers, and the isindex form submission quirk code to InputTypes.
        Also, change the return types of InputType event handlers from 'bool'
        to 'void'. We use Event::defaultHandled() to decide whether event
        handling should be stopped.

        No new tests because this is just a refactoring.

        * html/BaseButtonInputType.cpp: bool->void changes
        (WebCore::BaseButtonInputType::handleKeydownEvent):
        (WebCore::BaseButtonInputType::handleKeypressEvent):
        (WebCore::BaseButtonInputType::handleKeyupEvent):
        * html/BaseButtonInputType.h: ditto.
        * html/BaseCheckableInputType.cpp: ditto.
        (WebCore::BaseCheckableInputType::handleKeydownEvent):
        (WebCore::BaseCheckableInputType::handleKeypressEvent):
        * html/BaseCheckableInputType.h: ditto.
        * html/BaseDateAndTimeInputType.cpp:
        (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
        (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
        * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
        * html/CheckboxInputType.cpp: bool->void change
        (WebCore::CheckboxInputType::handleKeyupEvent):
        * html/CheckboxInputType.h: ditto.
        * html/FileInputType.cpp: ditto.
        (WebCore::FileInputType::handleDOMActivateEvent):
        * html/FileInputType.h: ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
         - Change return-value handling of InputType event handlers
         - Move out beforeTextInserted/wheel event handling and isindex form quirk.
        * html/HTMLInputElement.h:
        (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
         Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
        * html/ImageInputType.cpp: bool->void change
        (WebCore::ImageInputType::handleDOMActivateEvent):
        * html/ImageInputType.h: ditto.
        * html/InputType.cpp: ditto.
        (WebCore::InputType::handleClickEvent):
        (WebCore::InputType::handleDOMActivateEvent):
        (WebCore::InputType::handleKeydownEvent):
        (WebCore::InputType::handleKeypressEvent):
        (WebCore::InputType::handleKeyupEvent):
        (WebCore::InputType::handleBeforeTextInsertedEvent):
        (WebCore::InputType::handleWheelEvent): Added default implementation.
        (WebCore::InputType::forwardEvent): ditto.
        (WebCore::InputType::formForSubmission): ditto.
        * html/InputType.h:
        * html/IsIndexInputType.cpp:
        (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
        * html/IsIndexInputType.h:
        * html/NumberInputType.cpp:
        (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
        (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
        (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
        (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
        * html/NumberInputType.h:
        * html/RadioInputType.cpp: bool->void changes.
        (WebCore::RadioInputType::handleClickEvent):
        (WebCore::RadioInputType::handleKeydownEvent):
        (WebCore::RadioInputType::handleKeyupEvent):
        * html/RadioInputType.h:
        * html/RangeInputType.cpp:
        (WebCore::RangeInputType::handleKeydownEvent): ditto.
        (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
        * html/RangeInputType.h:
        * html/ResetInputType.cpp: bool->void change.
        (WebCore::ResetInputType::handleDOMActivateEvent):
        * html/ResetInputType.h: ditto.
        * html/SubmitInputType.cpp: ditto.
        (WebCore::SubmitInputType::handleDOMActivateEvent):
        * html/SubmitInputType.h: ditto.
        * html/TextFieldInputType.cpp:
        (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
        (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
        (WebCore::TextFieldInputType::forwardEvent): ditto.
        * html/TextFieldInputType.h:

2010-12-23  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
        https://bugs.webkit.org/show_bug.cgi?id=51390

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):

2010-12-23  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Adam Barth.

        [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
        https://bugs.webkit.org/show_bug.cgi?id=51455

        Chromium uses the libpng compression defaults.  Good compression results,
        but at much larger run-time cost compared to other browsers.  Chrome is 2
        times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.

        libpng has supported alternative compression methods for some time, they
        better meet the dual goals of good compression and run-time cost for the
        on-line case, and are well-documented.  Here use Huffman encoding.  It's
        2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
        size is within 1% of the Safari 5.0.3 result independent of image size.

        No change in behaviour, so no new tests.

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.

2010-12-22  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Darin Fisher.

        [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
        https://bugs.webkit.org/show_bug.cgi?id=51321

        Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
        the "image/png" encoder case viz., compute the unpremultiplication in-place.
        See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.

        No new tests: canvas.toDataURL() is covered by existing tests.

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::preMultipliedBGRAtoRGBA):

2010-12-22  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Simon Fraser.

        Implement skewX() and skewY() for CSSMatrix.
        https://bugs.webkit.org/show_bug.cgi?id=38335

        * css/WebKitCSSMatrix.cpp:
        (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
        * css/WebKitCSSMatrix.h: Added skewX() and skewY().
        * css/WebKitCSSMatrix.idl: Added skewX() and skewY().

2010-12-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Support unprefixed box-shadow property
        https://bugs.webkit.org/show_bug.cgi?id=51448
        
        Add support for the box-shadow CSS property. We'll currently render this
        similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
        handling to match the spec.

        Test: fast/css/box-shadow.html

        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
        for box-shadow
        
        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::ShadowParseContext::ShadowParseContext):
        (WebCore::ShadowParseContext::commitValue):
        (WebCore::ShadowParseContext::commitLength):
        (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow

        * css/CSSPropertyNames.in: add box-shadow

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
        store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
        to adjust radii later.

        * css/SVGCSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
        
        * page/animation/AnimationBase.cpp:
        (WebCore::blendFunc):
        (WebCore::PropertyWrapperShadow::blend):
        (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
        
        * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::operator==):
        * rendering/style/ShadowData.h:
        (WebCore::ShadowData::ShadowData):
        (WebCore::ShadowData::isWebkitBoxShadow):

2010-12-22  Michael Saboff  <msaboff@apple.com>

        Reviewed by Sam Weinig.

        REGRESSION: Can't shadow/overwrite window.constructor 
        (causes TypeError exception)
        https://bugs.webkit.org/show_bug.cgi?id=48953

        Added code in the javascript code generator to create a setter for
        a constructor if the new extended attribute ReplaceableConstructor
        is present for the interface.

        * bindings/scripts/CodeGeneratorJS.pm:
        * page/DOMWindow.idl:

2010-12-22  Steve Lacey  <sjl@chromium.org>

        Reviewed by David Levin.

        Change css for chromium media controls to deal with the timeline
        not expanding when the current time disappears. This happens when
        the width of the control drops below 240px.

        This change results in a minor pixel difference - the timebar now
        aligns better with the time and when the time is not displayed is
        now perfectly centered. Disabling the affected tests for now
        and will rebaseline.

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

        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):

2010-12-22  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Simon Fraser.

        the shadow direction is negated in canvas context shadowOffsetY.
        https://bugs.webkit.org/show_bug.cgi?id=25619
        
        Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
        if we're not transforming shadows (i.e. are rendering in a canvas). Also
        use CG shadows if there's a non-translate/flip transform applied
        (shadow offsets are supposed to ignore transforms, but the naive/simple
        implementation was taking them into account).
        
        Also does the equivalent changes to FontCGWin.

        Test: fast/canvas/fillText-shadow.html

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::shadowsIgnoreTransforms):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::Font::drawGlyphs):

2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74503.
        http://trac.webkit.org/changeset/74503
        https://bugs.webkit.org/show_bug.cgi?id=51513

        breaks chromium mac debug compile (Requested by tonyg-cr on
        #webkit).

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContentsIfDirty):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-12-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Replace runtime checks for hyphenation API availability with compile-time checks.

        * platform/text/cf/HyphenationCF.cpp:
        (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
        search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
        (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
        It is identical to the implementation in Hyphenation.cpp.
        (WebCore::lastHyphenLocation): Ditto.

2010-12-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Cache snapshots of plug-ins before painting, to avoid script running during painting
        https://bugs.webkit.org/show_bug.cgi?id=51493
        
        When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
        or when printing), plug-ins which otherwise use the CA rendering model
        are sent a paint event. Some plug-ins may run script while handling this event,
        or out of process plug-ins may process queued requests at this time. Running
        script while inside layout or painting can have bad consequences, because it
        can result in arbitrary changes to the render tree.
        
        This patch avoids sending plug-ins paint events inside of painting. Instead,
        we ask the plug-ins to cache a snapshot before we paint, and then the software
        paint simply draws that snapshot.
        
        Requires manual test, because the bug happens when Safari does
        a page snapshot. It's not possible to tell the Test Netscape Plug-in
        to paint without laying out, making an automated test impossible.

        * manual-tests/plugins/plugin-paint-causes-layout.html: Added.

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::paintContents): Notify all enclosed widgets
        that a flattening paint is going to happen.
        (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 
        that tells the RenderView in all subframes to notify their widgets.

        * platform/Widget.h:
        (WebCore::Widget::notifyWidget): Generic method that can be used
        to send messages to widgets. Current messages are just 'before flattening paint'
        and 'after flattening paint'. Message has no payload.

        * rendering/RenderView.h:
        * rendering/RenderView.cpp:
        (WebCore::RenderView::getRetainedWidgets):
        (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
        since we use it in two places now.
        
        (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
        (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
        them all the message.

        * rendering/RenderWidget.h:
        * rendering/RenderWidget.cpp:
        (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.

2010-12-22  Adrienne Walker  <enne@google.com>

        Reviewed by Kenneth Russell.

        Fix null pointer deref when restoring a lost WebGL context.
        https://bugs.webkit.org/show_bug.cgi?id=51494

        No new tests, as context restored events are not currently testable.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::initializeNewContext):
        (WebCore::WebGLRenderingContext::restoreContext):

2010-12-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>

        Reviewed by Martin Robinson.

        [GTK] Building with Blob support fails again
        https://bugs.webkit.org/show_bug.cgi?id=51392

        Build fix.

        * GNUmakefile.am:

2010-12-22  Dan Bernstein  <mitz@apple.com>

        Reviewed by Anders Carlsson.

        canHyphenate() always returns true for the default locale
        https://bugs.webkit.org/show_bug.cgi?id=51506

        No test, since this change only affects performance.

        * platform/text/cf/HyphenationCF.cpp:
        (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
        (WebCore::::createValueForKey): Removed whitespace.

2010-12-22  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: script name gets parsed as HTML in Call stack panel
        https://bugs.webkit.org/show_bug.cgi?id=51468

        * inspector/front-end/Placard.js:
        (WebInspector.Placard.prototype.set subtitle):

2010-12-22  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        MediaPlayer should look for MIME type in data: URL
        https://bugs.webkit.org/show_bug.cgi?id=51195

        If no MIME type is passed from the media element for a data: URL, try to get it from
        the URL itself.

        No new tests are possible because the MIME type is just passed to the media engine.

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::MediaPlayer::load):

2010-12-22  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
        https://bugs.webkit.org/show_bug.cgi?id=51186

        No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.

        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContentsIfDirty):
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):

2010-12-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
        https://bugs.webkit.org/show_bug.cgi?id=51488

        Test: platform/mac/accessibility/aria-menubar.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::createARIARoleMap):

2010-12-22  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
        https://bugs.webkit.org/show_bug.cgi?id=51423

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
        * html/canvas/WebGLRenderingContext.h:

2010-12-22  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        [GTK] Compilation fixes with GTK+ 2.91.7
        https://bugs.webkit.org/show_bug.cgi?id=51487

        * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
        backwards compatibility, it's now defined again in GTK+ 3.x.
        * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
        initialize global static variables (!). These are called when the
        .so is loaded, and they now require GType to be initialized and
        will crash. Initialize them once from the ctor, which is a more
        common pattern anyway.
        (WebCore::initGdkAtoms): new method to initialize static variables.
        (WebCore::PasteboardHelper::PasteboardHelper): call it.
        * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
        using GTK+ 3.x, since it's no longer installed.

2010-12-22  Dirk Schulze  <krit@wbekit.org>

        Reviewed by Nikolas Zimmermann.

        Cleanup SVG code according to the webkit style rules 2
        https://bugs.webkit.org/show_bug.cgi?id=51461

        Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.

        No changes of functionality, so no new tests. 

        * svg/SVGFEDisplacementMapElement.cpp:
        (WebCore::SVGFEDisplacementMapElement::stringToChannel):
        * svg/SVGFEDistantLightElement.h:
        * svg/SVGFEFuncAElement.h:
        * svg/SVGFEFuncBElement.h:
        * svg/SVGFEFuncGElement.h:
        * svg/SVGFEFuncRElement.h:
        * svg/SVGFEMergeElement.cpp:
        (WebCore::SVGFEMergeElement::build):
        * svg/SVGFEMorphologyElement.cpp:
        * svg/SVGFEPointLightElement.h:
        * svg/SVGFESpecularLightingElement.cpp:
        (WebCore::SVGFESpecularLightingElement::findLights):
        * svg/SVGFESpotLightElement.h:
        * svg/SVGFitToViewBox.cpp:
        (WebCore::SVGFitToViewBox::parseViewBox):
        (WebCore::SVGFitToViewBox::isKnownAttribute):
        * svg/SVGFontFaceElement.cpp:
        (WebCore::cssPropertyIdForSVGAttributeName):
        * svg/SVGFontFaceElement.h:
        (WebCore::SVGFontFaceElement::associatedFontElement):
        * svg/SVGFontFaceNameElement.h:
        * svg/SVGFontFaceSrcElement.cpp:
        * svg/SVGFontFaceSrcElement.h:
        * svg/SVGFontFaceUriElement.h:
        * svg/SVGForeignObjectElement.h:
        * svg/SVGGlyphElement.cpp:
        (WebCore::parseArabicForm):
        (WebCore::parseOrientation):
        * svg/SVGGlyphElement.h:
        (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
        (WebCore::SVGGlyphIdentifier::inheritedValue):
        (WebCore::SVGGlyphIdentifier::operator==):
        (WebCore::SVGGlyphElement::rendererIsNeeded):
        * svg/SVGGlyphMap.h:
        (WebCore::GlyphMapNode::GlyphMapNode):
        (WebCore::GlyphMapNode::create):
        (WebCore::SVGGlyphMap::SVGGlyphMap):
        (WebCore::SVGGlyphMap::add):
        (WebCore::SVGGlyphMap::compareGlyphPriority):
        (WebCore::SVGGlyphMap::get):
        (WebCore::SVGGlyphMap::clear):
        * svg/SVGGradientElement.cpp:
        * svg/SVGHKernElement.cpp:
        * svg/SVGHKernElement.h:
        (WebCore::SVGHKernElement::rendererIsNeeded):
        * svg/SVGImageElement.h:
        * svg/SVGImageLoader.cpp:
        * svg/SVGImageLoader.h:
        * svg/SVGLangSpace.cpp:
        (WebCore::SVGLangSpace::parseMappedAttribute):
        (WebCore::SVGLangSpace::isKnownAttribute):
        * svg/SVGLangSpace.h:
        (WebCore::SVGLangSpace::xmllang):
        * svg/SVGMetadataElement.h:
        * svg/SVGMissingGlyphElement.h:
        (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
        * svg/SVGPaint.cpp:
        (WebCore::SVGPaint::cssText):
        * svg/SVGPaint.h:
        (WebCore::SVGPaint::create):
        (WebCore::SVGPaint::paintType):
        (WebCore::SVGPaint::isSVGPaint):
        * svg/SVGParserUtilities.cpp:
        * svg/SVGParserUtilities.h:
        (WebCore::isWhitespace):
        (WebCore::skipOptionalSpaces):
        (WebCore::skipOptionalSpacesOrDelimiter):
        * svg/SVGPathElement.cpp:
        * svg/SVGPathParserFactory.h:
        * svg/SVGPathSegList.h:

2010-12-22  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Sam Weinig.

        AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
        https://bugs.webkit.org/show_bug.cgi?id=51481

        Support aria-multiline and use it to change the role of an ARIA "textbox" 
        from AXTextArea to AXTextField.

        Test: platform/mac/accessibility/aria-multiline.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::ariaIsMultiline):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isPasswordField):
        (WebCore::AccessibilityObject::isTextControl):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
        * accessibility/AccessibilityRenderObject.h:
        * html/HTMLAttributeNames.in:

2010-12-22  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        CSS 2.1 failure: counter-increment-013 fails
        https://bugs.webkit.org/show_bug.cgi?id=51483
        
        Clamp the counter-increment property to the valid range of signed
        integers.

        Test: fast/css/counters/counter-increment-overflow.html

        * css/CSSParser.cpp:
        (WebCore::clampToSignedInteger):
        (WebCore::CSSParser::parseCounter):

2010-12-22  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        Changed WebKitTools to Tools in script build phases.

        * WebCore.xcodeproj/project.pbxproj:

2010-12-21  Vangelis Kokkevis  <vangelis@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Fixing crash with empty render surfaces.
        https://bugs.webkit.org/show_bug.cgi?id=51432

        Test: platform/chromium/compositing/empty-render-surface-crasher.html

        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::draw):

2010-12-21  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: persist JavaScript breakpoints in frontend settings.
        https://bugs.webkit.org/show_bug.cgi?id=48434

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::setStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.remove):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
        (WebInspector.JavaScriptBreakpoint):
        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        * inspector/front-end/SourceFrame.js:

2010-12-20  Antti Koivisto  <antti@apple.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=51354
        Don't block rendering and script execution on deferred stylesheets
        
        - Don't add low priority stylesheets to the document pending sheet count.
        - Resolve media attribute fully for the link element stylesheet load.

        Test: http/tests/local/stylesheet-and-script-load-order-media-print.html

        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::HTMLLinkElement):
        (WebCore::HTMLLinkElement::~HTMLLinkElement):
        (WebCore::HTMLLinkElement::setDisabledState):
        (WebCore::HTMLLinkElement::process):
        (WebCore::HTMLLinkElement::sheetLoaded):
        (WebCore::HTMLLinkElement::addPendingSheet):
        (WebCore::HTMLLinkElement::removePendingSheet):
        * html/HTMLLinkElement.h:

2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74473.
        http://trac.webkit.org/changeset/74473
        https://bugs.webkit.org/show_bug.cgi?id=51463

        broke compilation on leopard intel release (Requested by
        podivilov on #webkit).

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::setStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        (WebCore::InspectorController::breakpointsSettingKey):
        (WebCore::InspectorController::loadBreakpoints):
        (WebCore::InspectorController::saveBreakpoints):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::formatBreakpointId):
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
        (WebCore::InspectorDebuggerAgent::md5Base16):
        (WebCore::InspectorDebuggerAgent::loadBreakpoints):
        (WebCore::InspectorDebuggerAgent::saveBreakpoints):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.jsBreakpointId):
        (WebInspector.Breakpoint.prototype.set enabled):
        (WebInspector.Breakpoint.prototype.get id):
        (WebInspector.Breakpoint.prototype.set condition):
        (WebInspector.Breakpoint.prototype.remove):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
        (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
        (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
        (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
        (WebInspector.BreakpointManager.prototype._projectChanged):
        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
        (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
        (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
        (WebInspector.NativeBreakpointView.prototype.set enabled):
        (WebInspector.NativeBreakpointView.prototype.remove):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
        (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype.findBreakpoint):
        (WebInspector.DebuggerModel.prototype.reset):
        (WebInspector.DebuggerModel.prototype._setBreakpoint):
        (WebInspector.DebuggerModel.prototype._breakpointRemoved):
        (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
        (WebInspector.DebuggerModel.prototype.breakpointRestored):
        (WebInspector.DebuggerModel.prototype.pausedScript):
        (WebInspector.DebuggerModel.prototype.resumedScript):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.continueToLine):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
        (WebInspector.SourceFrame.prototype._contextMenu):
        (WebInspector.SourceFrame.prototype._mouseDown):
        (WebInspector.SourceFrame.prototype._continueToLine):
        (WebInspector.SourceFrame.prototype._setBreakpoint):

2010-12-21  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: persist JavaScript breakpoints in frontend settings.
        https://bugs.webkit.org/show_bug.cgi?id=48434

        * bindings/js/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/js/ScriptDebugServer.h:
        * bindings/v8/DebuggerScript.js:
        ():
        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::setBreakpoint):
        (WebCore::ScriptDebugServer::removeBreakpoint):
        * bindings/v8/ScriptDebugServer.h:
        * inspector/Inspector.idl:
        * inspector/InspectorBackend.cpp:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::enableDebuggerFromFrontend):
        (WebCore::InspectorController::setStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
        (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
        (WebCore::InspectorDebuggerAgent::setBreakpoint):
        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
        (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
        (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorDebuggerAgent.h:
        * inspector/front-end/Breakpoint.js:
        (WebInspector.Breakpoint):
        (WebInspector.Breakpoint.prototype.remove):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
        (WebInspector.JavaScriptBreakpoint):
        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        * inspector/front-end/SourceFrame.js:

2010-12-22  Dirk Schulze  <krit@wbekit.org>

        Reviewed by Nikolas Zimmermann.

        Cleanup SVG code according to the webkit style rules 1
        https://bugs.webkit.org/show_bug.cgi?id=51411

        First patch to fix indention and other style issues according to the WebKit style rules in the SVG code.

        No change of functionality. 

        * svg/ColorDistance.cpp:
        (WebCore::ColorDistance::isZero):
        * svg/ColorDistance.h:
        * svg/ElementTimeControl.h:
        (WebCore::ElementTimeControl::~ElementTimeControl):
        * svg/LinearGradientAttributes.h:
        (WebCore::LinearGradientAttributes::LinearGradientAttributes):
        (WebCore::LinearGradientAttributes::x1):
        (WebCore::LinearGradientAttributes::y1):
        (WebCore::LinearGradientAttributes::x2):
        (WebCore::LinearGradientAttributes::y2):
        (WebCore::LinearGradientAttributes::setX1):
        (WebCore::LinearGradientAttributes::setY1):
        (WebCore::LinearGradientAttributes::setX2):
        (WebCore::LinearGradientAttributes::setY2):
        (WebCore::LinearGradientAttributes::hasX1):
        (WebCore::LinearGradientAttributes::hasY1):
        (WebCore::LinearGradientAttributes::hasX2):
        (WebCore::LinearGradientAttributes::hasY2):
        * svg/RadialGradientAttributes.h:
        (WebCore::RadialGradientAttributes::RadialGradientAttributes):
        (WebCore::RadialGradientAttributes::cx):
        (WebCore::RadialGradientAttributes::cy):
        (WebCore::RadialGradientAttributes::r):
        (WebCore::RadialGradientAttributes::fx):
        (WebCore::RadialGradientAttributes::fy):
        (WebCore::RadialGradientAttributes::setCx):
        (WebCore::RadialGradientAttributes::setCy):
        (WebCore::RadialGradientAttributes::setR):
        (WebCore::RadialGradientAttributes::setFx):
        (WebCore::RadialGradientAttributes::setFy):
        (WebCore::RadialGradientAttributes::hasCx):
        (WebCore::RadialGradientAttributes::hasCy):
        (WebCore::RadialGradientAttributes::hasR):
        (WebCore::RadialGradientAttributes::hasFx):
        (WebCore::RadialGradientAttributes::hasFy):
        * svg/SVGAngle.cpp:
        * svg/SVGAnimateColorElement.h:
        * svg/SVGAnimateElement.cpp:
        (WebCore::SVGAnimateElement::calculateAnimatedValue):
        (WebCore::SVGAnimateElement::calculateDistance):
        * svg/SVGAnimateElement.h:
        * svg/SVGAnimateMotionElement.cpp:
        * svg/SVGAnimateMotionElement.h:
        * svg/SVGAnimatedNumber.h:
        * svg/SVGAnimationElement.cpp:
        (WebCore::parseKeyTimes):
        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
        (WebCore::SVGAnimationElement::updateAnimation):
        * svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::svgAttributeChanged):
        * svg/SVGColor.h:
        (WebCore::SVGColor::create):
        (WebCore::SVGColor::createCurrentColor):
        (WebCore::SVGColor::colorType):
        (WebCore::SVGColor::setRGBColor):
        (WebCore::SVGColor::color):
        (WebCore::SVGColor::isSVGColor):
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::svgAttributeChanged):
        * svg/SVGCursorElement.h:
        * svg/SVGDescElement.h:
        (WebCore::SVGDescElement::rendererIsNeeded):
        * svg/SVGDocument.cpp:
        * svg/SVGDocument.h:
        (WebCore::SVGDocument::create):
        (WebCore::SVGDocument::isSVGDocument):
        * svg/SVGElement.h:
        (WebCore::SVGElement::isStyled):
        (WebCore::SVGElement::isStyledTransformable):
        (WebCore::SVGElement::isStyledLocatable):
        (WebCore::SVGElement::isSVG):
        (WebCore::SVGElement::isFilterEffect):
        (WebCore::SVGElement::isGradientStop):
        (WebCore::SVGElement::isTextContent):
        (WebCore::SVGElement::isValid):
        (WebCore::SVGElement::svgAttributeChanged):
        (WebCore::SVGElement::synchronizeProperty):
        (WebCore::SVGElement::supplementalTransform):
        (WebCore::SVGElement::invalidateSVGAttributes):
        (WebCore::SVGElement::rendererIsNeeded):
        (WebCore::SVGElement::needsPendingResourceHandling):
        (WebCore::SVGElement::buildPendingResource):
        * svg/SVGElementInstance.h:
        (WebCore::SVGElementInstance::create):
        (WebCore::SVGElementInstance::correspondingElement):
        (WebCore::SVGElementInstance::correspondingUseElement):
        (WebCore::SVGElementInstance::shadowTreeElement):
        (WebCore::SVGElementInstance::parentNode):
        (WebCore::SVGElementInstance::previousSibling):
        (WebCore::SVGElementInstance::nextSibling):
        (WebCore::SVGElementInstance::firstChild):
        (WebCore::SVGElementInstance::lastChild):
        (WebCore::SVGElementInstance::ownerDocument):
        (WebCore::SVGElementInstance::toNode):
        (WebCore::SVGElementInstance::toSVGElementInstance):
        (WebCore::SVGElementInstance::hasChildNodes):
        (WebCore::SVGElementInstance::setFirstChild):
        (WebCore::SVGElementInstance::setLastChild):
        (WebCore::SVGElementInstance::setNextSibling):
        (WebCore::SVGElementInstance::setPreviousSibling):
        (WebCore::SVGElementInstance::refEventTarget):
        (WebCore::SVGElementInstance::derefEventTarget):
        * svg/SVGElementInstanceList.h:
        (WebCore::SVGElementInstanceList::create):
        * svg/SVGException.h:
        (WebCore::SVGException::create):
        (WebCore::SVGException::SVGException):
        * svg/SVGFEColorMatrixElement.cpp:
        (WebCore::SVGFEColorMatrixElement::parseMappedAttribute):
        * svg/SVGFEComponentTransferElement.cpp:
        (WebCore::SVGFEComponentTransferElement::build):
        * svg/SVGFEDiffuseLightingElement.cpp:
        (WebCore::SVGFEDiffuseLightingElement::findLights):
        * svg/SVGFont.cpp:
        (WebCore::convertEmUnitToPixel):
        * svg/SVGUseElement.cpp:
        (WebCore::isDirectReference):

2010-12-22  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        https://bugs.webkit.org/show_bug.cgi?id=51289
        Initial state of checkValidity() and :invalid are incorrect with <select required>

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::childrenChanged): setNeedsValidityCheck() after <select>'s children change.

2010-12-22  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Styles pane fails to display properties from a broken CSS rule correctly
        https://bugs.webkit.org/show_bug.cgi?id=51405

        Invoke markPropertyStart() after the parser has restored after an error.

        * css/CSSGrammar.y:

2010-12-22  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Assertion failure with <select multiple required>
        https://bugs.webkit.org/show_bug.cgi?id=51260

        Test: fast/css/pseudo-valid-select-click.html

        * dom/SelectElement.cpp: updateValidity() after selecting some options of ListBox-typed <select> elements to update valid() cache.
        (WebCore::SelectElement::updateListBoxSelection):

2010-12-21  Darin Adler  <darin@apple.com>

        Unreviewed correction to unreviewed build fix for r74447.

        Inappropriate code was left behind in sourceURI function for non-Dashboard platforms.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::sourceURI): Change the logic so all the bug-workaround
        logic is inside the #ifdef.

2010-12-21  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Darin Adler.

        Include the shadow color space as part of the GraphicsContext state
        https://bugs.webkit.org/show_bug.cgi?id=51420
        
        Include the ColorSpace for the shadow color as part of the graphics
        state. This will be used later for a shadow implementation that
        does not rely on platform shadow code.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::getShadow):
        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
        (WebCore::Font::drawComplexText):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/skia/SkiaFontWin.cpp:
        (WebCore::windowsCanHandleDrawTextShadow):
        * platform/graphics/win/FontCGWin.cpp:
        (WebCore::drawGDIGlyphs):
        (WebCore::Font::drawGlyphs):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::drawText):

2010-12-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        <rdar://problem/8668230> REGRESSION (r71884): Returning alternate requests from willSendRequest can prevent other requests from ever being sent
        https://bugs.webkit.org/show_bug.cgi?id=51413

        71884 was wrong in moving willSendRequest to ResourceLoader::start(). It’s wrong to do all the
        scheduling, which is host-dependent, before calling willSendRequest, because the latter can
        change the host.

        * loader/NetscapePlugInStreamLoader.cpp:
        (WebCore::NetscapePlugInStreamLoader::create): Check the return value from ResourceLoader::init()
        and return 0 if it is false.
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::init): Made this function return a boolean. Moved the call to willSendRequest()
        from start() into here. Return false if willSendRequest() canceled the request.
        (WebCore::ResourceLoader::start): Moved the call to willSendRequest() from here to init().
        * loader/ResourceLoader.h:
        * loader/SubresourceLoader.cpp:
        (WebCore::SubresourceLoader::create): Check the return value from ResourceLoader::init()
        and return 0 if it is false.

2010-12-21  Benjamin Kalman  <kalman@chromium.org>

        Reviewed by Darin Adler.

        Shift-End does not select to the end of the line
        https://bugs.webkit.org/show_bug.cgi?id=50610

        Let the VisiblePosition affinity for end of line selection to be set by
        visibleEnd/visibleStart rather than using end/start and always using UPSTREAM.

        Test: editing/selection/extend-to-line-boundary.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
        start/end.
        (WebCore::SelectionController::modifyExtendingForward): Don't explicitly use UPSTREAM affinity.

2010-12-21  Jan Erik Hanssen  <jhanssen@sencha.com>

        Reviewed by Simon Fraser.

        matrix3d() must take the zoom factor into account
        https://bugs.webkit.org/show_bug.cgi?id=51408

        Test: transforms/3d/general/matrix-with-zoom-3d.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createTransformOperations):

2010-12-21  Adam Barth  <abarth@webkit.org>

        Reviewed by Darin Adler.

        Move V8 to common implementation of window.open
        https://bugs.webkit.org/show_bug.cgi?id=51385

        I also changed some function names to match WebKit style.  There's a
        bunch of code we can remove in the generic bindings now.  I'll do that
        in the next patch.

        * bindings/generic/BindingDOMWindow.h:
        (WebCore::::open):
        * bindings/generic/BindingFrame.h:
        (WebCore::::navigateIfAllowed):
        * bindings/generic/BindingSecurity.h:
        (WebCore::::canAccessWindow):
        (WebCore::::allowPopUp):
        (WebCore::::shouldAllowNavigation):
        * bindings/generic/GenericBinding.h:
        (WebCore::completeURL):
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::toLexicalFrame):
        (WebCore::toDynamicFrame):
        * bindings/js/specialization/JSBindingState.cpp:
        (WebCore::::activeFrame):
        (WebCore::::firstFrame):
        * bindings/js/specialization/JSBindingState.h:
        * bindings/v8/V8Utilities.cpp:
        (WebCore::callingOrEnteredFrame):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::locationAccessorSetter):
        (WebCore::V8DOMWindow::openCallback):
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::activeWindow):
        (WebCore::::firstWindow):
        (WebCore::::activeFrame):
        (WebCore::::firstFrame):
        * bindings/v8/specialization/V8BindingState.h:

2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed build fix for r74447.

        Call usesDashboardBackwardCompatibilityMode() only if DASHBOARD_SUPPORT is enabled.

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::sourceURI):

2010-12-21  Dan Bernstein  <mitz@apple.com>

        Reviewed by John Sullivan.

        <rdar://problem/8725702> REGRESSION (r68854): Broken image icon seen in the Address Book Dashboard widget

        Test: platform/mac/fast/dom/HTMLImageElement/dashboard-src-quirk.html

        The Address Book widget sets the src attribute of an img element to a string that looks like a CSS
        URL value. This used to work prior to r68854, because some DOM attribute parsing functions were using
        the wrong function to parse URL attributes (last named deprecatedParseURL).

        * html/HTMLImageLoader.cpp:
        (WebCore::HTMLImageLoader::sourceURI): In Dashboard, check if the src attribute begins with 'url("'
        and ends with '")', and if so, strip those away.

2010-12-21  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        CharacterData needs cleanup
        https://bugs.webkit.org/show_bug.cgi?id=51426

        Extracted CharacterData::setDataAndNotify and CharacterData::updateRenderer.

        * dom/CharacterData.cpp:
        (WebCore::CharacterData::setData): Calls setDataAndUpdate.
        (WebCore::CharacterData::parserAppendData): Ditto.
        (WebCore::CharacterData::appendData): Ditto.
        (WebCore::CharacterData::insertData): Ditto.
        (WebCore::CharacterData::deleteData): Ditto.
        (WebCore::CharacterData::replaceData): Ditto.
        (WebCore::CharacterData::setDataAndUpdate): Added.
        (WebCore::CharacterData::updateRenderer): Added.
        (WebCore::CharacterData::dispatchModifiedEvent): Renamed prevValue to oldData.
        * dom/CharacterData.h:

2010-12-21  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74420.
        http://trac.webkit.org/changeset/74420
        https://bugs.webkit.org/show_bug.cgi?id=51436

        causes editing/pasteboard/paste-noscript-xhtml.xhtml to crash
        (Requested by tonyg-cr on #webkit).

        * dom/DocumentParser.cpp:
        * dom/DocumentParser.h:
        * html/parser/HTMLDocumentParser.cpp:
        * html/parser/HTMLDocumentParser.h:
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        * html/parser/HTMLParserScheduler.h:
        (WebCore::HTMLParserScheduler::isScheduledForResume):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2010-12-21  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Fisher.

        Enable extensions used in accelerated 2D canvas implementation
        https://bugs.webkit.org/show_bug.cgi?id=51433

        Call Extensions3D::ensureEnabled() for all supported extensions
        the accelerated 2D Canvas implementation uses. Tested with a few
        layout tests previously failing when run in Chromium due to OpenGL
        INVALID_ENUM and other errors.

        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::create):
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
        (WebCore::SharedGraphicsContext3D::supportsBGRA):
        * platform/graphics/gpu/SharedGraphicsContext3D.h:

2010-12-21  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        WebGLRenderingContext needs to zero textures and renderbuffers
        https://bugs.webkit.org/show_bug.cgi?id=49355

        Test: fast/canvas/webgl/uninitialized-test.html

        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::onAccess): Use a parameter to decide if renderbuffer initialization is needed.
        (WebCore::WebGLFramebuffer::initializeRenderbuffers): Don't return false if color buffer doesn't exist.
        * html/canvas/WebGLFramebuffer.h: Modify onAccess with an added parameter.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::clear): Call onAccess with an added parameter.
        (WebCore::WebGLRenderingContext::copyTexImage2D): Ditto.
        (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
        (WebCore::WebGLRenderingContext::drawArrays): Ditto.
        (WebCore::WebGLRenderingContext::drawElements): Ditto.
        (WebCore::WebGLRenderingContext::readPixels): Ditto.
        (WebCore::WebGLRenderingContext::texImage2DBase): Create buffer data of 0s if input is null to initialize textures.
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::texImage2DResourceSafe): Helper function that initialize all pixels to 0.
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateContentsIfDirty): Use texImage2DResourceSafe.
        * platform/graphics/chromium/DrawingBufferChromium.cpp:
        (WebCore::generateColorTexture): Ditto.
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::prepareToDrawLayers): Ditto.
        * platform/graphics/chromium/TextureManager.cpp:
        (WebCore::TextureManager::requestTexture): Ditto.
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::allocateTexture): Ditto.
        * platform/graphics/gpu/DrawingBuffer.cpp:
        (WebCore::DrawingBuffer::reset): Use texImage2DResourceSafe; also, only initialize depth/stencil buffer.
        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
        (WebCore::SharedGraphicsContext3D::texImage2D): Use texImage2DResourceSafe.
        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::create): Ditto.
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::texImage2D): Generate an INVALID_VALUE if pixels==null is passed in.

2010-12-21  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add AudioBusChromium for decoding audio file data
        https://bugs.webkit.org/show_bug.cgi?id=51430

        No new tests since audio API is not yet implemented.

        * platform/audio/chromium: Added.
        * platform/audio/chromium/AudioBusChromium.cpp: Added.
        (WebCore::createBusFromInMemoryAudioFile):

2010-12-21  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add web audio spatialization resource files
        https://bugs.webkit.org/show_bug.cgi?id=50998

        No new tests since audio API is not yet implemented.

        * platform/audio/HRTFElevation.cpp:
        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
        * platform/audio/mac/AudioBusMac.mm:
        (WebCore::AudioBus::loadPlatformResource):
        * platform/audio/resources: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T000_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T015_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T030_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T045_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T060_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T075_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T090_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T105_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T120_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T135_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T150_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T165_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T180_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T195_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T210_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T225_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T240_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T255_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T270_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T285_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T300_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T315_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T330_P345.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P000.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P015.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P030.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P045.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P060.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P075.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P090.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P315.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P330.wav: Added.
        * platform/audio/resources/IRC_Composite_C_R0195_T345_P345.wav: Added.

2010-12-21  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Gavin Barraclough & Oliver Hunt.

        Added PageAllocationAligned, a cross-platform abstraction for memory allocations with arbitrary alignment requirements
        https://bugs.webkit.org/show_bug.cgi?id=51359

        * ForwardingHeaders/wtf/PageAllocationAligned.h: Added.

2010-12-21  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=49774
        Need to scale translation values in matrix() by the zoom factor.

        Test: fast/transforms/matrix-with-zoom.html

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::createTransformOperations):

2010-12-21  Jian Li  <jianli@chromium.org>

        Reviewed by Darin Adler.

        Fix bug 51366: REGRESSION (r66452): Form data no longer contains
        'Content-Type' header for files with unrecognized extensions
        https://bugs.webkit.org/show_bug.cgi?id=51366

        Test: http/tests/local/formdata/form-data-with-unknown-file-extension.html

        * platform/network/FormData.cpp:
        (WebCore::FormData::appendKeyValuePairItems):

2010-12-21  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Mac WebKit delivers an extra didCommit when loading web archives
        https://bugs.webkit.org/show_bug.cgi?id=51419

        Could not find a simple way to test this in WebKit1, but in WebKit2
        it leads to an immediate failure when loading a web archive. Tested
        that making the Mac share the same code path with other platforms
        works fine in WebKit1.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::finishedLoadingDocument): Removed special case for
        the Mac platform. Also removed the call to isArchiveMimeType since we
        get a 0 from ArchiveFactory::create in that case.

        * loader/archive/ArchiveFactory.cpp:
        (WebCore::ArchiveFactory::isArchiveMimeType): Hardened slightly by
        adding a special case for null and empty strings, since hash tables can't
        handle null strings.
        (WebCore::ArchiveFactory::create): Ditto.

2010-12-21  Yong Li  <yoli@rim.com>

        Reviewed by Adam Barth.

        Suspend HTMLParserScheduler when page load is deferred to
        avoid potential JS re-entrancy. Otherwise, when JS execution is triggered
        from an external script or by events, and is blocked by a modal dialog,
        WebKit can parse more HTML source and also start another JS execution.
        
        https://bugs.webkit.org/show_bug.cgi?id=48077

        Test case: WebCore/manual-tests/bugzilla-48077.html.

        * dom/DocumentParser.cpp:
        (WebCore::DocumentParser::suspendParsing):
        (WebCore::DocumentParser::resumeParsing):
        * dom/DocumentParser.h:
        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::suspendParsing):
        (WebCore::HTMLDocumentParser::resumeParsing):
        * html/parser/HTMLParserScheduler.cpp:
        (WebCore::HTMLParserScheduler::HTMLParserScheduler):
        (WebCore::HTMLParserScheduler::suspend):
        (WebCore::HTMLParserScheduler::resume):
        * html/parser/HTMLParserScheduler.h:
        (WebCore::HTMLParserScheduler::isScheduledForResume):
        * page/PageGroupLoadDeferrer.cpp:
        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):

2010-12-21  Anders Carlsson  <andersca@apple.com>

        Reviewed by John Sullivan.

        Clicking missing plug-in text does not show a sheet
        https://bugs.webkit.org/show_bug.cgi?id=51403

        * WebCore.exp.in:
        Export symbols needed by WebKit2.

        * WebCore.xcodeproj/project.pbxproj:
        Make HTMLPlugInImageElement.h a private header.

        * html/HTMLPlugInImageElement.h:
        (WebCore::HTMLPlugInImageElement::serviceType):
        (WebCore::HTMLPlugInImageElement::url):
        Make these member functions public.

2010-12-21  Andras Becsi  <abecsi@webkit.org>

        Unreviewed build fix.

        [Qt] Fix the build with USE_GSTREAMER=1

        No new tests needed.

        * WebCore.pro: remove nonexisting DataSourceGStreamer sources.

2010-12-21  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] QtWebKit doesn't build in debug on Windows
        https://bugs.webkit.org/show_bug.cgi?id=41930

        Disable incremental linking in windows 32bit debug version as webkit is so 
        big it fails to link incremental. 

        Build fix. No new test cases added. 

        * WebCore.pro:

2010-12-21  Dominic Cooney  <dominicc@google.com>

        Reviewed by Adam Barth.

        Rename Node::isShadowNode to isShadowRoot
        https://bugs.webkit.org/show_bug.cgi?id=51060

        The method gets whether the node is the root of a shadow tree;
        renamed to reflect intent.

        A simple rename--no new tests needed.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::initForStyleResolve):
        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
        * dom/Node.cpp:
        (WebCore::Node::shadowTreeRootNode):
        (WebCore::Node::isInShadowTree):
        (WebCore::eventTargetRespectingSVGTargetRules):
        (WebCore::Node::getEventAncestors):
        * dom/Node.h:
        (WebCore::Node::isShadowRoot):
        * dom/Range.cpp:
        (WebCore::Range::checkNodeBA):
        * page/DragController.cpp:
        (WebCore::asFileInput):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMousePressEvent):
        (WebCore::EventHandler::dispatchMouseEvent):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::hasLineIfEmpty):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::attachInnerElement):
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title):
        * svg/SVGUseElement.cpp:
        (WebCore::ShadowTreeUpdateBlocker::while):
        * svg/animation/SVGSMILElement.cpp:
        (WebCore::SVGSMILElement::insertedIntoDocument):

2010-12-20  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>

        Reviewed by Andreas Kling.

        Qt port of geolocation, geoposition objects timestamp was in seconds
        instead of miliseconds as per HTML5 Geolocation standards.
        Ref: http://dev.w3.org/geo/api/spec-source.html#position_interface 
        http://www.w3.org/TR/DOM-Level-3-Core/core.html#Core-DOMTimeStamp 

        Implemented by Asheesh Srivastava.

        [QT] QtWebkit geolocation's position.timestamp is not in miliseconds
        https://bugs.webkit.org/show_bug.cgi?id=51100

        Porting code not covered in layout testing. No new tests added.

        * platform/qt/GeolocationServiceQt.cpp:
        (WebCore::GeolocationServiceQt::positionUpdated):

2010-12-20  Yuzo Fujishima  <yuzo@google.com>

        Reviewed by Eric Seidel.

        Fix for Bug 26183 - [@font-face] font-family descriptor with multiple names should be discarded
        https://bugs.webkit.org/show_bug.cgi?id=26183

        Test: fast/css/font-face-font-family-descriptor.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::createFontFaceRule): Consider @font-face rule
        invalid if its font-family descriptor has multiple (or zero) families.

2010-12-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: fall back to object formatting in case dom is not yet loaded.
        https://bugs.webkit.org/show_bug.cgi?id=44273

        Sometimes DOM is loaded after the inline message is being formatted, so we get
        no nodeId for it. Let us fall back to object formatting in such cases.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._formatnode):
        (WebInspector.ConsoleMessage):

2010-12-20  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: cycle through tag name / attributes / new attribute on Tab.

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

        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):

2010-12-20  Yuta Kitamura  <yutak@chromium.org>

        Reviewed by Alexey Proskuryakov.

        WebSocket errors should be logged to console
        https://bugs.webkit.org/show_bug.cgi?id=40945

        Test: http/tests/inspector/console-websocket-error.html

        * platform/network/SocketStreamErrorBase.cpp:
        (WebCore::SocketStreamErrorBase::compare):
        * platform/network/SocketStreamErrorBase.h:
        (WebCore::SocketStreamErrorBase::failingURL):
        (WebCore::SocketStreamErrorBase::localizedDescription):
        (WebCore::SocketStreamErrorBase::SocketStreamErrorBase):
        * platform/network/cf/SocketStreamError.h:
        (WebCore::SocketStreamError::SocketStreamError):
        * platform/network/cf/SocketStreamHandle.h:
        * platform/network/cf/SocketStreamHandleCFNet.cpp:
        (WebCore::SocketStreamHandle::readStreamCallback):
        (WebCore::SocketStreamHandle::writeStreamCallback):
        (WebCore::SocketStreamHandle::reportErrorToClient):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didFail):

2010-12-17  MORITA Hajime  <morrita@google.com>

        Reviewed by James Robinson.

        https://bugs.webkit.org/show_bug.cgi?id=51240
        [Chromium][Skia] Border with a color with alpha != 1 breaks webkit gradient on skia.

        Even after a shader was set, old color value had been remaining and passed to Skia.
        Then Skia refered an alpha component of that color to make pixels transparent.
        This change invalidates existing color value when a shader is given, 
        which means the renderer will paint shapes with gradients or patterns.
        
        Test: fast/gradients/gradient-after-transparent-border.html

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::setStrokeShader):
        (WebCore::PlatformContextSkia::setFillShader):

2010-12-20  Xiaomei Ji  <xji@chromium.org>

        Reviewed by Dan Bernstein.

        Fix move left/right by character hang.
        https://bugs.webkit.org/show_bug.cgi?id=51344

        Test: editing/selection/51344.html

        * editing/VisiblePosition.cpp:
        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):

2010-12-20  Steve Lacey  <sjl@chromium.org>

        Reviewed by David Levin.

        Add missing default styles in mediaControlsChromium.css to prevent
        user overrides.
        https://bugs.webkit.org/show_bug.cgi?id=51360

        No new tests needed as functionality is covered by existing layout
        tests.


        * css/mediaControlsChromium.css:
        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):

2010-12-20  Jian Li  <jianli@chromium.org>

        Reviewed by David Levin.

        Add lastModifiedDate attribute to File interface per File API spec
        https://bugs.webkit.org/show_bug.cgi?id=49895

        lastModifiedDate is not supported for GObject bindings because Date is
        not support in code generation.

        Test: http/tests/local/fileapi/file-last-modified.html

        * fileapi/File.cpp:
        (WebCore::File::lastModifiedDate):
        * fileapi/File.h:
        * fileapi/File.idl:

2010-12-20  Mark Rowe  <mrowe@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8757601> Don't install header files in to the Resources directory.

        * WebCore.xcodeproj/project.pbxproj:

2010-12-20  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        [Chromium] v8/SerializedScriptValue::readUint32 treats incoming raw values as signed instead of unsigned
        https://bugs.webkit.org/show_bug.cgi?id=51338

        * bindings/v8/SerializedScriptValue.cpp:
        (WebCore::ZigZag::Reader::readUint32):

2010-12-20  Beth Dakin  <bdakin@apple.com>

        Reviewed by Ada Chan.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=51355 Crash in 
        RenderMathMLSubSup::layout() because of null base
        -and corresponding-
        <rdar://problem/8712200>

        Only use base inside if(base) block.
        * mathml/RenderMathMLSubSup.cpp:
        (WebCore::RenderMathMLSubSup::layout):

2010-12-20  Enrica Casucci  <enrica@apple.com>

        Reviewed by Darin Adler.

        Crash at WebCore::SplitElementCommand::SplitElementCommand
        https://bugs.webkit.org/show_bug.cgi?id=51278
        <rdar://problem/7347139> 

        Executing outdent command on an inline blockquote that is
        not the first element in a block causes a crash.
        The fix consists in chaging the was the start of block is
        calculated in case of the inline blockquote.
        
        Test: editing/execCommand/outdent-inline-blockquote.html
              editing/execCommand/outdent-inline-list.html

        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::outdentParagraph):

2010-12-20  Oliver Hunt  <oliver@apple.com>

        Reviewed by Darin Adler.

        Need to support serialisation of cyclic graphs in the internal structured cloning algorithm
        https://bugs.webkit.org/show_bug.cgi?id=51353

        The Internal Structured Clone algorithm has been changed to allow (and
        correctly clone) cyclic graphs.  This patch updates our implementation
        to provide that functionality.

        I've bumped the serialization version number, and added ObjectReferenceTag
        to represent references to objects that have already been seen.

        * bindings/js/SerializedScriptValue.cpp:
        (WebCore::CloneSerializer::startObjectInternal):
          Now that we have something a bit more complex than cycle checking
          I've replaced the duplicate code in startObject and startArray with
          a shared function that implements that logic to plant an object
          reference
        (WebCore::CloneSerializer::startObject):
        (WebCore::CloneSerializer::startArray):
          Lift out duplicate code
        (WebCore::CloneSerializer::endObject):
          Can't remove objects from the gcbuffer now as they need to remain live
          so we can identify graphs
        (WebCore::CloneSerializer::writeStringIndex):
        (WebCore::CloneSerializer::writeObjectIndex):
        (WebCore::CloneSerializer::writeConstantPoolIndex):
        (WebCore::CloneSerializer::write):
        (WebCore::CloneSerializer::serialize):
        (WebCore::CloneDeserializer::readStringIndex):
        (WebCore::CloneDeserializer::readConstantPoolIndex):
        (WebCore::CloneDeserializer::readTerminal):
        (WebCore::CloneDeserializer::deserialize):

2010-12-20  Xan Lopez  <xlopez@igalia.com>

        Reviewed by Gustavo Noronha.

        * GNUmakefile.am: add missing files.

2010-12-20  Abhishek Arya  <inferno@chromium.org>

        Reviewed by James Robinson.

        Pass the correct beforeChild value when adding a child to an anonymous table part.
        https://bugs.webkit.org/show_bug.cgi?id=50932

        When a "before" content child was added to an anonymous table part, it was added
        after the last child. This patch fixes the behavior by adding it properly before
        the first child.

        Test: fast/css-generated-content/table-before-child-add.html

        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):

2010-12-18  Gavin Barraclough  <barraclough@apple.com>

        Reviewed by Oliver Hunt.

        Bug 26276 - Need a mechanism to determine stack extent

        Add forwarding header for StackBounds.h.

        * ForwardingHeaders/wtf/StackBounds.h: Added.

2010-12-20  James Robinson  <jamesr@chromium.org>

        Unreviewed, rolling out r74278.
        http://trac.webkit.org/changeset/74278
        https://bugs.webkit.org/show_bug.cgi?id=50833

        [chromium] Causes many layout tests to crash

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:

2010-12-20  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Sam Weinig.

        Factored common page set management into a new PageBlock base class
        https://bugs.webkit.org/show_bug.cgi?id=51285

        * ForwardingHeaders/wtf/PageBlock.h: Added.

2010-12-20  Steve Block  <steveblock@google.com>

        Reviewed by Jeremy Orlow.

        GeolocationPositionCache should do database access on background thread
        https://bugs.webkit.org/show_bug.cgi?id=50825

        Covered by existing Geolocation tests.

        * page/Coordinates.h:
        (WebCore::Coordinates::threadSafeCopy):
        * page/GeolocationPositionCache.cpp:
        (WebCore::GeolocationPositionCache::GeolocationPositionCache):
        (WebCore::GeolocationPositionCache::addUser):
        (WebCore::GeolocationPositionCache::removeUser):
        (WebCore::GeolocationPositionCache::setDatabasePath):
        (WebCore::GeolocationPositionCache::setCachedPosition):
        (WebCore::GeolocationPositionCache::cachedPosition):
        (WebCore::GeolocationPositionCache::startBackgroundThread):
        (WebCore::GeolocationPositionCache::threadEntryPoint):
        (WebCore::GeolocationPositionCache::threadEntryPointImpl):
        (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
        (WebCore::GeolocationPositionCache::readFromDatabase):
        (WebCore::GeolocationPositionCache::readFromDatabaseImpl):
        (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
        (WebCore::GeolocationPositionCache::writeToDatabase):
        (WebCore::GeolocationPositionCache::writeToDatabaseImpl):
        * page/GeolocationPositionCache.h:
        * page/Geoposition.h:
        (WebCore::Geoposition::threadSafeCopy):
        (WebCore::Geoposition::Geoposition):

2010-12-20  Andras Becsi  <abecsi@webkit.org>

        Unreviewed build fix.

        [Qt][V8] Add  missing sources to the pro file and remove duplications to fix linking.

        No new tests needed.

        * WebCore.pro:

2010-12-20  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Make CSSCompletions a real class rather than singleton
        https://bugs.webkit.org/show_bug.cgi?id=51332

        Drive-by: make use of keywords from re2js in the CSS tokenizer
        (apparently, various authors have presumed that re2js is processed at build time).

        No new tests, as this is a refactoring.

        * inspector/front-end/CSSCompletions.js:
        (WebInspector.CSSCompletions):
        (WebInspector.CSSCompletions.prototype.startsWith):
        (WebInspector.CSSCompletions.prototype.firstStartsWith):
        (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
        (WebInspector.CSSCompletions.prototype.keySet):
        (WebInspector.CSSCompletions.prototype.next):
        (WebInspector.CSSCompletions.prototype.previous):
        (WebInspector.CSSCompletions.prototype._closest):
        * inspector/front-end/SourceCSSTokenizer.js:
        (WebInspector.SourceCSSTokenizer):
        * inspector/front-end/SourceCSSTokenizer.re2js:
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/inspector.js:
        (WebInspector.doLoadedDone.propertyNamesCallback):
        (WebInspector.doLoadedDone):

2010-12-10  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: "Add conditional breakpoint" - create breakpoint only after condition is provided.
        https://bugs.webkit.org/show_bug.cgi?id=50813

        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._addBreakpoint):
        (WebInspector.SourceFrame.prototype._breakpointRemoved):
        (WebInspector.SourceFrame.prototype._breakpointChanged):
        (WebInspector.SourceFrame.prototype._setBreakpointDecoration):
        (WebInspector.SourceFrame.prototype._removeBreakpointDecoration):
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
        (WebInspector.SourceFrame.prototype._contextMenu):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition.finishEditing):
        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
        (WebInspector.SourceFrame.prototype._continueToLine):
        (WebInspector.SourceFrame.prototype._setBreakpoint):

2010-12-20  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBTransactionBackedImpl instances can be accidentally deleted during calls to abort/commit.
        https://bugs.webkit.org/show_bug.cgi?id=51112

        Makes IDBTransactionBackendImpl objects take a self reference while executing commit and abort.

        Test: storage/indexeddb/transaction-crash-on-abort.html

        * storage/IDBTransactionBackendImpl.cpp:
        (WebCore::IDBTransactionBackendImpl::abort):
        (WebCore::IDBTransactionBackendImpl::commit):

2010-12-20  Andrei Popescu  <andreip@google.com>

        Reviewed by Jeremy Orlow.

        IDBCursor::delete is not implemented.
        https://bugs.webkit.org/show_bug.cgi?id=51110

        Implement IDBCursor::delete.
        See http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-delete

        Tests: storage/indexeddb/cursor-delete.html
               storage/indexeddb/cursor-index-delete.html

        * storage/IDBCursor.cpp:
        (WebCore::IDBCursor::deleteFunction):
        * storage/IDBCursor.h:
        * storage/IDBCursor.idl:
        * storage/IDBCursorBackendImpl.cpp:
        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
        (WebCore::IDBCursorBackendImpl::deleteFunction):
        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
        * storage/IDBCursorBackendImpl.h:
        (WebCore::IDBCursorBackendImpl::create):
        * storage/IDBCursorBackendInterface.h:
        * storage/IDBIndexBackendImpl.cpp:
        (WebCore::IDBIndexBackendImpl::openCursorInternal):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::fromQuery):
        * storage/IDBObjectStoreBackendImpl.cpp:
        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):

2010-12-20  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: After a multiline command execution Console does not show the command prompt
        https://bugs.webkit.org/show_bug.cgi?id=51257

        * inspector/front-end/TextPrompt.js:
        (WebInspector.TextPrompt.prototype._moveBackInHistory):
        (WebInspector.TextPrompt.prototype._moveForwardInHistory):

2010-12-19  Helder Correia  <helder@sencha.com>

        Reviewed by Ariya Hidayat.

        [Qt] Blur distance should not be affected by transformations
        https://bugs.webkit.org/show_bug.cgi?id=51161

        From the spec at http://dev.w3.org/html5/2dcontext/#dom-context-2d-shadowblur:
        "The shadowBlur attribute specifies the level of the blurring effect.
        (The units do not map to coordinate space units, and are not affected
        by the current transformation matrix.)"

        Test: fast/canvas/canvas-scale-shadowBlur.html

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::adjustBlurDistance):
        * platform/graphics/ContextShadow.h:
        * platform/graphics/cairo/ContextShadowCairo.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::beginShadowLayer):

2010-12-19  Dan Bernstein  <mitz@apple.com>

        Reviewed by Cameron Zwarich.

        Text emphasis marks are not repainted correctly in flipped writing modes
        https://bugs.webkit.org/show_bug.cgi?id=51307

        Tests: fast/repaint/text-emphasis-h.html
               fast/repaint/text-emphasis-v.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added flippedness check.

2010-12-19  Rob Buis  <rwlbuis@gmail.com>

        Reviewed by Andreas Kling.

        Remove m_drawsContents from RenderSVGContainer.h
        https://bugs.webkit.org/show_bug.cgi?id=51305

        Remove m_drawsContents, its getter and setter and the call
        sites, since it has no effect anymore.

        * WebCore.order:
        * rendering/RenderSVGContainer.cpp:
        (WebCore::RenderSVGContainer::RenderSVGContainer):
        (WebCore::RenderSVGContainer::paint):
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGResourceContainer.h:
        * rendering/SVGImageBufferTools.cpp:
        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):

2010-12-19  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        WebKit does not build with worker but without the javascript debugger
        https://bugs.webkit.org/show_bug.cgi?id=51293

        Add missing guard for calls depending on the debugger.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::postWorkerNotificationToFrontend):

2010-12-18  Tom Sepez  <tsepez@chromium.org>

        Reviewed by David Levin.

        https://bugs.webkit.org/show_bug.cgi?id=51055
        Fix a null de-reference when an XML file contains a malformed entity
        of the form "&:;".

        Test: fast/parser/xml-colon-entity.html

        * html/parser/HTMLEntitySearch.cpp:
        (WebCore::HTMLEntitySearch::advance):

2010-12-18  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by David Levin.

        [chromium] Simplify the PNG encoder.
        https://bugs.webkit.org/show_bug.cgi?id=50905

        Remove PNGEncoderState class - it was a proxy for the encoder output, and
        that is a Vector<>, so just write into it directly using append() to make
        use of Vector<>'s resize() smarts. Simplify the preMultipliedBGRAtoRGBA()
        and encode() routines, replace the OwnArrayPtr<> with a Vector<>.
        
        canvas.toDataURL("image/png") is covered by existing tests.

        * platform/image-encoders/skia/PNGImageEncoder.cpp:
        (WebCore::writeOutput): Use a Vector<>, append() the encoded data to it.
        (WebCore::preMultipliedBGRAtoRGBA): simplified.
        (WebCore::PNGImageEncoder::encode): ditto.

2010-12-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Cameron Zwarich.

        Text emphasis marks are not always included in the selection highlight
        https://bugs.webkit.org/show_bug.cgi?id=51299

        Affects pixel results of fast/text/emphasis.html

        Account for annotations in selectionTop() and selectionBottom().

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::selectionTop):
        (WebCore::RootInlineBox::selectionBottom):

2010-12-18  Dan Bernstein  <mitz@apple.com>

        Reviewed by Cameron Zwarich.

        In flipped writing modes, opposite text emphasis marks from adjacent lines overlap
        https://bugs.webkit.org/show_bug.cgi?id=51298

        Test: fast/text/emphasis-overlap.html

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Changed + to -.

2010-12-18  Helder Correia  <helder@sencha.com> and Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Ariya Hidayat.

        [Qt] Canvas shadow offset should not be affected by any transformation
        https://bugs.webkit.org/show_bug.cgi?id=50422

        On a canvas context, shadows are currently affected by all
        transformations except scaling. According to the spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows

        "The shadowOffsetX and shadowOffsetY attributes specify the distance
        that the shadow will be offset in the positive horizontal and positive
        vertical distance respectively. Their values are in coordinate space
        units. They are not affected by the current transformation matrix."

        NOTE: this applies only to canvas, not to box shadows.

        Test: fast/canvas/canvas-transforms-fillRect-shadow.html

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::ContextShadow):
        (WebCore::ContextShadow::calculateLayerBoundingRect):
        * platform/graphics/ContextShadow.h:
        (WebCore::ContextShadow::setShadowsIgnoreTransforms):
        (WebCore::ContextShadow::shadowsIgnoreTransforms):
        (WebCore::ContextShadow::offset):
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::mustUseContextShadow):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):

2010-12-18  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] TransparencyLayer should inherit its container render hints
        https://bugs.webkit.org/show_bug.cgi?id=51283

        * platform/graphics/qt/TransparencyLayer.h:
        (WebCore::TransparencyLayer::TransparencyLayer):

2010-12-18  Tony Gentilcore  <tonyg@chromium.org>

        Reviewed by Laszlo Gombos.

        [Web Timing] Rename domContentLoaded{Start,End}->domContentLoadedEvent{Start,End}
        https://bugs.webkit.org/show_bug.cgi?id=50943

        See: http://test.w3.org/webperf/specs/NavigationTiming/#nt-dom-content-event-start

        * dom/Document.cpp:
        (WebCore::Document::finishedParsing):
        * dom/DocumentTiming.h:
        (WebCore::DocumentTiming::DocumentTiming):
        * page/PerformanceTiming.cpp:
        (WebCore::PerformanceTiming::domContentLoadedEventStart):
        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
        * page/PerformanceTiming.h:
        * page/PerformanceTiming.idl:

2010-12-17  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Andreas Kling.

        Style fix for r73927
        https://bugs.webkit.org/show_bug.cgi?id=51194

        No functionality change. No new tests needed.

        * html/HTMLCanvasElement.h:

2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Buttons rendering was broken in r74129
        https://bugs.webkit.org/show_bug.cgi?id=51173

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintRenderObject):

2010-12-17  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Improve 'arithmetic' operator on feComposite
        https://bugs.webkit.org/show_bug.cgi?id=51105

        Fixing style errors and bug description for r74177.

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::arithmetic):

2010-12-17  Dan Bernstein  <mitz@apple.com>

        Rubber-stamped by Mark Rowe.

        Updated for the renaming of WebKitTools to Tools

        * WebCore.vcproj/build-generated-files.sh:
        * WebCore.vcproj/migrate-scripts.sh:

2010-12-17  Carol Szabo  <carol.szabo@nokia.com>

        Reviewed by Darin Adler.

        A corrupted counter tree is created when renderers are added to the
        tree bypassing RenderObject::addChild
        https://bugs.webkit.org/show_bug.cgi?id=51270

        This patch replaces the hack introduced for fixing bug 43812
        with code that addresses the underlying problem for that bug.
        No new layout tests provided as there is no identified scenario when
        visible behavior would be different, the internal datastructures
        are maintained properly through this fix so the previous hack
        introduced for bug 43812 is now removed. The fact that the 
        layout test introduced for 43812 continues to pass is proof that the
        code works.

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):
          Removed hack.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
          Moved call to counter nodes updater to lower level
          functions to avoid bypass.
        * rendering/RenderObjectChildList.cpp:
        (WebCore::RenderObjectChildList::appendChildNode):
        (WebCore::RenderObjectChildList::insertChildNode):
          Changed to update the values of the counters that
          may be inserted in the tree.

2010-12-17  Shimeng (Simon) Wang  <swang@google.com>

        Reviewed by Steve Block.

        Fix V8 JNI binding.
        https://bugs.webkit.org/show_bug.cgi?id=51156

        There're LayoutTests in:
        http://trac.webkit.org/browser/trunk/LayoutTests/java/lc3/JSNumber
        to exercise these code paths.
        Though Chromium don't run them.
        Tested on Android fast/events/touch tests.

        * bridge/jni/v8/JNIUtilityPrivate.cpp:
        (JSC::Bindings::convertNPVariantToJValue):

2010-12-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Interrupted accelerated animation can break later transitions
        <rdar://problem/8767714>
        https://bugs.webkit.org/show_bug.cgi?id=51264
        
        If we're still waiting for the 'animationDidStart' callback when renderers
        get destroyed, then the m_waitingForStartTimeResponse flag could be left
        set to 'true', which causes later transitions to never start.
        
        Fix by clearing the m_waitingForStartTimeResponse flag when the m_startTimeResponseWaiters
        becomes empty.

        Test: transitions/interrupted-accelerated-transition.html

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):

2010-12-17  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Interrupted accelerated animation can break later transitions
        https://bugs.webkit.org/show_bug.cgi?id=51264

        Step 1: code cleanup.
        Rename "responseWait" variables to "startTimeResponseWait", to make it clear
        the kind of response that is being waited for.
        
        Make a couple of methods private.
        
        No behavioral changes, so no tests.

        * page/animation/AnimationController.cpp:
        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
        (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
        (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList):
        (WebCore::AnimationControllerPrivate::startTimeResponse):
        * page/animation/AnimationControllerPrivate.h:

2010-12-17  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Layout and rendering of CSS text-emphasis
        Final part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
        https://bugs.webkit.org/show_bug.cgi?id=48539

        Tests: fast/text/emphasis-vertical.html
               fast/text/emphasis.html

        Emphasis marks behave like they are stuck just above the ascender (or just below the
        descender). They occupy space in the leading and in padding, and only grow the line space
        if they cannot fit.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Renamed the containsRuby parameter to
        hasAnnotationsBefore, and added hasAnnotationsAfter. Line annotations include ruby and text emphasis
        marks.
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow): Added overflow from emphasis marks.
        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment): Remaned computeBlockDirectionRubyAdjustment()
        to this and added adjustment for text emphasis marks.
        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment): Added. Similar to the previous function,
        but for annotations under the glyphs. These can only be text emphasis marks.
        * rendering/InlineFlowBox.h:
        * rendering/InlineTextBox.cpp:
        (WebCore::paintTextWithShadows): Paint emphasis marks.
        (WebCore::InlineTextBox::paint): Ditto.
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren): Generalized the code that adjusts the last line for
        ruby in flipped writing mode to also adjust the last line for emphasis marks under the line in non-
        flipped writing mode.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::selectionColor): Added this helper method which generalizes selectionForegroundColor().
        (WebCore::RenderObject::selectionForegroundColor): Moved most of the code to selectionColor().
        (WebCore::RenderObject::selectionEmphasisMarkColor): Added.
        * rendering/RenderObject.h:
        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::RootInlineBox): Updated initialization for new members.
        (WebCore::RootInlineBox::alignBoxesInBlockDirection): Update new members.
        (WebCore::RootInlineBox::beforeAnnotationsAdjustment): Renamed blockDirectionRubyAdjustment() to this
        and extended to deal with annotations over and under the line and the previous line. If both lines have
        annotations into the space between the lines, maintain separation so that the annotations do not overlap.
        * rendering/RootInlineBox.h:
        (WebCore::RootInlineBox::hasAnnotationsBefore): Added this accessor.
        (WebCore::RootInlineBox::hasAnnotationsAfter): Ditto.

2010-12-17  W. James MacLean  <wjmaclean@chromium.org>

        Reviewed by James Robinson.

        [chromium] Add support to compositor to composite to offscreen texture.
        https://bugs.webkit.org/show_bug.cgi?id=50833

        A patch to extend compositor to be able to composite into an offscreen texture instead
        of just directly to the display buffer. Builds on RenderSurfaceChromium support.

        External behaviour not changed, so no tests.

        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::setCompositeOffscreen):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::setScissorToRect):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::isCompositingOffscreen):
        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):

2010-12-17  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Default image interpolation should reset the render hint
        https://bugs.webkit.org/show_bug.cgi?id=51233

        Save initial SmoothPixmapTransform render hint so that it can be used
        with default image interpolation quality to reset back the render hints.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
        (WebCore::GraphicsContext::setImageInterpolationQuality):

2010-12-17  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Support Date objects as keys.
        https://bugs.webkit.org/show_bug.cgi?id=51193

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        Use the new IDBKey factory functions, and support Date objects.
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        Create Date objects from DateType keys.
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::fromQuery):
        (WebCore::IDBKey::isEqual):
        (WebCore::IDBKey::whereSyntax):
        (WebCore::IDBKey::lowerCursorWhereFragment):
        (WebCore::IDBKey::upperCursorWhereFragment):
        (WebCore::IDBKey::bind):
        (WebCore::IDBKey::bindWithNulls):
        Update all SQL related functions to handle Date keys.
        * storage/IDBKey.h:
        (WebCore::IDBKey::createNull):
        (WebCore::IDBKey::createNumber):
        (WebCore::IDBKey::createString):
        (WebCore::IDBKey::createDate):
        Rename the create factories; since both number and date is just a
        double, function overloading can't be used to discriminate between
        the factories.
        (WebCore::IDBKey::date):
        Add getter for the date value.

2010-12-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: add scripts parsed after resource load to SourceFrame.
        https://bugs.webkit.org/show_bug.cgi?id=51243

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._addScript):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype.addScript):

2010-12-17  Anton Muhin  <antonm@chromium.org>

        Reviewed by Yury Semikhatsky.

        [v8] The last portion of CSS GC work: fixing fast/dom/StyleSheet/gc-stylesheet-wrapper.html
        https://bugs.webkit.org/show_bug.cgi?id=51121

        Properly group style elements of HTML links, style elements and processing instructions.

        * bindings/v8/V8GCController.cpp:
        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
        (WebCore::NodeGrouperVisitor::addDOMObjectToGroup):

2010-12-17  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [REGRESSION] scripts in scripts panel are not updated on reload.
        https://bugs.webkit.org/show_bug.cgi?id=51101

        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):

2010-12-17  Benjamin Poulain  <benjamin.poulain@nokia.com>

        Reviewed by Laszlo Gombos.

        The inspector does not compile without JAVASCRIPT_DEBUGGER
        https://bugs.webkit.org/show_bug.cgi?id=51246

        Fix the build, m_extraHeaders does not depend on JAVASCRIPT_DEBUGGER.

        * inspector/InspectorController.h:

2010-12-17  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: clear extra/override headers when front-end is closed
        https://bugs.webkit.org/show_bug.cgi?id=51244

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::willSendRequest):

2010-12-17  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: [REGRESSION] Cmd (Ctrl) + G does not search next in Scripts panel.
        https://bugs.webkit.org/show_bug.cgi?id=50893

        Now Mac shortcuts are:
        - Cmd F/G = find / next
        - Cmd L = go to line

        Win/Linux:
        - Ctrl+G = go to line

        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
        * inspector/front-end/inspector.js:
        (WebInspector._registerShortcuts):

2010-12-16  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Martin Robinson.

        Wrong check in ResourceHandleSoup in error cases
        https://bugs.webkit.org/show_bug.cgi?id=51171

        Calling didReceiveData with no data causes a crash in debug
        builds. Checking for soupMsg->response_body->data is not correct as libsoup
        always creates a buffer for that. Instead we should check for
        soupMsg->response_body->length

        * platform/network/soup/ResourceHandleSoup.cpp:
        (WebCore::sendRequestCallback):

2010-12-17  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Avoid unnecessary calls to GraphicsContextPlatformPrivate::p()
        https://bugs.webkit.org/show_bug.cgi?id=49954

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::pushTransparencyLayerInternal):
        (WebCore::GraphicsContext::beginTransparencyLayer):

2010-12-17  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Compile warning introduced in r74129
        https://bugs.webkit.org/show_bug.cgi?id=51181

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::gtkContainer):

2010-12-17  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Add sslHandshakeStart to interface

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

        Test: http/tests/misc/webtiming-ssl.php

        * page/PerformanceTiming.cpp:
        (WebCore::PerformanceTiming::connectStart): Update comment.
        (WebCore::PerformanceTiming::connectEnd): Remove SSL time.
        (WebCore::PerformanceTiming::sslHandshakeStart): Added.
        * page/PerformanceTiming.h: Added sslHandshakeStart.
        * page/PerformanceTiming.idl: Ditto.

2010-12-17  James Simonsen  <simonjam@chromium.org>

        Reviewed by Darin Fisher.

        [Web Timing] Navigation type enums should begin with TYPE_
        https://bugs.webkit.org/show_bug.cgi?id=51200

        * page/PerformanceNavigation.cpp:
        (WebCore::PerformanceNavigation::type): Added TYPE_ to navigation types.
        * page/PerformanceNavigation.h: Ditto and added TYPE_RESERVED.
        * page/PerformanceNavigation.idl: Ditto.

2010-12-17  Steve Block  <steveblock@google.com>

        Unreviewed build fix.

        Fix build when Geolocation is disabled.

        No new tests, build fix only.

        * page/Geolocation.h:

2010-12-17  Patrick Gansterer  <paroga@webkit.org>

        Unreviewed. WinCE build fix.

        * platform/graphics/GraphicsContext.h:

2010-12-17  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: remove unnecessary dependencies from InspectorBackendStub.

        InspectorBackendStub is a transport-only thing but it has dependencies with
        Callback.js and WebInspector namespace. Callback can be integrated into
        InspectorBackendStub because it is the only client.
        Without these dependencies InspectorBackendStub can be used as an API
        wrapper for Inspector Protocol.

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

        * WebCore.gypi:
        * inspector/CodeGeneratorInspector.pm:
        * inspector/front-end/Callback.js: Removed.
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2010-12-15  Andrey Kosyakov  <caseq@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: [Extension API] add support for adding/overriding HTTP request headers
        https://bugs.webkit.org/show_bug.cgi?id=50493

        Test: http/tests/inspector/extensions-headers.html

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::willSendRequest): Apply extra headers.
        (WebCore::InspectorController::setExtraHeaders):
        * inspector/InspectorController.h:
        * inspector/front-end/ExtensionAPI.js:
        (WebInspector.injectedExtensionAPI.Resources.prototype.getHAR):
        (WebInspector.injectedExtensionAPI.Resources.prototype.addRequestHeaders):
        * inspector/front-end/ExtensionServer.js:
        (WebInspector.ExtensionServer):
        (WebInspector.ExtensionServer.prototype._onAddRequestHeaders):

2010-12-16  Koan-Sin Tan  <koansin.tan@gmail.com>

        Reviewed by Kent Tamura.

        Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Linux
        https://bugs.webkit.org/show_bug.cgi?id=50365

        No new tests. But this makes Chromimium Linux show
        fast/blockflow/japanese-*-text.html and other vertical
        writing text correctly as on WebKit and Chromimum for Mac.

        * platform/graphics/chromium/FontCacheLinux.cpp:
        (WebCore::FontCache::createFontPlatformData):
        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::operator=):
        (WebCore::FontPlatformData::operator==):
        (WebCore::FontPlatformData::hash):
        * platform/graphics/chromium/FontPlatformDataLinux.h:
        (WebCore::FontPlatformData::FontPlatformData):
        (WebCore::FontPlatformData::orientation):
        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::platformInit):
        * platform/graphics/skia/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::fontPlatformData):
        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
        (WebCore::substituteWithVerticalGlyphs):
        (WebCore::GlyphPage::fill):

2010-12-16  Yi Shen  <yi.4.shen@nokia.com>, Tor Arne Vestbo <tor.arne.vestbo@nokia.com>

        Reviewed by Eric Carlson.

        Provide an interface to require using fullscreen mediaplayer
        https://bugs.webkit.org/show_bug.cgi?id=51133

        Add ChromeClient::requiresFullscreenForVideoPlayback to require webkit
        to launch fullscreen video player for playing the html5 video. The 
        idea is that a browser vendor can specify this behavior through the
        platform plugin or something else by using this interface.

        No new tests because no client implements requiresFullscreenForVideoPlayback yet.

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::updatePlayState):
        (WebCore::HTMLMediaElement::exitFullscreen):
        * page/Chrome.cpp:
        (WebCore::Chrome::requiresFullscreenForVideoPlayback):
        * page/Chrome.h:
        * page/ChromeClient.h:
        (WebCore::ChromeClient::requiresFullscreenForVideoPlayback):

2010-12-16  Steve Block  <steveblock@google.com>

        Reviewed by Steve Block.

        GeolocationPositionCache needs refactoring
        https://bugs.webkit.org/show_bug.cgi?id=50826

        No new tests, refactoring only.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::Geolocation):
        (WebCore::Geolocation::makeCachedPositionCallbacks):
        (WebCore::Geolocation::haveSuitableCachedPosition):
        (WebCore::Geolocation::positionChangedInternal):
        * page/Geolocation.h:
        * page/GeolocationPositionCache.cpp:
        (WebCore::GeolocationPositionCache::instance):
        (WebCore::GeolocationPositionCache::GeolocationPositionCache):
        (WebCore::GeolocationPositionCache::addUser):
        (WebCore::GeolocationPositionCache::removeUser):
        (WebCore::GeolocationPositionCache::setDatabasePath):
        (WebCore::GeolocationPositionCache::setCachedPosition):
        (WebCore::GeolocationPositionCache::cachedPosition):
        (WebCore::GeolocationPositionCache::readFromDatabase):
        (WebCore::GeolocationPositionCache::writeToDatabase):
        * page/GeolocationPositionCache.h:
        (WebCore::GeolocationPositionCacheWrapper::GeolocationPositionCacheWrapper):
        (WebCore::GeolocationPositionCacheWrapper::~GeolocationPositionCacheWrapper):
        (WebCore::GeolocationPositionCacheWrapper::setCachedPosition):
        (WebCore::GeolocationPositionCacheWrapper::cachedPosition):

2010-12-16  Ariya Hidayat  <ariya@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] GraphicsContext should respect QWebView render hints
        https://bugs.webkit.org/show_bug.cgi?id=51208

        GraphicsContext does not override SmoothPixmapTransform (see also
        r62762). To keep the same behavior, canvas default image interpolation
        quality is set to medium and QWebView's render hints by default also
        include SmoothPixmapTransform.

        * html/HTMLCanvasElement.h:
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):

2010-12-16  Daniel Bates  <dbates@rim.com>

        Formatting fix; un-indent one level all lines in [2793, 2808] (with respect to r74217)
        so as to be consistent with the formatting of the rest of this file.

        Also, add an empty line between the win32* and wince* conditional include blocks.

        * WebCore.pro:

2010-12-16  Daniel Bates  <dbates@rim.com>

        Reviewed by Antonio Gomes.

        [Qt] Only include ScrollAnimatorWin.h and compile ScrollAnimatorWin.cpp
        on Windows if ENABLE_SMOOTH_SCROLLING=1
        https://bugs.webkit.org/show_bug.cgi?id=51215

        Conditionally include the files ScrollAnimatorWin.h and ScrollAnimatorWin.cpp when building
        the Qt Windows with smooth scrolling enabled.

        No change in functionality since these files are guarded by ENABLE(SMOOTH_SCROLLING).

        * WebCore.pro:

2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        execCommand('JustifyCenter') adds extra BR
        https://bugs.webkit.org/show_bug.cgi?id=51082

        The bug was caused by moveParagraphContentsToNewBlockIfNecessary's adding a placeholder br
        to new block and not removing it later. Fixed the bug by removing it when the paragraph
        moved into the block didn't have a br at the end.

        Test: editing/execCommand/justify.html

        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):

2010-12-16  Jian Li  <jianli@chromium.org>

        Unreviewed. Fixed chromium build break caused by r74207.

        * platform/ContextMenuItem.h:

2010-12-16  Leandro Pereira  <leandro@profusion.mobi>

        [EFL] Unreviewed build fix.

        Disable ContextMenu support for now while support for
        CROSS_PLATFORM_MENUS is written.

        * CMakeListsEfl.txt:
        * platform/ContextMenu.h:
        * platform/ContextMenuItem.h:
        * platform/efl/ContextMenuEfl.cpp:
        (WebCore::ContextMenu::ContextMenu):
        (WebCore::ContextMenu::getContextMenuItems):
        (WebCore::ContextMenu::createNativeMenuFromItems):
        (WebCore::ContextMenu::nativeMenu):
        * platform/efl/ContextMenuItemEfl.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::nativeMenuItem):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::checked):
        (WebCore::ContextMenuItem::setEnabled):
        (WebCore::ContextMenuItem::enabled):
        (WebCore::ContextMenuItem::setSubMenu):

2010-12-16  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        execCommand('styleWithCSS') is ignored when selection isn't inside a contenteditable area
        https://bugs.webkit.org/show_bug.cgi?id=51164

        Fixed the bug by always enabling the StyleWithCSS command.

        Test: editing/style/stylewithcss-without-selection.html

        * editing/EditorCommand.cpp:
        (WebCore::createCommandMap): StyleWithCSS is enabled rather than enabledInRichlyEditableText.

2010-12-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Save the manual plug-in stream data and redeliver it when the plug-in is initialized
        https://bugs.webkit.org/show_bug.cgi?id=51201

        Export SharedBuffer related symbols.

        * WebCore.exp.in:

2010-12-16  Pavel Feldman  <pfeldman@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: timeline records should only operate WebCore time.
        https://bugs.webkit.org/show_bug.cgi?id=51127

        * inspector/InspectorTimelineAgent.cpp:
        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createResourceFinishData):
        * inspector/TimelineRecordFactory.h:

2010-12-15  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=50996
        <rdar://problem/8098862> Consider disabling DNS prefetch when proxy is used

        No new tests, cannot test DNS.

        * platform/network/cf/DNSCFNet.cpp:
        (WebCore::proxyIsEnabledInSystemPreferences): Check if accessing example.com is going to use
        a proxy. This is only an estimate - even with a proxy is configured in system preferences, an
        actual request can go directly to the host if a PAC script says so.
        (WebCore::DNSResolveQueue::add): Check if proxy is enabled when sending immediate requests.
        (WebCore::DNSResolveQueue::fired): Ditto when sending queued ones.

2010-12-16  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Console always scroll to the bottom on new events
        https://bugs.webkit.org/show_bug.cgi?id=51189

        When new messages are added to the console it will auto scroll
        only if it was already scrolled down to the last record.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
        (WebInspector.ConsoleView.prototype._isScrolledToLastMessage):
        (WebInspector.ConsoleView.prototype.addMessage):

2010-12-16  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: update CallStackSidebarPane placards and status message in the same event handler.
        https://bugs.webkit.org/show_bug.cgi?id=51174

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
        (WebInspector.BreakpointManager.prototype._debuggerPaused):
        (WebInspector.BreakpointManager.prototype._debuggerResumed):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.update):
        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.pausedScript):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):

2010-12-16  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Fix IDBDatabaseError code offset bug
        https://bugs.webkit.org/show_bug.cgi?id=51177

        IDBDatabaseError::code() needs to return the error code without
        offset. But when the IDBDatabaseError is created, the code comes with
        an offset (it gets passed a IDBDatabaseException::IDBDatabaseExceptionCode).

        However, in Chromium, IDBDatabaseErrors are sometimes also created via
        WebIDBDatabaseError when they are sent across IPC, and then the error
        code comes *without* offset. Provide a second create() function for
        this case.

        * storage/IDBDatabaseError.h:
        (WebCore::IDBDatabaseError::create):
        (WebCore::IDBDatabaseError::createWithoutOffset):
        (WebCore::IDBDatabaseError::code):

2010-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74162.
        http://trac.webkit.org/changeset/74162
        https://bugs.webkit.org/show_bug.cgi?id=51185

        More breakage in GTK+ (Requested by xan_ on #webkit).

        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::registerEncodingNames):

2010-12-16  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Up/Down/PageUp/PageDown on a CSS property numeric value commit the value editor
        https://bugs.webkit.org/show_bug.cgi?id=51114

        The r74038 regressed the behaviour. This patch additionally ensures that both Metrics and Styles panes
        are updated once a stylesheet is reverted.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
        (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
        (WebInspector.ElementsPanel.prototype._styleSheetChanged):

2010-12-16  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Chromium Mac Debug Clang compilation.

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):

2010-12-16  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed. Fix GTK3 compilation after 74129.

        * platform/gtk/WidgetRenderingContextGtk3.cpp:

2010-12-16  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Fix Chromium Debug compilation after r74177 

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::arithmetic):

2010-12-16  Kent Tamura  <tkent@chromium.org>

        Unreviewed, build fix.

        Fix a warning on 32-bit Mac.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::emphasisMarkFontData): 0.5 -> 0.5f

2010-12-16  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Improve feArithmeticFilter
        https://bugs.webkit.org/show_bug.cgi?id=51105

        In case of the arithmetic operator on feComposite filter, we could use
        different result passing modes depend on its type. Furthermore, the
        number of executed multiplications is reduced if k1 or k4 argument is zero.

        2% speedup on WebCore/manual-tests/svg-filter-animation.svg

        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::computeArithmeticPixels):
        (WebCore::arithmetic):
        (WebCore::FEComposite::apply):

2010-12-15  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Jon Honeycutt.

        WebKit2 should exit auto scrolling mode when losing focus
        https://bugs.webkit.org/show_bug.cgi?id=49209
        
        When a page loses focus, make sure that we stop the autoscroll timer, which exits pan scrolling mode. We
        don't want to automatically scroll when a page doesn't have focus.

        Updated manual-tests/autoscroll.html with instructions to test this bug.

        * manual-tests/autoscroll.html:
        * page/FocusController.cpp:
        (WebCore::FocusController::setFocused):

2010-12-15  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Font support for the text-emphasis CSS property
        Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
        https://bugs.webkit.org/show_bug.cgi?id=48539

        * platform/graphics/Font.cpp:
        (WebCore::Font::drawEmphasisMarks): Added. Calls through to drawEmphasisMarksFor{Simple,Complex}Text.
        (WebCore::Font::canReceiveTextEmphasis): Added. For simple text, checks if the character should
        have an emphasis mark.

        * platform/graphics/Font.h:

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Replaced the forceSmallCaps boolean with a FontDataVariant
        parameter and made this function work with other variants.
        (WebCore::Font::getEmphasisMarkGlyphData): Added. Returns glyph data for the first character of
        the emphasis mark. This function may not work if the emphasis mark uses a complex script, but none
        of the standard emphasis marks do so.
        (WebCore::Font::emphasisMarkAscent): Added.
        (WebCore::Font::emphasisMarkDescent): Added.
        (WebCore::Font::emphasisMarkHeight): Added.
        (WebCore::Font::getGlyphsAndAdvancesForSimpleText): Moved much of the logic from drawSimpleText()
        into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
        WidthIterator.
        (WebCore::Font::drawSimpleText): Left the drawing part here.
        (WebCore::Font::drawEmphasisMarksForSimpleText): Added.
        (WebCore::Font::drawGlyphBuffer): Removed the unused TextRun parameter.
        (WebCore::offsetToMiddleOfGlyph): Added this helper.
        (WebCore::offsetToMiddleOfGlyphAtIndex): Added this other helper.
        (WebCore::Font::drawEmphasisMarks): Added. Draws emphasis marks for a given glyph buffer by placing
        one mark centered above each glyph. Zero glyphs in the buffer indicate that no mark should be drawn.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::drawEmphasisMarks): Added. Calls through to Font::drawEmphasisMarks().

        * platform/graphics/GraphicsContext.h:

        * platform/graphics/SimpleFontData.cpp:
        (WebCore::SimpleFontData::SimpleFontData): Removed initialization of deleted members.
        (WebCore::SimpleFontData::~SimpleFontData): Removed derived font data cleanup, which now happens
        in ~DerivedFontData.
        (WebCore::SimpleFontData::brokenIdeographFontData): Changed to use m_derivedFontData.
        (WebCore::SimpleFontData::DerivedFontData::DerivedFontData): Added. This lazily-allocated struct
        contains the SimpleFontData for small caps, broken ideograph and emphasis mark.
        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData): Added.

        * platform/graphics/SimpleFontData.h:
        (WebCore::SimpleFontData::variantFontData): Added. This is used by Font::glyphDataForCharacter().

        * platform/graphics/WidthIterator.cpp:
        (WebCore::WidthIterator::WidthIterator): Added forTextEmphasis parameter.
        (WebCore::WidthIterator::advance): When used for text emphasis, replace glyphs with the zero glyph
        if they should not receive an emphasis mark.

        * platform/graphics/WidthIterator.h:

        * platform/graphics/chromium/FontChromiumWin.cpp:
        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.

        * platform/graphics/chromium/FontLinux.cpp:
        (WebCore::TextRunWalker::nextScriptRun): Updated for change to Font::glyphDataForCharacter().
        (WebCore::TextRunWalker::setupFontForScriptRun): Ditto.
        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.

        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/efl/FontEfl.cpp:
        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.

        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/gtk/FontGtk.cpp:
        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.

        * platform/graphics/haiku/FontHaiku.cpp:
        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.

        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/mac/ComplexTextController.cpp:
        (WebCore::ComplexTextController::ComplexTextController): Added forTextEmphasis parameter.
        (WebCore::ComplexTextController::collectComplexTextRuns): Updated for change to Font::glyphDataForCharacter().
        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): When used for text emphasis, replace glyphs with the zero glyph
        if they should not receive an emphasis mark.

        * platform/graphics/mac/ComplexTextController.h:

        * platform/graphics/mac/FontComplexTextMac.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
        into this new function, which also has a ForTextEmphasis parameter, which is passed along to the
        ComplexTextController.
        (WebCore::Font::drawComplexText): Left the drawing part here.
        (WebCore::Font::drawEmphasisMarksForComplexText): Added.

        * platform/graphics/mac/SimpleFontDataMac.mm:
        (WebCore::SimpleFontData::platformDestroy): Adopted m_derivedFontData.
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/pango/SimpleFontDataPango.cpp:
        (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::emphasisMarkAscent): Added stub.
        (WebCore::Font::emphasisMarkDescent): Ditto.
        (WebCore::Font::emphasisMarkHeight): Ditto.
        (WebCore::Font::drawEmphasisMarksForSimpleText): Ditto.
        (WebCore::Font::drawEmphasisMarksForComplexText): Ditto.

        * platform/graphics/win/FontWin.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Moved much of the logic from drawComplexText()
        into this new function, which also has a ForTextEmphasis parameter. Currently returns an empty
        glyph buffer for text emphasis.
        (WebCore::Font::drawComplexText): Left the drawing part here.
        (WebCore::Font::drawEmphasisMarksForComplexText): Added.

        * platform/graphics/win/SimpleFontDataWin.cpp:
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/win/UniscribeController.cpp:
        (WebCore::UniscribeController::advance): Updated for change to Font::glyphDataForCharacter().

        * platform/graphics/wince/FontWinCE.cpp:
        (WebCore::Font::drawEmphasisMarksForComplexText): Added stub.

        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
        (WebCore::SimpleFontData::platformDestroy): Removed redundant clearing of derived font.
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/graphics/wx/FontWx.cpp:
        (WebCore::Font::getGlyphsAndAdvancesForComplexText): Added stub.
        (WebCore::Font::drawComplexText): Updated for removal of unused TextRun parameter to drawGlyphBuffer().
        (WebCore::Font::drawEmphasisMarksForComplexText): Added.

        * platform/graphics/wx/SimpleFontDataWx.cpp:
        (WebCore::SimpleFontData::scaledFontData): Moved code from smallCapsFontData() here and generalized.
        (WebCore::SimpleFontData::smallCapsFontData): Adopted m_derivedFontData and scaledFontData().
        (WebCore::SimpleFontData::emphasisMarkFontData): Added.

        * platform/text/CharacterNames.h: Added characters used in Font::canReceiveTextEmphasis().

2010-12-15  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=51150 WebView's 
        _scaleWebView SPI doesn't work on pages with compositing layers
        -and corresponding-
        <rdar://problem/8604713>

        paintingGoesToWindow() should return false if the owning layer has 
        a transform.
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::paintingGoesToWindow):

        Use docWidth() and docHeight() instead of rightLayoutOverflow() and 
        bottomLayoutOverflow() since docWidth/Height are now the preferred 
        way to query physical dimensions of the document.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateRootLayerPosition):

2010-12-15  Alex Bredariol Grilo  <abgrilo@profusion.mobi>

        Reviewed by Eric Seidel.

        [EFL] Fix timer calling time in SharedTimerEfl

        No new features, so no tests added.

        The usage of ecore_timer_loop_add instead of ecore_timer_add corrects
        the problem that the timer is not called at the correct time. Since this
        code runs in a single thread, all multiple thread operations were
        removed.

        * platform/efl/SharedTimerEfl.cpp:
        (WebCore::stopSharedTimer):
        (WebCore::addNewTimer):

2010-12-15  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Ariya Hidayat.

        [Qt] StillImage::draw() shouldn't call setCompositionMode() unless the QPaintEngine has Porter-Duff composition
        https://bugs.webkit.org/show_bug.cgi?id=49918

        Go through GraphicsContext::setCompositeOperation() which does the check for us.

        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2010-12-15  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        UTF-16 and its variants should be treated as Big Endian when BOM
        is absent.
        https://bugs.webkit.org/show_bug.cgi?id=51035

        Test: fast/encoding/char-decoding.html (changed)

        * platform/text/TextCodecUTF16.cpp:
        (WebCore::TextCodecUTF16::registerEncodingNames):

2010-12-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Percentage Z values in 3d transform functions and transform-origin should cause the property to be invalid
        https://bugs.webkit.org/show_bug.cgi?id=51070
        
        Treat as inavlid -webkit-transform values that include a percentage value in translateZ()
        or in the third parameter to translate3d().

        Test: transforms/3d/general/3dtransform-values.html

        * css/CSSParser.cpp:
        (WebCore::CSSParser::parseTransform):
        (WebCore::CSSParser::parseTransformOrigin): Whitespace change.

2010-12-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Reflection does not render properly when -webkit-transform is toggled, untoggled, and retoggled
        https://bugs.webkit.org/show_bug.cgi?id=50967
        
        If a reflection on a compositied, transformed element is toggled on, off and on,
        then we pick up a cached layer clone that has the wrong transform set on it.
        
        The fix is to reset those properties on the layer clones that get changed
        when the GraphicsLayer gains a structural layer (for reflection flattening).

        Test: compositing/reflections/remove-add-reflection.html

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::ensureStructuralLayer):

2010-12-15  Timothy Hatcher  <timothy@apple.com>

        Fix a regression where the Web Inspector console would be empty
        if the Inspector is localized.

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

        Reviewed by Joseph Pecoraro.

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.createFilterElement): Add a label argument so the UI string
        is separate from the classname. Code clean up.
        (WebInspector.ConsoleView.prototype.filter): Remove toLowerCase and use string compare.
        (WebInspector.ConsoleView): Pass separate classnames and labels to createFilterElement.

2010-12-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Adele Peterson.

        WebKit2 in compositing mode no longer has font smoothing
        https://bugs.webkit.org/show_bug.cgi?id=50733

        Only turn off font smoothing for layers whose contents are
        not opaque. This allows the root GraphicsLayer in WebKit2 to
        set the opaque flag, and get smoothed text.

        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2010-12-15  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Allow disabling of font smoothing in compositing layers to be overridden by style
        https://bugs.webkit.org/show_bug.cgi?id=50732

        Add methods to GraphicsContext to get and set font smoothing,
        and have them be part of the graphics state.
        
        Fix Font::drawGlyphs() to allow the font's smoothing mode (from style)
        to override the current smoothing mode of the context. The global
        shouldUseSmoothing() still has final say.
        
        Turn off smoothing in compositing layers with this, rather than
        the non-stateful 'allow' method.
        
        * manual-tests/compositing/font-smoothing.html: Added.
        Manual test because DRT disables font smoothing.
        
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setShouldSmoothFonts):
        (WebCore::GraphicsContext::shouldSmoothFonts):
        (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformShouldSmoothFonts):
        * platform/graphics/mac/FontMac.mm:
        (WebCore::Font::drawGlyphs):
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2010-12-15  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        IOSurface bounds checks on bytesPerRow and allocSize are incorrect
        https://bugs.webkit.org/show_bug.cgi?id=51137

        No new tests added. For those using this new functionality, many current canvas layout tests will now pass.

        * platform/graphics/cg/ImageBufferCG.cpp:

2010-12-15  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Web Audio API: port FFTFrame to MKL
        https://bugs.webkit.org/show_bug.cgi?id=50986

        Ported FFTFrame to Intel's MKL. This patch contains the port and
        initial, though not complete, build system changes. Tested so far
        with a unit test by Chris Rogers (which requires code changes to
        AudioContext.cpp and is not being checked in). Further testing to
        follow once layout tests are available for the Web Audio API.

        * WebCore.gyp/WebCore.gyp:
        * WebCore.gypi:
        * platform/audio/FFTFrame.h:
        * platform/audio/mkl: Added.
        * platform/audio/mkl/FFTFrameMKL.cpp: Added.
        (WebCore::FFTFrame::FFTFrame):
        (WebCore::FFTFrame::~FFTFrame):
        (WebCore::FFTFrame::multiply):
        (WebCore::FFTFrame::doFFT):
        (WebCore::FFTFrame::doInverseFFT):
        (WebCore::FFTFrame::cleanup):
        (WebCore::FFTFrame::realData):
        (WebCore::FFTFrame::imagData):
        (WebCore::FFTFrame::getUpToDateComplexData):
        (WebCore::FFTFrame::descriptorHandleForSize):

2010-12-15  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Fix stack overflow when there are too many sibling inline boxes by using
        a loop to traverse children instead of calling each sibling from the first child.
        https://bugs.webkit.org/show_bug.cgi?id=48255

        Test: fast/overflow/lots-of-sibling-inline-boxes.html

        * rendering/InlineBox.h:
        (WebCore::InlineBox::setConstructed):
        (WebCore::InlineBox::next):
        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::setConstructed):

2010-12-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders Carlsson.

        WebKit2: Can't add files to an <input type=file>
        https://bugs.webkit.org/show_bug.cgi?id=51087

        Add exported function.

        * WebCore.exp.in:

2010-12-15  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Antonio Gomes.

        [Qt] screenIsMonochrome() is broken
        https://bugs.webkit.org/show_bug.cgi?id=49957

        * platform/qt/PlatformScreenQt.cpp:
        (WebCore::screenIsMonochrome):

2010-12-15  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move button rendering from gtk{2,3}drawing.cpp to RenderThemeGtk
        https://bugs.webkit.org/show_bug.cgi?id=48486

        Implement button rendering in RenderThemeGtk. The implementation
        from gtk{2,3}drawing.cpp will be removed once menu list button rendering
        is implemented in RenderThemeGtk as well.

        No new tests, as this should not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintButton): Add an implementation of button
        rendering that uses WidgetRenderingContext.

2010-10-18  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] Move input type=range rendering to RenderThemeGtk
        https://bugs.webkit.org/show_bug.cgi?id=47836

        Begin moving widget rendering out of the old Mozilla theme drawing code,
        which should remove many lines of code when completed. WidgetRenderingContext
        now hides the GTK+ 2 vs. 3 API differences, so that RenderThemeGtk can stay
        version agnostic.

        No new tests as this patch does not change functionality.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::RenderThemeGtk): gtkContainer() now returns a
        GtkWidget, so update the cast here.
        (WebCore::RenderThemeGtk::getGtkStateType): Added this helper which
        converts a RenderObject state into a GtkStateType.
        (WebCore::RenderThemeGtk::paintRenderObject): Removed work-arounds for
        scale painting, as it's not handled by this method any longer.
        (WebCore::RenderThemeGtk::paintSliderTrack): Updated to use
        WidgetRenderingContext.
        (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
        (WebCore::RenderThemeGtk::adjustSliderThumbSize): Get the size
        properties directly from the widget now instead of asking the Mozilla code.
        (WebCore::RenderThemeGtk::setupWidgetAndAddToContainer): Added this
        helper which reduces the amount of code quite a bit.
        (WebCore::RenderThemeGtk::gtkContainer): Updated to use helper.
        (WebCore::RenderThemeGtk::gtkButton): Ditto.
        (WebCore::RenderThemeGtk::gtkEntry): Ditto.
        (WebCore::RenderThemeGtk::gtkTreeView): Ditto.
        (WebCore::RenderThemeGtk::gtkVScale): Added.
        (WebCore::RenderThemeGtk::gtkHScale): Added.
        (WebCore::RenderThemeGtk::platformColorsDidChange): Removed
        GTK_CONTAINER cast.
        * platform/gtk/RenderThemeGtk.h: Updated to add new GtkHScale and
         GtkVScale members.
        * platform/gtk/WidgetRenderingContext.h: Aded new methods to proxy
        gtk_paint_box, gtk_paint_focus and gtk_paint_slider.
        * platform/gtk/WidgetRenderingContextGtk2.cpp:
        (WebCore::WidgetRenderingContext::gtkPaintBox): Added.
        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
        * platform/gtk/WidgetRenderingContextGtk3.cpp:
        (WebCore::WidgetRenderingContext::gtkPaintBox): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
        * platform/gtk/gtk2drawing.c: Removed defunct code!
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtk3drawing.c: Ditto.
        (moz_gtk_get_widget_border):
        (moz_gtk_widget_paint):
        * platform/gtk/gtkdrawing.h:

2010-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74117.
        http://trac.webkit.org/changeset/74117
        https://bugs.webkit.org/show_bug.cgi?id=51113

        This broke the GTK1 build. (Requested by mrobinson on
        #webkit).

        * GNUmakefile.am:
        * platform/network/soup/cache/webkit/soup-cache.h:

2010-12-15  Jian Li  <jianli@chromium.org>

        Unreviewed. Fixed a clang compiling error by making the forward
        declaration of MediaPlayerFactory be consistent with the definition.

        * platform/graphics/MediaPlayer.h:

2010-12-15  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Rename pageY to pageLogicalOffset, since for vertical writing modes it is an x-position rather than a
        y-position.

        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::pageLogicalOffset):
        (WebCore::LayoutState::addForcedColumnBreak):
        * rendering/LayoutState.h:
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::setPageLogicalOffset):
        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::pageLogicalOffset):
        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):

2010-12-13  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: move scripts storage from ScriptsPanel to DebuggerModel.
        https://bugs.webkit.org/show_bug.cgi?id=50908

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.BreakpointManager.prototype._debuggerPaused):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype.update):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.setBreakpoint):
        (WebInspector.DebuggerModel.prototype._setBreakpoint):
        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
        (WebInspector.DebuggerModel.prototype.scriptsForURL):
        (WebInspector.DebuggerModel.prototype.queryScripts):
        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
        (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
        (WebInspector.DebuggerModel.prototype.breakpointRestored):
        (WebInspector.DebuggerModel.prototype.debuggerPaused):
        (WebInspector.DebuggerModel.prototype.debuggerResumed):
        * inspector/front-end/Resource.js:
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel): eliminate sourceIDMap
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
        (WebInspector.SourceFrame.prototype._setBreakpoint):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        * inspector/front-end/inspector.js:
        (WebInspector.createJSBreakpointsSidebarPane):
        (WebInspector.parsedScriptSource):
        (WebInspector.failedToParseScriptSource):

2010-12-15  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Darin Adler.

        MediaPlayer should try all installed media engines
        https://bugs.webkit.org/show_bug.cgi?id=50209

        * platform/graphics/MediaPlayer.cpp:
        (WebCore::bestMediaEngineForTypeAndCodecs): Rename from chooseBestEngineForTypeAndCodecs. Take optional
        parameter for current engine. 
        (WebCore::nextMediaEngine): New, return the next media engine in the list.
        (WebCore::MediaPlayer::MediaPlayer): Initialize reload timer.
        (WebCore::MediaPlayer::load): Store url, mime type, and codecs parameter in member variables.
        (WebCore::MediaPlayer::loadWithNextMediaEngine): New, initiate loading with the next media engine.
        (WebCore::MediaPlayer::supportsType): Make contentType parameter const.
        (WebCore::MediaPlayer::reloadTimerFired): New, call loadWithNextMediaEngine.
        (WebCore::MediaPlayer::networkStateChanged): If network state signals a failure and the file's
        metadata has not loaded, give the next installed engine a try.
        * platform/graphics/MediaPlayer.h:

2010-12-15  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>

        Reviewed by Martin Robinson.

        Changes to enable building WebKit2 for Gtk port
        (https://bugs.webkit.org/show_bug.cgi?id=37369)

        No new functionality added or deleted. Only makefile change. Hence, no tests added.

        * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
        * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h> and declare WEBKIT_API directly

2010-12-15  Jarred Nicholls  <jarred@sencha.com>

        Reviewed by Andreas Kling.

        [Qt] Implement the File API spec
        https://bugs.webkit.org/show_bug.cgi?id=49839

        No new tests. fast/files tests work when manually operated.
        They do not automatically work due to Qt's inability to handle multi-file
        inputs (https://bugs.webkit.org/show_bug.cgi?id=22048) as well as Qt's DRT
        is missing an eventSender.beginDragWithFiles implementation.

        * WebCore.pri:
        * WebCore.pro:
        * features.pri:
        * platform/qt/FileSystemQt.cpp:
        (WebCore::directoryName):
        (WebCore::readFromFile):
        (WebCore::seekFile):

2010-12-14  Antti Koivisto  <antti@apple.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=49548
        WebCore cache stores duplicate copies of subresources with URL fragments
        
        - Strip fragment identifiers from HTTP and file URLs for the memory cache.
        - Changed some CachedResourceLoader and MemoryCache interfaces to use KURLs
          instead of strings to reduce repeated URL parsing.

        Test: http/tests/cache/subresource-fragment-identifier.html

        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::cachedResource):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::~CachedResource):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::cachedResource):
        (WebCore::CachedResourceLoader::checkForReload):
        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestResource):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::requestResource):
        (WebCore::MemoryCache::requestUserCSSStyleSheet):
        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
        (WebCore::MemoryCache::resourceForURL):
        * loader/cache/MemoryCache.h:

2010-12-15  Anton Muhin  <antonm@chromium.org>

        Reviewed by David Levin.

        [v8] Next round of CSS GC story: proper grouping of CSSStyleDeclarations
        https://bugs.webkit.org/show_bug.cgi?id=50965

        * bindings/v8/V8GCController.cpp:
        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
        (WebCore::DOMObjectGrouperVisitor::addAllItems):

2010-12-13  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: push persistent breakpoints into backend state cookie so they hit on navigation.
        https://bugs.webkit.org/show_bug.cgi?id=48858

        BreakpointManager pushes all persistent breakpoints to backend when loaded.
        InspectorController restores sticky breakpoints from cookie on navigation.

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::disconnectFrontend):
        (WebCore::InspectorController::didCommitLoad):
        (WebCore::InspectorController::setStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoints):
        (WebCore::InspectorController::restoreStickyBreakpoint):
        * inspector/InspectorController.h:
        * inspector/InspectorState.cpp:
        (WebCore::InspectorState::InspectorState):
        (WebCore::InspectorState::getObject):
        (WebCore::InspectorState::setObject):
        (WebCore::InspectorState::registerObject):
        * inspector/InspectorState.h:
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.BreakpointsSidebarPane):
        (WebInspector.BreakpointsSidebarPane.prototype._removeListElement):
        (WebInspector.BreakpointsSidebarPane.prototype._projectChanged):
        (WebInspector.EventListenerBreakpointsSidebarPane):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel.prototype.reset):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/Settings.js:
        (WebInspector.Settings.prototype.inspectedURLChanged):
        (WebInspector.Settings.prototype.get projectId):
        (WebInspector.Settings.prototype.findSettingForAllProjects):
        (WebInspector.Settings.prototype._formatProjectKey):
        * inspector/front-end/inspector.js:
        (WebInspector.createDOMBreakpointsSidebarPane):
        (WebInspector.createXHRBreakpointsSidebarPane):
        (WebInspector.reset):
        (WebInspector.inspectedURLChanged):

2010-12-15  Mario Sanchez Prada  <msanchez@igalia.com>

        Unreviewed, fix compilation warnings after r74066.

        * rendering/RenderBox.cpp:
        (WebCore::layersUseImage): Place this static function between the
        same if-def region used in the only place where it's called from.

2010-12-15  Emil Eklund  <eae@chromium.org>

        Reviewed by Adam Barth.

        Change ContainerNode::willRemoveChildren to not fire mutation events for children
        added as a result of a mutation event, thereby avoiding an infinite loop.
        https://bugs.webkit.org/show_bug.cgi?id=51079

        Test: fast/dom/containerNode.html

        * dom/ContainerNode.cpp:
        (WebCore::willRemoveChildren): Don't fire mutation events for children added during a mutation event.

2010-12-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/8767193> REGRESSION (r60822): caps-lock-indicator is accepted as a -webkit-appearance value
        https://bugs.webkit.org/show_bug.cgi?id=51096

        Test: fast/css/appearance-caps-lock-indicator.html

        * css/CSSValueKeywords.in: Moved caps-lock-indicator outside the range of values that should be
        accepted by the parser, and added comments about maintaining the list of appearance values.
        * platform/ThemeTypes.h: Moved CapsLockIndicatorPart to the end of the ControlPart enum.

2010-12-14  takano takumi  <takano@apple.com>

        Reviewed by Dan Bernstein.

        text-combine value names have been changed in the css3 proposal.
        https://bugs.webkit.org/show_bug.cgi?id=51089

        Changed text-combine's value names from "none|cluster|upright" to "none|horizontal".

        * css/CSSParser.cpp: Changed value name.
        (WebCore::CSSParser::parseValue):
        * css/CSSPrimitiveValueMappings.h: Changed value name.
        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
        (WebCore::CSSPrimitiveValue::operator TextCombine):
        * css/CSSValueKeywords.in: No more text-combine specific values needed since
        "horizontal" is already there.
        * rendering/style/RenderStyleConstants.h: Changed value name.
        * rendering/style/StyleRareNonInheritedData.h: Changed textCombine field size.

2010-12-14  Koan-Sin Tan  <koansin.tan@gmail.com>

        Reviewed by Alexey Proskuryakov.

        Kana should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
        https://bugs.webkit.org/show_bug.cgi?id=51012

        Kana should be displayed correctly in vertical text with broken font.

        Test: fast/blockflow/japanese-rl-text-with-broken-font.html

        * platform/graphics/Font.cpp:
        (WebCore::Font::isCJKIdeographOrSymbol): add katakana, hiraganna, and Halfwidth and Fullwidth Forms

2010-12-14  Dan Bernstein  <mitz@apple.com>

        Reviewed by Sam Weinig.

        Additional RenderStyle support for the text-emphasis CSS property
        Part of <rdar://problem/7720300> Support the CSS3 text-emphasis property
        https://bugs.webkit.org/show_bug.cgi?id=48539

        No test possible, since this is just adding a function to be used by upcoming patches.

        * platform/text/CharacterNames.h: Added characters used as emphasis marks.
        * rendering/style/RenderStyle.cpp:
        (WebCore::RenderStyle::textEmphasisMarkString): Added. Returns a string containing the
        emphasis mark, or the null AtomicString if there is none.
        * rendering/style/RenderStyle.h:

2010-12-14  Anton D'Auria  <adauria@apple.com>

        Reviewed by Darin Adler.

        Do not allow access to existing HTML5 databases in private browsing
        mode https://bugs.webkit.org/show_bug.cgi?id=49332

        Test: storage/private-browsing-noread-nowrite.html

        Previously, read-only transactions and private browsing mode were
        represented by the same SQLStatement and DatabaseAuthorizer states.
        This patch removes the m_readOnly member variable from SQLStatement and
        DatabaseAuthorizer, and replaces it with m_permissions whose bit fields
        are initialized by a DatabaseAuthorizer enum Permissions (ReadWrite,
        ReadOnly, NoAccess). A read-only transaction sets permissions to
        ReadOnly, and if !m_database->scriptExecutionContext()->allowDatabaseAccess(),
        then permissions also set to NoAccess.

        * dom/Document.cpp:
        (WebCore::Document::allowDatabaseAccess): this method was previously
        called isDatabaseReadOnly. It checks if private browsing preference is
        set. This method is renamed because it is used to check if private
        browsing restricts access to databases.
        * dom/Document.h:
        * dom/ScriptExecutionContext.h:
        * storage/AbstractDatabase.cpp:
        (WebCore::AbstractDatabase::setAuthorizerPermissions):
        * storage/AbstractDatabase.h:
        * storage/DatabaseAuthorizer.cpp:
        (WebCore::DatabaseAuthorizer::reset):
        (WebCore::DatabaseAuthorizer::createTable):
        (WebCore::DatabaseAuthorizer::createTempTable):
        (WebCore::DatabaseAuthorizer::dropTable):
        (WebCore::DatabaseAuthorizer::dropTempTable):
        (WebCore::DatabaseAuthorizer::allowAlterTable):
        (WebCore::DatabaseAuthorizer::createIndex):
        (WebCore::DatabaseAuthorizer::createTempIndex):
        (WebCore::DatabaseAuthorizer::dropIndex):
        (WebCore::DatabaseAuthorizer::dropTempIndex):
        (WebCore::DatabaseAuthorizer::createTrigger):
        (WebCore::DatabaseAuthorizer::createTempTrigger):
        (WebCore::DatabaseAuthorizer::dropTrigger):
        (WebCore::DatabaseAuthorizer::dropTempTrigger):
        (WebCore::DatabaseAuthorizer::createView):
        (WebCore::DatabaseAuthorizer::createTempView):
        (WebCore::DatabaseAuthorizer::dropView):
        (WebCore::DatabaseAuthorizer::dropTempView):
        (WebCore::DatabaseAuthorizer::createVTable):
        (WebCore::DatabaseAuthorizer::dropVTable):
        (WebCore::DatabaseAuthorizer::allowDelete):
        (WebCore::DatabaseAuthorizer::allowInsert):
        (WebCore::DatabaseAuthorizer::allowUpdate):
        (WebCore::DatabaseAuthorizer::allowRead):
        (WebCore::DatabaseAuthorizer::allowReindex):
        (WebCore::DatabaseAuthorizer::allowWrite): a new private method that
        checks if DatabaseAuthorizer is enabled and if it is in ReadOnly or
        NoAccess mode.
        (WebCore::DatabaseAuthorizer::setReadOnly):
        (WebCore::DatabaseAuthorizer::setPermissions):
        * storage/DatabaseAuthorizer.h:
        * storage/SQLStatement.cpp:
        (WebCore::SQLStatement::create):
        (WebCore::SQLStatement::SQLStatement):
        (WebCore::SQLStatement::execute):
        * storage/SQLStatement.h:
        * storage/SQLStatementSync.cpp:
        (WebCore::SQLStatementSync::SQLStatementSync):
        (WebCore::SQLStatementSync::execute):
        * storage/SQLStatementSync.h:
        * storage/SQLTransaction.cpp:
        (WebCore::SQLTransaction::executeSQL):
        * storage/SQLTransactionSync.cpp:
        (WebCore::SQLTransactionSync::executeSQL):
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::allowDatabaseAccess):

2010-12-02  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [chromium] Fix drawing of inset box shadows
        https://bugs.webkit.org/show_bug.cgi?id=41576

        When clearing outside clipped path, the context contains unexpected transform.
        Fixed to restore original state before the clear.

        * platform/graphics/skia/PlatformContextSkia.cpp:
        (WebCore::PlatformContextSkia::clipPathAntiAliased):
        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):

2010-12-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Sam Weinig.

        Mouse Events Not Received in Run Applet in their Own Process Mode
        https://bugs.webkit.org/show_bug.cgi?id=51078
        <rdar://problem/8333491>

        Make sure that Widget::handleEvent is called for applets as well.

        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::defaultEventHandler):
        * html/HTMLAppletElement.h:

2010-12-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Parts of page disappear
        https://bugs.webkit.org/show_bug.cgi?id=41701
        
        The page has text-indent: -1000000px on an element that becomes
        compositing, causing a huge tiled layer to get created.
        
        r63452 aimed to fix this by clamping layer bounds to the viewport,
        but did not do so for pages running accelerated animations (since
        we don't want to clamp for transform animations). However, this
        page only has an opacity animation.
        
        So refine the logic added for r63452 to only call setCompositingConsultsOverlap(false)
        for transform animations.

        Test: compositing/geometry/limit-layer-bounds-opacity-transition.html

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::startAnimation): call didStartAcceleratedAnimation()
        with the appropriate properties, and clean up confusing logic that was used to
        compute the return value. We want to return true if either property is accelerated.

        (WebCore::RenderLayerBacking::startTransition): Call didStartAcceleratedAnimation()
        with the appropriate property.
        
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): Pass the property in,
        and only turn off overlap testing if we see a transform animation.

2010-12-14  Brady Eidson  <beidson@apple.com>

        Reviewed by Alexey Proskuryakov.

        <rdar://problem/8225016> and https://bugs.webkit.org/show_bug.cgi?id=40138
        Authorization header is sent from an HTTP Auth protected site on redirect
        Test: http/tests/misc/authentication-sent-to-redirect.html

        Add helper to clear the Auth headers from a resource request:
        * platform/network/ResourceRequestBase.cpp:
        (WebCore::ResourceRequestBase::clearHTTPAuthorization):
        * platform/network/ResourceRequestBase.h:

        Only Mac and Windows CFNetwork ports seem to have this problem, so plug it for them:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        (WebCore::ResourceHandle::willSendRequest):
        * platform/network/mac/ResourceHandleMac.mm:
        (WebCore::ResourceHandle::willSendRequest):

2010-12-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Crash in WebCore::GraphicsLayer::paintGraphicsLayerContents() loading this URL
        https://bugs.webkit.org/show_bug.cgi?id=51072

        Fix a crash when painting a layer whose PlatformCALayer has been deleted,
        by clearing the PlatformCALayer value on the CALayer when the PlatformCALayer
        is destroyed.
        
        I was not able to reduce the page to a simple testcase.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::~PlatformCALayer):

2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Unreviewed, build fix.

        [Qt] Fix the list of header files in WebCore.pro after r74049.

        No new tests as there is no new functionality.

        * WebCore.pro:

2010-12-14  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Focus rings are ugly, rects should be united instead of drawn individually
        https://bugs.webkit.org/show_bug.cgi?id=49953

        Create a QPainterPath and add to it the focus rects, one at a time.
        Combine the 2 drawFocusRing functions into one function drawFocusRingForPath.

        Tests: fast/css/focus-ring-detached.html
               fast/css/focus-ring-multiline.html

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::drawFocusRingForPath):
        (WebCore::GraphicsContext::drawFocusRing):

2010-12-14  Mark Rowe  <mrowe@apple.com>

        Fix the Qt build.

        * xml/XSLTProcessorQt.cpp:
        (WebCore::XSLTProcessor::transformToString): Make the conversion to QString explicit
        since QVariant can be constructed from either a QString or a bool.

2010-12-14  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        compositing/masks/simple-composited-mask.html failure
        https://bugs.webkit.org/show_bug.cgi?id=49746

        Geometry of composited layers with a mask depends on the loading
        of the mask image, since maskClipRect() is used for the layer bounds.
        
        So when RenderBox::imageChanged() is called for an image used by
        a mask on a layer with a composited mask, call the newly-renamed
        layer->contentsChanged() method. This percolates down into RenderLayerBacking,
        ending in a layer geometry update.
        
        Renamed RenderLayer::rendereContentsChanged() to contentsChanged() and added
        an enum to say what changed, for somewhat more efficient updating.
        
        Also, when the mask layer gets resized, make sure we mark it as needing
        display.
        
        Tested by pixel result of compositing/masks/simple-composited-mask.html

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::didDraw):
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::markContextChanged):
        (WebCore::WebGLRenderingContext::reshape):
        * rendering/RenderBox.cpp:
        (WebCore::layersUseImage):
        (WebCore::RenderBox::imageChanged):
        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::imageDimensionsChanged):
        (WebCore::RenderImage::notifyFinished):
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::contentChanged):
        * rendering/RenderLayer.h:
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
        (WebCore::RenderLayerBacking::contentChanged):
        * rendering/RenderLayerBacking.h:
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::updatePlayer):

2010-12-14  Mark Rowe  <mrowe@apple.com>

        Reviewed by Sam Weinig.

        <http://webkit.org/b/51064> Reproducible crash inside WebCore::MediaPlayerPrivateQTKit::createQTMovie when loading <video>

        We were crashing inside MediaPlayerPrivateQTKit::createQTMovie as we were passing a null URL in
        to CFNetworkCopyProxiesForURL. This happened because we were null-checking the URL incorrectly.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Explicitly test for a null string.

2010-12-14  David Hyatt  <hyatt@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=50970
        
        It's arguably a bug, but we don't let inline flow layers paint floating
        descendants.  The containing block of the inline flow paints them instead.
        However our shouldPaint logic has always been flawed and has turned off propagation
        of painting when an inline flow layer is enclosing the float.
        
        Change enclosingSelfPaintingLayer to enclosingFloatPaintingLayer to be more precise
        and for now limit it to RenderBoxes. 
        
        Added fast/block/float/floatstack.html

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::addOverhangingFloats):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::enclosingFloatPaintingLayer):
        * rendering/RenderBox.h:
        * rendering/RenderObject.cpp:
        * rendering/RenderObject.h:

2010-12-14  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Dimitri Glazkov.

        Move asynchronous event dispatching out of Document
        https://bugs.webkit.org/show_bug.cgi?id=49785
        
        Move asynchonous event code out of Document and into a standalone
        EventQueue class (which supports async events for both regular nodes
        and the window object).

        No new tests necessary, since no new functionality is exposed (existing
        layout tests pass).

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::enqueueWindowEvent):
        (WebCore::Document::enqueueHashchangeEvent):
        * dom/DOMAllInOne.cpp:
        (WebCore::Document::eventQueue):
        * dom/Document.h:
        * dom/EventQueue.cpp: Added.
        (WebCore::EventQueue::EventQueue):
        (WebCore::EventQueue::enqueueEvent):
        (WebCore::EventQueue::pendingEventTimerFired):
        (WebCore::EventQueue::dispatchEvent):
        * dom/EventQueue.h: Added.
        * storage/StorageEventDispatcher.cpp:
        (WebCore::StorageEventDispatcher::dispatch):

2010-12-14  Kyounga Ra  <kyounga.ra@gmail.com>

        Reviewed by Adam Barth.

        <noscript> is rendered with enabled XHTMLMP.
        https://bugs.webkit.org/show_bug.cgi?id=48493

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::rendererIsNeeded):

2010-12-14  Laszlo Gombos  <laszlo.1.gombos@nokia.com>

        Reviewed by Eric Seidel.

        [Qt] [Symbian] Do not use pkg-config on Symbian as it is not supported
        https://bugs.webkit.org/show_bug.cgi?id=50231

        No new tests as there is no new functionality.

        Guard CONFIG+=link_pkgconfig with !symbian.

        * WebCore.pro:

2010-12-14  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r74040.
        http://trac.webkit.org/changeset/74040
        https://bugs.webkit.org/show_bug.cgi?id=51050

        Breaks 2d.shadow.canvas.transparent.2 and
        2d.shadow.image.transparent.2 (Requested by helder on
        #webkit).

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::ContextShadow):
        (WebCore::ContextShadow::calculateLayerBoundingRect):
        * platform/graphics/ContextShadow.h:
        (WebCore::ContextShadow::offset):
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):

2010-12-14  Nate Chapin  <japhet@chromium.org>

        Unreviewed, fixing qt (hopefully for real this time).

        Remove a couple more references to loader.h.

        * xml/XSLStyleSheetQt.cpp:
        * xml/XSLTProcessorQt.cpp:

2010-12-14  Nate Chapin  <japhet@chromium.org>

        Unreviewed, fix mac and qt builds.

        Missed a couple of references to loader.h and
        improperly added CachedResourceRequest.h to
        WebCore.xcodeproj.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/android/TemporaryLinkStubs.cpp:
        * platform/qt/TemporaryLinkStubsQt.cpp:

2010-12-14  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Rename Loader to CachedResourceRequest.
        https://bugs.webkit.org/show_bug.cgi?id=50848

        No new tests, rename only.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSStyleSelector.cpp:
        * loader/cache/CachedCSSStyleSheet.cpp:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedResource.cpp:
        (WebCore::CachedResource::setRequest):
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::load):
        (WebCore::CachedResourceLoader::loadDone):
        (WebCore::CachedResourceLoader::cancelRequests):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/CachedResourceRequest.cpp: Copied from WebCore/loader/loader.cpp.
        * loader/cache/CachedResourceRequest.h: Copied from WebCore/loader/loader.h.
        * loader/loader.cpp: Removed.
        * loader/loader.h: Removed.
        * xml/XSLStyleSheetLibxslt.cpp:
        * xml/XSLTProcessor.cpp:
        * xml/XSLTProcessorLibxslt.cpp:

2010-12-14  David Hyatt  <hyatt@apple.com>

        Reviewed by Tim Hatcher.

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

        Rename pageHeight variables and members in WebCore to pageLogicalHeight in preparation for
        making printing and pagination work with vertical writing modes.

        * page/FrameView.cpp:
        (WebCore::FrameView::forceLayoutForPagination):
        * rendering/LayoutState.cpp:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::clearPaginationInformation):
        * rendering/LayoutState.h:
        (WebCore::LayoutState::LayoutState):
        (WebCore::LayoutState::isPaginated):
        (WebCore::LayoutState::pageLogicalHeight):
        (WebCore::LayoutState::pageLogicalHeightChanged):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
        (WebCore::RenderBlock::insertFloatingObject):
        (WebCore::RenderBlock::layoutColumns):
        (WebCore::RenderBlock::nextPageTop):
        (WebCore::RenderBlock::applyBeforeBreak):
        (WebCore::RenderBlock::applyAfterBreak):
        (WebCore::RenderBlock::adjustForUnsplittableChild):
        (WebCore::RenderBlock::adjustLinePositionForPagination):
        * rendering/RenderBlock.h:
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computeLogicalHeight):
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::layout):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::RenderView):
        (WebCore::RenderView::layout):
        * rendering/RenderView.h:
        (WebCore::RenderView::pageLogicalHeight):
        (WebCore::RenderView::setPageLogicalHeight):

2010-12-14  Dimitri Glazkov  <dglazkov@chromium.org>

        Fix GTK build by adding source files that were accidentally skipped in
        r74044. Sorry!

        * GNUmakefile.am: Added SliderThumbElement.

2010-12-14  Beth Dakin  <bdakin@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=50974 
        getComputedStyle() returns wrong values for zoomed elements when 
        display is none
        -and corresponding-
        <rdar://problem/8522731>

        If there is no renderer but the RenderStyle's value is a fixed 
        length, send it through zoomAdjustedPixelValue(). There's not much 
        we can do for other length types without a renderer.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::zoomAdjustedPixelValueForLength):
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

2010-12-13  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by David Levin.

        Move SliderThumbElement into its own file.
        https://bugs.webkit.org/show_bug.cgi?id=50973

        No change in behavior, so no tests.

        * Android.mk: Added SliderThumbElement.
        * CMakeLists.txt: Ditto.
        * WebCore.gyp/WebCore.gyp: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto,
        * html/shadow/SliderThumbElement.cpp: Added.
        * html/shadow/SliderThumbElement.h: Added.
        * rendering/RenderSlider.cpp: Removed code that was moved into
            SliderThumbElement.

2010-12-13  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Adam Barth.

        https://bugs.webkit.org/show_bug.cgi?id=50953
        DNS Prefetch should be an opt-in feature

        No new tests, can't test DNS.

        * dom/Document.h: Made initDNSPrefetch public, since Page now calls it.

        * page/Page.cpp: (WebCore::Page::dnsPrefetchingStateChanged):
        * page/Page.h:
        Documents cache the value of this setting, so they need to be notified of changes. In particular,
        the first document in a page is created before settings are applied.

        * page/Settings.cpp:
        (WebCore::Settings::Settings): Changed default to false.
        (WebCore::Settings::setDNSPrefetchingEnabled): Notify the page about the change.

2010-12-14  Helder Correia  <helder@sencha.com>

        Reviewed by Ariya Hidayat.

        [Qt] Canvas shadow offset should not be affected by any transformation
        https://bugs.webkit.org/show_bug.cgi?id=50422

        On a canvas context, shadows are currently affected by all
        transformations except scaling. According to the spec:
        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#shadows

        "The shadowOffsetX and shadowOffsetY attributes specify the distance
        that the shadow will be offset in the positive horizontal and positive
        vertical distance respectively. Their values are in coordinate space
        units. They are not affected by the current transformation matrix."

        NOTE: this applies only to canvas, not to box shadows.

        Test: fast/canvas/canvas-transforms-fillRect-shadow.html

        * platform/graphics/ContextShadow.cpp:
        (WebCore::ContextShadow::ContextShadow):
        (WebCore::ContextShadow::calculateLayerBoundingRect):
        * platform/graphics/ContextShadow.h:
        (WebCore::ContextShadow::setShadowsIgnoreTransforms):
        (WebCore::ContextShadow::shadowsIgnoreTransforms):
        (WebCore::ContextShadow::offset):
        * platform/graphics/qt/ContextShadowQt.cpp:
        (WebCore::ContextShadow::beginShadowLayer):
        (WebCore::ContextShadow::endShadowLayer):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::mustUseContextShadow):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::fillRoundedRect):
        (WebCore::GraphicsContext::setPlatformShadow):

2010-12-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Rule data not updated in Styles pane after stylesheet gets reverted
        https://bugs.webkit.org/show_bug.cgi?id=51034

        * inspector/front-end/CSSStyleModel.js:
        (WebInspector.CSSStyleModel.prototype._onRevert):
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype._metricsPaneEdited):
        (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
        (WebInspector.ElementsPanel.prototype._styleSheetChanged):

2010-12-14  Andreas Kling  <andreas.kling@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Avoid GraphicsContext save/restore in Image::drawPattern()
        https://bugs.webkit.org/show_bug.cgi?id=51037

        It's enough to restore the CompositeOperator after drawing.

        * platform/graphics/qt/ImageQt.cpp:
        (WebCore::Image::drawPattern):

2010-12-14  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        <rdar://problem/8763862>
        r72017 used incorrect compiler conditional.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):

2010-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Simplify context-menu handling code
        https://bugs.webkit.org/show_bug.cgi?id=49658

        * platform/ContextMenuItem.h:
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::appendItem):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):

2010-12-14  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Implement STATE_FOCUSED, STATE_FOCUSABLE, and corresponding events for text objects
        https://bugs.webkit.org/show_bug.cgi?id=27048

        Handle focus change for text objects based in caret changes.

        As text objects (such as paragraphs) seem not to accept focus in
        WebCore in the same way other objects (text controls) do, a
        Gtk-specific workaround is needed to expose this states and the
        related events to ATK-based assistive technologies.

        Test: platform/gtk/accessibility/caret-browsing-text-focus.html

        Ensure that text objects are exposed with the ATK_STATE_FOCUSABLE
        state, and that the ATK_STATE_FOCUSED state is added to those
        text objects containing the currently active caret selection.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (selectionBelongsToObject): Moved upwards to use it from
        the new isTextWithCaret() function.
        (isTextWithCaret): New, checks whether an accessibility object
        represents a text object with the current caret selection on it.
        (setAtkStateSetFromCoreObject): Add the ATK_STATE_FOCUSED state
        when also when isTextWithCaret(coreObject) returns true.
        (webkit_accessible_ref_state_set): Add the ATK_STATE_FOCUSABLE
        state to text objects and those with the ATK_ROLE_PARAGRAPH role.
        (webkit_accessible_text_get_n_selections): Optimize return expression.

        Make sure the proper events associated to a change of focus are
        emitted, based on caret changes across different accessibility
        objects. Also, refactored the code in more manageable and
        understandable helper functions.

        * editing/gtk/SelectionControllerGtk.cpp:
        (WebCore::emitTextSelectionChange): New, includes the specific
        code formerly placed in notifyAccessibilityForSelectionChange() to
        emit the 'text-caret-moved' and 'text-selection-change' signals.
        (WebCore::maybeEmitTextFocusChange): New, takes care of emitting
        the 'focus-event' and 'state-changed::focused' signals when
        needed, that is, when a change in the selection happens across
        different accessible objects.
        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
        Refactored some code here, by using the new helper functions.

2010-12-14  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: regroup Inspector.idl entries.
        Just for better visibility.

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

        * inspector/Inspector.idl:

2010-12-14  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Reverted stylesheet breaks style data
        https://bugs.webkit.org/show_bug.cgi?id=51030

        * inspector/InspectorStyleSheet.cpp:
        (WebCore::InspectorStyleSheet::reparseStyleSheet):

2010-12-14  Mads Ager  <ager@chromium.org>

        Reviewed by Pavel Feldman.

        [V8] Reflected unsigned attributes should be in the range [0, 2^31)
        https://bugs.webkit.org/show_bug.cgi?id=51023

        Follow the changes made to CodeGeneratorJS.pm to return 0 for
        reflected unsigned attributes that are outside the allowed range.
        See https://bugs.webkit.org/show_bug.cgi?id=50472

        * bindings/scripts/CodeGeneratorV8.pm:

2010-12-14  Charlie Reis  <creis@chromium.org>

        Reviewed by Darin Adler.

        Remove stale include of Document.h in V8DOMWrapper.h
        https://bugs.webkit.org/show_bug.cgi?id=50607

        We no longer need to include Document.h or V8DOMMap.h in
        V8DOMWrapper.  Removing them to avoid dependencies.

        * bindings/v8/V8DOMWrapper.h:

2010-12-14  Julien Chaffraix  <jchaffraix@codeaurora.org>

        Reviewed by Darin Adler.

        Test for: EventSource fails to connect if Content-Type header has a charset attribute
        https://bugs.webkit.org/show_bug.cgi?id=45372

        Tests: http/tests/eventsource/eventsource-content-type-charset.html
               http/tests/eventsource/eventsource-content-type-text-event-stream-foobar.html

        * page/EventSource.cpp:
        (WebCore::EventSource::didReceiveResponse): Use the mimeType instead of the Content-Type
        header directly. This makes the detection of the "text/stream" mimeType more accurate.

2010-12-14  Pieter Senster  <psenster@google.com>

        Reviewed by Dirk Schulze.

        Incorporate the channel offsets from the ColorMatrix filter in the filter calculation
        https://bugs.webkit.org/show_bug.cgi?id=50682

        Test: svg/filters/feColorMatrix-offset.svg

        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::matrix):

2010-12-14  Jarred Nicholls  <jarred@sencha.com>

        Reviewed by Kenneth Rohde Christiansen.

        Qt's Clipboard::files() implementation for HTML5 Drag/Drop (DataTransfer)

        No new tests. Run tests manually until DRT is updated w/ beginDragWithFiles.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::files):

2010-12-13  Antonio Gomes  <agomes@rim.com>

        Rubber stamped by Daniel Bates.

        Spatial Navigation: code clean up (part V)
        https://bugs.webkit.org/show_bug.cgi?id=50666

        No new tests needed.

        * page/SpatialNavigation.cpp:
        (WebCore::distanceDataForNode): Made 'FocusCandidate current' const since it is not
        supposed to change within this function.
        * page/SpatialNavigation.h: Ditto.

2010-12-13  takano takumi  <takano@apple.com>

        Reviewed by Dan Bernstein.

        GlyphPage::fill() is slow on vertical writing (Mac)
        https://bugs.webkit.org/show_bug.cgi?id=50865

        No test. Just a performance improvement.

        * platform/graphics/Font.cpp:
        (WebCore::Font::isCJKIdeograph): Now this only checks pure ideographs (Hanji).
        (WebCore::Font::isCJKIdeographOrSymbol): Added this for Hanji and Hanji related symbols.
        * platform/graphics/Font.h:
        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter): Changed to call isCJKIdeographOrSymbol() instead of isCJKIdeograph().
        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
        (WebCore::shouldUseCoreText): This tests if GlyphPage::fill() should use CoreText or not.
        For vertical writing, if the current page contains only ideographs, we go CG path.
        (WebCore::GlyphPage::fill): Made to call shouldUseCoreText() and switch code path.

2010-12-13  Antonio Gomes  <agomes@rim.com>

        Reviewed by Daniel Bates.

        Spatial Navigation: code clean up (part IV)
        https://bugs.webkit.org/show_bug.cgi?id=50666

        Avoid calling canScrollInDirection more than necessary.

        No new tests needed.

        * page/FocusController.cpp:
        (WebCore::FocusController::advanceFocusDirectionallyInContainer): Moved the call to canScrollInDirection()
        to within the scrollInDirection().
        * page/SpatialNavigation.cpp: Removed the assertion to canScrollingDirection function.
        (WebCore::scrollInDirection):

2010-12-13  Antonio Gomes  <agomes@rim.com>

        Reviewed by Daniel Bates.

        Spatial Navigation: code clean up (part III)
        https://bugs.webkit.org/show_bug.cgi?id=50666

        No new tests needed.

        * page/SpatialNavigation.h: Added FocusCandidate::isFrameOwnerElement and
        WebCore::frameOwnerElement helper functions.
        (WebCore::FocusCandidate::isFrameOwnerElement): Returns true if the Node pointer
        wrapped by FocusCandidate is an instance of HTMLFrameOwnerElement. Returns false
        otherwise.
        * page/SpatialNavigation.cpp:
        (WebCore::frameOwnerElement): Returns the HTMLFrameOwnerElement associated with
        the FocusCandidate if appropriate.
        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateIfNeeded): Make use of newly added frameOwnerElement() helper.
        (WebCore::FocusController::advanceFocusDirectionallyInContainer): Ditto.

2010-12-13  Mike Lawther  <mikelawther@chromium.org>

        Reviewed by Daniel Bates.

        [skia] ignore transform for canvas shadows
        https://bugs.webkit.org/show_bug.cgi?id=50437

        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformShadow):

2010-12-13  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        ValidityState's exposed functions should check if willValidate() is true before all
        https://bugs.webkit.org/show_bug.cgi?id=50617

        Added checking willValidate() to exposed functions. And modified willValidate() behavior
        for <button type="submit"> and <input type="submit"> to return true if not disabled and
        not readonly.

        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::parseMappedAttribute): Added calling setNeedsWillValidateCheck() to refresh willValidate() after changing its type.
        (WebCore::HTMLButtonElement::recalcWillValidate): Added to return true if not disabled and not readonly when type="submit". It's to be compliant to the spec.
        * html/HTMLButtonElement.h:
        * html/SubmitInputType.cpp:
        (WebCore::SubmitInputType::supportsValidation): Removed it to enable willValidate() for <input> when type="submit". It's to be compliant to the spec.
        (WebCore::SubmitInputType::supportsRequired): Added it to reject required attributes though validation is available.
        * html/SubmitInputType.h:
        * html/ValidityState.cpp: Added checking willValidate().
        (WebCore::ValidityState::typeMismatch):
        (WebCore::ValidityState::patternMismatch):
        (WebCore::ValidityState::tooLong):
        (WebCore::ValidityState::rangeUnderflow):
        (WebCore::ValidityState::rangeOverflow):
        (WebCore::ValidityState::stepMismatch):
        (WebCore::ValidityState::customError):
        * html/ValidityState.h:

2010-12-13  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by David Levin.

        [chromium] Upstream skia/ImageBuffer.cpp routine mulDiv255Ceil()
        https://bugs.webkit.org/show_bug.cgi?id=50545

        Skia has rolled, replace uses of mulDiv255Ceil with SkMulDiv255Ceiling.

        No new tests, no change in behaviour.

        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::putImageData):

2010-12-13  Gavin Peters  <gavinp@chromium.org>

        Reviewed by Adam Barth.

        Re land Purpose after bad merge
        https://bugs.webkit.org/show_bug.cgi?id=51000

        * loader/loader.cpp:
        (WebCore::Loader::load):

2010-12-13  Dan Bernstein  <mitz@apple.com>

        Reviewed by Simon Fraser.

        <rdar://problem/8763696> REGRESSION (r72173): Fallback fonts’ vertical metrics aren’t accounted for even when line-height is unspecified
        https://bugs.webkit.org/show_bug.cgi?id=50979

        Many test results updated.

        * rendering/InlineFlowBox.cpp: Reinstated the code that updates affectsAscent and
        affectsDescent in the used-fonts code path. Renamed variables for clarity. Added
        a check whether usedFonts is empty (which it might be if there is glyph overflow
        but no fallback) as an optimization.

2010-12-13  Mark Rowe  <mrowe@apple.com>

        Rubber-stamped by Jon Honeycutt.

        Remove unnecessary include of Switch module.

        There are no switch statements in this file.

        * dom/make_names.pl:

2010-12-13  Emil Eklund  <eae@chromium.org>

        Reviewed by Dimitri Glazkov.

        Change SelectionController::setFocusedNodeIfNeeded to traverse the DOM
        tree instead of the render tree.
        https://bugs.webkit.org/show_bug.cgi?id=50989

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::setFocusedNodeIfNeeded):
        Walk up DOM/hosted tree rather than render tree and remove FIXME comment
        that does't apply (SelectionController and EventHandler needs different
        checks).

2010-12-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: aria-invalid should be supported.
        https://bugs.webkit.org/show_bug.cgi?id=50573

        Test: platform/mac/accessibility/aria-invalid.html

        * accessibility/AXObjectCache.h:
        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::invalidStatus):
        * accessibility/AccessibilityObject.h:
        * accessibility/chromium/AXObjectCacheChromium.cpp
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/AXObjectCacheMac.mm:
        (WebCore::AXObjectCache::postPlatformNotification):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * dom/Element.cpp:
        (WebCore::Element::updateAfterAttributeChanged):
        * html/HTMLAttributeNames.in:

2010-12-13  Joone Hur  <joone@kldp.org>

        Reviewed by Eric Seidel.

        WebKit fails to compile when building with WML support enabled
        https://bugs.webkit.org/show_bug.cgi?id=42943

        Use TextPosition instead of lineNumber() and columNumber().

        No new tests are added, because this is just a build fix.

        * dom/XMLDocumentParser.h: Make lineNumber() private.
        * wml/WMLErrorHandling.cpp:
        (WebCore::reportWMLError): Use TextPosition instead of lineNumber() and columnNumber().

2010-12-13  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Beth Dakin.

        AX: lists and list boxes need different attributes
        https://bugs.webkit.org/show_bug.cgi?id=50978

        Separate out the attributes being returned for lists (<ul>) and listboxes (<select multiple>).

        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):

2010-12-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

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

        REGRESSION: Scrolling nested iframes is messed up on platforms that use the cross-platform ScrollView.
       
        The selfClipRect and childrenClipRect methods of RenderLayer were incorrectly relying on the bounding box
        of the root layer.  This bounding box was only coincidentally incorporating overflow as part of the 
        RenderLayer's bounds.  Since I fixed the RenderLayer bounds to not include layout overflow any longer,
        this check is now exposed as incorrect.  Use the entire document size  when computing layer clip
        rects.

        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::childrenClipRect):
        (WebCore::RenderLayer::selfClipRect):
        * rendering/RenderView.h:
        (WebCore::RenderView::documentRect):

2010-12-13  Simon Fraser  <simon.fraser@apple.com>

        GraphicsContextPrivate.h was removed. Nuke it from the project.
        
        * WebCore.xcodeproj/project.pbxproj:

2010-12-13  Eric Carlson  <eric.carlson@apple.com>

        Reviewed by Antti Koivisto.

        HTMLMediaElement::endedPlayback should not return true if duration is zero
        https://bugs.webkit.org/show_bug.cgi?id=50962

        (WebCore::HTMLMediaElement::endedPlayback): Don't return true when duration is zero because a 
        media file can't play if it has no duration, therefore it can't have ended playback.

2010-12-13  Brent Fulgham  <bfulgham@webkit.org>

        Unreviewed build fix after r73840.

        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops: Update property file
        to pass three arguments to build-generated-files.sh, just like
        the official Apple port.

2010-12-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Adam Roben.

        Make sure the defaultSpaceEventHandler does logical scrolling.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultSpaceEventHandler):

2010-12-13  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=50591 Adopt new CG API for canvas

        No new tests necessary.

        * Configurations/WebCore.xcconfig: Added IOSurface framework link.
        * html/canvas/CanvasRenderingContext2D.cpp: Used IOSurface def. instead.
        * platform/graphics/ImageBuffer.h: Pushed renderingMode down into ctor.
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        * platform/graphics/cg/ImageBufferCG.cpp:
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        * platform/graphics/qt/ImageBufferQt.cpp:
        * platform/graphics/skia/ImageBufferSkia.cpp:
        * platform/graphics/wince/ImageBufferWinCE.cpp:
        * platform/graphics/wx/ImageBufferWx.cpp:

2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73923.
        http://trac.webkit.org/changeset/73923
        https://bugs.webkit.org/show_bug.cgi?id=50944

        Broke editing/selection/extend-selection-home-end.html on non-
        mac platforms. Looks like a real bug. (Requested by ojan on
        #webkit).

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::positionForPlatform):
        (WebCore::SelectionController::modifyExtendingForward):

2010-12-13  David Hyatt  <hyatt@apple.com>

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=48545, Home/End, PageUp/PageDwn should respect writing-mode. 

        Add logical scrolling to WebCore.  It basically mirrors physical scrolling but works in abstract logical
        directions and only converts to physical when it's time to attempt the scroll.
        
        Also fixed bugs in scrollRecursively and logicalScrollRecursively where overflow sections in containing
        frames got skipped over.
        
        Made the resetting of the inline axis scroll position on Home/End Mac-specific for overflow sections.
        
        * WebCore.exp.in:
        * page/EventHandler.cpp:
        (WebCore::EventHandler::logicalScrollOverflow):
        (WebCore::EventHandler::scrollRecursively):
        (WebCore::EventHandler::logicalScrollRecursively):
        * page/EventHandler.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::isVerticalDocument):
        (WebCore::FrameView::isFlippedDocument):
        * page/FrameView.h:
        * platform/ScrollTypes.h:
        (WebCore::logicalToPhysical):
        * platform/ScrollView.cpp:
        (WebCore::ScrollView::scroll):
        (WebCore::ScrollView::logicalScroll):
        * platform/ScrollView.h:
        (WebCore::ScrollView::isVerticalDocument):
        (WebCore::ScrollView::isFlippedDocument):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::logicalScroll):
        * rendering/RenderBox.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::scroll):
        * rendering/RenderListBox.cpp:
        (WebCore::RenderListBox::logicalScroll):
        * rendering/RenderListBox.h:
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::logicalScroll):
        * rendering/RenderTextControlSingleLine.h:

2010-12-13  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Rollout 73914, 73915, 73917, 73920 and 73921.

        REGRESSION(r73914): "Chromium page_cycler_morejs fails" (Requested by yurys on #webkit).
        https://bugs.webkit.org/show_bug.cgi?id=50950

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::reportException):
        * bindings/js/JSWorkerContextErrorHandler.cpp: Renamed from WebCore/bindings/js/JSErrorHandler.cpp.
        (WebCore::JSWorkerContextErrorHandler::JSWorkerContextErrorHandler):
        (WebCore::JSWorkerContextErrorHandler::~JSWorkerContextErrorHandler):
        (WebCore::JSWorkerContextErrorHandler::handleEvent):
        * bindings/js/JSWorkerContextErrorHandler.h: Renamed from WebCore/bindings/js/JSErrorHandler.h.
        (WebCore::JSWorkerContextErrorHandler::create):
        (WebCore::createJSWorkerContextErrorHandler):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::dispatchNow):
        (WebCore::V8ConsoleMessage::handler):
        * bindings/v8/V8ConsoleMessage.h:
        * bindings/v8/V8WindowErrorHandler.cpp: Removed.
        * bindings/v8/V8WindowErrorHandler.h: Removed.
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::v8MessageHandler):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * dom/Document.cpp:
        (WebCore::Document::reportException):
        (WebCore::Document::addMessage):
        * dom/Document.h:
        * dom/ErrorEvent.cpp:
        * dom/ErrorEvent.h:
        * dom/Event.cpp:
        * dom/Event.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:
        * websockets/WebSocket.cpp:
        (WebCore::WebSocket::connect):
        * websockets/WebSocketChannel.cpp:
        (WebCore::WebSocketChannel::didOpen):
        (WebCore::WebSocketChannel::appendToBuffer):
        * websockets/WebSocketHandshake.cpp:
        (WebCore::WebSocketHandshake::readServerHandshake):
        (WebCore::WebSocketHandshake::readStatusLine):
        (WebCore::WebSocketHandshake::readHTTPHeaders):
        (WebCore::WebSocketHandshake::checkResponseHeaders):
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::postExceptionTask):
        (WebCore::postConsoleMessageTask):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        (WebCore::WorkerContext::reportException):
        (WebCore::WorkerContext::addMessage):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerExceptionTask::performTask):
        (WebCore::postConsoleMessageTask):
        * xml/XMLHttpRequest.cpp:
        (WebCore::reportUnsafeUsage):

2010-12-13  Antti Koivisto  <antti@apple.com>

        Reviewed by Alexey Proskuryakov.

        https://bugs.webkit.org/show_bug.cgi?id=50758
        <rdar://problem/8722094> 
        Defer loading print stylesheets
        
        - Make preload scanner skip stylesheets with non-screen media types.
        - Make it possible to specify non-default load priority from the client.
        - Use this mechanism to load print stylesheets using very low priority so they get loaded after everything else.
        - Move default priority code from Loader to CachedResource.
        - Move ResourceLoadScheduler::Priority enum to a separate file (as ResourceLoadPriority).
        - Add a way to make ResourceLoadScheduler load resources one at the time so the above functionality can be tested reliably.

        Tests: http/tests/local/link-stylesheet-load-order-preload.html
               http/tests/local/link-stylesheet-load-order.html

        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/CSSImageValue.cpp:
        (WebCore::CSSImageValue::cachedImage):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * html/parser/HTMLPreloadScanner.cpp:
        (WebCore::HTMLNames::PreloadTask::PreloadTask):
        (WebCore::HTMLNames::PreloadTask::processAttributes):
        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
        (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
        (WebCore::HTMLNames::PreloadTask::preload):
        * loader/DocumentThreadableLoader.cpp:
        (WebCore::DocumentThreadableLoader::loadRequest):
        * loader/ResourceLoadPriority.h: Added.
        * loader/ResourceLoadScheduler.cpp:
        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
        (WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
        (WebCore::ResourceLoadScheduler::scheduleLoad):
        (WebCore::ResourceLoadScheduler::servePendingRequests):
        (WebCore::ResourceLoadScheduler::HostInformation::~HostInformation):
        (WebCore::ResourceLoadScheduler::HostInformation::schedule):
        (WebCore::ResourceLoadScheduler::HostInformation::remove):
        (WebCore::ResourceLoadScheduler::HostInformation::hasRequests):
        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
        * loader/ResourceLoadScheduler.h:
        (WebCore::ResourceLoadScheduler::isSerialLoadingEnabled):
        (WebCore::ResourceLoadScheduler::setSerialLoadingEnabled):
        (WebCore::ResourceLoadScheduler::HostInformation::requestsPending):
        * loader/cache/CachedResource.cpp:
        (WebCore::defaultPriorityForResourceType):
        (WebCore::CachedResource::CachedResource):
        * loader/cache/CachedResource.h:
        (WebCore::CachedResource::loadPriority):
        (WebCore::CachedResource::setLoadPriority):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
        (WebCore::CachedResourceLoader::requestResource):
        (WebCore::CachedResourceLoader::requestPreload):
        * loader/cache/CachedResourceLoader.h:
        * loader/cache/MemoryCache.cpp:
        (WebCore::MemoryCache::requestResource):
        * loader/cache/MemoryCache.h:
        * loader/loader.cpp:
        (WebCore::Loader::load):

2010-12-13  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dimitri Glazkov.

        Build fix for r73927
        https://bugs.webkit.org/show_bug.cgi?id=50946

        Reverting CSSCanvasValue::canvasDestroyed to its code before r73927
        because it's breaking the build and I changed it only because it
        appeared redunudant after r73927.

        No behavior changed so no new tests needed.

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::canvasDestroyed):

2010-12-13  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by nobody, build fix.

        Unlinking IOSurface framework from xcodeproj.

        * WebCore.xcodeproj/project.pbxproj:

2010-12-13  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Dimitri Glazkov.

        HTMLCanvasElement should handle multiple observers.
        https://bugs.webkit.org/show_bug.cgi?id=50899

        Test: fast/canvas/canvas-bg-multiple-removal.html

        * css/CSSCanvasValue.cpp:
        (WebCore::CSSCanvasValue::~CSSCanvasValue):
        (WebCore::CSSCanvasValue::canvasDestroyed):
        (WebCore::CSSCanvasValue::element):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
        (WebCore::HTMLCanvasElement::addObserver):
        (WebCore::HTMLCanvasElement::removeObserver):
        (WebCore::HTMLCanvasElement::didDraw):
        (WebCore::HTMLCanvasElement::reset):
        * html/HTMLCanvasElement.h:

2010-12-13  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        [Chromium] canvas/philip/tests/2d.missingargs.html hangs on Snow Leopard
        https://bugs.webkit.org/show_bug.cgi?id=50841

        Test: fast/canvas/strokeText-missing-args.html
        
        We didn't have isfinite checks for the x and y coordinates that are
        passed to strokeText/drawTextInternal (unlike all the other methods,
        which got checks in r50910 and r59447).

        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):

2010-12-09  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Adopt new CG API for canvas
        https://bugs.webkit.org/show_bug.cgi?id=50591

        No new tests. All current layout tests are sufficient.

        * html/HTMLCanvasElement.cpp: Add in accelerateRendering flag for imagebuffer creation.
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::isAccelerated): Always return true if using CA on new platforms.
        (WebCore::CanvasRenderingContext2D::drawTextInternal): Use accelerateRendering for imagebuffer.
        * platform/graphics/ImageBuffer.h:
        (WebCore::ImageBuffer::create): Plumb through new flag.
        * platform/graphics/cairo/ImageBufferCairo.cpp: Update method sig.
        * platform/graphics/cg/ImageBufferCG.cpp: Switch off of accelerateRendering flag for new accelerated paths.
        * platform/graphics/cg/ImageBufferData.h: Add in surface ref
        * platform/graphics/haiku/ImageBufferHaiku.cpp: Update method sig.
        * platform/graphics/qt/ImageBufferQt.cpp: ^^
        * platform/graphics/skia/ImageBufferSkia.cpp: ^^
        * platform/graphics/wince/ImageBufferWinCE.cpp: ^^
        * platform/graphics/wx/ImageBufferWx.cpp: ^^
        * platform/mac/WebCoreSystemInterface.h: Add new method sigs
        * platform/mac/WebCoreSystemInterface.mm: ^^
        * rendering/RenderLayerBacking.cpp:
        * rendering/RenderLayerCompositor.cpp: Set acceleratesDrawing for canvas backings.

2010-12-13  Benjamin Kalman  <kalman@chromium.org>

        Reviewed by Ojan Vafai.

        Shift-End does not select to the end of the line
        https://bugs.webkit.org/show_bug.cgi?id=50610

        Test: editing/selection/extend-to-line-boundary.html

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::positionForPlatform): Use visibleStart/visibleEnd rather than
        start/end.
        (WebCore::SelectionController::modifyExtendingForward):

2010-12-13  Adam Roben  <aroben@apple.com>

        Windows build fix after r73914

        * WebCore.vcproj/WebCore.vcproj: Fix malformed XML.

2010-12-13  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Qt build fix.

        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        * dom/ScriptExecutionContext.h:

2010-12-13  Mario Sanchez Prada  <msanchez@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] Additional support is needed for caret browsing
        https://bugs.webkit.org/show_bug.cgi?id=25526

        Enable "MoveTo{Beginninng|End}OfDocument" commands when caret
        browsing is enabled.

        This change impacts the GTK-port only as caret browsing is a
        feature only used in that platform so far.

        Test: platform/gtk/editing/selection/caret-mode-document-begin-end.html

        * editing/EditorCommand.cpp:
        (WebCore::createCommandMap): Enable the commads when in caret browsing.

2010-12-13  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Qt build fix.

        * dom/Event.cpp:
        (WebCore::Event::isErrorEvent):
        * dom/Event.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
        only in workers.

2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.

        Debugger and Resources related notification functions of Inspector.idl were
        marked as such with help of "domain" attribute. The other changes in js files
        are reflecting this change. Some wrappers in WebInspector namespace were dropped,
        the others were moved to DebuggerModel class.

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

        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetState):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.didCommitLoad):
        * inspector/front-end/Database.js:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.pausedScript):
        (WebInspector.DebuggerModel.prototype.resumedScript):
        (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
        (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
        (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
        (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
        (WebInspector.DebuggerModel.prototype.didCreateWorker):
        (WebInspector.DebuggerModel.prototype.didDestroyWorker):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype._unbindResourceURL):
        (WebInspector.ResourceManager.prototype.updateDOMStorage):
        (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
        (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
        (WebInspector.ResourceManager.prototype.didGetFileSystemError):
        (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
        (WebInspector.ResourceManager.prototype.updateNetworkState):
        (WebInspector.ResourceManager.prototype.addDOMStorage):
        (WebInspector.ResourceManager.prototype.selectDOMStorage):
        (WebInspector.ResourceManager.prototype.addDatabase):
        (WebInspector.ResourceManager.prototype.selectDatabase):
        (WebInspector.ResourceManager.prototype.sqlTransactionSucceeded):
        (WebInspector.ResourceManager.prototype.sqlTransactionFailed):
        * inspector/front-end/WorkersSidebarPane.js:
        (WebInspector.Worker):
        * inspector/front-end/inspector.js:

2010-12-13  Yury Semikhatsky  <yurys@chromium.org>

        Unreviewed. Qt build fix. 

        * dom/ErrorEvent.cpp:
        * dom/ErrorEvent.h: remove ENABLE(WORKERS) guard since ErrorEvent is now used not
        only in workers.

2010-12-13  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Adam Barth.

        WebCore doesn't fire window.onerror event when uncaught JavaScript exceptions are thrown
        https://bugs.webkit.org/show_bug.cgi?id=8519

        Uncaught exceptions are propagated to window.onerror hander if one is present.
        The handler is expected to be a function accepting three arguments: error message,
        resource url and line number where the exception occured.

        It was decided to dispatch ErrorEvent to all listeners/handlers no matter if they
        were created in the same isolated world where the exception occured or not.

        Tests: fast/events/window-onerror1.html
               fast/events/window-onerror10.html
               fast/events/window-onerror11.html
               fast/events/window-onerror2.html
               fast/events/window-onerror3.html
               fast/events/window-onerror4.html
               fast/events/window-onerror5.html
               fast/events/window-onerror6.html
               fast/events/window-onerror7.html
               fast/events/window-onerror8.html
               fast/events/window-onerror9.html
               http/tests/security/window-onerror-exception-in-iframe.html
               userscripts/window-onerror-for-isolated-world-1.html
               userscripts/window-onerror-for-isolated-world-2.html

        * Android.jscbindings.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.order:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSBindingsAllInOne.cpp:
        * bindings/js/JSDOMBinding.cpp:
        (WebCore::reportException):
        * bindings/js/JSErrorHandler.cpp: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.cpp.
        (WebCore::JSErrorHandler::JSErrorHandler):
        (WebCore::JSErrorHandler::~JSErrorHandler):
        (WebCore::JSErrorHandler::handleEvent):
        * bindings/js/JSErrorHandler.h: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
        (WebCore::JSErrorHandler::create):
        (WebCore::createJSErrorHandler):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::dispatchNow):
        (WebCore::V8ConsoleMessage::handler): the method was changed to use generic WebCore exception
        reporting mechanism which is also used by JSC bindings.
        * bindings/v8/V8ConsoleMessage.h:
        * bindings/v8/V8WindowErrorHandler.cpp: Copied from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
        (WebCore::V8WindowErrorHandler::V8WindowErrorHandler):
        (WebCore::V8WindowErrorHandler::callListenerFunction):
        * bindings/v8/V8WindowErrorHandler.h: Renamed from WebCore/bindings/js/JSWorkerContextErrorHandler.h.
        (WebCore::V8WindowErrorHandler::create):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::v8MessageHandler):
        * bindings/v8/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::evaluate):
        * dom/Document.cpp:
        (WebCore::Document::errorEventTarget):
        (WebCore::Document::logExceptionToConsole):
        * dom/Document.h:
        * dom/ScriptExecutionContext.cpp:
        (WebCore::ScriptExecutionContext::PendingException::PendingException):
        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
        (WebCore::ScriptExecutionContext::reportException): this method is not virtual anymore to
        ensure that error event dispatching algorithm is the same in WorkerContext and in Document.
        (WebCore::ScriptExecutionContext::dispatchErrorEvent):
        * dom/ScriptExecutionContext.h:
        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::postExceptionTask):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::WorkerContext):
        (WebCore::WorkerContext::errorEventTarget):
        (WebCore::WorkerContext::logExceptionToConsole):
        * workers/WorkerContext.h:
        * workers/WorkerMessagingProxy.cpp:
        (WebCore::WorkerExceptionTask::performTask):

2010-12-08  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Joseph Pecoraro.

        Web Inspector: Enable CSS property editing name/value-wise (like Firebug does)
        https://bugs.webkit.org/show_bug.cgi?id=50565

        For CSS property editing, the property name and value have become two fields separated
        by a colon (rather than one field containing the full property text.) A user can tab
        between the name and value fields forward and backward. A colon typed in the name field
        and a semicolon in the value field (unless found inside a string) act as a Tab and focus
        the next editable field (while applying the entire property value.)

        Now a user can tab through all editable styles for an element, even across rule boundaries.

        * inspector/front-end/BreakpointsSidebarPane.js:
        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode):
        (WebInspector.DataGrid.prototype._startEditing):
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeElement.prototype._startEditingAttribute):
        (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
        (WebInspector.ElementsTreeElement.prototype._startEditingTagName):
        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
        * inspector/front-end/MetricsSidebarPane.js:
        (WebInspector.MetricsSidebarPane.prototype.startEditing):
        * inspector/front-end/ObjectPropertiesSection.js:
        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
        * inspector/front-end/Section.js:
        (WebInspector.Section):
        (WebInspector.Section.prototype.get subtitleAsTextForTest):
        (WebInspector.Section.prototype.get nextSibling):
        (WebInspector.Section.prototype.get previousSibling):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.nextEditableSibling):
        (WebInspector.StylePropertiesSection.prototype.previousEditableSibling):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertiesSection.prototype.startEditingSelector):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/TextViewer.js:
        (WebInspector.TextViewer.prototype._handleDoubleClick):
        * inspector/front-end/WatchExpressionsSidebarPane.js:
        (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
        * inspector/front-end/inspector.css:
        (.child-editing):
        * inspector/front-end/inspector.js:
        (WebInspector.startEditing.defaultFinishHandler):
        (WebInspector.startEditing):
        * inspector/front-end/treeoutline.js:
        (TreeElement.prototype.select):

2010-12-13  Yael Aharon  <yael.aharon@nokia.com>

        Unreviewed.

        Added svn propery eol-style. Patches to this file fail to apply on Windows EWS bot.

        * accessibility/AccessibilityAllInOne.cpp: Added property svn:eol-style.

2010-12-13  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73898.
        http://trac.webkit.org/changeset/73898
        https://bugs.webkit.org/show_bug.cgi?id=50919

        FileSystem and Database API's were broken (Requested by loislo
        on #webkit).

        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetState):
        * inspector/front-end/DOMAgent.js:
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.debuggerPaused):
        (WebInspector.DebuggerModel.prototype.debuggerResumed):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype._registerNotifyHandlers):
        (WebInspector.ResourceManager.prototype._unbindResourceURL):
        * inspector/front-end/inspector.js:
        (WebInspector.addDatabase):
        (WebInspector.addDOMStorage):
        (WebInspector.updateDOMStorage):
        (WebInspector.updateApplicationCacheStatus):
        (WebInspector.didGetFileSystemPath):
        (WebInspector.didGetFileSystemError):
        (WebInspector.didGetFileSystemDisabled):
        (WebInspector.updateNetworkState):
        (WebInspector.attachDebuggerWhenShown):
        (WebInspector.debuggerWasEnabled):
        (WebInspector.debuggerWasDisabled):
        (WebInspector.profilerWasEnabled):
        (WebInspector.profilerWasDisabled):
        (WebInspector.parsedScriptSource):
        (WebInspector.restoredBreakpoint):
        (WebInspector.failedToParseScriptSource):
        (WebInspector.pausedScript):
        (WebInspector.resumedScript):
        (WebInspector.resetProfilesPanel):
        (WebInspector.didCommitLoad):
        (WebInspector.addProfileHeader):
        (WebInspector.setRecordingProfile):
        (WebInspector.addHeapSnapshotChunk):
        (WebInspector.finishHeapSnapshot):

2010-12-13  Anton Muhin  <antonm@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] More CSS wrappers GC work: keep document's style sheets, style sheet and css rule lists' items in proper object groups
        https://bugs.webkit.org/show_bug.cgi?id=50828

        * bindings/v8/DOMData.h:
        (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
        (WebCore::DOMData::removeObjectsFromWrapperMap):
        * bindings/v8/DOMDataStore.h:
        (WebCore::ChunkedTable::visit):
        (WebCore::ChunkedTable::visitEntries):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::visit):
        (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::visit):
        * bindings/v8/V8DOMMap.cpp:
        (WebCore::removeAllDOMObjectsInCurrentThread):
        (WebCore::visitDOMNodesInCurrentThread):
        (WebCore::visitDOMObjectsInCurrentThread):
        (WebCore::visitActiveDOMObjectsInCurrentThread):
        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
        * bindings/v8/V8DOMMap.h:
        (WebCore::WeakReferenceMap::visit):
        * bindings/v8/V8GCController.cpp:
        (WebCore::DOMObjectVisitor::visitDOMWrapper):
        (WebCore::EnsureWeakDOMNodeVisitor::visitDOMWrapper):
        (WebCore::GCPrologueVisitor::visitDOMWrapper):
        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
        (WebCore::NodeGrouperVisitor::applyGrouping):
        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):

2010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>

        Unreviewed build fix for r73894.

        SVGFEImage should also check its hasResult() in its apply().

        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::apply):

2010-12-13  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Protocol cleanup task. Assign domain attribute to Resources and Debugger specific functions.

        Debugger and Resources related notification functions of Inspector.idl were
        marked as such with help of "domain" attribute. The other changes in js files
        are reflecting this change. Some wrappers in WebInspector namespace were dropped,
        the others were moved to DebuggerModel class.

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

        * inspector/Inspector.idl:
        * inspector/InspectorDebuggerAgent.cpp:
        (WebCore::InspectorDebuggerAgent::didParseSource):
        * inspector/InspectorProfilerAgent.cpp:
        (WebCore::InspectorProfilerAgent::resetState):
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMAgent.prototype.didCommitLoad):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel):
        (WebInspector.DebuggerModel.prototype.pausedScript):
        (WebInspector.DebuggerModel.prototype.resumedScript):
        (WebInspector.DebuggerModel.prototype.attachDebuggerWhenShown):
        (WebInspector.DebuggerModel.prototype.debuggerWasEnabled):
        (WebInspector.DebuggerModel.prototype.debuggerWasDisabled):
        (WebInspector.DebuggerModel.prototype.parsedScriptSource):
        (WebInspector.DebuggerModel.prototype.failedToParseScriptSource):
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel):
        (WebInspector.ProfilesPanel.prototype.addHeapSnapshots):
        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager):
        (WebInspector.ResourceManager.prototype._unbindResourceURL):
        (WebInspector.ResourceManager.prototype.updateDOMStorage):
        (WebInspector.ResourceManager.prototype.updateApplicationCacheStatus):
        (WebInspector.ResourceManager.prototype.didGetFileSystemPath):
        (WebInspector.ResourceManager.prototype.didGetFileSystemError):
        (WebInspector.ResourceManager.prototype.didGetFileSystemDisabled):
        (WebInspector.ResourceManager.prototype.updateNetworkState):
        (WebInspector.ResourceManager.prototype.addDatabase):
        (WebInspector.ResourceManager.prototype.addDOMStorage):
        * inspector/front-end/inspector.js:

2010-12-13  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Dirk Schulze.

        Better result passing in filter primitives
        https://bugs.webkit.org/show_bug.cgi?id=49907

        SVG filter primitives can use the output of other filters. The
        input and output format of a filter can be a premultiplied or
        unmultiplied RGBA array, or an image buffer. All filter
        primitive results were converted to image buffers before, which
        could be an unecessary (and really costly) operation, if
        a filter expects its input in the same format as the output
        of the input filter primitive. This overhead is removed by
        this patch. All apply() methods are updated according to this
        new filter primitive interface.

        Filters do not generate their results twice (or more) anymore,
        when their apply() called multiple times.

        The existing tests cover this feature.

        * manual-tests/svg-filter-animation.svg: Added.
        * platform/graphics/filters/FEBlend.cpp:
        (WebCore::FEBlend::apply):
        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::FEColorMatrix::apply):
        * platform/graphics/filters/FEComponentTransfer.cpp:
        (WebCore::FEComponentTransfer::apply):
        * platform/graphics/filters/FEComposite.cpp:
        (WebCore::FEComposite::apply):
        * platform/graphics/filters/FEConvolveMatrix.cpp:
        (WebCore::FEConvolveMatrix::apply):
        * platform/graphics/filters/FEDisplacementMap.cpp:
        (WebCore::FEDisplacementMap::apply):
        * platform/graphics/filters/FEFlood.cpp:
        (WebCore::FEFlood::apply):
        * platform/graphics/filters/FEGaussianBlur.cpp:
        (WebCore::FEGaussianBlur::apply):
        * platform/graphics/filters/FELighting.cpp:
        (WebCore::FELighting::apply):
        * platform/graphics/filters/FEMerge.cpp:
        (WebCore::FEMerge::apply):
        * platform/graphics/filters/FEMerge.h:
        * platform/graphics/filters/FEMorphology.cpp:
        (WebCore::FEMorphology::apply):
        * platform/graphics/filters/FEOffset.cpp:
        (WebCore::FEOffset::apply):
        * platform/graphics/filters/FETile.cpp:
        (WebCore::FETile::apply):
        * platform/graphics/filters/FETurbulence.cpp:
        (WebCore::FETurbulence::apply):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::requestedRegionOfInputImageData):
        (WebCore::FilterEffect::asImageBuffer):
        (WebCore::FilterEffect::asUnmultipliedImage):
        (WebCore::FilterEffect::asPremultipliedImage):
        (WebCore::FilterEffect::copyImageBytes):
        (WebCore::FilterEffect::copyUnmultipliedImage):
        (WebCore::FilterEffect::copyPremultipliedImage):
        (WebCore::FilterEffect::createImageBufferResult):
        (WebCore::FilterEffect::createUnmultipliedImageResult):
        (WebCore::FilterEffect::createPremultipliedImageResult):
        * platform/graphics/filters/FilterEffect.h:
        (WebCore::FilterEffect::hasResult):
        * platform/graphics/filters/SourceAlpha.cpp:
        (WebCore::SourceAlpha::apply):
        * platform/graphics/filters/SourceGraphic.cpp:
        (WebCore::SourceGraphic::apply):
        * platform/graphics/filters/SourceGraphic.h:
        * rendering/RenderSVGResourceFilter.cpp:
        (WebCore::RenderSVGResourceFilter::postApplyResource):
        * svg/graphics/filters/SVGFEImage.cpp:
        (WebCore::FEImage::apply):

2010-12-13  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed.

        * WebCore.pro: Remove non-existant loader/Request.h from build system.

2010-12-13  Noel Gordon  <noel.gordon@gmail.com>

        Reviewed by Eric Seidel.

        [chromium] Reduce canvas.toDataURL("image/jpeg") run-time cost by 10%
        https://bugs.webkit.org/show_bug.cgi?id=50804

        Follow on from r73173, unroll the SkUnPreMultiply::PMColorToColor() call
        viz., compute the unpremultiplatcion in-place. This reduces the run-time
        cost of jpeg encoding by 10-15% for my image test set.

        No new tests: canvas.toDataURL() is covered by existing tests.

        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
        (WebCore::preMultipliedBGRAtoRGB):

2010-12-13  Helder Correia  <helder@sencha.com>

        Reviewed by Eric Seidel.

        [Qt] StillImage::draw() should use ContextShadow
        https://bugs.webkit.org/show_bug.cgi?id=50849

        The branch that checks for a shadow requirement in StillImage::draw()
        is executed when drawing a canvas onto a canvas with
        ctx1.drawImage(canvas2, x, y). The current implementation supports
        solid shadows only. And if transformations are present, the offset gets
        transformed as well. Thus, ContextShadow must be used instead in order
        to support blur and correct offset transformations.

        Test: fast/canvas/canvas-draw-canvas-on-canvas-shadow.html

        * platform/graphics/qt/StillImageQt.cpp:
        (WebCore::StillImage::draw):

2010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>

        Unreviewed build fix.

        * editing/EditingAllInOne.cpp:
        Add new file to the all-in-one.

2010-12-12  Jon Honeycutt  <jhoneycutt@apple.com>

        Unreviewed build fix.

        * WebCore.vcproj/WebCore.vcproj:
        Remove accidentally-committed conflict marker.

2010-10-28  MORITA Hajime  <morrita@google.com>

        Reviewed by Ojan Vafai.

        spellcheck does not check pasted text
        https://bugs.webkit.org/show_bug.cgi?id=40092

        - Introduced SpellChecker class to encapsulate asynchronous spell
          checker state: sequence id, requesting text and target node.
          This is also the first step to decompose spell-check related
          code to a separate class.
        - Added EditorClient::isAsynchronousSpellCheckingEnabled() 
          to use async spellcheck API on the platform.
          These APIs are touched by SpellChecker.
        - Used SpellChecker to check a pasted test. Text to check is
          collected from the subtree under the editingRoot.
        - Added Setting::m_asynchronousSpellCheckingEnabled to control
          async spell checking.

        Test: editing/spelling/spellcheck-paste.html

        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.exp.in:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/DocumentMarkerController.cpp:
        (WebCore::DocumentMarkerController::showMarkers):
        (showDocumentMarkers):
        * dom/DocumentMarkerController.h:
        * dom/PositionIterator.cpp:
        (WebCore::PositionIterator::setOffsetInLeafNode):
        * dom/PositionIterator.h:
        * editing/Editor.cpp:
        (WebCore::Editor::replaceSelectionWithFragment):
        (WebCore::Editor::Editor):
        (WebCore::findFirstMarkable):
        (WebCore::Editor::selectionStartHasSpellingMarkerFor):
        * editing/Editor.h:
        (WebCore::Editor::spellChecker):
        * editing/SpellChecker.cpp: Added.
        (WebCore::SpellChecker::SpellChecker):
        (WebCore::SpellChecker::~SpellChecker):
        (WebCore::SpellChecker::initRequest):
        (WebCore::SpellChecker::clearRequest):
        (WebCore::SpellChecker::isAsynchronousEnabled):
        (WebCore::SpellChecker::canCheckAsynchronously):
        (WebCore::SpellChecker::isBusy):
        (WebCore::SpellChecker::isValid):
        (WebCore::SpellChecker::isCheckable):
        (WebCore::SpellChecker::requestCheckingFor):
        (WebCore::forwardIterator):
        (WebCore::SpellChecker::didCheck):
        * editing/SpellChecker.h: Added.
        (WebCore::SpellCheckingResult::SpellCheckingResult):
        (WebCore::SpellCheckingResult::type):
        (WebCore::SpellCheckingResult::location):
        (WebCore::SpellCheckingResult::length):
        * loader/EmptyClients.h:
        (WebCore::EmptyEditorClient::requestCheckingOfString):
        * page/EditorClient.h:
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h:
        (WebCore::Settings::setAsynchronousSpellCheckingEnabled):
        (WebCore::Settings::asynchronousSpellCheckingEnabled):

2010-12-09  Antonio Gomes  <agomes@rim.com>

        Reviewed by Daniel Bates.

        Spatial Navigation: code clean up (part II)
        https://bugs.webkit.org/show_bug.cgi?id=50666

        No new tests needed.

        * page/FocusController.cpp: Removed static declaration of updateFocusCandidateIfNeeded() from
        the top of FocusController.cpp, and added the 'static' keyword where the function is implemented;
        * page/SpatialNavigation.cpp: In FocusCandidate constructor, renamed 'n' to 'node', and added an assert to it;
        (WebCore::FocusCandidate::FocusCandidate):
        (WebCore::virtualRectForAreaElementAndDirection): Added an assert to 'node';
        * page/SpatialNavigation.h:I reordered the declaration of some methods in order to group related ones;
        Removed isScrollableContainerNode() function declaration since it is not used outside SpatialNavigation.cpp;
        And removed the declaration of isNodeDeepDescendantOfDocument() since it does not exist anymore.

2010-12-12  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Xan Lopez.

        build-webkit --gtk --minimal fails
        https://bugs.webkit.org/show_bug.cgi?id=46267

        No new tests, build fix only.

        * GNUmakefile.am: Include some JS bindings generated headers in
        the build even if their corresponding feature is disabled. They
        are needed to make the DOM bindings build.

2010-12-12  Sam Magnuson  <smagnuso@gmail.com>

        Reviewed by Eric Seidel.

        [Qt] Compile with QT_NO_QUUID_STRING.
        https://bugs.webkit.org/show_bug.cgi?id=49745

        * platform/UUID.cpp:
        (WebCore::createCanonicalUUIDString):

2010-12-12  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>

        Reviewed by Eric Seidel.

        [Qt] Missing style for date pickers on Qt Mobile theme
        https://bugs.webkit.org/show_bug.cgi?id=50628

        * css/themeQtMobile.css:

2010-12-11  Alice Liu  <alice.liu@apple.com>

        Mac build fix.

        * platform/network/mac/ResourceResponseMac.mm:
        (WebCore::ResourceResponse::platformLazyInit):
        Resolve string[0] ambiguity by passing 0U.

2010-12-11  Adam Barth  <abarth@webkit.org>

        Reviewed by Sam Weinig.

        [V8] Move to DOMWindow::setLocation
        https://bugs.webkit.org/show_bug.cgi?id=50876

        Recently, JavaScriptCore moved to implementing setLocation in WebCore.
        This patch change V8 to use that common code path.  I haven't removed
        the old code path because it's still used for other things (like
        assigning window.location.href), but I'll move the rest over in a
        future patch.

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8DOMWindow::locationAccessorSetter):
        * bindings/v8/specialization/V8BindingState.cpp:
        (WebCore::::getFirstWindow):
        * bindings/v8/specialization/V8BindingState.h:

2010-10-11  Diego Gonzalez  <diegohcg@webkit.org>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Mock DeviceOrientation client for DRT
        https://bugs.webkit.org/show_bug.cgi?id=47490

        * WebCore.pro:

2010-12-11  Joone Hur  <joone@kldp.org>

        Reviewed by Alexey Proskuryakov.

        enumeration value ‘ResponseTypeArrayBuffer’ not handled in switch
        https://bugs.webkit.org/show_bug.cgi?id=50871

        Fix the warning which occurs when enumeration value is not handled in switch.

        No new tests, no change in behavior.

        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::response):

2010-12-11  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Darin Adler.

        Add an overload to makeString for Vector<char>
        https://bugs.webkit.org/show_bug.cgi?id=50123

        This also contains a segfault fix for ImageBuffer::toDataURL of the Haiku port.

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/gtk/ImageBufferGtk.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/haiku/ImageBufferHaiku.cpp:
        (WebCore::ImageBuffer::toDataURL):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::toDataURL):

2010-12-10  Alexey Proskuryakov  <ap@apple.com>

        Mac build fix.

        * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
        Resolve string[0] ambiguity by passing 0U.

2010-12-10  Steve Falkenburg  <sfalken@apple.com>

        Windows production build fix.
        
        Only the vsprops are indirected through WebKitVSPropsRedirectionDir, not the scripts in WebKitLibraries/win/tools/scripts.

        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
        * WebCore.vcproj/build-generated-files.sh:

2010-12-10  John Knottenbelt  <jknotten@chromium.org>

        Reviewed by Eric Seidel.

        Remove WebCore/platform/mac/GeolocationService.{h,mm}
        https://bugs.webkit.org/show_bug.cgi?id=50074

        Remove unused non-client-based geolocation code.

        * platform/mac/GeolocationServiceMac.h: Removed.
        * platform/mac/GeolocationServiceMac.mm: Removed.

2010-12-10  Alexey Proskuryakov  <ap@apple.com>

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=46573
        <rdar://problem/8479389> REGRESSION: charset="utf-8" (with quotes) doesn't work

        Test: http/tests/mime/quoted-charset.php

        * platform/network/cf/ResourceResponseCFNet.cpp: (WebCore::ResourceResponse::platformLazyInit):
        * platform/network/mac/ResourceResponseMac.mm: (WebCore::ResourceResponse::platformLazyInit):
        Work around a CFNetwork issue, strip quotes if they are present.

2010-12-10  Vincent Scheib  <scheib@chromium.org>

        Reviewed by James Robinson.

        Shader::loadShader() must initialize variable passed to getShaderiv
        https://bugs.webkit.org/show_bug.cgi?id=50842

        Test: fast/canvas/canvas-largedraws.html

        * platform/graphics/gpu/Shader.cpp:
        (WebCore::Shader::loadShader):

2010-12-10  Vincent Scheib  <scheib@chromium.org>

        Reviewed by James Robinson.

        Texture::updateSubRect should pass IntRect by reference
        https://bugs.webkit.org/show_bug.cgi?id=50845

        No test, changing to pass by ref.

        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::updateSubRect):
        * platform/graphics/gpu/Texture.h:

2010-12-10  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Move open and showModalDialog implementations from bindings into DOM class DOMWindow
        https://bugs.webkit.org/show_bug.cgi?id=50836

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::open): Removed most of the code and changed to call
        DOMWindow::open.
        (WebCore::DialogHandler::DialogHandler): Added. Object is used to handle the
        arguments and return value in showModalDialog.
        (WebCore::DialogHandler::dialogCreated): Ditto.
        (WebCore::DialogHandler::returnValue): Ditto.
        (WebCore::setUpDialog): Added. Function passed to showModalDialog that just
        casts pointer to DialogHandler can calls dialogCreated.
        (WebCore::JSDOMWindow::showModalDialog): Removed most of the code and changed
        to call DOMWindow::showModalDialog.
        (WebCore::JSDOMWindow::postMessage): Made style match the rest of the file by
        renaming local variables and getting rid of a needless ones.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::parseModalDialogFeatures): Moved body of this function
        to the WindowFeatures class.
        (WebCore::DOMWindow::allowPopUp): Renamed argument from activeFrame to firstFrame,
        because that's the frame we pass in here. Also added an overload so this can be
        called on a window rather than a frame.
        (WebCore::DOMWindow::setLocation): Renamed a couple variables so the names are
        the same as in open and showModalDialog. Factored the JavaScript security check
        into a new function named isInsecureScriptAccess.
        (WebCore::DOMWindow::isInsecureScriptAccess): Here is the new function.
        (WebCore::DOMWindow::createWindow): Added. Contains logic shared by open and
        showModalDialog just as the function named createWindow in JSDOMWindowCustom.cpp
        used to.
        (WebCore::DOMWindow::open): Added. Code from JSDOMWindowCustom without the
        JavaScript language binding part, and with a bit of refactoring to share code
        with the rest of the DOMWindow class.
        (WebCore::DOMWindow::showModalDialog): Ditto.

        * page/DOMWindow.h: Moved conditional parts of the file into separate paragraphs
        in alphabetical order so they are not scattered thorugh the file. Removed redundant
        includes. Added some blank lines for clarity. Added an open function and a
        showModalDialog function. Added private createWindow and isInsecureScriptAccess
        functions.

        * page/WindowFeatures.cpp:
        (WebCore::isWindowFeaturesSeparator): Renamed from isSeparator for clarity.
        (WebCore::WindowFeatures::WindowFeatures): Updated for name change. Used isEmpty
        instead of checking length. Added a new constructor for use when making dialogs,
        with code from the showModalDialog function.
        (WebCore::WindowFeatures::boolFeature): Use DialogFeaturesMap typedef.
        (WebCore::WindowFeatures::floatFeature): Use DialogFeaturesMap typedef.
        Renamed a local variable and tweaked the comments a bit.
        (WebCore::WindowFeatures::parseDialogFeatures): Added. Code moved here from
        DOMWindow::parseDialogFeatures and refactored a bit.

        * page/WindowFeatures.h: Added new constructor, new parseDialogFeatures
        function, DialogFeaturesMap typedef, and made setWindowFeature function private.

2010-12-10  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        AX: refactor AccessibilityRenderObject::doAccessibilityHitTest
        https://bugs.webkit.org/show_bug.cgi?id=50574

        Refactors accessibility hit testing to allow for a more flexible model when handling elements
        with fake sub-elements (like sliders or list boxes).

        Renamed doAccessibilityHitTest -> accessibilityHitTest, which is called on the root
        accessibility render object. Then subclassers are able to override 
        elementAccessibilityHitTest to return their own specific elements.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::elementAccessibilityHitTest):
        * accessibility/AccessibilityListBox.h:
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::accessibilityHitTest):
        (WebCore::AccessibilityObject::elementAccessibilityHitTest):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
        * accessibility/AccessibilitySlider.h:
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_component_ref_accessible_at_point):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityHitTest:]):

2010-12-10  Kenneth Russell  <kbr@google.com>

        Reviewed by Darin Adler.

        Clean up assertion in Extensions3DOpenGL.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50852

        Built Release mode to test. No functionality change.

        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::ensureEnabled):

2010-12-10  Cosmin Truta  <ctruta@chromium.org>

        Reviewed by Eric Seidel.

        Crash while processing ill-formed <textPath> ouside of <text>
        https://bugs.webkit.org/show_bug.cgi?id=47759

        Renderers within a <text> subtree are created only when their corresponding elements
        satisfy the content model.

        Test: svg/custom/invalid-text-content.svg

        * svg/SVGTRefElement.cpp:
        (WebCore::SVGTRefElement::childShouldCreateRenderer): Fixed to comply with the content model.
        (WebCore::SVGTRefElement::rendererIsNeeded): Added.
        * svg/SVGTRefElement.h:
        * svg/SVGTSpanElement.cpp:
        (WebCore::SVGTSpanElement::childShouldCreateRenderer): Fixed to comply with the content model.
        (WebCore::SVGTSpanElement::rendererIsNeeded): Added.
        * svg/SVGTSpanElement.h: Changed indentation.
        * svg/SVGTextElement.cpp:
        (WebCore::SVGTextElement::childShouldCreateRenderer): Reformatted.
        * svg/SVGTextPathElement.cpp:
        (WebCore::SVGTextPathElement::childShouldCreateRenderer): Fixed to comply with the content model.
        (WebCore::SVGTextPathElement::rendererIsNeeded): Added.
        * svg/SVGTextPathElement.h:

2010-12-10  Zhenyao Mo  <zmo@google.com>

        Reviewed by Adam Barth.

        Use enums instead of booleans in ImageSource/ImageDecoder constructors
        https://bugs.webkit.org/show_bug.cgi?id=50818

        This patch basically defines two enum type in ImageSource: AlphaOption
        and GammaAndColorProfileOption and use them as ImageSource and ImageDecoder
        constructor parameters instead of boolean typs.

        * platform/graphics/ImageSource.cpp:
        (WebCore::ImageSource::ImageSource):
        (WebCore::ImageSource::setData):
        * platform/graphics/ImageSource.h: Define the two enum types.
        * platform/graphics/cg/GraphicsContext3DCG.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/graphics/cg/ImageSourceCG.cpp:
        (WebCore::ImageSource::ImageSource):
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoder::create):
        (WebCore::ImageDecoderQt::ImageDecoderQt):
        * platform/graphics/qt/ImageDecoderQt.h:
        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
        (WebCore::GraphicsContext3D::getImageData):
        * platform/image-decoders/ImageDecoder.cpp:
        (WebCore::ImageDecoder::create):
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::ImageDecoder):
        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::BMPImageDecoder):
        * platform/image-decoders/bmp/BMPImageDecoder.h:
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::GIFImageDecoder):
        * platform/image-decoders/gif/GIFImageDecoder.h:
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::decodeAtIndex):
        * platform/image-decoders/ico/ICOImageDecoder.h:
        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
        * platform/image-decoders/png/PNGImageDecoder.cpp:
        (WebCore::PNGImageDecoder::PNGImageDecoder):
        * platform/image-decoders/png/PNGImageDecoder.h:
        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
        * platform/image-decoders/webp/WEBPImageDecoder.h:

2010-12-10  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Darin Adler.

        REGRESSION(r73799): editing/execCommand/4920488.html fails
        https://bugs.webkit.org/show_bug.cgi?id=50854

        The regression was caused by Range::processContents's not extracting
        m_end.container()->firstChild(). Fixed the bug by always adding the first child.

        * dom/Range.cpp:
        (WebCore::Range::processContents):

2010-12-10  Adam Barth  <abarth@webkit.org>

        Reviewed by Eric Seidel.

        REGRESSION: Infinite redirect on developer.apple.com
        https://bugs.webkit.org/show_bug.cgi?id=45627

        Tests: fast/loader/form-submit-aborts-parsing.html
               fast/loader/location-change-aborts-parsing.html

        This patch is not pretty, but it fixes the bug.  I stole this approach
        from the old HTML parser (as suggested by Eric Seidel).  The other
        approaches that folks tried for this bug are better, but it's inclear
        how to get them to work correctly.  I've added a large FIXME comment.

        * html/parser/HTMLDocumentParser.cpp:
        (WebCore::HTMLDocumentParser::pumpTokenizer):
        * html/parser/HTMLTreeBuilder.h:
        (WebCore::HTMLTreeBuilder::isParsingFragment):

2010-12-10  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Ada Chan.

        When we are creating a ContextMenuItem, only call setSubMenu if we have
        a subMenu to set.

        * platform/ContextMenuItem.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):

2010-12-10  Kenneth Russell  <kbr@google.com>

        Unreviewed, another build fix. #include <wtf/UnusedParam.h> needed
        for Release builds.

        * platform/graphics/opengl/Extensions3DOpenGL.cpp:

2010-12-10  Kenneth Russell  <kbr@google.com>

        Unreviewed, build fix. Change #ifndef NDEBUG to #ifdef NDEBUG.

        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::ensureEnabled):

2010-12-10  Kenneth Russell  <kbr@google.com>

        Reviewed by James Robinson.

        Implement extension entry points and remove EXTENSIONS enum
        https://bugs.webkit.org/show_bug.cgi?id=40316

        Implemented WebGLRenderingContext's getSupportedExtensions and
        getExtensions entry points, and, to verify them, added support for
        the first specified WebGL extension, OES_texture_float. This
        extension is now advertised in the Chromium and WebKit ports when
        the underlying hardware supports it.

        The new OES_texture_float test in the WebGL conformance suite
        verifies the allocation and population of floating point textures,
        and their use as render targets. However, because this extension
        is optional, it is not easily testable with a layout test; there
        is only one set of expectations for a given test, and two would be
        needed, one when the extension is available and one when it is not.

        Tested with the oes-texture-float.html WebGL conformance test in
        Chromium and WebKit on Mac OS X on hardware that supports the
        extension. Also verified with a configuration that does not
        advertise the extension that this same test passes.

        * CMakeLists.txt:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pri:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebGLRenderingContextCustom.cpp:
        (WebCore::toJS):
        (WebCore::JSWebGLRenderingContext::markChildren):
        (WebCore::JSWebGLRenderingContext::getExtension):
        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
        (WebCore::toV8Object):
        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
        (WebCore::V8WebGLRenderingContext::getSupportedExtensionsCallback):
        * html/canvas/OESTextureFloat.cpp: Added.
        (WebCore::OESTextureFloat::OESTextureFloat):
        (WebCore::OESTextureFloat::~OESTextureFloat):
        (WebCore::OESTextureFloat::getName):
        (WebCore::OESTextureFloat::create):
        * html/canvas/OESTextureFloat.h: Added.
        * html/canvas/OESTextureFloat.idl: Added.
        * html/canvas/WebGLExtension.cpp: Added.
        (WebCore::WebGLExtension::WebGLExtension):
        (WebCore::WebGLExtension::~WebGLExtension):
        * html/canvas/WebGLExtension.h: Added.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getExtension):
        (WebCore::WebGLRenderingContext::getSupportedExtensions):
        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
        (WebCore::WebGLRenderingContext::validateTexFuncData):
        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
        (WebCore::WebGLRenderingContext::getExtensionNumber):
        * html/canvas/WebGLRenderingContext.h:
        * html/canvas/WebGLRenderingContext.idl:
        * platform/graphics/Extensions3D.h:
        * platform/graphics/GraphicsContext3D.cpp:
        (WebCore::GraphicsContext3D::computeFormatAndTypeParameters):
        (WebCore::GraphicsContext3D::extractTextureData):
        (WebCore::doUnpackingAndPacking):
        (WebCore::doPacking):
        (WebCore::doFloatingPointPacking):
        (WebCore::GraphicsContext3D::packPixels):
        * platform/graphics/GraphicsContext3D.h:
        * platform/graphics/chromium/Extensions3DChromium.h:
        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
        (WebCore::Extensions3DOpenGL::supports):
        (WebCore::Extensions3DOpenGL::ensureEnabled):
        * platform/graphics/opengl/Extensions3DOpenGL.h:
        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::texImage2D):
        * platform/graphics/qt/Extensions3DQt.cpp:
        (WebCore::Extensions3DQt::ensureEnabled):
        * platform/graphics/qt/Extensions3DQt.h:

2010-12-10  Darin Adler  <darin@apple.com>

        Try to fix Windows build.

        * dom/Range.cpp:
        (WebCore::Range::processContents): Put typedef of NodeVector inside the function
        instead of at the top of the file, since the use is restricted to this function.
        There's another NodeVector in ContainerNode.cpp.

2010-12-09  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by Adam Roben.

        Prep for WebKit2: Context menu support on Windows
        https://bugs.webkit.org/show_bug.cgi?id=50514
        
        Before this patch ContextMenu on Windows were backed by HMENUs, and ContextMenuItems
        were backed by MENUITEMINFOs. This meant they couldn't be copied, and they needed to
        be to work in WebKit2.
        
        This patch adds a new USE flag - CROSS_PLATFORM_CONTEXT_MENUS that are for a cross-platform
        representation of context menus. This patch also has Windows adopt them.
        
        Cross-platform context menus change the API of context menus and the ContextMenuClient. There
        is no more idea of a PlatformMenuDescription or a PlatformMenuItemDescription. Menus are backed
        by a Vector of ContextMenuItems, and menu items are backed by the variables they need (enabled, checked
        title, action, type, and submenu).
        
        This patch also refactors the ContextMenuClient interface to use a variation on the getCustomMenuFromDefaultItems
        function to allow for customization of the context menu.
        
        For other ports to use CROSS_PLATFORM_CONTEXT_MENUS, all they need to do is write conversion functions from
        a ContextMenu <-> native menu type, and ContextMenuItem <-> native menu item type. For Windows, this is done
        in ContextMenuWin.cpp and ContextMenuItemWin.cpp.

        No new tests, no change in behavior.

        * WebCore.vcproj/WebCore.vcproj: Add new files (only needed on Windows for now).
        * loader/EmptyClients.h:
        (WebCore::EmptyContextMenuClient::customizeMenu): Define this function if CROSS_PLATFORM_CONTEXT_MENUS
            is on.
        * page/ContextMenuClient.h: Ditto. 
        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::showContextMenu): Call customizeMenu instead of 
            getCustomMenuFromDefaultItems if CROSS_PLATFORM_CONTEXT_MENUS is on.
        * platform/ContextMenu.cpp: Added.
        (WebCore::ContextMenu::ContextMenu): Empty constructor.
        (WebCore::ContextMenu::setItems): Sets the items in the menu.
        (WebCore::ContextMenu::items): Returns the items in the menu.
        (WebCore::ContextMenu::itemAtIndex):
        (WebCore::itemWithActionInMenu): Returns the item with the correct action, recursively descending
            into submenus.
        (WebCore::ContextMenu::itemWithAction): Calls through to itemWithActionInMenu.
        * platform/ContextMenu.h: Added a new set of functions and member variables that are defined for
            CROSS_PLATFORM_CONTEXT_MENUS.
        (WebCore::ContextMenu::appendItem): Appends an item to the menu.
        * platform/ContextMenuItem.cpp: Added.
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::setSubMenu):
        * platform/ContextMenuItem.h:
        (WebCore::ContextMenuItem::type): Returns the type.
        (WebCore::ContextMenuItem::setType): Sets the type.
        (WebCore::ContextMenuItem::action): Returns the action.
        (WebCore::ContextMenuItem::setAction): Sets the action.
        (WebCore::ContextMenuItem::title): Returns the title.
        (WebCore::ContextMenuItem::setTitle): Sets the title.
        (WebCore::ContextMenuItem::checked): Returns whether or not the menu item is checked.
        (WebCore::ContextMenuItem::setChecked): Sets whether ot not the menu item is checked.
        (WebCore::ContextMenuItem::enabled): Returns whether or not the menu item is enabled.
        (WebCore::ContextMenuItem::setEnabled): Sets whether or not the menu item is enabled.
        (WebCore::ContextMenuItem::submenu): Returns the submenu.
        * platform/PlatformMenuDescription.h: Remove the idea if a PlatformMenuDescription if 
            CROSS_PLATFORM_CONTEXT_MENUS is on.
        * platform/win/ContextMenuItemWin.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem): Creates a ContextMenuItem from a MENUITEMINFO.
        (WebCore::ContextMenuItem::nativeMenuItem): Creates and returns a MENUITEMINFO.
        * platform/win/ContextMenuWin.cpp:
        (WebCore::ContextMenu::ContextMenu): Creates a ContextMenu from an HMENU.
        (WebCore::ContextMenu::nativeMenu): Creates and returns an HMENU.

2010-12-10  Emil Eklund  <eae@chromium.org>

        Reviewed by Adam Barth.

        Fix crash in ReplaceSelectionCommand::doApply when selection is modified
        during execution.
        https://bugs.webkit.org/show_bug.cgi?id=50840

        Test: editing/execCommand/insertHTML-mutation-crash.html

        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::copyStyleToChildren):
        Replaced raw node pointer with RefPtr.
        
        (WebCore::ReplaceSelectionCommand::doApply):
        Replaced raw node pointer with RefPtr and added null check.

2010-12-10  Emil Eklund  <eae@chromium.org>

        Reviewed by Adam Barth.

        Fix crash in Range::processContents when modified during mutation event.
        https://bugs.webkit.org/show_bug.cgi?id=50710

        Test: fast/dom/Range/range-extractContents.html

        * dom/Range.cpp:
        (WebCore::Range::processContents):
        Replace raw pointers with RefPtrs and add checks.

2010-12-09  Enrica Casucci  <enrica@apple.com>

        Reviewed by Alexey Proskuryakov.

        Implement IME support for Mac.
        <rdar://problem/7660589> WebKit2: Implement IME support for Mac.
        https://bugs.webkit.org/show_bug.cgi?id=50788

        * dom/KeyboardEvent.h:
        (WebCore::KeypressCommand::KeypressCommand): Removed ASSERT in constructor,
        since it is now used for more than one command.

2010-12-10  Jessie Berlin  <jberlin@apple.com>

        Windows build fix. Unreviewed.

        * WebCore.vcproj/WebCore.vcproj:
        Remove duplicate </File> tag.

2010-12-09  Jenn Braithwaite  <jennb@chromium.org>

        Reviewed by Adam Barth.

        TextResourceDecoder::checkForHeadCharset can look way past the limit.
        https://bugs.webkit.org/show_bug.cgi?id=47397

        Replaced charset detection algorithm with real parser.
        Added tests for parser bugs mentioned in the thread for this bug report.
        Converted hixie's encoding parsing tests to a layout test.

        Tests: fast/encoding/bracket-in-script.html
               fast/encoding/bracket-in-tag.html
               fast/encoding/escaped-bracket.html
               fast/encoding/meta-in-body.html
               fast/encoding/meta-in-script.html
               fast/encoding/meta-in-title.html
               fast/encoding/mismatched-end-tag.html
               fast/encoding/namespace-meta.html
               fast/encoding/not-http-equiv-content.html
               fast/encoding/parser-tests.html
               fast/encoding/quotes-in-title.html
               fast/encoding/tag-name-digit.html
               http/tests/misc/charset-sniffer-end-sniffing.html

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * html/parser/HTMLMetaCharsetParser.cpp: Added.
        (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
        (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
        (WebCore::HTMLMetaCharsetParser::extractCharset):
        (WebCore::HTMLMetaCharsetParser::processMeta):
        (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
        * html/parser/HTMLMetaCharsetParser.h: Added.
        (WebCore::HTMLMetaCharsetParser::create):
        (WebCore::HTMLMetaCharsetParser::encoding):
        * loader/TextResourceDecoder.cpp:
        (WebCore::TextResourceDecoder::checkForHeadCharset):
        (WebCore::TextResourceDecoder::checkForMetaCharset):
        * loader/TextResourceDecoder.h:

2010-12-10 Nate Chapin  <japhet@chromium.org>

        Reviewed by Antti Koivisto.

        Merge Loader and Request. Currently, Loader is a singleton attached
        to MemoryCache. Our goal is to remove knowledge of the loading process
        from MemoryCache, so we should attach Loader to CachedResourceLoader instead.
        Once Loader is moved off of MemoryCache, there's no reason it needs to be a singleton,
        which removes the main reason for Request existing as a separate class (to store per-request
        state that Loader couldn't).

        Loader will be given a more descriptive name in a later patch.

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

        Refactor only, no new tests.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * loader/FrameLoader.cpp:
        * loader/Request.cpp:
        * loader/Request.h:
        * loader/cache/CachedFont.cpp:
        * loader/cache/CachedImage.cpp:
        * loader/cache/CachedResource.cpp:
        * loader/cache/CachedResource.h:
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::CachedResourceLoader):
        (WebCore::CachedResourceLoader::~CachedResourceLoader):
        (WebCore::CachedResourceLoader::requestImage):
        (WebCore::CachedResourceLoader::setAutoLoadImages):
        (WebCore::CachedResourceLoader::load):
        (WebCore::CachedResourceLoader::loadDone): Was setLoadInProgress(false),
            plus other CachedResourceLoader cleanup that had been handled in Loader.
        (WebCore::CachedResourceLoader::cancelRequests): Moved from Loader.
        (WebCore::CachedResourceLoader::requestCount):
        * loader/cache/CachedResourceLoader.h:
        (WebCore::CachedResourceLoader::loadFinishing): Was setLoadInProgress(true)
        * loader/cache/MemoryCache.h:
        * loader/loader.cpp:
        (WebCore::Loader::Loader):
        (WebCore::Loader::~Loader):
        (WebCore::Loader::load):
        (WebCore::Loader::willSendRequest):
        (WebCore::Loader::didFinishLoading):
        (WebCore::Loader::didFail):
        (WebCore::Loader::didReceiveResponse):
        (WebCore::Loader::didReceiveData):
        (WebCore::Loader::didReceiveCachedMetadata):
        * loader/loader.h:
        (WebCore::Loader::cachedResourceLoader):

2010-12-10  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed, rolling out r73703.
        http://trac.webkit.org/changeset/73703
        https://bugs.webkit.org/show_bug.cgi?id=49658

        This patch is causing crashes on the GTK+ bots.

        * platform/ContextMenuItem.h:
        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::appendItem):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::createNativeMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):

2010-12-08  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Darin Adler.

        fast/canvas/canvas-getImageData-negative-source.html fails on Mac
        https://bugs.webkit.org/show_bug.cgi?id=47901

        Test: fast/canvas/canvas-getImageData-rounding.html
        
        static_cast<unsigned> is generally not what we want in
        convertLogicalToDevice. It produces inconsistent results when compiling
        for 32-bit vs. 64-bit, and in any case we weren't getting correct
        rounding behavior for source rectangles (e.g. we should get a source rect
        of width 2 if the source X is 0.9 and the source width is 0.2, but we
        were getting only one of width 1).

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::convertLogicalToDevice):
        (WebCore::HTMLCanvasElement::convertToValidDeviceSize):
        * html/HTMLCanvasElement.h:

2010-12-10  Hironori Bono  <hbono@chromium.org>

        Reviewed by Ojan Vafai.

        [Chromium] Use libjpeg-turbo instead of libjpeg
        https://bugs.webkit.org/show_bug.cgi?id=50054

        This change replaces the hard-coded path to the GYP files of the JPEG
        library with a 'libjpeg_gyp_path' variable, which is added by Chromium
        r68453. (When building WebKit Chromium, this change sets its value to
        '<(chromium_src_dir)/third_party/libjpeg/libjpeg.gyp' to avoid changing
        the current behavior.)

        No new tests since this does not change the code at all.

        * WebCore.gyp/WebCore.gyp:

2010-12-10  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
        https://bugs.webkit.org/show_bug.cgi?id=49388

        Got rid of the NonZeroBeginTimeFlag. Functionality is now hidden inside
        the implementation.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::setAnimationOnLayer):
        * platform/graphics/ca/PlatformCAAnimation.h:
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (hasNonZeroBeginTimeFlag):
        (setNonZeroBeginTimeFlag):
        (PlatformCAAnimation::PlatformCAAnimation):
        (PlatformCAAnimation::setBeginTime):

2010-12-10  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: eliminate SourceFrameDelegate by passing scripts to SourceFrame constructor.
        https://bugs.webkit.org/show_bug.cgi?id=50679

        * inspector/front-end/Script.js:
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame):
        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
        (WebInspector.SourceFrame.prototype._breakpointAdded):
        (WebInspector.SourceFrame.prototype._doEditLine):
        (WebInspector.SourceFrame.prototype._commitEditLine):
        (WebInspector.SourceFrame.prototype._breakpoints):
        (WebInspector.SourceFrame.prototype._sourceIDForLine):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):

2010-12-10  Andreas Kling  <kling@webkit.org>

        Reviewed by Eric Seidel.

        Don't do GraphicsContext save/restore just to preserve the CompositeOperator
        https://bugs.webkit.org/show_bug.cgi?id=50070

        Add GraphicsContext::compositeOperation() so we don't have to do a full
        save/restore if the only context-tainting call is setCompositeOperation().

        GraphicsContext::setCompositeOperation() now stores the op in its state
        and calls a port-specific setPlatformCompositeOperation().

        No new tests, this is an optimization.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::setCompositeOperation):
        (WebCore::GraphicsContext::compositeOperation):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/Image.cpp:
        (WebCore::Image::fillWithSolidColor):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/mac/GraphicsContextMac.mm:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::WebCoreCompositeToSkiaComposite):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::setPlatformCompositeOperation):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * rendering/RenderView.cpp:
        (WebCore::RenderView::paintBoxDecorations):

2010-12-10  Renata Hodovan  <reni@webkit.org>

        Reviewed by Andreas Kling.

        GraphicsContext: Merge m_common and m_data
        https://bugs.webkit.org/show_bug.cgi?id=49914

        Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
        and m_common became unnecessary. They are removed.
        Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
        make the constructor of GraphicsContext clearer.
        Besides add a getter to the private GraphicsContext::m_state member, because some inline
        functions in cairo need it.

        No new test is needed, because this is a refactoring.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::setStrokeThickness):
        (WebCore::GraphicsContext::setStrokeStyle):
        (WebCore::GraphicsContext::setStrokeColor):
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::getShadow):
        (WebCore::GraphicsContext::strokeThickness):
        (WebCore::GraphicsContext::strokeStyle):
        (WebCore::GraphicsContext::strokeColor):
        (WebCore::GraphicsContext::strokeColorSpace):
        (WebCore::GraphicsContext::fillRule):
        (WebCore::GraphicsContext::setFillRule):
        (WebCore::GraphicsContext::setFillColor):
        (WebCore::GraphicsContext::fillColor):
        (WebCore::GraphicsContext::fillColorSpace):
        (WebCore::GraphicsContext::setShouldAntialias):
        (WebCore::GraphicsContext::shouldAntialias):
        (WebCore::GraphicsContext::state):
        (WebCore::GraphicsContext::setStrokePattern):
        (WebCore::GraphicsContext::setFillPattern):
        (WebCore::GraphicsContext::setStrokeGradient):
        (WebCore::GraphicsContext::setFillGradient):
        (WebCore::GraphicsContext::fillGradient):
        (WebCore::GraphicsContext::strokeGradient):
        (WebCore::GraphicsContext::fillPattern):
        (WebCore::GraphicsContext::strokePattern):
        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
        (WebCore::GraphicsContext::updatingControlTints):
        (WebCore::GraphicsContext::setUpdatingControlTints):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        (WebCore::GraphicsContext::textDrawingMode):
        (WebCore::GraphicsContext::setTextDrawingMode):
        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/GraphicsContextPrivate.h: Removed.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::setPlatformFill):
        (WebCore::setPlatformStroke):
        (WebCore::drawPathShadow):
        (WebCore::fillCurrentCairoPath):
        (WebCore::strokeCurrentCairoPath):
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::getAlpha):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::applyStrokePattern):
        (WebCore::GraphicsContext::applyFillPattern):
        (WebCore::GraphicsContext::drawPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):

2010-12-10  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: introduce a pair of set/remove methods for each breakpoint type.
        https://bugs.webkit.org/show_bug.cgi?id=50809

        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::setEventListenerBreakpoint):
        (WebCore::InspectorController::removeEventListenerBreakpoint):
        (WebCore::InspectorController::hasEventListenerBreakpoint):
        (WebCore::InspectorController::setXHRBreakpoint):
        (WebCore::InspectorController::removeXHRBreakpoint):
        (WebCore::InspectorController::hasXHRBreakpoint):
        (WebCore::InspectorController::clearNativeBreakpoints):
        * inspector/InspectorController.h:
        * inspector/InspectorDOMAgent.cpp:
        (WebCore::InspectorDOMAgent::setDOMBreakpoint):
        (WebCore::InspectorDOMAgent::removeDOMBreakpoint):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeInsertion):
        (WebCore::InspectorDOMAgent::shouldBreakOnNodeRemoval):
        (WebCore::InspectorDOMAgent::shouldBreakOnAttributeModification):
        (WebCore::InspectorDOMAgent::descriptionForDOMEvent):
        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
        * inspector/InspectorDOMAgent.h:
        * inspector/InspectorInstrumentation.cpp:
        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager):
        (WebInspector.NativeBreakpoint):
        (WebInspector.DOMBreakpoint):
        (WebInspector.EventListenerBreakpoint):
        (WebInspector.XHRBreakpoint):
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
        * inspector/front-end/DebuggerModel.js:
        (WebInspector.DebuggerModel.prototype.debuggerPaused):

2010-12-10  Adam Roben  <aroben@apple.com>

        Windows production build fix after r72555

        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops: Use
        "$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win" to find the
        .vsprops files, rather than $(WebKitLibrariesDir).

2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by nobody, build fix.

        [Qt] Second attempt to fix the build with Qt 4.6 broken in 73710.

        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
        (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
        (WebCore::QtNetworkReplyThreadSafeProxy::localCustomRequest):
        * platform/network/qt/QtNAMThreadSafeProxy.h:

2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by nobody, build fix.

        [Qt] Fix the build with Qt 4.6 broken in 73710.

        * platform/network/qt/QtNAMThreadSafeProxy.cpp:
        (WebCore::QtNetworkReplyThreadSafeProxy::QtNetworkReplyThreadSafeProxy):
        * platform/network/qt/QtNAMThreadSafeProxy.h:

2010-12-10  Emil Eklund  <eae@chromium.org>

        Reviewed by Eric Seidel.

        Change EventHandler::dispatchMouseEvent code to use DOM traversal instead of render tree traversal
        https://bugs.webkit.org/show_bug.cgi?id=49982

        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent):
        Walk up DOM/hosted tree rather than render tree.

2010-12-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Support a QNetworkAccessManager affined to a different thread.
        https://bugs.webkit.org/show_bug.cgi?id=50080

        This patch introduce thread safe proxy classes for QNetworkAccessManager
        and QNetworkReply.
        If run in the same thread, these objects will forward the calls with
        Qt::DirectConnection bindings, while in the other case they will use
        Qt::QueuedConnection to carry requests accross threads.

        This patch basically:
        - Makes sure that all access goes through these objects
        - Reorders signal connections to make sure we are connected when the
          signal comes
        - Makes sure that no QObject in the WebCore thread is a child of the
          reply which might be in a different thread.
        - Forward the data directly in QByteArrays in signals instead of collecting
          the data when the signal is handled.

        New test: tst_QWebPage::networkAccessManagerOnDifferentThread

        * WebCore.pro:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::commitLoad):
        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::FormDataIODevice::FormDataIODevice):
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::~QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::setLoadMode):
        (WebCore::QNetworkReplyHandler::abort):
        (WebCore::QNetworkReplyHandler::release):
        (WebCore::ignoreHttpError):
        (WebCore::QNetworkReplyHandler::finish):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        (WebCore::QNetworkReplyHandler::forwardData):
        (WebCore::QNetworkReplyHandler::start):
        (WebCore::QNetworkReplyHandler::sendQueuedItems):
        * platform/network/qt/QNetworkReplyHandler.h:
        * platform/network/qt/QtNAMThreadSafeProxy.cpp: Added.
        * platform/network/qt/QtNAMThreadSafeProxy.h: Added.
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::willLoadFromCache):
        * platform/qt/CookieJarQt.cpp:
        (WebCore::networkAccessManager):
        (WebCore::setCookies):
        (WebCore::cookies):
        (WebCore::cookieRequestHeaderFieldValue):
        (WebCore::cookiesEnabled):

2010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Refactor QNetworkReplyHandler::finish() to prevent crashes.
        https://bugs.webkit.org/show_bug.cgi?id=50761

        This patch change the order to check if m_reply is null instead,
        explicitly deleting the reply before calling start() for a redirect,
        or after calling didFinishLoading()/didFail() in other cases.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::finish):

2010-12-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] Make sure we send the response before any data.
        https://bugs.webkit.org/show_bug.cgi?id=50760

        This patch make sure the data available flag is set before
        we call sendResponseIfNeeded.

        * platform/network/qt/QNetworkReplyHandler.cpp:
        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
        (WebCore::QNetworkReplyHandler::finish):
        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
        (WebCore::QNetworkReplyHandler::forwardData):
        (WebCore::QNetworkReplyHandler::resetState):
        * platform/network/qt/QNetworkReplyHandler.h:

2010-12-10  Koan-Sin Tan  <koansin.tan@gmail.com>

        Reviewed by Dan Bernstein.

        Bopomofo should be part of CJK Ideographs in WebCore/platform/graphics/Font.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50668

        No new tests. Note that, as said in the bug report discussion,
        I did have a test case for the bug. However, to show the test 
        case you need some "broken" Microsoft copyrighted fonts, such
        as DFKai-SB.

        * platform/graphics/Font.cpp:
        (WebCore::Font::isCJKIdeograph):

2010-12-10  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Simplify context-menu handling code
        https://bugs.webkit.org/show_bug.cgi?id=49658

        * platform/ContextMenuItem.h:
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::appendItem):
        * platform/gtk/ContextMenuItemGtk.cpp:
        (WebCore::ContextMenuItem::ContextMenuItem):
        (WebCore::ContextMenuItem::~ContextMenuItem):
        (WebCore::ContextMenuItem::releasePlatformDescription):
        (WebCore::ContextMenuItem::type):
        (WebCore::ContextMenuItem::setType):
        (WebCore::ContextMenuItem::action):
        (WebCore::ContextMenuItem::setAction):
        (WebCore::ContextMenuItem::title):
        (WebCore::ContextMenuItem::setTitle):
        (WebCore::ContextMenuItem::platformSubMenu):
        (WebCore::ContextMenuItem::setSubMenu):
        (WebCore::ContextMenuItem::setChecked):
        (WebCore::ContextMenuItem::setEnabled):

2010-12-10  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] un-needed methods
        https://bugs.webkit.org/show_bug.cgi?id=50805

        No new tests, code cleanup only.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

2010-12-10  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] data: source could also support non-base64 encoded URIs
        https://bugs.webkit.org/show_bug.cgi?id=30007

        Removed our ancient implementation of dataurisrc. We should now
        use the one in gst-plugins-bad which is more mature.

        * GNUmakefile.am:
        * platform/graphics/gstreamer/DataSourceGStreamer.cpp: Removed.
        * platform/graphics/gstreamer/DataSourceGStreamer.h: Removed.
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::doGstInit):

2010-12-10  Zoltan Herczeg  <zherczeg@webkit.org>

        Reviewed by Eric Seidel.

        [Qt] Fix crashes in debug mode
        https://bugs.webkit.org/show_bug.cgi?id=49976

        The m_methods hashmap of QtInstance contains InternalFunctions
        whose depend on the current RuntimeObject. When we recreate the
        RuntimeObject, we should also reset this hashmap.

        * bridge/qt/qt_instance.cpp:
        (JSC::Bindings::QtInstance::newRuntimeObject):

2010-12-10  François Sausset  <sausset@gmail.com>

        Reviewed by Eric Seidel.

        MathML: update baselinePosition() call in RenderMathMLBlock.cpp 
        https://bugs.webkit.org/show_bug.cgi?id=50540

        The call of baselinePosition() is outdated: new arguments added.

        * mathml/RenderMathMLBlock.cpp:
        (WebCore::RenderMathMLBlock::paint):

2010-12-10  Hans Wennborg  <hans@chromium.org>

        Reviewed by Jeremy Orlow.

        IndexedDB: Numeric keys are floats.
        https://bugs.webkit.org/show_bug.cgi?id=50674

        Use floating point to represent numeric keys,
        add version meta data to the SQLite db,
        and migrate object stores that use integers.

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        (WebCore::migrateDatabase):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::IDBKey):
        (WebCore::IDBKey::fromQuery):
        (WebCore::IDBKey::bind):
        (WebCore::IDBKey::bindWithNulls):
        * storage/IDBKey.h:
        (WebCore::IDBKey::create):
        (WebCore::IDBKey::number):

2010-12-10  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by Xan Lopez.

        [Gtk] style="font-family: courier" makes text disappear
        https://bugs.webkit.org/show_bug.cgi?id=47452

        Don't ever use fonts that do not have any of the three charmaps that
        Fontconfig supports (Unicode, Apple Roman and Symbol). If we select
        a font that doesn't have one of these charmaps, use the next font in
        the list.

        Test: platform/gtk/fonts/font-with-no-valid-encoding.html

        * platform/graphics/freetype/FontCacheFreeType.cpp:
        (WebCore::FontCache::createFontPlatformData): Check whether the
        font we selected has a valid Fontconfig charmap.
        * platform/graphics/freetype/FontPlatformData.h: Added new method definition.
        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
        (WebCore::FontPlatformData::hasCompatibleCharmap): Added this method which
        verifies that a font has a valid Fontconfig charmap.

2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        Make DOM Mutation Events Asynchronous
        https://bugs.webkit.org/show_bug.cgi?id=46936

        Implemented DOM mutations events as scoped events. A scoped event is an event whose
        dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
        EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
        on its constructor and destructor respectively.

        When the scoping level is 0 (initial level), scoped events are dispatched as soon as
        they are enqueued and act like synchronous events. When the scoping level is greater than 0,
        however, events are queued in ScopedEventQueue and their dispatches are delayed until
        the scoping level goes back to 0 (by the destruction of EventQueueScope).

        DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
        DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
        scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
        of the events until the completion of each call of EditCommand::doApply.

        Test: fast/events/mutation/execCommands.html

        * Android.mk: Added ScopedEventQueue.cpp.
        * CMakeLists.txt: Ditto.
        * WebCore.pro: Ditto.
        * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
        * WebCore.gypi:  Ditto.
        * WebCore.vcproj/project.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
        (WebCore::dispatchChildRemovalEvents): Ditto.
        * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
        * dom/Element.cpp:
        (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::dispatchScopedEvent): Added.
        (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
        * dom/Node.h:
        * dom/ScopedEventQueue.cpp: Added.
        (WebCore::ScopedEventQueue::initialize): Added.
        (WebCore::ScopedEventQueue::enqueueEvent): Added.
        (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
        (WebCore::ScopedEventQueue::dispatchEvent): Added.
        (WebCore::ScopedEventQueue::instance): Added.
        (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
        (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
        * dom/ScopedEventQueue.h: Added.
        (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
        (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
        (WebCore::EventQueueScope::EventQueueScope): Added.
        (WebCore::EventQueueScope::~EventQueueScope): Added.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): Instantiates EventQueueScope.

2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73684.
        http://trac.webkit.org/changeset/73684
        https://bugs.webkit.org/show_bug.cgi?id=50801

        "missing bug number" (Requested by rniwa on #webkit).

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildInsertionEvents):
        (WebCore::dispatchChildRemovalEvents):
        * dom/DOMAllInOne.cpp:
        * dom/Element.cpp:
        (WebCore::Element::dispatchAttrRemovalEvent):
        (WebCore::Element::dispatchAttrAdditionEvent):
        * dom/Node.cpp:
        (WebCore::Node::dispatchSubtreeModifiedEvent):
        (WebCore::Node::dispatchUIEvent):
        * dom/Node.h:
        * dom/ScopedEventQueue.cpp: Removed.
        * dom/ScopedEventQueue.h: Removed.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply):

2010-12-09  Qi Zhang  <qi.2.zhang@nokia.com>

        Reviewed by Kenneth Rohde Christiansen.

        [Qt] enable orientation flag when QtMobility available
        https://bugs.webkit.org/show_bug.cgi?id=50781

        When QtMobility available, enable orientation flag by default.

        * features.pri:

2010-12-09  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        Improve validation API support of <object> and <keygen>
        https://bugs.webkit.org/show_bug.cgi?id=50663

        Adds validation API to HTMLObjectElement class.
        Makes HTMLKeygenElement::willValidate() return false.

        Test: fast/forms/setCustomValidity-existence.html

        * html/HTMLKeygenElement.h:
        (WebCore::HTMLKeygenElement::willValidate): Added.
        * html/HTMLObjectElement.h:
        (WebCore::HTMLObjectElement::validationMessage): Added.
        (WebCore::HTMLObjectElement::checkValidity): Added.
        (WebCore::HTMLObjectElement::setCustomValidity): Added.
        * html/HTMLObjectElement.idl: Added validation API properties.

2010-12-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>

        Reviewed by Kent Tamura.

        Make sure a non-zero value is used for tile-width to avoid a crash
        https://bugs.webkit.org/show_bug.cgi?id=50341

        The scaled tile width can be very small at times (e.g. with 'style: font 1
        required'). So use a minimum width of 1 instead of using 0 (which leads to a
        crash).

        Tests: fast/dom/HTMLProgressElement/progress-element-with-style-crash.html

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintProgressBar):

2010-12-09  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Ojan Vafai.

        Implemented DOM mutations events as scoped events. A scoped event is an event whose
        dispatch is done via ScopedEventQueue. The behavior of the queue is controlled by
        EventQueueScope objects (RAII idiom), which increments and decrements the scoping level
        on its constructor and destructor respectively.

        When the scoping level is 0 (initial level), scoped events are dispatched as soon as
        they are enqueued and act like synchronous events. When the scoping level is greater than 0,
        however, events are queued in ScopedEventQueue and their dispatches are delayed until
        the scoping level goes back to 0 (by the destruction of EventQueueScope).

        DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument,
        DOMNodeInsertedIntoDocument, DOMFocusIn, DOMFocusOut, focusin, and focusout are treated as
        scoped events, and a scope object is instantiated in EditCommand::apply to delay dispatches
        of the events until the completion of each call of EditCommand::doApply.

        Test: fast/events/mutation/execCommands.html

        * Android.mk: Added ScopedEventQueue.cpp.
        * CMakeLists.txt: Ditto.
        * WebCore.pro: Ditto.
        * GNUmakefile.am: Added ScopedEventQueue.cpp and ScopedEventQueue.h.
        * WebCore.gypi:  Ditto.
        * WebCore.vcproj/project.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/ContainerNode.cpp:
        (WebCore::dispatchChildInsertionEvents): Calls dispatchScopedEvent.
        (WebCore::dispatchChildRemovalEvents): Ditto.
        * dom/DOMAllInOne.cpp: Added ScopedEventQueue.cpp.
        * dom/Element.cpp:
        (WebCore::Element::dispatchAttrRemovalEvent): Ditto. 
        (WebCore::Element::dispatchAttrAdditionEvent): Ditto.
        * dom/Node.cpp:
        (WebCore::Node::dispatchScopedEvent): Added.
        (WebCore::Node::dispatchSubtreeModifiedEvent): Calls dispatchScopedEvent.
        * dom/Node.h:
        * dom/ScopedEventQueue.cpp: Added.
        (WebCore::ScopedEventQueue::initialize): Added.
        (WebCore::ScopedEventQueue::enqueueEvent): Added.
        (WebCore::ScopedEventQueue::dispatchAllEvents): Added.
        (WebCore::ScopedEventQueue::dispatchEvent): Added.
        (WebCore::ScopedEventQueue::instance): Added.
        (WebCore::ScopedEventQueue::incrementScopingLevel): Added.
        (WebCore::ScopedEventQueue::decrementScopingLevel): Added.
        * dom/ScopedEventQueue.h: Added.
        (WebCore::ScopedEventQueue::~ScopedEventQueue): Added.
        (WebCore::ScopedEventQueue::ScopedEventQueue): Added.
        (WebCore::EventQueueScope::EventQueueScope): Added.
        (WebCore::EventQueueScope::~EventQueueScope): Added.
        * editing/EditCommand.cpp:
        (WebCore::EditCommand::apply): Instantiates EventQueueScope.

2010-12-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Gavin Barraclough.

        Fix scrolling with mouse wheel in WebKit2 views.  Once
        we coalesce wheel events, we can re-enable this.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scroll):

2010-12-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by James Robinson.

        For details element, ensure that if we ended up being inline that we set out replaced
        flag so that we are treated like an inline block.
        https://bugs.webkit.org/show_bug.cgi?id=50671

        Test: fast/html/details-element-render-inline-crash.html

        * rendering/RenderDetails.cpp:
        (WebCore::RenderDetails::styleDidChange): setReplaced to true if we are set as inline.
        * rendering/RenderDetails.h: function definition.

2010-12-09  Jasmin Lapalme  <jlapalme@druide.com>

        Reviewed by Alexey Proskuryakov.

        Fix a faulty conversion from UTF-8 to UTF-16 in WebCore during an XSLT transformation.
        https://bugs.webkit.org/show_bug.cgi?id=50708

        Test: fast/xsl/utf8-chunks.xml

        * xml/XSLTProcessorLibxslt.cpp:
        (WebCore::writeToVector): now converts and returns the correct byte count when the end of the chunk is in the middle of a multibyte UTF-8 character.

2010-12-09  Vincent Scheib  <scheib@chromium.org>

        Reviewed by James Robinson.

        Clip update rectangle for Texture::updateSubRect to texture size
        https://bugs.webkit.org/show_bug.cgi?id=49929

        Test: fast/canvas/canvas-largedraws.html

        * platform/graphics/gpu/Texture.cpp:
        (WebCore::Texture::updateSubRect):

2010-12-09  Kenneth Russell  <kbr@google.com>

        Unreviewed. Another speculative Gtk build fix after r73669. Add
        needed derived sources to GNUmakefile.am.

        * GNUmakefile.am:

2010-12-09  Kenneth Russell  <kbr@google.com>

        Unreviewed. Speculative Gtk build fix after
        https://bugs.webkit.org/show_bug.cgi?id=36512 / r73669. Process
        all of the WebGL classes' IDL files.

        * CMakeLists.txt:

2010-12-09  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Expose constructor functions for instanceof checks of WebGL objects
        https://bugs.webkit.org/show_bug.cgi?id=36512

        Test: fast/canvas/webgl/instanceof-test.html

        * bindings/generic/RuntimeEnabledFeatures.h:
        (WebCore::RuntimeEnabledFeatures::webGLActiveInfoEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLBufferEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLFramebufferEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLProgramEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLRenderbufferEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLShaderEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLTextureEnabled):
        (WebCore::RuntimeEnabledFeatures::webGLUniformLocationEnabled):
        * html/canvas/WebGLActiveInfo.idl: Remove OmitConstructor.
        * html/canvas/WebGLBuffer.idl: Ditto.
        * html/canvas/WebGLFramebuffer.idl: Ditto.
        * html/canvas/WebGLProgram.idl: Ditto.
        * html/canvas/WebGLRenderbuffer.idl: Ditto.
        * html/canvas/WebGLShader.idl: Ditto.
        * html/canvas/WebGLTexture.idl: Ditto.
        * html/canvas/WebGLUniformLocation.idl: Ditto.
        * page/DOMWindow.idl: Expose constructors for WebGL objects in DOMWindow.

2010-12-09  Timothy Hatcher  <timothy@apple.com>

        Export Color::white and Color::transparent.

        Reviewed by Anders Carlsson.

        * WebCore.exp.in:

2010-12-09  Sam Weinig  <sam@webkit.org>

        Fix failing Mac tests.

        * platform/mac/ScrollAnimatorMac.mm:
        (WebCore::ScrollAnimatorMac::scroll): Don't smooth scroll if the default
        AppleScrollAnimationEnabled is false.

2010-12-09  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Compositor needs to manage its VRAM use
        https://bugs.webkit.org/show_bug.cgi?id=49629

        This adds a basic texture manager to the Chromium compositor to limit the amount of VRAM
        used by compositor textures and switches ContentLayerChromium, ImageLayerChromium, and
        RenderSurfaceChromium to use managed LayerTexture.  The other *LayerChromium classes (Canvas,
        Video, and WebGL) and the root layer are still unmanaged.

        The TextureManager works by providing tokens to callers that want to use a managed texture.
        The token can be used to request a texture, see if the previously requested texture is still
        available, and to protect/unprotect textures when they cannot be collected.  Whenever a
        texture is created the manager attempts to free up the least recently used textures until the
        total memory use is below the provided threshhold.  If the manager cannot satisfy the memory
        limit it will not return any new textures until some old textures are released.

        A LayerTexture wraps a TextureManager token, size, and format.  A LayerChromium can check if a
        previously requested texture is still available for use and reserve the LayerTexture's underlying
        storage between the updateContentsIfDirty() and the draw() call.

        Also changes LayerChromium from having separate contentsDirty()/updateContents() calls to a single
        updateContentsIfDirty().

        Tests: platform/chromium/compositing/lots-of-img-layers-with-opacity.html
               platform/chromium/compositing/lots-of-img-layers.html

        * WebCore.gypi:
        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
        (WebCore::Canvas2DLayerChromium::updateContentsIfDirty):
        * platform/graphics/chromium/Canvas2DLayerChromium.h:
        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::cleanupResources):
        (WebCore::ContentLayerChromium::updateContentsIfDirty):
        (WebCore::ContentLayerChromium::updateTextureRect):
        (WebCore::ContentLayerChromium::draw):
        * platform/graphics/chromium/ContentLayerChromium.h:
        * platform/graphics/chromium/ImageLayerChromium.cpp:
        (WebCore::ImageLayerChromium::updateContentsIfDirty):
        * platform/graphics/chromium/ImageLayerChromium.h:
        * platform/graphics/chromium/LayerChromium.h:
        (WebCore::LayerChromium::updateContentsIfDirty):
        (WebCore::LayerChromium::draw):
        * platform/graphics/chromium/LayerRendererChromium.cpp:
        (WebCore::LayerRendererChromium::LayerRendererChromium):
        (WebCore::LayerRendererChromium::useShader):
        (WebCore::LayerRendererChromium::prepareToDrawLayers):
        (WebCore::LayerRendererChromium::updateRootLayerTextureRect):
        (WebCore::LayerRendererChromium::drawLayers):
        (WebCore::LayerRendererChromium::getFramebufferPixels):
        (WebCore::LayerRendererChromium::createLayerTexture):
        (WebCore::LayerRendererChromium::deleteLayerTexture):
        (WebCore::LayerRendererChromium::updateLayersRecursive):
        (WebCore::LayerRendererChromium::useRenderSurface):
        (WebCore::LayerRendererChromium::drawLayer):
        (WebCore::LayerRendererChromium::setScissorToRect):
        (WebCore::LayerRendererChromium::setDrawViewportRect):
        (WebCore::LayerRendererChromium::initializeSharedObjects):
        (WebCore::LayerRendererChromium::cleanupSharedObjects):
        * platform/graphics/chromium/LayerRendererChromium.h:
        (WebCore::LayerRendererChromium::renderSurfaceSharedValues):
        (WebCore::LayerRendererChromium::textureManager):
        * platform/graphics/chromium/LayerTexture.cpp: Added.
        (WebCore::LayerTexture::LayerTexture):
        (WebCore::LayerTexture::~LayerTexture):
        (WebCore::LayerTexture::isValid):
        (WebCore::LayerTexture::reserve):
        (WebCore::LayerTexture::unreserve):
        (WebCore::LayerTexture::bindTexture):
        (WebCore::LayerTexture::framebufferTexture2D):
        * platform/graphics/chromium/LayerTexture.h: Added.
        (WebCore::LayerTexture::create):
        * platform/graphics/chromium/PluginLayerChromium.cpp:
        (WebCore::PluginLayerChromium::updateContentsIfDirty):
        * platform/graphics/chromium/PluginLayerChromium.h:
        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
        (WebCore::RenderSurfaceChromium::SharedValues::SharedValues):
        (WebCore::RenderSurfaceChromium::SharedValues::~SharedValues):
        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
        (WebCore::RenderSurfaceChromium::cleanupResources):
        (WebCore::RenderSurfaceChromium::prepareContentsTexture):
        (WebCore::RenderSurfaceChromium::draw):
        * platform/graphics/chromium/RenderSurfaceChromium.h:
        (WebCore::RenderSurfaceChromium::SharedValues::shaderProgram):
        (WebCore::RenderSurfaceChromium::SharedValues::shaderSamplerLocation):
        (WebCore::RenderSurfaceChromium::SharedValues::shaderMatrixLocation):
        (WebCore::RenderSurfaceChromium::SharedValues::shaderAlphaLocation):
        (WebCore::RenderSurfaceChromium::SharedValues::initialized):
        * platform/graphics/chromium/TextureManager.cpp: Added.
        (WebCore::memoryUseBytes):
        (WebCore::TextureManager::TextureManager):
        (WebCore::TextureManager::getToken):
        (WebCore::TextureManager::releaseToken):
        (WebCore::TextureManager::hasTexture):
        (WebCore::TextureManager::protectTexture):
        (WebCore::TextureManager::unprotectTexture):
        (WebCore::TextureManager::reduceMemoryToLimit):
        (WebCore::TextureManager::addTexture):
        (WebCore::TextureManager::removeTexture):
        (WebCore::TextureManager::requestTexture):
        * platform/graphics/chromium/TextureManager.h: Added.
        (WebCore::TextureManager::create):
        * platform/graphics/chromium/VideoLayerChromium.cpp:
        (WebCore::VideoLayerChromium::updateContentsIfDirty):
        * platform/graphics/chromium/VideoLayerChromium.h:
        * platform/graphics/chromium/WebGLLayerChromium.cpp:
        (WebCore::WebGLLayerChromium::updateContentsIfDirty):
        * platform/graphics/chromium/WebGLLayerChromium.h:

2010-12-09  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Rework my recent setLocation refactoring to use DOMWindow instead of Frame.
        It's difficult to make correct security decisions based on Frame since a
        Frame can navigate to a new document.

        Fixes some test failures that I somehow missed before the last check-in.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Call to the
        shell DOMWindow; not sure this one matters, but it's closer to the old
        code before my last patch. Also pass the DOMWindow rather than the
        frame to crossDomainAccessErrorMessage.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation): Pass DOMWindow rather than Frame
        to the DOMWindow::setLocation function.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation): Take DOMWindow rather than Frame.
        (WebCore::DOMWindow::crossDomainAccessErrorMessage): Ditto.

        * page/DOMWindow.h: Update new functions to take DOMWindow rather
        than Frame.

2010-12-09  Sam Weinig  <sam@webkit.org>

        Try and fix the mac build.

        * WebCore.exp.in:

2010-12-09  Dan Bernstein  <mitz@apple.com>

        Reviewed by Dave Hyatt.

        Removed an unused variable.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::computeLogicalBoxHeights): Removed parentLineHeight.

2010-12-09  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
        https://bugs.webkit.org/show_bug.cgi?id=50640

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::printErrorMessageForFrame): Removed body; just call through to
        DOMWindow::printErrorMessage.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
        just call through to DOMWindow::crossDomainAccessErrorMessage.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
        firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
        of the body and moved it into DOMWindow::setLocation.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation): Added. Does all the same work that
        JSDOMWindow::setLocation used to do, but in a way that's not specific
        to JavaScript.
        (WebCore::DOMWindow::printErrorMessage): Added.
        (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.

        * page/DOMWindow.h: Added setLocation, printErrorMessage, and
        crossDomainAccessErrorMessage.

2010-12-09  Sam Weinig  <sam@webkit.org>

        Reviewed by Dan Bernstein.

        WebKit2 needs smooth scrolling support on the mac
        <rdar://problem/8219402>

        * WebCore.xcodeproj/project.pbxproj: Change ScrollAnimatorMac.cpp to ScrollAnimatorMac.mm.
        * platform/mac/ScrollAnimatorMac.cpp: Removed.
        * platform/mac/ScrollAnimatorMac.h:
        * platform/mac/ScrollAnimatorMac.mm: Copied from platform/mac/ScrollAnimatorMac.cpp.
        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
        (-[ScrollAnimationHelperDelegate bounds]):
        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
        (-[ScrollAnimationHelperDelegate superview]):
        (-[ScrollAnimationHelperDelegate documentView]):
        (-[ScrollAnimationHelperDelegate window]):
        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
        (WebCore::ScrollAnimatorMac::scroll):
        (WebCore::ScrollAnimatorMac::setScrollPositionAndStopAnimation):
        (WebCore::ScrollAnimatorMac::currentPosition):
        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
        Add implementation of ScrollAnimator for the Mac.

2010-12-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Anders Carlsson.

        <rdar://problem/8613779> and https://bugs.webkit.org/show_bug.cgi?id=50777
        WebKit2 ContextMenuClient support

        Export some symbols and headers needed by WebKit2 Mac:
        * WebCore.exp.in:
        * WebCore.xcodeproj/project.pbxproj:

2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73635.
        http://trac.webkit.org/changeset/73635
        https://bugs.webkit.org/show_bug.cgi?id=50778

        'Side-effects on 3 css tests needs closer review' (Requested
        by mwenge on #webkit).

        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::paintSearchField):
        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        * platform/qt/RenderThemeQt.h:

2010-12-09  Robert Hogan  <robert@webkit.org>

        Reviewed by Andreas Kling.

        [Qt] Search input field doesn't have cancel button

        Add a cancel button to the search field and make it customizable
        by the client. For now, use the close dialog button associated
        with the application's style as the default.

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

        * platform/graphics/qt/ImageQt.cpp:
        (loadResourcePixmap):
        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
        (WebCore::RenderThemeQt::paintSearchField):
        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeQt::convertToPaintingRect):
        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
        * platform/qt/RenderThemeQt.h:

2010-12-09  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial Navigation: Crash when handling iframe of size 0.
        https://bugs.webkit.org/show_bug.cgi?id=50730

        if we have a frame of size 0, we would get into infinite loop and eventually crash. The reason is
        that when the algorithm sees a starting rect of size 0, it assumes that there is no focused node,
        thus restarts itself. The solution is to avoid considering iframes with size 0 for the spatial
        navigation algorithm.

        Test: fast/spatial-navigation/snav-hidden-iframe-zero-size.html

        * page/FocusController.cpp:
        (WebCore::updateFocusCandidateIfNeeded):

2010-12-09  Sheriff Bot  <webkit.review.bot@gmail.com>

        Unreviewed, rolling out r73616.
        http://trac.webkit.org/changeset/73616
        https://bugs.webkit.org/show_bug.cgi?id=50772

        Breaks chromium win build (Requested by hwennborg on #webkit).

        * bindings/v8/IDBBindingUtilities.cpp:
        (WebCore::createIDBKeyFromValue):
        * bindings/v8/custom/V8IDBKeyCustom.cpp:
        (WebCore::toV8):
        * storage/IDBFactoryBackendImpl.cpp:
        (WebCore::createTables):
        (WebCore::IDBFactoryBackendImpl::open):
        * storage/IDBKey.cpp:
        (WebCore::IDBKey::IDBKey):
        (WebCore::IDBKey::fromQuery):
        (WebCore::IDBKey::bind):
        (WebCore::IDBKey::bindWithNulls):
        * storage/IDBKey.h:
        (WebCore::IDBKey::create):
        (WebCore::IDBKey::number):

2010-12-09  Antonio Gomes  <agomes@rim.com>

        Rubber stamped by by Gustavo Noronha Silva.

        Buildfix for GTK+ with building with -no-video.

        paintStockIcon static function was implemented under the ENABLE(VIDEO) guard
        but used from outside the guard. See RenderThemeGtk::paintSearchFieldResultsDecoration()
        and RenderThemeGtk::paintSearchFieldCancelButton() methods.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::getMediaElementFromRenderObject):

2010-12-07  Antonio Gomes  <agomes@rim.com>

        Reviewed by Daniel Bates.

        Spatial Navigation: code clean up
        https://bugs.webkit.org/show_bug.cgi?id=50666

        Patch unifies two FocusCandidate constructors, making caller sites
        simpler. Now the special handling HTMLAreaElement gets is done within
        the non default constructor (i.e. FocusCanditate(Node*, FocusDirection)).

        No new tests needed.

        * page/FocusController.cpp:
        (WebCore::FocusController::findFocusCandidateInContainer):
        * page/SpatialNavigation.cpp:
        (WebCore::FocusCandidate::FocusCandidate):

2010-12-09  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Eric Carlson.

        [GStreamer] disable fullscreen on MacOS Tiger and Leopard
        https://bugs.webkit.org/show_bug.cgi?id=50748

        Don't support fullscreen video on Tiger and Leopard, just like the
        QTKit player.

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::supportsFullscreen):

2010-12-06  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Support the Mozilla-style Fullscreen Javascript API
        https://bugs.webkit.org/show_bug.cgi?id=50572

        * GNUmakefile.am: enable the Javascript Fullscreen API feature if
        it's been requested at configure time.

2010-12-09  Yong Li  <yoli@rim.com>

        Reviewed by Darin Adler.

        Check the return value of ImageBuffer::create()
        to avoid crash when ImageBuffer::create() fails.
        https://bugs.webkit.org/show_bug.cgi?id=50631

        No new test because it relies on the platform implementation
        of ImageBuffer. It is hard to make ImageBuffer::create() fail
        in most ports.

        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):

2010-12-09  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Dan Bernstein.

        Implement "Use Selection for Find" in WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=50737
        <rdar://problem/8564881>

        Implement a TakeFindStringFromSelection editor command. This is
        used solely to implement the "Use Selection for Find" menu command
        on Mac, and is not made available to script. On WebKit2, it is
        very convenient to reuse the editing machinery since this command
        is very similar to Copy.

        * editing/Editor.h:
        * editing/EditorCommand.cpp:
        (WebCore::executeTakeFindStringFromSelection): Call to a mac-only Editor function.
        (WebCore::enabledTakeFindStringFromSelection): Check using Editor::canCopyExcludingStandaloneImage
        (WebCore::createCommandMap): Add "TakeFindStringFromSelection" command.
        * editing/mac/EditorMac.mm:
        (WebCore::Editor::canCopyExcludingStandaloneImages): Helper function; we can't use Editor::canCopy
        since it would make no sense to enable "Use Selection for Find" when viewing a standalone image
        document.
        (WebCore::Editor::takeFindStringFromSelection): Implement by copying the selected text
        to the special Find pasteboard.

2010-12-09  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        As part of r73559, I added the referenceNode check to validate whether the root
        node of the iterator matches the node which is getting moved to other document.
        referenceNode is initialized to root, however can get moved using previousNode
        and nextNode methods, so it is required to use root directly.
        https://bugs.webkit.org/show_bug.cgi?id=50764

        Test: fast/dom/node-iterator-reference-node-moved-crash.html

        * dom/Document.cpp:
        (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.

2010-12-08  Dimitri Glazkov  <dglazkov@chromium.org>

        Reviewed by Darin Adler.

        Provide a generic way to store shadowParent on a Node.
        https://bugs.webkit.org/show_bug.cgi?id=50184

        This patch makes TreeShared::m_parent act as either parentNode() or
        shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.

        Refactoring, so no new tests. See performance result testing in bug.

        * dom/Element.cpp:
        (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
        * dom/Node.cpp:
        (WebCore::Node::shadowHost): Added.
        (WebCore::Node::setShadowHost): Added.
        (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
        (WebCore::Node::isContentRichlyEditable): Ditto.
        (WebCore::Node::nextRenderer): Ditto.
        (WebCore::Node::virtualComputedStyle): Ditto.
        (WebCore::Node::canStartSelection): Ditto.
        (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
        (WebCore::Node::getEventAncestors): Ditto.
        (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 
        * dom/Node.h: Added an extra flag and adjusted bit counts.
        (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
        (WebCore::Node::parentNode): Made to recognize flag.
        (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
        (WebCore::Node::parentNodeGuaranteedHostFree): Added.
        (WebCore::Node::shadowParentNode): Made non-virtual and const.
        * editing/TextIterator.cpp:
        (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
        (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
        (WebCore::previousInPostOrderCrossingShadowBoundaries):  Ditto.
        (WebCore::setUpFullyClippedStack): Ditto.
        (WebCore::TextIterator::advance): Ditto.
        (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
        * page/DOMSelection.cpp:
        (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
        (WebCore::DOMSelection::focusNode): Ditto.
        (WebCore::DOMSelection::baseNode): Ditto.
        (WebCore::DOMSelection::extentNode): Ditto.
        (WebCore::DOMSelection::getRangeAt): Ditto.
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
            Changed to setShadowHost().
        (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
        (WebCore::MediaControlShadowRootElement::detach): Added an override to
            explicitly set shadowHost to 0. Otherwise, the element will leak.
        * rendering/MediaControlElements.h: Added detach def, removed members that are
            no longer needed.
        * rendering/RenderSVGShadowTreeRootContainer.cpp:
        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
            Added explicit clearing of shadowHost to avoid leaking and crashes,
            because SVG shadow DOM can be dynamically attached/detached, producing
            stale nodes in over/out event handling.
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
        * rendering/RenderTextControlSingleLine.cpp:
        (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
            Added explicit clearing of shadowHost and explicit destruction to
            avoid out-of-order removal of children.
        * rendering/RenderTreeAsText.cpp:
        (WebCore::nodePosition): Simplified code.
        * rendering/SVGShadowTreeElements.cpp:
        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
            setting of shadowHost.
        (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
        (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
        * rendering/SVGShadowTreeElements.h: Added def, removed members that are
             no longer needed.
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
        * rendering/ShadowElement.h: Removed members that are no longer needed.
        (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
        (WebCore::ShadowElement::detach): Added.
        * rendering/TextControlInnerElements.cpp:
        (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
            of shadowHost.
        (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
            isShadowNode().
        (WebCore::TextControlInnerElement::detach): Added.
        * rendering/TextControlInnerElements.h: Removed members that are no
            longer needed.
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::ownerSVGElement): Simplified code.
        (WebCore::SVGElement::viewportElement): Ditto.
        * svg/SVGLocatable.cpp:
        (WebCore::SVGLocatable::computeCTM): Ditto.
        * svg/SVGStyledElement.cpp:
        (WebCore::SVGStyledElement::title): Ditto.
        * svg/SVGUseElement.cpp:
        (WebCore::ShadowTreeUpdateBlocker::while): Ditto.

2010-12-09  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej Stachowiak.

        <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
        WebKit2 Authentication Support

        * WebCore.exp.in:

2010-12-09  Peter Beverloo  <peter@lvp-media.com>

        Reviewed by Maciej Stachowiak.

        Default CSS definitions for the figure and figcaption elements.

        Tests: fast/html/figcaption-element.html
               fast/html/figure-element.html

        * css/html.css:
        (figure): The default figure-style equals a blockquote
        (figcaption): A non-sectioning block-level element

2010-12-09  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Console records for failed XHRs should contain call stack and request method
        https://bugs.webkit.org/show_bug.cgi?id=50390

        When inspector front-end is open we capture call stack at the place where request is sent and
        pass the stack along with other request data. There is a new type of console messages which
        is NetworkErrorMessageType, all messages of that type will have requestId field initialized
        with the corresponding network request identifier so that later on when we need to display
        that message in the front-end we could pull request data from the Network panel using
        this identifier. If there are no data for given requestId message formatting falls back to
        the old implementation which lacks such things as call stack, request method and exact
        source location.

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/Inspector.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::didReceiveResponse):
        (WebCore::InspectorController::didFailLoading):
        * inspector/InspectorResourceAgent.cpp:
        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.prototype._formatMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype.toString):
        (WebInspector.ConsoleMessage.prototype.isEqual):
        * inspector/front-end/ResourceManager.js:
        (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
        * inspector/front-end/inspector.js:
        (WebInspector.addConsoleMessage):
        * page/Console.h:

2010-12-09  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Implement "required" attribute for select tags
        https://bugs.webkit.org/show_bug.cgi?id=50380

        Test: fast/forms/select-live-pseudo-selectors.html
              platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
        (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
        (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
        (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
        (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
        (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
        (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
        * html/HTMLSelectElement.idl: Added a required attribute to select elements..
        * html/ValidityState.cpp:
        (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
        * wml/WMLSelectElement.h:
        (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.

2010-12-07  Jeremy Orlow  <jorlow@chromium.org>

        Reviewed by Steve Block.

        IndexedDB returns the wrong exceptions
        https://bugs.webkit.org/show_bug.cgi?id=50632

        IndexedDB exceptions need to have an offset so they can
        be distinguished from DOM exceptions.  We also need to
        add strings for the various exceptions.  Lastly, make
        IDBDatabaseException use the common exception base class.

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::setDOMException):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * dom/ExceptionCode.cpp:
        (WebCore::getExceptionCodeDescription):
        * dom/ExceptionCode.h:
        * storage/IDBDatabaseError.h:
        (WebCore::IDBDatabaseError::code):
        * storage/IDBDatabaseException.h:
        (WebCore::IDBDatabaseException::create):
        (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
        (WebCore::IDBDatabaseException::IDBDatabaseException):
        * storage/IDBDatabaseException.idl:

2010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>

        Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
        GDK window size.

        * plugins/gtk/gtk2xtbin.c:
        (gtk_xtbin_realize):

2010-12-09  Siddharth Mathur  <siddharth.mathur@nokia.com>

        Reviewed by Laszlo Gombos.

        Use BUILDING_WEBKIT like other ports
        https://bugs.webkit.org/show_bug.cgi?id=50713

        * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT

2010-12-08  Erik Arvidsson  <arv@chromium.org>

        Reviewed by Darin Adler.

        Replace getAttribute().isNull() with fastHasAttribute()
        https://bugs.webkit.org/show_bug.cgi?id=50719

        Covered by existing tests.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::reset):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::rendererIsNeeded):
        * html/HTMLCollection.cpp:
        (WebCore::HTMLCollection::itemAfter):
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::formNoValidate):
        * html/HTMLFormElement.cpp:
        (WebCore::HTMLFormElement::noValidate):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultChecked):
        (WebCore::HTMLInputElement::multiple):
        (WebCore::HTMLInputElement::webkitdirectory):
        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::defaultSelected):
        * html/HTMLScriptElement.cpp:
        (WebCore::HTMLScriptElement::asyncAttributeValue):
        (WebCore::HTMLScriptElement::deferAttributeValue):
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::allowsMultipleFiles):
        (WebCore::RenderFileUploadControl::allowsDirectoryUpload):

2010-12-08  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>

        Reviewed by Martin Robinson.

        Full page size flash plugins do not show in all situations
        https://bugs.webkit.org/show_bug.cgi?id=47742

        This patch moves the plugin widget size allocation after the
        NPP_SetWindow is called with the effect that the resize of Flash
        content no longer result in grey flash. This seems logical since the
        widget tree cannot be fully constructed before the plugin receives
        the new container window.

        Test: manual-tests/plugins/gtk-windowed-grey-glitch.html

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::setNPWindowIfNeeded):

2010-12-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Fix regression from xji's wheel scroll patch.  The vertical case is looking at the horizontal
        maximum position and not the vertical position.

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):

2010-12-08  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin Adler.

        Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
        https://bugs.webkit.org/show_bug.cgi?id=50726

        * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.

2010-12-08  Matthew Delaney  <mdelaney@apple.com>

        Reviewed by Simon Fraser.

        Add getter and setters for acceleratesRendering flag on layers
        https://bugs.webkit.org/show_bug.cgi?id=50717

        * platform/graphics/GraphicsLayer.cpp:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        Plumbed through acceleratedRendering flag.

2010-12-07  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        WebGLUniformLocation objects must be invalidated during linkProgram
        https://bugs.webkit.org/show_bug.cgi?id=37118

        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0.
        (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead.
        * html/canvas/WebGLProgram.h:
        (WebCore::WebGLProgram::getLinkCount): Get link count.
        (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated.
        (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram.
        * html/canvas/WebGLUniformLocation.cpp:
        (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation.
        (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's.
        (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's.
        * html/canvas/WebGLUniformLocation.h:

2010-12-08  Adele Peterson  <adele@apple.com>

        Reviewed by Darin Adler.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=50725
        <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high

        Test: fast/forms/placeholder-position.html

        Since we center the inner text element for single line text controls, 
        we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class.

        * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder):
        * rendering/RenderTextControl.h:
        * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop):
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
        * rendering/RenderTextControlSingleLine.h:

2010-12-08  Chris Rogers  <crogers@google.com>

        Reviewed by Kenneth Russell.

        Add web audio files to mac port Xcode projects
        https://bugs.webkit.org/show_bug.cgi?id=50721

        No new tests since audio API is not yet implemented.

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::webkitAudioContext):

2010-12-08  Kent Tamura  <tkent@chromium.org>

        Reviewed by Alexey Proskuryakov.

        Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
        https://bugs.webkit.org/show_bug.cgi?id=49714

        IE chooses a font which shows a yensign for 0x5c code point for a page
        encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000,
        x-sjis, and Windows-31J.
        We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and
        Shift_JIS_X0213-2000. This change adds other encodings above.

        Also, we move the HashSet initialization for isJapanese() and
        backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of
        ease of making them multi-thread safe.

        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding().
        (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn().
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName().
        (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn().
        (WebCore::isJapaneseEncoding):
        (WebCore::shouldShowBackslashAsCurrencySymbolIn):
        (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets().
        * platform/text/TextEncodingRegistry.h:

2010-12-08  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        Reflected unsigned attributes should be in the range [0, 2^31).
        https://bugs.webkit.org/show_bug.cgi?id=50472

        HTML5 says that unsigned reflected attributes should be in the range
        [0, 2^31). When a value isn't in this range, a default value (or 0)
        should be returned instead. Update the JS bindings code generator to
        ensure 0 is returned when a content attribute value falls outside of
        this range.

        Tests: bindings/scripts/test/TestObj.idl
               fast/html/marquee-element.html

        * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the
        content attribute as a 32-bit signed int when converting a native value
        to an unsigned JS value.
        * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute
        to test code generation.
        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results.
        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.

2010-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
        https://bugs.webkit.org/show_bug.cgi?id=50623

        We don't need to cache the icons since the will be cached by GTK+,
        and they will be rendered using the state and text direction.

        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::paintStockIcon):
        (WebCore::getMediaButtonIconSize):
        (WebCore::RenderThemeGtk::initMediaColors):
        (WebCore::RenderThemeGtk::initMediaButtons):
        (WebCore::RenderThemeGtk::RenderThemeGtk):
        (WebCore::RenderThemeGtk::~RenderThemeGtk):
        (WebCore::RenderThemeGtk::gtkIconState):
        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
        (WebCore::centerRectVerticallyInParentInputElement):
        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
        (WebCore::RenderThemeGtk::platformColorsDidChange):
        (WebCore::RenderThemeGtk::paintMediaButton):
        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
        (WebCore::RenderThemeGtk::paintMediaMuteButton):
        (WebCore::RenderThemeGtk::paintMediaPlayButton):
        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
        * platform/gtk/RenderThemeGtk.h:

2010-12-08  Abhishek Arya  <inferno@chromium.org>

        Reviewed by Dimitri Glazkov.

        Detach node iterator and move to new document when node gets moved.
        https://bugs.webkit.org/show_bug.cgi?id=50697

        Test: fast/dom/node-iterator-document-moved-crash.html

        * dom/Document.cpp: Method that takes a node and new document as argument.
        It detaches the node iterators belonging to the current document and attaches
        them to the new document.
        (WebCore::Document::moveNodeIteratorsToNewDocument):
        * dom/Document.h: Function definition.
        * dom/Node.cpp: When node is moved to another document, call the function to move
        the iterators appropriately.
        (WebCore::Node::setDocument):

2010-12-08  James Robinson  <jamesr@chromium.org>

        Reviewed by Kenneth Russell.

        [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
        https://bugs.webkit.org/show_bug.cgi?id=50702

        Compute the center of a large layer using floats instead of ints to avoid roundoff errors.

        Test: compositing/text-on-large-layer.html

        * platform/graphics/chromium/ContentLayerChromium.cpp:
        (WebCore::ContentLayerChromium::draw):

2010-12-08  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Dan Bernstein.

        REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
        https://bugs.webkit.org/show_bug.cgi?id=33503

        The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction.
        When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text,
        and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA,
        then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2.

        Case 1. CBA appears in a RTL block:
          In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2).
          Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected.
        Case 2. CBA appears in a LTR block:
          Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds
          to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA.
          Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0),
          and clicking on the visual right should put it at Position("CBA", 2).

        The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block.
        Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition.

        Tests: editing/selection/caret-ltr-2-left.html
               editing/selection/caret-ltr-2.html
               editing/selection/caret-ltr-right.html
               editing/selection/caret-ltr.html
               editing/selection/caret-rtl-2-left.html
               editing/selection/caret-rtl-right.html

        * rendering/InlineTextBox.cpp:
        (WebCore::InlineTextBox::offsetForPosition):

2010-12-08  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin Adler.

        Fix some clang++ warnings (one of which was an actual bug)
        https://bugs.webkit.org/show_bug.cgi?id=50700

        * page/mac/DragControllerMac.mm:
        (WebCore::DragController::dragOperation):
        Add parentheses to silent a clang warning.

        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
        Fix || vs && precedence bug uncovered by clang.

        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
        (WebCore::GraphicsContext3D::reshape):
        Use an early return to avoid a warning.

2010-12-08  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
        https://bugs.webkit.org/show_bug.cgi?id=49388

        Added copy constructors and casting operators to go between 
        TransformationMatrix and CATransform3D. Also added a copy
        constructor to go from CGAffineTransform to TransformationMatrix.
        Used these new methods to clean up platform CA code. This will
        make it easier to port to Windows.

        I also fixed a couple of build issues found when trying out a 
        Windows build.

        This is a resubmission of changesets r73477 and r73483 with a 
        fix for the SL build. The failure was because TransformationMatrix
        included QuartzCore/CATransform3D.h which brought in some system
        libraries, including Quickdraw, which has a definition for
        'Cursor' which clashed with WebCore's 'Cursor' class. So I had
        to qualify its use in WebChromeClient.cpp in WebKit2.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::updateContentsTransform):
        (WebCore::GraphicsLayerCA::ensureCloneLayers):
        (WebCore::GraphicsLayerCA::fetchCloneLayers):
        * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp.
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::setFromValue):
        (PlatformCAAnimation::setToValue):
        (PlatformCAAnimation::setValues):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::transform):
        (PlatformCALayer::setTransform):
        (PlatformCALayer::sublayerTransform):
        (PlatformCALayer::setSublayerTransform):
        (PlatformCALayer::contentsTransform):
        (PlatformCALayer::setContentsTransform):
        * platform/graphics/cg/TransformationMatrixCG.cpp:
        (WebCore::TransformationMatrix::TransformationMatrix):
        * platform/graphics/transforms/TransformationMatrix.h:

2010-12-07  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by John Sullivan.

        Layering Violation in ContextMenu - member variable of type HitTestResult
        https://bugs.webkit.org/show_bug.cgi?id=50586
        
        ContextMenu had a layering violation by having a member variable of type HitTestResult, because
        classes in WebCore/platform can't know about classes in WebCore.
        
        This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
        All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
        allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
        in ContextMenuController, and the rest of the code is in the platform-specific files.

        No change in behavior, no new tests.

        * Android.mk: Removed ContextMenu.cpp.
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Ditto.
        * WebCore.gypi: Ditto.
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.

        * page/ContextMenuController.cpp:
        (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
        (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
            of the ContextMenu.
        (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
            variable.
        (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
        (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
        (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
            This allowed us to move checkOrEnableIfNeeded from ContextMenu.

        These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
        All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
        of validating the menu.
        (WebCore::separatorItem): Moved from ContextMenu.
        (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
        (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
        (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
        (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
        (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
        (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
        (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
        (WebCore::selectionContainsPossibleWord): Ditto.
        (WebCore::ContextMenuController::populate): Ditto.
        (WebCore::ContextMenuController::addInspectElementItem): Ditto.
        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
        
        * page/ContextMenuController.h:
        (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.

        * platform/ContextMenu.cpp: Removed.
        * platform/ContextMenu.h:
        * platform/efl/ContextMenuEfl.cpp:
        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
        (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
        (WebCore::ContextMenu::appendItem): Ditto.
        * platform/haiku/ContextMenuHaiku.cpp:
        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
        (WebCore::ContextMenu::appendItem): Ditto.
        (WebCore::ContextMenu::insertItem): Ditto.
        * platform/mac/ContextMenuMac.mm:
        (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
            the context menu.
        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
        (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
        (WebCore::ContextMenu::insertItem): Ditto.
        * platform/win/ContextMenuWin.cpp:
        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
        (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
        * platform/wx/ContextMenuWx.cpp:
        (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
        (ContextMenu::appendItem): Ditto.

2010-12-08  Martin Robinson  <mrobinson@igalia.com>

        Reviewed by John Sullivan.

        [GTK] Layering violation in ContextMenuGtk.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50676

        ContextMenuGtk accesses the page's ContextMenuController, which is a layering
        violation. This was fixed for Mac with change r73469. We make a similar fix here
        by moving the "activated" signal connection to the WebKit layer.

        * platform/gtk/ContextMenuGtk.cpp:
        (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
        is a layering violation.

2010-12-08  Jessie Berlin  <jberlin@apple.com>

        Reviewed by Adam Roben.

        WebKit2: Implement WebChromeClient::exceededDatabaseQuota
        https://bugs.webkit.org/show_bug.cgi?id=50656

        * WebCore.exp.in:
        Export the symbol for SecurityOrigin::databaseIdentifier.

2010-12-08  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed, rolling out r73521.
        http://trac.webkit.org/changeset/73521
        https://bugs.webkit.org/show_bug.cgi?id=50640

        It broke 90 layout tests

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::printErrorMessageForFrame):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation):
        * page/DOMWindow.cpp:
        * page/DOMWindow.h:

2010-12-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Anders Carlsson.

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

        REGRESSION in position of autocomplete popup on RTL page.

        RTL static position computation did not subtract out the width of the enclosing box if the
        immediate parent was a RenderInline.  This bug was exposed by properly changing the RenderView
        to be RTL when the document was RTL.

        Added three new tests in fast/block/positioning.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::computePositionedLogicalWidth):

2010-12-08  Xiaomei Ji  <xji@chromium.org>

        Reviewed by David Hyatt.

        Fix backward mouse wheeling not working when scroll position is below 0.
        https://bugs.webkit.org/show_bug.cgi?id=50370

        Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
               fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html

        * platform/ScrollView.cpp:
        (WebCore::ScrollView::wheelEvent):

2010-12-08  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Fix pauseAnimation API to work with shorthand properties
        https://bugs.webkit.org/show_bug.cgi?id=50639
        
        The pause API is always called with a long-hand property, but that
        property may be animating via a shorthand. Detect this, and pause
        such shorthand animations.

        * page/animation/AnimationBase.cpp:
        (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
        of wrappers used by a shorthand wrapper.

        (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
        through the shorthand wrappers, keeping track of which can affect the given
        property.
        (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
        of shorthand properties that can affect the given property.

        * page/animation/AnimationBase.h: New method.
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
        property itself, check whether it's being animated via shorthands.

2010-12-08  David Hyatt  <hyatt@apple.com>

        Reviewed by Beth Dakin.

        <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885

        Make sure the transform applied to the RenderView for page scaling is incorporated into the
        docTop/Bottom/Left/Right accessors.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::docTop):
        (WebCore::RenderView::docBottom):
        (WebCore::RenderView::docLeft):
        (WebCore::RenderView::docRight):

2010-12-08  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Yury Semikhatsky.

        Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
        for TimelineAgent functions.

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

        * inspector/Inspector.idl:
        * inspector/front-end/TimelineAgent.js:
        * inspector/front-end/TimelinePanel.js:
        (WebInspector.TimelinePanel):
        (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
        (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):

2010-12-08  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GTK] media/fullscreen* failing on 64-bits Debug
        https://bugs.webkit.org/show_bug.cgi?id=50394

        Avoid emiting durationchanged in the case where the previous
        duration was 0 because that case is already handled by the
        HTMLMediaElement.

        Test: media/media-fullscreen*.html

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::durationChanged):

2010-12-07  Darin Adler  <darin@apple.com>

        Reviewed by Geoffrey Garen.

        Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
        https://bugs.webkit.org/show_bug.cgi?id=50640

        * bindings/js/JSDOMBinding.cpp:
        (WebCore::printErrorMessageForFrame): Removed body; just call through to
        DOMWindow::printErrorMessage.

        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
        just call through to DOMWindow::crossDomainAccessErrorMessage.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
        firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
        of the body and moved it into DOMWindow::setLocation.

        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::setLocation): Added. Does all the same work that
        JSDOMWindow::setLocation used to do, but in a way that's not specific
        to JavaScript.
        (WebCore::DOMWindow::printErrorMessage): Added.
        (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.

        * page/DOMWindow.h: Added setLocation, printErrorMessage, and
        crossDomainAccessErrorMessage.

2010-12-08  Alejandro G. Castro  <alex@igalia.com>

        Unreviewed, rolling out r73494.
        http://trac.webkit.org/changeset/73494
        https://bugs.webkit.org/show_bug.cgi?id=50380

        The tests added are crashing in the debug bots (macn and gtk)

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::deselectItems):
        (WebCore::HTMLSelectElement::setSelectedIndex):
        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
        (WebCore::HTMLSelectElement::listBoxSelectItem):
        (WebCore::HTMLSelectElement::add):
        (WebCore::HTMLSelectElement::remove):
        (WebCore::HTMLSelectElement::restoreFormControlState):
        (WebCore::HTMLSelectElement::parseMappedAttribute):
        (WebCore::HTMLSelectElement::selectAll):
        (WebCore::HTMLSelectElement::reset):
        (WebCore::HTMLSelectElement::updateListBoxSelection):
        (WebCore::HTMLSelectElement::setLength):
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::isOptionalFormControl):
        * html/HTMLSelectElement.idl:
        * html/ValidityState.cpp:
        (WebCore::ValidityState::valueMissing):

2010-12-07  Ilya Tikhonovsky  <loislo@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Inspector protocol cleanup task. Remove
        WebInspector wrappers for DOMAgent functions.

        There were a lot of wrappers in WebInspector namespace
        for different WebInspector agents functions. As far as we have a
        generic mechanic for such functions we can remove these
        wrappers and register domAgent instance as a handler for
        DOM domain notifications.

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

        * inspector/Inspector.idl:
        * inspector/front-end/DOMAgent.js:
        (WebInspector.DOMNode):
        (WebInspector.DOMAgent):
        (WebInspector.DOMAgent.prototype.attributesUpdated):
        (WebInspector.DOMAgent.prototype.characterDataModified):
        (WebInspector.DOMAgent.prototype.setDocument):
        (WebInspector.DOMAgent.prototype.setDetachedRoot):
        (WebInspector.DOMAgent.prototype.setChildNodes):
        (WebInspector.DOMAgent.prototype.childNodeCountUpdated):
        (WebInspector.DOMAgent.prototype.childNodeInserted):
        (WebInspector.DOMAgent.prototype.childNodeRemoved):
        (WebInspector.EventListeners.getEventListenersForNodeAsync):
        * inspector/front-end/inspector.js:
        (WebInspector.didCommitLoad):

2010-12-08  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: remove groupLevel counter from console messages
        https://bugs.webkit.org/show_bug.cgi?id=50672

        * inspector/ConsoleMessage.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::ConsoleMessage::addToFrontend):
        (WebCore::ConsoleMessage::isEqual):
        * inspector/ConsoleMessage.h:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::InspectorController):
        (WebCore::InspectorController::addMessageToConsole):
        (WebCore::InspectorController::clearConsoleMessages):
        (WebCore::InspectorController::startGroup):
        (WebCore::InspectorController::endGroup):
        * inspector/InspectorController.h:
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.createFilterElement):
        (WebInspector.ConsoleView):
        (WebInspector.ConsoleView.prototype.filter):
        (WebInspector.ConsoleView.prototype.afterShow):
        (WebInspector.ConsoleView.prototype.addMessage):
        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
        (WebInspector.ConsoleView.prototype.clearMessages):
        (WebInspector.ConsoleMessage):
        (WebInspector.ConsoleMessage.createTextMessage):
        (WebInspector.ConsoleMessage.prototype.toMessageElement):
        (WebInspector.ConsoleMessage.prototype._addMessageHeader):
        (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
        (WebInspector.ConsoleMessage.prototype.toString):
        (WebInspector.ConsoleMessage.prototype.isEqual):
        (WebInspector.ConsoleGroup):
        * inspector/front-end/Resource.js:
        (WebInspector.Resource.prototype._checkWarning):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._addMessageToSource):
        * inspector/front-end/inspector.js:
        (WebInspector.addConsoleMessage):
        (WebInspector.log.logMessage):
        (WebInspector.log):

2010-12-07  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
        https://bugs.webkit.org/show_bug.cgi?id=50567

        Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.

        * English.lproj/localizedStrings.js:
        * WebCore.gypi:
        * WebCore.vcproj/WebCore.vcproj:
        * inspector/front-end/Breakpoint.js: Added.
        (WebInspector.Breakpoint): Moved from BreakpointManager.js.
        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager): Remove debugger-related methods.
        * inspector/front-end/CallStackSidebarPane.js:
        (WebInspector.CallStackSidebarPane):
        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
        * inspector/front-end/DebuggerModel.js: Added.
        (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        (WebInspector.ScriptsPanel.prototype.continueToLine):
        (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
        (WebInspector.ScriptsPanel.prototype.editScriptSource):
        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
        (WebInspector.ScriptsPanel.prototype.reset):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
        (WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
        (WebInspector.SourceFrameDelegate.prototype.breakpoints):
        (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.createJSBreakpointsSidebarPane):
        (WebInspector.restoredBreakpoint):
        (WebInspector.pausedScript):
        (WebInspector.resumedScript):
        (WebInspector.reset):

2010-12-08  Pavel Podivilov  <podivilov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: SourceFrame refactoring.
        https://bugs.webkit.org/show_bug.cgi?id=50223

        SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
        it's own storages. Move common code from ScriptView and SourceView to SourceFrame.

        * inspector/front-end/BreakpointManager.js:
        (WebInspector.BreakpointManager.prototype.findBreakpoints):
        (WebInspector.BreakpointManager.prototype.findBreakpoint):
        * inspector/front-end/Script.js:
        (WebInspector.Script):
        (WebInspector.Script.prototype.get linesCount):
        (WebInspector.Script.prototype.get source):
        (WebInspector.Script.prototype.set source):
        * inspector/front-end/ScriptView.js:
        (WebInspector.ScriptView):
        (WebInspector.ScriptView.prototype._scriptSourceChanged):
        (WebInspector.ScriptFrameDelegateImpl):
        (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
        (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
        (WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
        * inspector/front-end/ScriptsPanel.js:
        (WebInspector.ScriptsPanel):
        * inspector/front-end/SourceFrame.js:
        (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
        (WebInspector.SourceFrameDelegate):
        (WebInspector.SourceFrameDelegate.prototype.canEditScripts):
        (WebInspector.SourceFrameDelegate.prototype.editLineComplete):
        (WebInspector.SourceFrameDelegate.prototype.scripts):
        * inspector/front-end/SourceView.js:
        (WebInspector.SourceView):
        (WebInspector.SourceView.prototype._contentLoaded):
        (WebInspector.ResourceFrameDelegateImpl):
        (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
        (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
        (WebInspector.ResourceFrameDelegateImpl.prototype.scripts):

2010-12-08  Yuta Kitamura  <yutak@chromium.org>

        Unreviewed, rolling out r73492.
        http://trac.webkit.org/changeset/73492
        https://bugs.webkit.org/show_bug.cgi?id=49914

        Caused a lot of pixel test failures and broke Windows build.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::createGraphicsContextPrivate):
        (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::setStrokeThickness):
        (WebCore::GraphicsContext::setStrokeStyle):
        (WebCore::GraphicsContext::setStrokeColor):
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::getShadow):
        (WebCore::GraphicsContext::strokeThickness):
        (WebCore::GraphicsContext::strokeStyle):
        (WebCore::GraphicsContext::strokeColor):
        (WebCore::GraphicsContext::strokeColorSpace):
        (WebCore::GraphicsContext::fillRule):
        (WebCore::GraphicsContext::setFillRule):
        (WebCore::GraphicsContext::setFillColor):
        (WebCore::GraphicsContext::fillColor):
        (WebCore::GraphicsContext::fillColorSpace):
        (WebCore::GraphicsContext::setShouldAntialias):
        (WebCore::GraphicsContext::shouldAntialias):
        (WebCore::GraphicsContext::setStrokePattern):
        (WebCore::GraphicsContext::setFillPattern):
        (WebCore::GraphicsContext::setStrokeGradient):
        (WebCore::GraphicsContext::setFillGradient):
        (WebCore::GraphicsContext::fillGradient):
        (WebCore::GraphicsContext::strokeGradient):
        (WebCore::GraphicsContext::fillPattern):
        (WebCore::GraphicsContext::strokePattern):
        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
        (WebCore::GraphicsContext::updatingControlTints):
        (WebCore::GraphicsContext::setUpdatingControlTints):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        (WebCore::GraphicsContext::textDrawingMode):
        (WebCore::GraphicsContext::setTextDrawingMode):
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/GraphicsContextPrivate.h: Added.
        (WebCore::GraphicsContextState::GraphicsContextState):
        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::setPlatformFill):
        (WebCore::setPlatformStroke):
        (WebCore::drawPathShadow):
        (WebCore::fillCurrentCairoPath):
        (WebCore::strokeCurrentCairoPath):
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::getAlpha):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::applyStrokePattern):
        (WebCore::GraphicsContext::applyFillPattern):
        (WebCore::GraphicsContext::drawPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):

2010-12-08  Dai Mikurube  <dmikurube@google.com>

        Reviewed by Kent Tamura.

        Implement "required" attribute for select tags
        https://bugs.webkit.org/show_bug.cgi?id=50380

        Test: fast/forms/select-live-pseudo-selectors.html
              platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
        (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
        (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
        (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
        (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
        (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
        * html/HTMLSelectElement.h:
        (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
        * html/HTMLSelectElement.idl: Added a required attribute to select elements..
        * html/ValidityState.cpp:
        (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().

2010-12-08  Renata Hodovan  <reni@webkit.org>

        Reviewed by Andreas Kling.

        GraphicsContext: Merge m_common and m_data
        https://bugs.webkit.org/show_bug.cgi?id=49914

        Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
        and m_common became unnecessary. They are removed.
        Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
        make the constructor of GraphicsContext clearer.
        Besides add a getter to the private GraphicsContext::m_state member, because some inline
        functions in cairo need it.

        No new test is needed, because this is a refactoring.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::GraphicsContext):
        (WebCore::GraphicsContext::~GraphicsContext):
        (WebCore::GraphicsContext::save):
        (WebCore::GraphicsContext::restore):
        (WebCore::GraphicsContext::setStrokeThickness):
        (WebCore::GraphicsContext::setStrokeStyle):
        (WebCore::GraphicsContext::setStrokeColor):
        (WebCore::GraphicsContext::setShadow):
        (WebCore::GraphicsContext::clearShadow):
        (WebCore::GraphicsContext::getShadow):
        (WebCore::GraphicsContext::strokeThickness):
        (WebCore::GraphicsContext::strokeStyle):
        (WebCore::GraphicsContext::strokeColor):
        (WebCore::GraphicsContext::strokeColorSpace):
        (WebCore::GraphicsContext::fillRule):
        (WebCore::GraphicsContext::setFillRule):
        (WebCore::GraphicsContext::setFillColor):
        (WebCore::GraphicsContext::fillColor):
        (WebCore::GraphicsContext::fillColorSpace):
        (WebCore::GraphicsContext::setShouldAntialias):
        (WebCore::GraphicsContext::shouldAntialias):
        (WebCore::GraphicsContext::state):
        (WebCore::GraphicsContext::setStrokePattern):
        (WebCore::GraphicsContext::setFillPattern):
        (WebCore::GraphicsContext::setStrokeGradient):
        (WebCore::GraphicsContext::setFillGradient):
        (WebCore::GraphicsContext::fillGradient):
        (WebCore::GraphicsContext::strokeGradient):
        (WebCore::GraphicsContext::fillPattern):
        (WebCore::GraphicsContext::strokePattern):
        (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
        (WebCore::GraphicsContext::updatingControlTints):
        (WebCore::GraphicsContext::setUpdatingControlTints):
        (WebCore::GraphicsContext::setPaintingDisabled):
        (WebCore::GraphicsContext::paintingDisabled):
        (WebCore::GraphicsContext::textDrawingMode):
        (WebCore::GraphicsContext::setTextDrawingMode):
        * platform/graphics/GraphicsContext.h:
        (WebCore::GraphicsContextState::GraphicsContextState):
        * platform/graphics/GraphicsContextPrivate.h: Removed.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::setPlatformFill):
        (WebCore::setPlatformStroke):
        (WebCore::drawPathShadow):
        (WebCore::fillCurrentCairoPath):
        (WebCore::strokeCurrentCairoPath):
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeRect):
        (WebCore::GraphicsContext::setAlpha):
        (WebCore::GraphicsContext::getAlpha):
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::applyStrokePattern):
        (WebCore::GraphicsContext::applyFillPattern):
        (WebCore::GraphicsContext::drawPath):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        (WebCore::GraphicsContext::strokeRect):
        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::clip):
        (WebCore::GraphicsContext::clipOut):
        (WebCore::GraphicsContext::addInnerRoundedRectClip):
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::strokePath):
        (WebCore::GraphicsContext::fillRect):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/skia/GraphicsContextSkia.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::setPlatformShadow):
        * platform/graphics/win/GraphicsContextCGWin.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/win/GraphicsContextCairoWin.cpp:
        (WebCore::GraphicsContext::platformInit):
        * platform/graphics/wince/GraphicsContextWinCE.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):
        (WebCore::GraphicsContext::fillPath):
        (WebCore::GraphicsContext::fillRect):
        * platform/graphics/wx/GraphicsContextWx.cpp:
        (WebCore::GraphicsContext::platformInit):
        (WebCore::GraphicsContext::platformDestroy):

2010-12-07  Anton Muhin  <antonm@chromium.org>

        Reviewed by Nate Chapin.

        Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
        https://bugs.webkit.org/show_bug.cgi?id=50246

        * bindings/v8/V8DOMMap.h:
        (WebCore::AbstractWeakReferenceMap::Visitor::startMap):
        (WebCore::AbstractWeakReferenceMap::Visitor::endMap):
        (WebCore::WeakReferenceMap::visit):
        * bindings/v8/V8GCController.cpp:
        (WebCore::GrouperItem::GrouperItem):
        (WebCore::GrouperItem::groupId):
        (WebCore::makeV8ObjectGroups):
        (WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
        (WebCore::NodeGrouperVisitor::visitDOMWrapper):
        (WebCore::NodeGrouperVisitor::applyGrouping):
        (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
        (WebCore::DOMObjectGrouperVisitor::startMap):
        (WebCore::DOMObjectGrouperVisitor::endMap):
        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
        (WebCore::V8GCController::gcPrologue):

2010-12-07  Daniel Bates  <dbates@rim.com>

        Reviewed by Martin Robinson.

        Implement focus ring support for image maps
        https://bugs.webkit.org/show_bug.cgi?id=50371

        Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
        drawing a focus ring for image maps.

        Tests: fast/images/imagemap-circle-focus-ring.html
               fast/images/imagemap-polygon-focus-ring.html

        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::adjustFocusRingColor): Added.
        (WebCore::adjustFocusRingLineWidth): Added.
        (WebCore::focusRingStrokeStyle): Added.
        (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
        line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
        and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).

2010-12-07  Sergio Villar Senin  <svillar@igalia.com>

        Reviewed by Xan Lopez.

        [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
        https://bugs.webkit.org/show_bug.cgi?id=50577

        Try to download cached resources again if they are no longer
        accesible by the cache.

        * platform/network/soup/cache/soup-request-http.c:
        (send_async_cb):
        (webkit_soup_request_http_send_async):

2010-12-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        RenderIndicator subclasses should not change the render tree during layout.
        https://bugs.webkit.org/show_bug.cgi?id=50026

        The old code created shadow elements during a layout computation,
        that makes the layout state inconsisntent and cause an assertion failure. 
        This change created shadow elements before the layout to avoid  
        state inconsistencies.
        
        Instead of creating shadows on demand, RenderMeter and
        RenderProgress now create all necessary shadows before layouts,
        and change its visibilities during the layout: Changing
        visibilities doesn't trigger relayout and keep the state
        consistent.
        
        RenderMeter uses new HidablePartElement for shadow elements,
        which can toggle visibiliby between hidden and original value.

        Test: fast/dom/HTMLMeterElement/meter-element-crash.html

        * html/HTMLMeterElement.cpp:
        (WebCore::HTMLMeterElement::attach): Calling updateFromElement()
        * html/HTMLMeterElement.h:
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::attach): Calling updateFromElement()
        * html/HTMLProgressElement.h:
        * rendering/RenderIndicator.cpp:
        * rendering/RenderIndicator.h:
        * rendering/RenderMeter.cpp:
        (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
        (WebCore::MeterPartElement::createForPart):
        (WebCore::MeterPartElement::hide):
        (WebCore::MeterPartElement::restoreVisibility):
        (WebCore::MeterPartElement::updateStyleForPart):
        (WebCore::MeterPartElement::saveVisibility):
        (WebCore::RenderMeter::~RenderMeter):
        (WebCore::RenderMeter::createPart): Extracted
        (WebCore::RenderMeter::updateFromElement): Had a shadow generation.
        (WebCore::RenderMeter::layoutParts): Removed shadow generation code.
        (WebCore::RenderMeter::shouldHaveParts):
        (WebCore::RenderMeter::valuePartRect): Adopted orientation.
        (WebCore::RenderMeter::orientation): Morphed from isHorizontal()
        (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
        (WebCore::RenderMeter::barPseudoId): Adopted orientation.
        * rendering/RenderMeter.h:
        (WebCore::RenderMeter::shadowAttached):
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::updateFromElement): Had a shadow generation.
        (WebCore::RenderProgress::layoutParts):
        * rendering/RenderProgress.h:
        * rendering/ShadowElement.cpp:
        (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
        (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
        * rendering/ShadowElement.h:

2010-11-29  Mihai Parparita  <mihaip@chromium.org>

        Reviewed by Adam Barth.

        returning to a POST result within a frame does a GET instead of a POST
        https://bugs.webkit.org/show_bug.cgi?id=10199
        
        FrameLoader::loadURLIntoChildFrame had a check for whether a frame
        had a HistoryItem, and if so used that item's URL. However, that did
        not handle the case where the HistoryItem had FormData and thus was the
        result of a POST request. FrameLoader::navigateToDifferentDocument (now
        renamed to loadDifferentDocumentItem) does all that, so just switch to
        using it instead.
        
        Besides the bug fix, the only difference in behavior is that we use the
        HistoryItem's URL instead of original URL when restoring it in a child
        frame. This seems desirable too (for consistency with other browsers, and
        so that we can avoid form double-submits for forms that that do
        POST-then-redirect), and is tested by
        fast/history/history-back-initial-vs-final-url.html.
        
        Tests: fast/history/history-back-initial-vs-final-url.html
               http/tests/navigation/post-frames-goback1.html
               http/tests/navigation/postredirect-frames-goback1.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
            loadDifferentDocumentItem. Also cleaned up ordering slightly (if
            on the archive path, there's no need to do any of the other checks).
        (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
            navigateToDifferentDocument so that calling it from loadItem and
            loadURLIntoChildFrame flows more easily.
        (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
            navigateWithinDocument.
        (WebCore::FrameLoader::loadItem): Update callsites to the above methods.
        * loader/FrameLoader.h:

2010-12-07  Dan Bernstein  <mitz@apple.com>

        Reviewed by Darin Adler.

        Made tables repaint correctly in all writing modes
        Part of: Make tables work with vertical text
        https://bugs.webkit.org/show_bug.cgi?id=46417

        Tests: fast/repaint/table-writing-modes-h.html
               fast/repaint/table-writing-modes-v.html

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
        columns to repaint based on the logical extent of the repaint rect.

2010-12-07  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by James Robinson.

        [chromium] compositor lost context recovery fix
        https://bugs.webkit.org/show_bug.cgi?id=50614

        To test, load a page that triggers the compositor, kill the GPU
        process and hover over a link to redraw and thus restart the GPU
        process.  Without this patch it will assert in
        ContentLayerChromium::updateTextureRect; with this patch it will not.

        * platform/graphics/chromium/LayerChromium.cpp:
        (WebCore::LayerChromium::setNeedsDisplay):

2010-12-07  Anders Carlsson  <andersca@apple.com>

        Fix the last clang++ build error.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::animationForKey):
        Cast the returned animation to the correct type.

2010-12-07  Anders Carlsson  <andersca@apple.com>

        Fix some clang++ build errors.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
        Remove unused variable.

        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        Fix constness of pointers.

2010-12-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Chris Marrin.

        Fix the Color -> CGColorRef conversions for the debug colors
        used for compositing layers.

        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::setBackgroundColor):
        (PlatformCALayer::setBorderColor):

2010-12-07  Brian Weinstein  <bweinstein@apple.com>

        Reviewed by John Sullivan.

        Part of Layering Violation in ContextMenu
        https://bugs.webkit.org/show_bug.cgi?id=50586
        
        ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
        a ContextMenuItem, and calling through to the ContextMenuController to validate it
        and call a function when it was selected.
        
        It was a layering violation to have this class here, because ContextMenu can't know
        about ContextMenuController.
        
        This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
        and sets up the menu targets there.

        No change in behavior, no new tests.

        * WebCore.exp.in: Added function that needs to be exported.
        * platform/mac/ContextMenuMac.mm:
        (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
        (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
        (WebCore::ContextMenu::insertItem): Ditto.

2010-12-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        -webkit-transition Fails on Multiple text-shadow Shadows
        https://bugs.webkit.org/show_bug.cgi?id=42281
        
        When transitioning multiple shadows, the blend function for
        ShadowData dropped all but the first and last shadow because
        of a failure to append to the end of the list. Fixed.

        Test: transitions/multiple-text-shadow-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::PropertyWrapperShadow::blend):

2010-12-07  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        CSS animation doesn't work for border-radius
        https://bugs.webkit.org/show_bug.cgi?id=48340
        
        Include CSSPropertyBorderRadius in the list of shorthand
        properties, so that the individual border-radius properties
        get animated.

        Test: transitions/border-radius-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::addShorthandProperties):

2010-12-07  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Kent Tamura.

        Implement HTML5 hidden attribute
        https://bugs.webkit.org/show_bug.cgi?id=40511

        Test: fast/html/hidden-attr.html

        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
        (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.

2010-12-07  Kenneth Russell  <kbr@google.com>

        Reviewed by David Levin.

        Fix compilation of core web audio files on Windows
        https://bugs.webkit.org/show_bug.cgi?id=50603

        Changed a few constructs using C99 features of math.h to use
        wtf/MathExtras.h instead. Changed inline definitions of a couple of
        const static doubles in classes to out-of-line. Built Chrome with
        web audio enabled on Windows and Mac OS X to test these changes.

        No new tests since audio API is not yet implemented.

        * WebCore.gypi:
        * platform/audio/AudioResampler.cpp:
        * platform/audio/Biquad.cpp:
        (WebCore::Biquad::setLowpassParams):
        (WebCore::Biquad::setHighpassParams):
        (WebCore::Biquad::setLowShelfParams):
        * platform/audio/Cone.cpp:
        (WebCore::ConeEffect::gain):
        * platform/audio/EqualPowerPanner.cpp:
        (WebCore::EqualPowerPanner::pan):
        * platform/audio/FFTFrame.cpp:
        (WebCore::FFTFrame::interpolateFrequencyComponents):
        (WebCore::FFTFrame::extractAverageGroupDelay):
        (WebCore::FFTFrame::addConstantGroupDelay):
        * platform/audio/HRTFKernel.cpp:
        * platform/audio/HRTFPanner.cpp:
        * webaudio/AudioBufferSourceNode.cpp:
        (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
        * webaudio/AudioPannerNode.cpp:
        (WebCore::AudioPannerNode::getAzimuthElevation):
        * webaudio/AudioParam.cpp: Added.
        (AudioParam::setValue):
        (AudioParam::smooth):
        * webaudio/AudioParam.h:
        * webaudio/RealtimeAnalyser.cpp:

2010-11-25  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GStreamer] faster elements linking
        https://bugs.webkit.org/show_bug.cgi?id=50067

        Perform less checks during GStreamer elements linking if building
        against GStreamer >= 0.10.30.

        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
        (WebCore::GStreamerGWorld::enterFullscreen):
        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):

2010-12-07  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Gustavo Noronha Silva.

        [GStreamer] ::buffered() should return multiple ranges in some cases
        https://bugs.webkit.org/show_bug.cgi?id=45101

        Improved the ::buffered() method thanks to the new buffering query
        support that landed in GStreamer 0.10.31. The method now
        queries the media buffered-ranges on the pipeline and queue2
        handles it if it's buffering the media to disk.

        The webkitwebsrc element also gained BYTES duration query
        support. This is needed in the rare cases where uridecodebin
        configures its queue before the HTTP server returns the media
        Content-Length.

        Test: http/tests/media/video-buffered.html

        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
        (WebCore::MediaPlayerPrivateGStreamer::buffered):
        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webkit_web_src_init):
        (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
        if it's aware of the media content-length.
        * platform/gtk/RenderThemeGtk.cpp:
        (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
        the second and next buffered ranges.

2010-12-07  Yael Aharon  <yael.aharon@nokia.com>

        Reviewed by Antonio Gomes.

        Spatial navigation not Working for Map and Area Tags
        https://bugs.webkit.org/show_bug.cgi?id=47142

        Give area elements special treatment in spatial navigation algorithm by getting the
        rect of the area from the associated image. Since area elements are likely to overlap
        if they are not rects, or if authors are not careful, we flatten the rect of area elements.

        Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
               fast/spatial-navigation/snav-imagemap-area-without-image.html
               fast/spatial-navigation/snav-imagemap-overlapped-areas.html
               fast/spatial-navigation/snav-imagemap-simple.html

        * page/FocusController.cpp:
        (WebCore::FocusController::findFocusCandidateInContainer):
        (WebCore::FocusController::advanceFocusDirectionallyInContainer):
        (WebCore::FocusController::advanceFocusDirectionally):
        * page/SpatialNavigation.cpp:
        (WebCore::FocusCandidate::FocusCandidate):
        (WebCore::virtualRectForDirection):
        (WebCore::virtualRectForAreaElementAndDirection):
        * page/SpatialNavigation.h:
        (WebCore::FocusCandidate::FocusCandidate):

2010-12-07  Darin Adler  <darin@apple.com>

        Try to fix V8 build.

        * bindings/generic/BindingDOMWindow.h:
        (WebCore::BindingDOMWindow::createWindow): Pass security origin.

2010-12-07  Darin Adler  <darin@apple.com>

        Another build fix.

        * loader/CrossOriginAccessControl.cpp: Added a missing include.

2010-12-07  Darin Adler  <darin@apple.com>

        Try to fix build.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start): Pass security origin.
        (WebCore::PluginView::getURLNotify): Ditto.
        (WebCore::PluginView::getURL): Ditto.
        (WebCore::PluginView::handlePost): Ditto.

2010-12-06  Darin Adler  <darin@apple.com>

        Reviewed by Sam Weinig.

        Pass security origin to make local file decision correctly
        https://bugs.webkit.org/show_bug.cgi?id=48603

        * bindings/generic/BindingDOMWindow.h:
        (WebCore::BindingDOMWindow::createWindow): Pass security origin.
        (WebCore::BindingDOMWindow::open): Ditto.
        * bindings/generic/BindingFrame.h:
        (WebCore::BindingFrame::navigateIfAllowed): Ditto.

        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::setLocation): Pass security origin.
        (WebCore::createWindow): Ditto.
        (WebCore::JSDOMWindow::open): Ditto.

        * bindings/js/JSDocumentCustom.cpp:
        (WebCore::JSDocument::setLocation): Pass security origin.

        * dom/Document.cpp:
        (WebCore::Document::processHttpEquiv): Pass security origin.

        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::openInInspectedWindow):
        Pass security origin.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::changeLocation): Added a security origin
        argument, passed through to urlSelected.
        (WebCore::FrameLoader::urlSelected): Replaced the resource request
        and frame name arguments with a frame load request arguments in one
        overload, and changed the other overload to pass in the current
        frame's document for the security origin.
        (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
        check before the referrer computation because it no longer needs
        to look at the referrer. Replaced the call to canDisplay that
        used the target frame's security origin and the call to
        deprecatedCanDisplay with a single call to canDisplay that uses
        the requester security origin.

        * loader/FrameLoader.h: Updated for argument changes above.

        * loader/NavigationScheduler.cpp:
        (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
        a security origin.
        (WebCore::ScheduledURLNavigation::fire): Pass the security origin
        in to FrameLoader::changeLocation.
        (WebCore::ScheduledURLNavigation::securityOrigin): Added.
        (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
        origin argument.
        (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
        (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
        (WebCore::ScheduledRefresh::fire): Pass the security origin in to
        FrameLoader::changeLocation.
        (WebCore::ScheduledFormSubmission::fire): Include the security
        origin when constructing form submission.
        (WebCore::NavigationScheduler::scheduleRedirect): Include the security
        origin when creating the scheduled navigation object.
        (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
        (WebCore::NavigationScheduler::scheduleRefresh): Ditto.

        * loader/NavigationScheduler.h: Added the security origin argument
        to scheduleLocationChange.

        * loader/SubframeLoader.cpp:
        (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
        origin when calling scheduleLocationChange.
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache): Ditto.

        * page/ContextMenuController.cpp:
        (WebCore::openNewWindow): Pass in the security origin.
        (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.

        * page/FrameLoadRequest.h: Added a security origin called the requester
        to all FrameLoadRequest objects.

        * page/XSSAuditor.cpp:
        (WebCore::XSSAuditor::findInRequest): Added the security origin.

2010-12-07  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
        https://bugs.webkit.org/show_bug.cgi?id=50627

        * bindings/v8/ScriptDebugServer.cpp:
        (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
        not been initialized yet.

2010-12-07  Csaba Osztrogonác  <ossy@webkit.org>

        Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.

        * page/animation/AnimationBase.cpp:
        (WebCore::addShorthandProperties):

2010-12-07  Martin Robinson  <mrobinson@igalia.com>

        Unreviewed, rolling out r73392.
        http://trac.webkit.org/changeset/73392
        https://bugs.webkit.org/show_bug.cgi?id=50489

        This commit caused crashes on the GTK+ bots

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::close):
        (WebCore::Document::lastModified):
        (WebCore::Document::finishedParsing):
        (WebCore::Document::initSecurityContext):
        (WebCore::Document::updateURLForPushOrReplaceState):
        * dom/Document.h:
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::scriptCharset):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::createDocumentStructure):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::commitData):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::setFrame):
        * loader/DocumentLoader.h:
        * loader/DocumentWriter.cpp:
        (WebCore::DocumentWriter::begin):
        * loader/DocumentWriter.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::writer):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestPreload):
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::encodingFromAcceptCharset):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-12-07  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [CMake] Remove WebKitGenerators
        https://bugs.webkit.org/show_bug.cgi?id=50445

        Move remaining logic into main CMakeLists.txt.

        * CMakeLists.txt:

2010-12-07  Justin Schuh  <jschuh@chromium.org>

        Reviewed by Nikolas Zimmermann.

        Clear old SVG cursor entry before adding a new one
        https://bugs.webkit.org/show_bug.cgi?id=50549

        Test: svg/css/cursor-replace.svg

        * css/CSSCursorImageValue.cpp:
        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
        * svg/SVGCursorElement.cpp:
        (WebCore::SVGCursorElement::~SVGCursorElement):
        (WebCore::SVGCursorElement::removeClient):
        (WebCore::SVGCursorElement::removeReferencedElement):
        * svg/SVGCursorElement.h:
        * svg/SVGElement.cpp:
        (WebCore::SVGElement::setCursorElement):
        (WebCore::SVGElement::cursorElementRemoved):
        (WebCore::SVGElement::setCursorImageValue):
        (WebCore::SVGElement::cursorImageElementRemoved):
        * svg/SVGElement.h:

2010-12-07  Kenichi Ishibashi  <bashi@google.com>

        Reviewed by Kent Tamura.

        Let HTMLObjectElement be a form associated element
        https://bugs.webkit.org/show_bug.cgi?id=48821

        Introduces FormAssociatedElement class which would be a super class
        of form assocated elements. Some of member functions and variables of
        HTMLFormControlElement are migrated into this class.
        Following the HTML5 spec, HTMLFormControlElement class and
        HTMLObjectElement class are subclasses of it for now.

        Test: fast/forms/form-collection-elements-order.html

        * Android.mk: Added FormAssociatedElement.cpp
        * CMakeLists.txt: Ditto.
        * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
        * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
        * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
        * WebCore.pro: Ditto.
        * WebCore.vcproj/WebCore.vcproj: Ditto.
        * WebCore.xcodeproj/project.pbxproj: Ditto.
        * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
        * dom/Document.cpp:
        (WebCore::Document::registerFormElementWithFormAttribute): Modified to
        use FormAssociatedElement instead of HTMLFormControlElement
        (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
        (WebCore::Document::resetFormElementsOwner):
        * dom/Document.h: Ditto.
        * html/DOMFormData.cpp: Ditto.
        (WebCore::DOMFormData::DOMFormData):
        * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
        (WebCore::FormAssociatedElement::FormAssociatedElement):
        (WebCore::FormAssociatedElement::~FormAssociatedElement):
        (WebCore::FormAssociatedElement::validity):
        (WebCore::FormAssociatedElement::insertedIntoTree):
        (WebCore::FormAssociatedElement::removedFromTree):
        (WebCore::FormAssociatedElement::removeFromForm):
        (WebCore::FormAssociatedElement::resetFormOwner):
        (WebCore::FormAssociatedElement::formAttributeChanged):
        (WebCore::toHTMLElement):
        * html/FormAssociatedElement.h: Ditto.
        (WebCore::FormAssociatedElement::ref):
        (WebCore::FormAssociatedElement::deref):
        (WebCore::FormAssociatedElement::formDestroyed):
        (WebCore::FormAssociatedElement::setForm):
        * html/HTMLElement.h: Changed the access level of findFormAncestor().
        * html/HTMLFormCollection.cpp:
        (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
        instead of HTMLFormControlElement.
        (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
        (WebCore::HTMLFormCollection::updateNameCache): Ditto.
        * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
        hierarchy.
        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
        (WebCore::HTMLFormControlElement::insertedIntoTree):
        (WebCore::HTMLFormControlElement::removedFromTree):
        (WebCore::HTMLFormControlElement::supportsFocus):
        (WebCore::HTMLFormControlElement::checkValidity):
        (WebCore::HTMLFormControlElement::virtualForm):
        (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
        (WebCore::HTMLFormControlElement::attributeChanged):
        * html/HTMLFormControlElement.h: Ditto.
        (WebCore::HTMLFormControlElement::form):
        (WebCore::HTMLFormControlElement::disabled):
        (WebCore::HTMLFormControlElement::type):
        (WebCore::HTMLFormControlElement::refFormAssociatedElement):
        (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
        * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
        instead of HTMLFormControlElement.
        (WebCore::HTMLFormElement::submitImplicitly):
        (WebCore::HTMLFormElement::validateInteractively):
        (WebCore::HTMLFormElement::submit):
        (WebCore::HTMLFormElement::reset):
        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
        (WebCore::HTMLFormElement::formElementIndex):
        (WebCore::HTMLFormElement::registerFormElement):
        (WebCore::HTMLFormElement::removeFormElement):
        (WebCore::HTMLFormElement::defaultButton):
        (WebCore::HTMLFormElement::checkValidity):
        (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
        (WebCore::HTMLFormElement::documentDidBecomeActive):
        * html/HTMLFormElement.h: Ditto.
        (WebCore::HTMLFormElement::associatedElements):
        * html/HTMLInputElement.cpp: Ditto.
        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
        * html/HTMLObjectElement.cpp: Modified regarding with the change of class
        hierarchy.
        (WebCore::HTMLObjectElement::HTMLObjectElement):
        (WebCore::HTMLObjectElement::~HTMLObjectElement):
        (WebCore::HTMLObjectElement::create):
        (WebCore::HTMLObjectElement::attributeChanged):
        (WebCore::HTMLObjectElement::insertedIntoTree):
        (WebCore::HTMLObjectElement::removedFromTree):
        (WebCore::HTMLObjectElement::appendFormData):
        (WebCore::HTMLObjectElement::formControlName):
        * html/HTMLObjectElement.h: Ditto.
        (WebCore::HTMLObjectElement::form):
        (WebCore::HTMLObjectElement::isFormControlElement):
        (WebCore::HTMLObjectElement::isEnumeratable):
        (WebCore::HTMLObjectElement::refFormAssociatedElement):
        (WebCore::HTMLObjectElement::derefFormAssociatedElement):
        * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
        * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
        instead of HTMLFormControlElement.
        (WebCore::ValidationMessage::ValidationMessage):
        (WebCore::ValidationMessage::create):
        * html/ValidationMessage.h: Ditto.
        * html/ValidityState.cpp: Ditto.
        (WebCore::ValidityState::validationMessage):
        (WebCore::ValidityState::setCustomErrorMessage):
        (WebCore::ValidityState::valueMissing):
        (WebCore::ValidityState::typeMismatch):
        (WebCore::ValidityState::patternMismatch):
        (WebCore::ValidityState::tooLong):
        (WebCore::ValidityState::rangeUnderflow):
        (WebCore::ValidityState::rangeOverflow):
        (WebCore::ValidityState::stepMismatch):
        * html/ValidityState.h: Ditto.
        (WebCore::ValidityState::create):
        (WebCore::ValidityState::ValidityState):
        * loader/FormSubmission.cpp: Ditto.
        (WebCore::FormSubmission::create):

2010-12-06  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed. Rolling out r72988 for breaking iframes.

        * css/CSSImportRule.cpp:
        (WebCore::CSSImportRule::insertedIntoParent):

2010-12-06  Hironori Bono  <hbono@chromium.org>

        Reviewed by David Levin.

        [Chromium] Refactor FontCacheChromiumWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=50611
        
        This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.

        No new tests are added since this is a refactoring.

        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
        (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
        (WebCore::toGDIFontWeight): Moved to the beginning of the file.
        (WebCore::FillLogFont): Moved to the beginning of the file.
        (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
        (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
        (WebCore::FontCache::platformInit): Moved after the static functions.

2010-12-06  Alexey Marinichev  <amarinichev@chromium.org>

        Reviewed by Kenneth Russell.

        Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
        https://bugs.webkit.org/show_bug.cgi?id=50364

        No new tests since there is currently no way to force a context lost event.

        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
        (WebCore::WebGLRenderingContext::create):
        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
        (WebCore::WebGLRenderingContext::isContextLost):
        (WebCore::WebGLRenderingContext::loseContext):
        (WebCore::WebGLRenderingContext::restoreContext):
        * html/canvas/WebGLRenderingContext.h:
        (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):

2010-12-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        https://bugs.webkit.org/show_bug.cgi?id=50593
        
        Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
        
        Just use the RenderView's document dimensions always.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::paintRootBoxDecorations):

2010-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Beth Dakin.

        CSS animation doesn't work for border-radius
        https://bugs.webkit.org/show_bug.cgi?id=48340
        
        Include CSSPropertyBorderRadius in the list of shorthand
        properties, so that the individual border-radius properties
        get animated.

        Test: transitions/border-radius-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::addShorthandProperties):

2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
        https://bugs.webkit.org/show_bug.cgi?id=49938

        Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
        instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
        by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
        EditingStyle::extractAndRemoveBlockProperties.

        No new tests are added since this is a refactoring.

        * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
        * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
        (WebCore::CSSMutableStyleDeclaration::merge):
        * css/CSSMutableStyleDeclaration.h:
        * editing/ApplyStyleCommand.cpp:
        (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
        (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
        * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
        (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::applyStyle): Ditto.
        (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
        * editing/CompositeEditCommand.h:
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
        * editing/EditCommand.cpp:
        * editing/EditCommand.h:
        * editing/EditingStyle.cpp:
        (WebCore::EditingStyle::~EditingStyle): Added.
        (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
        (WebCore::EditingStyle::copy): Added.
        (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
        * editing/EditingStyle.h:
        * editing/Editor.cpp:
        (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
        (WebCore::Editor::applyParagraphStyle): Ditto.
        (WebCore::Editor::computeAndSetTypingStyle): Ditto.
        * editing/InsertLineBreakCommand.cpp:
        (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
        * editing/InsertTextCommand.cpp:
        (WebCore::InsertTextCommand::input): Ditto.
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
        * editing/SelectionController.cpp:
        (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
        * editing/SelectionController.h:

2010-12-05  Ryosuke Niwa  <rniwa@webkit.org>

        Reviewed by Tony Chang.

        Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
        https://bugs.webkit.org/show_bug.cgi?id=47300

        The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
        contains more than one paragraphs even when the refNode is fully selected.

        Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
        such a situation.

        Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
        is not properly updated when the end of selection resides in the node split by
        rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.

        Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html

        * editing/ApplyBlockElementCommand.cpp:
        (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
        m_endOfLastParagraph when the position points to the node split by this function.
        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
        * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
        * editing/FormatBlockCommand.cpp:
        (WebCore::FormatBlockCommand::formatRange): See above.
        * editing/FormatBlockCommand.h:
        * editing/IndentOutdentCommand.cpp:
        (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
        * editing/IndentOutdentCommand.h:

2010-12-03  Zhenyao Mo  <zmo@google.com>

        Reviewed by Kenneth Russell.

        Postpone gl delete* calls until shaders/programs are no longer attached
        https://bugs.webkit.org/show_bug.cgi?id=50501

        * html/canvas/WebGLBuffer.cpp:
        (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
        * html/canvas/WebGLFramebuffer.cpp:
        (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
        * html/canvas/WebGLObject.cpp:
        (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
        * html/canvas/WebGLObject.h:
        (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
        (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
        (WebCore::WebGLObject::isDeleted): Make this public.
        * html/canvas/WebGLProgram.cpp:
        (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
        * html/canvas/WebGLRenderbuffer.cpp:
        (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
        * html/canvas/WebGLRenderingContext.cpp:
        (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
        (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
        * html/canvas/WebGLShader.cpp:
        (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
        * html/canvas/WebGLTexture.cpp:
        (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.

2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>

        Yet unreviewed another Leopard build fix for r73380.

        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::setKeyTimes):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::platformCALayer):

2010-12-06  Andy Estes  <aestes@apple.com>

        Reviewed by Darin Adler.

        Marquee elements do not stop animating when scrollAmount is set to 0.
        https://bugs.webkit.org/show_bug.cgi?id=50434

        Test: fast/html/marquee-scrollamount.html

        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::timerFired): Allow increment to be 0.

2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Leopard buildfix for r73380.

        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
        (PlatformCAAnimation::setTimingFunctions):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
        (PlatformCALayer::PlatformCALayer):

2010-12-06  Philippe Normand  <pnormand@igalia.com>

        Reviewed by Martin Robinson.

        [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
        https://bugs.webkit.org/show_bug.cgi?id=44157

        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
        (webKitWebSrcNeedDataMainCb):
        (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
        with cross-platform ResourceHandle::setDefersLoading calls.

2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed Leopard build fix for r73388.

        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::maxValueForRange):
        (WebCore::AccessibilitySlider::minValueForRange):

2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>

        Unreviewed build fix for Leopard after r73379.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setAllowsFontSmoothing):

2010-12-06  Nate Chapin  <japhet@chromium.org>

        Reviewed by Adam Barth.

        Make DocumentWriter a member of DocumentLoader
        instead of FrameLoader.
        https://bugs.webkit.org/show_bug.cgi?id=50489

        Refactor, no new tests.

        * bindings/ScriptControllerBase.cpp:
        (WebCore::ScriptController::executeIfJavaScriptURL):
        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::close):
        (WebCore::Document::lastModified):
        (WebCore::Document::finishedParsing):
        (WebCore::Document::initSecurityContext):
        (WebCore::Document::updateURLForPushOrReplaceState):
        * dom/Document.h:
        (WebCore::Document::setDocumentLoader):
        (WebCore::Document::loader):
        * dom/ProcessingInstruction.cpp:
        (WebCore::ProcessingInstruction::checkStyleSheet):
        * dom/ScriptElement.cpp:
        (WebCore::ScriptElement::scriptCharset):
        * html/HTMLLinkElement.cpp:
        (WebCore::HTMLLinkElement::process):
        * html/MediaDocument.cpp:
        (WebCore::MediaDocument::replaceMediaElementTimerFired):
        * html/PluginDocument.cpp:
        (WebCore::PluginDocumentParser::createDocumentStructure):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::finishedLoading):
        (WebCore::DocumentLoader::commitData):
        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
        (WebCore::DocumentLoader::setFrame):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::writer):
        * loader/DocumentWriter.h:
        (WebCore::DocumentWriter::setFrame):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::init):
        (WebCore::FrameLoader::clear):
        (WebCore::FrameLoader::receivedFirstData):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::open):
        (WebCore::FrameLoader::finishedLoadingDocument):
        (WebCore::FrameLoader::addExtraFieldsToRequest):
        * loader/FrameLoader.h:
        (WebCore::FrameLoader::notifier):
        * loader/cache/CachedResourceLoader.cpp:
        (WebCore::CachedResourceLoader::requestPreload):
        * platform/network/FormDataBuilder.cpp:
        (WebCore::FormDataBuilder::encodingFromAcceptCharset):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::dataChanged):

2010-12-06  Mark Rowe  <mrowe@apple.com>

        Build fix.

        * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
        That's just plain wrong.

2010-12-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Darin Adler.

        HTML5 Slider does not work correctly with VoiceOver
        https://bugs.webkit.org/show_bug.cgi?id=50505

        Address a few problems with the Mac implementation for the accessibility slider.
            1) The value indicator is not hit testable.
            2) The value indicator does not return an AXValue.
            3) In the slider, the min/max values are not correct when min/max attributes are not present.
            4) When you change the value with the keyboard, it doesn't send out the right notification.
            5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
 
        Test: platform/mac/accessibility/html-slider-indicator.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::getAttribute):
            Use fastGetAttribute on Element, instead of getAttribute.
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isInputSlider):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::doAccessibilityHitTest):
        (WebCore::AccessibilitySlider::maxValueForRange):
        (WebCore::AccessibilitySlider::minValueForRange):
        * accessibility/AccessibilitySlider.h:
        (WebCore::AccessibilitySlider::isInputSlider):
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::applyStep):

2010-12-06  David Hyatt  <hyatt@apple.com>

        Reviewed by Simon Fraser.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
        O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.

        This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
        in the engine to cache all the information required to properly handle scrolling.

        In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
        affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
        wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
        boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
        visual overflow rects.

        In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
        is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
        been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
        work with writing modes.

        In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
        Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
        A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
        a huge number of tests would change.

        Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.

        * page/FrameView.cpp:
        (WebCore::FrameView::adjustViewSize):
        (WebCore::FrameView::forceLayoutForPagination):
        Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
        to account for writing modes.

        * platform/graphics/IntRect.h:
        (WebCore::IntRect::shiftLeftEdgeTo):
        (WebCore::IntRect::shiftRightEdgeTo):
        (WebCore::IntRect::shiftTopEdgeTo):
        (WebCore::IntRect::shiftBottomEdgeTo):
        New helper functions for sliding the edge of a rectangle without moving any of the other three edges.

        * rendering/InlineBox.h:
        (WebCore::InlineBox::frameRect):
        frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
        All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
        at once now in a single function: computeOverflow.

        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
        (WebCore::InlineFlowBox::addReplacedChildOverflow):
        Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.

        (WebCore::InlineFlowBox::computeOverflow):
        The new function that computes both horizontal and vertical overflow for a line box.

        (WebCore::InlineFlowBox::setLayoutOverflow):
        (WebCore::InlineFlowBox::setVisualOverflow):
        (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
        New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
        and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.

        (WebCore::InlineFlowBox::nodeAtPoint):
        (WebCore::InlineFlowBox::paint):
        Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
        overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)

        * rendering/InlineFlowBox.h:
        (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
        (WebCore::InlineFlowBox::logicalVisualOverflowRect):
        Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
        converting to block coordinates at the end.

        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::layoutBlock):
        (WebCore::RenderBlock::addOverflowFromChildren):
        (WebCore::RenderBlock::computeOverflow):
        (WebCore::RenderBlock::addOverflowFromFloats):
        (WebCore::RenderBlock::addOverflowFromPositionedObjects):
        Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
        method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
        propagate marker overflow up, and RenderTable adds in overflow from its sections.

        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
        (WebCore::RenderBlock::layoutPositionedObjects):
        When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
        callable method: computeOverflow, makes it possible for this to be done easily.

        (WebCore::RenderBlock::paint):
        visible -> visual.

        (WebCore::RenderBlock::addOverhangingFloats):
        The propagation of float overflow has changed substantially.  The basic rules are:
            (1) The float must be in our floating objects list to contribute to overflow.
            (2) The float must be a descendant to contribute to overflow.
            (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
                so the float needs to be included in its overflow.

        (WebCore::RenderBlock::nodeAtPoint):
        visible -> visual.

        (WebCore::RenderBlock::layoutColumns):
        Remove column overflow computation from layoutColumns and move it to computeOverflow.

        (WebCore::RenderBlock::adjustLinePositionForPagination):
        visible -> visual.

        * rendering/RenderBlock.h:
        (WebCore::RenderBlock::scrollbarsChanged):
        Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.

        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::layoutInlineChildren):
        (WebCore::RenderBlock::determineStartPosition):
        (WebCore::RenderBlock::matchedEndLine):
        (WebCore::RenderBlock::addOverflowFromInlineChildren):
        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
        visible -> visual.

        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::scrollWidth):
        (WebCore::RenderBox::scrollHeight):
        Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.

        (WebCore::RenderBox::paintRootBoxDecorations):
        Use docLeft and docTop here, so that writing modes are handled.

        (WebCore::RenderBox::clippedOverflowRectForRepaint):
        visible -> visual.

        (WebCore::RenderBox::addOverflowFromChild):
        (WebCore::RenderBox::addLayoutOverflow):
        (WebCore::RenderBox::addVisualOverflow):
        (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
        (WebCore::RenderBox::visualOverflowRectForPropagation):
        (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
        (WebCore::RenderBox::layoutOverflowRectForPropagation):
        * rendering/RenderBox.h:
        The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
        for transforms, relative positioning and writing mode differences.

        (WebCore::RenderBox::layoutOverflowRect):
        (WebCore::RenderBox::topLayoutOverflow):
        (WebCore::RenderBox::bottomLayoutOverflow):
        (WebCore::RenderBox::leftLayoutOverflow):
        (WebCore::RenderBox::rightLayoutOverflow):
        Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.

        (WebCore::RenderBox::clientLogicalBottom):
        New helper for obtaining the logical bottom of the client box.

        (WebCore::RenderBox::clientBoxRect):
        New helper for obtaining the clientLeft/Top/Width/Height box.

        * rendering/RenderBoxModelObject.h:
        (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
        Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.

        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock):
        Changed flexible boxes to just call the base class computeOverflow method.

        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
        (WebCore::RenderInline::clippedOverflowRectForRepaint):
        visible -> visual.

        * rendering/RenderInline.h:
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::updateLayerPosition):
        Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
        tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
        layers now.)

        (WebCore::RenderLayer::overflowTop):
        (WebCore::RenderLayer::overflowBottom):
        (WebCore::RenderLayer::overflowLeft):
        (WebCore::RenderLayer::overflowRight):
        overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
        to set up the scroll area.

        (WebCore::RenderLayer::computeScrollDimensions):
        Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.

        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
        Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
        bottom works.

        (WebCore::performOverlapTests):
        (WebCore::RenderLayer::paintLayer):
        Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
        of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.

        (WebCore::RenderLayer::hitTest):
        Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
        for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
        so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).

        (WebCore::RenderLayer::localBoundingBox):
        visible -> visual.

        * rendering/RenderLayer.h:
        Added the new overflowTop/Left/Right/Bottom accessors.

        * rendering/RenderLineBoxList.cpp:
        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
        (WebCore::RenderLineBoxList::paint):
        (WebCore::RenderLineBoxList::hitTest):
        visible -> visual.

        * rendering/RenderListItem.cpp:
        (WebCore::RenderListItem::addOverflowFromChildren):
        (WebCore::RenderListItem::positionListMarker):
        * rendering/RenderListItem.h:
        RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::paint):
        visible -> visual.

        * rendering/RenderMarquee.cpp:
        (WebCore::RenderMarquee::computePosition):
        Changed to use overflow functions instead of rightmost/lowestPosition.

        * rendering/RenderMedia.cpp:
        * rendering/RenderMedia.h:
        Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.

        * rendering/RenderOverflow.h:
        (WebCore::RenderOverflow::RenderOverflow):
        (WebCore::RenderOverflow::setLayoutOverflow):
        (WebCore::RenderOverflow::setVisualOverflow):
        Add new setters for layout and visual overflow as rects.

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::shouldPaint):
        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
        visible -> visual.

        * rendering/RenderRubyRun.cpp:
        (WebCore::RenderRubyRun::layout):
        Call computeOverflow to recompute our overflow information after we adjust the ruby.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):
        (WebCore::RenderTable::addOverflowFromChildren):
        (WebCore::RenderTable::paint):
        * rendering/RenderTable.h:
        Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.

        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
        visible -> visual.

        (WebCore::RenderTableCell::scrollbarsChanged):
        Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
        a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
        cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
        padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.

        * rendering/RenderTableCell.h:
        (WebCore::RenderTableCell::hasVisualOverflow):
        visible -> visual.

        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::writeLayers):
        Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
        from failing.

        * rendering/RenderView.cpp:
        (WebCore::RenderView::layout):
        (WebCore::RenderView::docTop):
        (WebCore::RenderView::docBottom):
        (WebCore::RenderView::docLeft):
        (WebCore::RenderView::docRight):
        * rendering/RenderView.h:
        (WebCore::RenderView::docHeight):
        (WebCore::RenderView::docWidth):
        RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
        are now the preferred way to query for the physical dimensions of a document.

        * rendering/RootInlineBox.cpp:
        (WebCore::RootInlineBox::addHighlightOverflow):
        Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.

        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
        Remove the computation of block direction overflow, since it now all happens at once after the line is built.

        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
        * rendering/RootInlineBox.h:
        Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
        in LTR if needed.

2010-12-06  Chris Marrin  <cmarrin@apple.com>

        Reviewed by Simon Fraser.

        Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
        https://bugs.webkit.org/show_bug.cgi?id=49388

        Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
        identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
        with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
        platform neutral as long as implementations of those two classes are available. 
        Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
        rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
        to avoid confusion since both names were used to refer to the same thing. 

        This patch is only for Mac. Windows implementation has not changed.

        * WebCore.xcodeproj/project.pbxproj:
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
        * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
        * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
        * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
        (toCAMediaTimingFunction):
        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
        (PlatformCALayer::PlatformCALayer):
        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
        * platform/graphics/chromium/GraphicsLayerChromium.h:
        * platform/graphics/mac/GraphicsLayerMac.h: Removed.
        * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
        * platform/graphics/mac/WebLayer.h:
        * platform/graphics/mac/WebLayer.mm:
        (-[WebLayer setNeedsDisplay]):
        (-[WebLayer setNeedsDisplayInRect:]):
        (-[WebLayer display]):
        (-[WebLayer drawInContext:]):
        * platform/graphics/mac/WebTiledLayer.h:
        * platform/graphics/mac/WebTiledLayer.mm:
        (-[WebTiledLayer setNeedsDisplay]):
        (-[WebTiledLayer setNeedsDisplayInRect:]):
        (-[WebTiledLayer display]):
        (-[WebTiledLayer drawInContext:]):
        * platform/graphics/qt/GraphicsLayerQt.cpp:
        (WebCore::GraphicsLayerQtImpl::flushChanges):
        * platform/graphics/qt/GraphicsLayerQt.h:
        * platform/graphics/win/GraphicsLayerCACF.cpp:
        * platform/graphics/win/GraphicsLayerCACF.h:

2010-12-06  Simon Fraser  <simon.fraser@apple.com>

        Reviewed by Dan Bernstein.

        Font antialiasing (smoothing) changes when elements are rendered into compositing layers
        https://bugs.webkit.org/show_bug.cgi?id=23364

        Text rendered by Core Graphics over a transparent background looks bad because of 
        font smoothing, so turn off smoothing when rendering text into compositing layers.

        * platform/graphics/GraphicsContext.h:
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::setAllowsFontSmoothing):
        * platform/graphics/mac/WebLayer.mm:
        (drawLayerContents):

2010-12-06  Patrick Gansterer  <paroga@webkit.org>

        Reviewed by Andreas Kling.

        [WINCE] Add build system
        https://bugs.webkit.org/show_bug.cgi?id=50522

        * CMakeListsWinCE.txt: Added.

2010-12-06  Chris Fleizach  <cfleizach@apple.com>

        Reviewed by Oliver Hunt.

        AX does not support HTML5 "required"
        https://bugs.webkit.org/show_bug.cgi?id=50507

        Test: platform/mac/accessibility/html5-required-attribute.html

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isRequired):

2010-12-06  Alejandro G. Castro  <alex@igalia.com>

        Reviewed by Martin Robinson.

        [GTK] using shadows leaks memory
        https://bugs.webkit.org/show_bug.cgi?id=50541

        Fixed leaks in the shadow code.
        * platform/graphics/cairo/CairoUtilities.cpp:
        (WebCore::drawPatternToCairoContext): adoptRef instead of just
        getting a new reference.
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::drawPathShadow): handle cairo_path_t with smart
        pointers.

2010-12-06  Yury Semikhatsky  <yurys@chromium.org>

        Reviewed by Pavel Feldman.

        [v8] Web Inspector: remove duplicate code for capturing stack trace
        https://bugs.webkit.org/show_bug.cgi?id=50461

        No new tests. Covered with existing inspector tests.

        * bindings/js/ScriptCallStackFactory.cpp:
        (WebCore::createScriptCallStack):
        * bindings/js/ScriptCallStackFactory.h:
        * bindings/v8/ScriptCallStackFactory.cpp:
        (WebCore::toScriptCallFrame):
        (WebCore::toScriptCallFramesVector):
        (WebCore::createScriptCallStack):
        * bindings/v8/ScriptCallStackFactory.h:
        * bindings/v8/V8ConsoleMessage.cpp:
        (WebCore::V8ConsoleMessage::handler):
        * inspector/ScriptCallFrame.cpp:
        (WebCore::ScriptCallFrame::ScriptCallFrame):
        (WebCore::ScriptCallFrame::isEqual):
        (WebCore::ScriptCallFrame::buildInspectorObject):
        * inspector/ScriptCallFrame.h:
        (WebCore::ScriptCallFrame::sourceURL):
        * inspector/ScriptCallStack.h:
        * inspector/TimelineRecordFactory.cpp:
        (WebCore::TimelineRecordFactory::createGenericRecord):
        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):

== Rolled over to ChangeLog-2010-12-06 ==
